III
内存 Memory
查看 Markdown内存读写、句柄指针与原生调用
gta3 · 扩展 CLEO · 需 CLEO
与 VC/SA 同名;经典 05DF–05EC 等为别名。示例地址用 III。
按 1/2/4 字节往地址写;vp 要改内存保护时再开。
0A8C WRITE_MEMORY
in: address, size, value, vp
// 经典别名 05DF从地址按宽度读。
0A8D READ_MEMORY
in: address, size, vp
out: result
// 经典别名 05E0调原生函数。pop=0 stdcall;pop=numArgs cdecl。
0AA5 CALL_FUNCTION
in: address, numArgs, pop, args...
// 经典别名 05E1thiscall。pop 固定 0。
0AA6 CALL_METHOD
in: address, struct, numArgs, pop, args...
// 经典别名 05E3同 0AA5 并取返回值。经典别名 05E2。
0AA7 CALL_FUNCTION_RETURN
in: address, numArgs, pop, args...
out: funcRet
// 经典别名 05E2同 0AA6 并取返回值。经典别名 05E4。
0AA8 CALL_METHOD_RETURN
in: address, struct, numArgs, pop, args...
out: funcRet
// 经典别名 05E4角色句柄 → 地址。经典别名 05E6。
0A96 GET_PED_POINTER
in: char
out: address
// 经典别名 05E6载具句柄 → 地址。经典别名 05E7。
0A97 GET_VEHICLE_POINTER
in: handle
out: address
// 经典别名 05E7物体句柄 → 地址。经典别名 05E8。
0A98 GET_OBJECT_POINTER
in: object
out: address
// 经典别名 05E8当前脚本结构体。经典别名 05EC。
0A9F GET_THIS_SCRIPT_STRUCT
out: address
// 经典别名 05EC按名找脚本结构体。经典别名 05ED。
0AAA GET_SCRIPT_STRUCT_NAMED
in: scriptName
out: address
// 经典别名 05ED标签绝对地址。经典别名 05F7。
0AC6 GET_LABEL_POINTER
in: label
out: address
// 经典别名 05F7变量指针。经典别名 05F8。
0AC7 GET_VAR_POINTER
in: var
out: address
// 经典别名 05F8分配内存。
0AC8 ALLOCATE_MEMORY
in: size
out: address释放 0AC8 内存。
0AC9 FREE_MEMORY
in: address取浮点返回值。经典别名 05F2。
0AE9 POP_FLOAT
out: number
// 经典别名 05F2ped 地址 → 句柄。经典别名 05E9。
0AEA GET_PED_REF
in: address
out: handle
// 经典别名 05E9载具地址 → 句柄。经典别名 05EA。
0AEB GET_VEHICLE_REF
in: address
out: handle
// 经典别名 05EA物体地址 → 句柄。经典别名 05EB。
0AEC GET_OBJECT_REF
in: address
out: handle
// 经典别名 05EB算 address1 相对 address2 的偏移,写回 address1。vp 要改保护时再开。
0606 SET_MEMORY_OFFSET
in: address1, address2, vp
评论