Code: Select all
Walk(x,y)
а, наподобии этого -
Code: Select all
var Function = Walk()
Function(x,y)
Перепробовал много всего, но так и не получилось..
Moderators: Murderator+, Murderator
Code: Select all
Walk(x,y)
Code: Select all
var Function = Walk()
Function(x,y)
Code: Select all
sub selectFunction(name,param1,param2,param3)
if (name == 'funct1') then
return funct1(param1,param2,param3)
endif
if (name == 'funct2') then
return funct2(param1,param2,param3)
endif
if (name == 'funct3') then
return funct3(param1,param2,param3)
endif
endsub
sub...
var funct = 'funct1'
selectFunction(funct,1,2,3)
endsub
Code: Select all
Sub func1()
var param1 = UO.GetGlobal('param1')
var param2 = UO.GetGlobal('param2')
var param3 = UO.GetGlobal('param3')
...
endsub
Sub callFunc(name,param1,param2,param3)
UO.SetGlobal('param1',param1)
UO.SetGlobal('param2',param2)
UO.SetGlobal('param3',param3)
UO.Exec('exec '+name)
endsub
sub...
var func = 'func1'
callFunc(func,1,2,3)
endsub
Beyonder wrote:О да, конечно
Если что, то это был сарказм.
Вижу два способа это сделать.
Первый. Более эстетично выглядящий, и вероятно подойдёт в 99% случаев:Code: Select all
sub selectFunction(name,param1,param2,param3)
if (name == 'funct1') then
return funct1(param1,param2,param3)
endif
if (name == 'funct2') then
return funct2(param1,param2,param3)
endif
if (name == 'funct3') then
return funct3(param1,param2,param3)
endif
endsub
sub...
var funct = 'funct1'
selectFunction(funct,1,2,3)
endsub
Второй. Всё работает через задницу, зато позволяет добавлять любое количество функций не изменяя кода:Code: Select all
Sub func1()
var param1 = UO.GetGlobal('param1')
var param2 = UO.GetGlobal('param2')
var param3 = UO.GetGlobal('param3')
...
endsub
Sub callFunc(name,param1,param2,param3)
UO.SetGlobal('param1',param1)
UO.SetGlobal('param2',param2)
UO.SetGlobal('param3',param3)
UO.Exec('exec '+name)
endsub
sub...
var func = 'func1'
callFunc(func,1,2,3)
endsub
Beyonder wrote:Ну в данный момент состояние инжекта таково, что он лежит еще не совсем мёртвый и слегка подрыгивает ножками. Так что не думаю что такие глобальные изменения найдут своего программиста
Code: Select all
sub main()
test(10, 20, 'действие')
endsub
Sub test(1, 2, действие)
for x = 1 to 2
test2('действие')
next
endsub
Mirage wrote:МБ я не понял запроса но чем не устраивает:Code: Select all
sub main()
test(10, 20, 'действие')
endsub
Sub test(1, 2, действие)
for x = 1 to 2
test2('действие')
next
endsub
Code: Select all
Sub Func1(index)
return index+1
end sub
Sub Func2(index)
return index+2
end sub
Sub Func3(index)
return index+3
end sub
Sub Func4(index)
return index+4
end sub
sub Calculate()
var i
DIM Function[4]
Function[0] = Func1()
Function[1] = Func2()
Function[2] = Func3()
Function[3] = Func4()
for i = 0 to 3
uo.print(str(Function[i](1)))
next
end sub