Вызов функции из файла.
Moderators: Murderator+, Murderator
Вызов функции из файла.
Хотелось бы создать библиотеку функций в отдельном файле.
Можно ли это сделать в инже?
к примеру в autoload.sc :
вызываем Function1(param1) находящуюся в другом файле File2.sc
Если возможно дайте плиз пример кода.
Можно ли это сделать в инже?
к примеру в autoload.sc :
вызываем Function1(param1) находящуюся в другом файле File2.sc
Если возможно дайте плиз пример кода.
-
- Posts: 820
- Joined: 2011-06-11 19:54:23
Re: Вызов функции из файла.
Если используешь новый инжект то можно с помощью #include подключить внешний файл скриптов к текущему скрипту и спокойно вызывать функции из подгруженного файла.
viewtopic.php?f=12&t=16689
По ссылке описание есть.
viewtopic.php?f=12&t=16689
По ссылке описание есть.
Re: Вызов функции из файла.
Кто-нибудь может привести пример работы с GList, все функции желательно.
-
- Posts: 820
- Joined: 2011-06-11 19:54:23
Re: Вызов функции из файла.
Так же, как и с UO.SetGlobal/UO.GetGlobal за исключением плюшки в качестве полной очистки списка.
Остальные функции не популярны думаю, но если уж очень хочется - можно пройтись по всему списку и получить названия и значения переменных:
Остальные функции не популярны думаю, но если уж очень хочется - можно пройтись по всему списку и получить названия и значения переменных:
Code: Select all
var i
uo.TextClear()
for i = 0 to UO.GListSize() - 1
uo.TextPrint('gList[' + str(i) + '] have name = "' + UO.GListPosName(i) + '" and have value = ' + UO.GListPosValue(i))
next
uo.TextOpen()
Re: Вызов функции из файла.
Juicy Fruit wrote:Так же, как и с UO.SetGlobal/UO.GetGlobal за исключением плюшки в качестве полной очистки списка.
Остальные функции не популярны думаю, но если уж очень хочется - можно пройтись по всему списку и получить названия и значения переменных:Code: Select all
var i
uo.TextClear()
for i = 0 to UO.GListSize() - 1
uo.TextPrint('gList[' + str(i) + '] have name = "' + UO.GListPosName(i) + '" and have value = ' + UO.GListPosValue(i))
next
uo.TextOpen()
А по скорости работы как? Могу ли использовать для своеобразного игнор листа? Так как с встроенным игнор листом мешать не хочу. Обычные глобальные переменные довольно медленно работают для таких целей.
-
- Posts: 820
- Joined: 2011-06-11 19:54:23
Re: Вызов функции из файла.
Принцип работы тот же, по скорости врятли сильно отличаются, но проверь, может быть этот вариант подойдет больше.
Re: Вызов функции из файла.
У меня такая задача, не запускать скрипт дважды, то есть проверить если в памяти есть данный скрипт то не запускать копию.
-
- Posts: 820
- Joined: 2011-06-11 19:54:23
Re: Вызов функции из файла.
-=Tiger=- wrote:У меня такая задача, не запускать скрипт дважды, то есть проверить если в памяти есть данный скрипт то не запускать копию.
Code: Select all
UO.FunRunning(String Name)
Re: Вызов функции из файла.
Juicy Fruit wrote:-=Tiger=- wrote:У меня такая задача, не запускать скрипт дважды, то есть проверить если в памяти есть данный скрипт то не запускать копию.При частом повторении почти без задержек может крашить.Code: Select all
UO.FunRunning(String Name)
Code: Select all
sub test()
If Not UO.FunRunning("test") Then
uo.print("test")
End If
end sub
такой номер не прокатит
Re: Вызов функции из файла.
Code: Select all
Sub startexec(index)
while not UO.FunRunning(index)
uo.exec('exec ' +index)
wend
endsub
Sub stopexec(index)
while UO.FunRunning(index)
uo.exec('terminate ' +index)
wend
endsub
а чтобы 2 раза не запускался
Code: Select all
Sub autostart()
uo.setGlobal("running",1)
end sub
sub test()
UO.Set('quiet','1')
if val(uo.getGlobal('running'))==1 then
uo.setGlobal('running',2)
; какое то событие
wait(2000)
uo.setGlobal('running',1)
endif
UO.Set('quiet','0')
end sub
Re: Вызов функции из файла.
Code: Select all
sub Tracking_Players()
WarMode_Off()
UO.WaitMenu("Tracking","Players")
If Not UO.WaitingForMenu(5000, 0, 0, 'Tracking', 'Tracking') Then
UO.CancelMenu()
End If
end sub
Нормальная запись или лишнего много? и еще почему у меня при первом юзе сразу выбирается кто-то из списка в трекинге.