mirror of
https://github.com/Sei-Lisa/LSL-PyOptimizer
synced 2025-07-01 15:48:21 +00:00
Take care of the new additions in 0.0.20250202000
This commit is contained in:
parent
42bc44d583
commit
822c9e00d1
5 changed files with 197 additions and 17 deletions
|
@ -84,6 +84,12 @@ def llClearLinkMedia(link, face):
|
|||
return 0
|
||||
raise ELSLCantCompute
|
||||
|
||||
def llDetectedDamage(idx, evsym=None):
|
||||
idx = fi(idx)
|
||||
if 0 <= idx <= 15 and (evsym is None or 'damage' in evsym):
|
||||
raise ELSLCantCompute
|
||||
return []
|
||||
|
||||
def llDetectedGrab(idx, evsym=None):
|
||||
idx = fi(idx)
|
||||
if 0 <= idx <= 15 and (evsym is None or 'grab' in evsym):
|
||||
|
@ -126,6 +132,12 @@ def llDetectedPos(idx, evsym=None):
|
|||
raise ELSLCantCompute
|
||||
return ZERO_VECTOR
|
||||
|
||||
def llDetectedRezzer(idx, evsym=None):
|
||||
idx = fi(idx)
|
||||
if 0 <= idx <= 15 and (evsym is None or 'detect' in evsym):
|
||||
raise ELSLCantCompute
|
||||
return []
|
||||
|
||||
def llDetectedRot(idx, evsym=None):
|
||||
idx = fi(idx)
|
||||
if 0 <= idx <= 15 and (evsym is None or 'detect' in evsym):
|
||||
|
@ -250,6 +262,13 @@ def llGetAttachedList(id):
|
|||
return [u'NOT FOUND']
|
||||
raise ELSLCantCompute
|
||||
|
||||
def llGetAttachedListFiltered(id, opts):
|
||||
id = fk(id)
|
||||
opts = fl(opts)
|
||||
if not cond(id):
|
||||
return [u'NOT FOUND']
|
||||
raise ELSLCantCompute
|
||||
|
||||
def llGetBoundingBox(id):
|
||||
id = fk(id)
|
||||
if not cond(id):
|
||||
|
@ -286,6 +305,12 @@ def llGetExperienceList(id):
|
|||
# This function is not implemented and always returns empty list
|
||||
return []
|
||||
|
||||
def llGetHealth(id):
|
||||
id = fk(id)
|
||||
if not cond(id):
|
||||
return 0.0
|
||||
raise ELSLCantCompute
|
||||
|
||||
def llGetHTTPHeader(id, s):
|
||||
id = fk(id)
|
||||
s = fs(s)
|
||||
|
|
|
@ -57,8 +57,8 @@ def OptimizeArgs(node, sym):
|
|||
|
||||
|
||||
# llGetObjectDetails return types
|
||||
# Last: 49 (OBJECT_TEXT_ALPHA).
|
||||
objDetailsTypes = 'issvrvkkkiiififfffkiiiiiiffkiviiksiisiiiiiifssivvf'
|
||||
# Last: 52 (OBJECT_DAMAGE_TYPE).
|
||||
objDetailsTypes = 'issvrvkkkiiififfffkiiiiiiffkiviiksiisiiiiiifssivvfffi'
|
||||
|
||||
# llGetParcelDetails return types
|
||||
# Last: 13 (PARCEL_DETAILS_SCRIPT_DANGER)
|
||||
|
@ -125,6 +125,8 @@ primParamsTypes = \
|
|||
, 48: '*' # 48=PRIM_GLTF_BASE_COLOR
|
||||
, 49: 's' # 49=PRIM_RENDER_MATERIAL
|
||||
, 50: 'i' # 50=PRIM_SIT_FLAGS
|
||||
, 51: 'fi' # 51=PRIM_DAMAGE
|
||||
, 52: 'f' # 51=PRIM_HEALTH
|
||||
}
|
||||
|
||||
# llGetPrimitiveParams parameters with arguments. F=face, L=link.
|
||||
|
|
|
@ -229,7 +229,7 @@ def LoadLibrary(builtins = None, fndata = None):
|
|||
r'("(?:\\.|[^"])*"|<[^>]+>|[-+0-9x.e]+' # strings, vectors, numbers
|
||||
r'|\[(?:[^]"]|"(?:\\.|[^"])*")*\]))' # lists
|
||||
r'(?:\s+if\s+(.*\S))?'
|
||||
r'|(unstable|stop|strlen|detect|touch|grab)'
|
||||
r'|(unstable|stop|strlen|detect|touch|grab|damage)'
|
||||
r'|(min|max|delay)\s+([-0-9.]+)'
|
||||
r'|listto\s+(integer|float|string|key|vector|rotation|list)'
|
||||
r')\s*$'), re.I)
|
||||
|
@ -362,7 +362,7 @@ def LoadLibrary(builtins = None, fndata = None):
|
|||
elif curr_ty == 'event':
|
||||
if match_flag.group(4):
|
||||
flag = match_flag.group(4).lower()
|
||||
if flag in ('detect','touch','grab'):
|
||||
if flag in ('detect','touch','grab', 'damage'):
|
||||
events[curr_fn][flag] = True
|
||||
else:
|
||||
warning(u"Events only support a few flags"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue