SA
内存 Memory
查看 Markdown内存读写、句柄指针与原生调用
sa · 扩展 CLEO · 需 CLEO
内存读写、句柄 ↔ 指针、调用原生函数。
往进程地址写入指定字节宽度的值。vp 为真时改页保护。地址 / 宽度错会崩。
0A8C WRITE_MEMORY
in: address, size, value, vp从进程地址读取指定字节宽度。vp 控制是否改页保护。
0A8D READ_MEMORY
in: address, size, vp
out: result角色句柄 → ped 结构体地址。
0A96 GET_PED_POINTER
in: char
out: address载具句柄 → 载具结构体地址。
0A97 GET_VEHICLE_POINTER
in: handle
out: address物体句柄 → 物体结构体地址。
0A98 GET_OBJECT_POINTER
in: object
out: address当前脚本结构体地址。
0A9F GET_THIS_SCRIPT_STRUCT
out: address按地址调原生函数。pop=0 当 stdcall;pop=numArgs 当 cdecl。后面跟变长参数。
0AA5 CALL_FUNCTION
in: address, numArgs, pop, args...thiscall 调对象方法。struct 为 this,pop 固定 0。
0AA6 CALL_METHOD
in: address, struct, numArgs, pop, args...同 0AA5,并取整数返回值。
0AA7 CALL_FUNCTION_RETURN
in: address, numArgs, pop, args...
out: funcRet同 0AA6,并取返回值。
0AA8 CALL_METHOD_RETURN
in: address, struct, numArgs, pop, args...
out: funcRet按脚本名找运行中脚本结构体;找不到为 0。
0AAA GET_SCRIPT_STRUCT_NAMED
in: scriptName
out: address标签代码位置的绝对地址。
0AC6 GET_LABEL_POINTER
in: label
out: address脚本变量在内存中的指针。
0AC7 GET_VAR_POINTER
in: var
out: address分配内存块,返回地址。条件表示是否成功。
0AC8 ALLOCATE_MEMORY
in: size
out: address释放 0AC8 分配的内存。
0AC9 FREE_MEMORY
in: address取出前一次 0AA5–0AA8 留下的浮点返回值。
0AE9 POP_FLOAT
out: numberped 结构体地址 → 角色句柄。
0AEA GET_PED_REF
in: address
out: handle载具结构体地址 → 载具句柄。
0AEB GET_VEHICLE_REF
in: address
out: handle物体结构体地址 → 物体句柄。
0AEC GET_OBJECT_REF
in: address
out: handle
评论