Yoko
http://forum.yoko.com.ua/

Вызов функции из файла.
http://forum.yoko.com.ua/viewtopic.php?f=1&t=17585
Page 1 of 1

Author:  TAHK [ 2015-05-07 09:52:35 ]
Post subject:  Вызов функции из файла.

Хотелось бы создать библиотеку функций в отдельном файле.
Можно ли это сделать в инже?

к примеру в autoload.sc :

вызываем Function1(param1) находящуюся в другом файле File2.sc

Если возможно дайте плиз пример кода.

Author:  Juicy Fruit [ 2015-05-07 10:12:25 ]
Post subject:  Re: Вызов функции из файла.

Если используешь новый инжект то можно с помощью #include подключить внешний файл скриптов к текущему скрипту и спокойно вызывать функции из подгруженного файла.
viewtopic.php?f=12&t=16689
По ссылке описание есть.

Author:  -=Tiger=- [ 2015-05-07 19:09:33 ]
Post subject:  Re: Вызов функции из файла.

Кто-нибудь может привести пример работы с GList, все функции желательно.

Author:  Juicy Fruit [ 2015-05-07 20:12:57 ]
Post subject:  Re: Вызов функции из файла.

Так же, как и с UO.SetGlobal/UO.GetGlobal за исключением плюшки в качестве полной очистки списка.
Остальные функции не популярны думаю, но если уж очень хочется - можно пройтись по всему списку и получить названия и значения переменных:
Code:
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()

Author:  -=Tiger=- [ 2015-05-08 00:35:45 ]
Post subject:  Re: Вызов функции из файла.

Juicy Fruit wrote:
Так же, как и с UO.SetGlobal/UO.GetGlobal за исключением плюшки в качестве полной очистки списка.
Остальные функции не популярны думаю, но если уж очень хочется - можно пройтись по всему списку и получить названия и значения переменных:
Code:
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()

А по скорости работы как? Могу ли использовать для своеобразного игнор листа? Так как с встроенным игнор листом мешать не хочу. Обычные глобальные переменные довольно медленно работают для таких целей.

Author:  Juicy Fruit [ 2015-05-08 06:43:42 ]
Post subject:  Re: Вызов функции из файла.

Принцип работы тот же, по скорости врятли сильно отличаются, но проверь, может быть этот вариант подойдет больше.

Author:  -=Tiger=- [ 2015-05-09 19:09:21 ]
Post subject:  Re: Вызов функции из файла.

У меня такая задача, не запускать скрипт дважды, то есть проверить если в памяти есть данный скрипт то не запускать копию.

Author:  Juicy Fruit [ 2015-05-09 20:05:58 ]
Post subject:  Re: Вызов функции из файла.

-=Tiger=- wrote:
У меня такая задача, не запускать скрипт дважды, то есть проверить если в памяти есть данный скрипт то не запускать копию.

Code:
UO.FunRunning(String Name)
При частом повторении почти без задержек может крашить.

Author:  -=Tiger=- [ 2015-05-09 22:24:53 ]
Post subject:  Re: Вызов функции из файла.

Juicy Fruit wrote:
-=Tiger=- wrote:
У меня такая задача, не запускать скрипт дважды, то есть проверить если в памяти есть данный скрипт то не запускать копию.

Code:
UO.FunRunning(String Name)
При частом повторении почти без задержек может крашить.

Code:
sub test()
If Not UO.FunRunning("test") Then
uo.print("test")
End If
end sub

такой номер не прокатит

Author:  Mirage [ 2015-05-10 16:27:38 ]
Post subject:  Re: Вызов функции из файла.

Code:
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:
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

Author:  -=Tiger=- [ 2015-05-12 21:16:59 ]
Post subject:  Re: Вызов функции из файла.

Code:
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


Нормальная запись или лишнего много? и еще почему у меня при первом юзе сразу выбирается кто-то из списка в трекинге.

Page 1 of 1 All times are UTC+02:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/