Mono:Lua:mono invoke method
function mono_invoke_method(domain, method, instanseAddress, args): mono_readObject()??
Function Parameters
| Parameter | Type | Description |
|---|---|---|
| domain | string | The namespace of the method |
| methodId | integer | The method's id |
| instanseAddress | integer | The address of instanse |
| args | table | The arguments |
Examples
local methodId = mono_findMethod('', 'PlayerStatsManager', 'TakeDamage') --find target method
local c = mono_method_getClass(methodId)
mono_class_findInstancesOfClass(nil,c,function(m) -- asynchronously
local fl = createFoundList(m)
fl.initialize()
if fl.Count >0 then
InstancesAddress=getAddressSafe(fl[0]) --must be number ,but fl[0] is a hex text.It might be more than one if game have the same objects;
local params = mono_method_get_parameters(methodId) --find parameters
local args = {}
for i=1, #params.parameters do
args[i]={}
args[i].type=monoTypeToVartypeLookup[params.parameters[i].type]
end
---- input damage value here ----
args[1].value=100.0
----execute / invoke the function :
mono_invoke_method('' , methodId , InstancesAddress ,args)
else
print('Faild to find Instances')
end
fl.destroy()
m.destroy()
end
)