Помощь в скриптах
Moderators: Murderator+, Murderator
-
- Posts: 67
- Joined: 2004-10-22 13:33:21
Помощь в скриптах
Здравствуйте многоуважаемые комрады)
Я можно сказать тут новенький, только начал писать сам скрипты на инже и вот сразу возник один вопрос, информацию по которому мне негде найти не удалось. Поможете нубу?)
В-общем, задача такая. Необходимо сделать так, чтобы после каждого "проката" скрипта инжа брала следующую переменную из определенного массива и подставляла значение в какую-нибудь функцию. Например, реколлилась каждый раз в следующее место или брала следующий предмет из массива. Заранее благодарю)
Я можно сказать тут новенький, только начал писать сам скрипты на инже и вот сразу возник один вопрос, информацию по которому мне негде найти не удалось. Поможете нубу?)
В-общем, задача такая. Необходимо сделать так, чтобы после каждого "проката" скрипта инжа брала следующую переменную из определенного массива и подставляла значение в какую-нибудь функцию. Например, реколлилась каждый раз в следующее место или брала следующий предмет из массива. Заранее благодарю)
Re: Помощь в скриптах
Code: Select all
sub test
var i
dim a[n]
a[0]='...'
.....
a[n-1]='...'
for i = 0 to n-1
...
funct(a[i])
...
next
end sub
Code: Select all
sub init()
uo.setglobal("ArrCount","10")
uo.setglobal("ArrItem0","0x12345678")
uo.setglobal("ArrItem1","0x23456781")
uo.setglobal("ArrItem2","0x34567812")
....
uo.setglobal("ArrNow","0")
end sub
sub doit()
var x=val(uo.getglobal("ArrNow"))
uo.print(uo.getglobal("ArrItem"+str(x))
x=x+1
if x>val(uo.getglobal("ArrCount")) then
x=0
end if
uo.setglobal("ArrNow",str(x))
end sub
ещё раз напоминаю, что Set/GetGlobal и Set/GetEasyUO работают только с текстовыми данными, так что при необходимости используется преобразование
Re: Помощь в скриптах
Sfagnum wrote:Code: Select all
funct(a[i])
Вот так не делай. Получишь весьма неожиданный результат. Я уже напоролся. Надо вводить доп. переменную и присваивать ей значение ячейки массива, и потом уже это переменную передавать в качестве параметра.
Re: Помощь в скриптах
спасибо буду знать.Edred wrote:Sfagnum wrote:Code: Select all
funct(a[i])
Вот так не делай. Получишь весьма неожиданный результат. Я уже напоролся. Надо вводить доп. переменную и присваивать ей значение ячейки массива, и потом уже это переменную передавать в качестве параметра.
а тоя ещё на эти грабли не наступал.
Re: Помощь в скриптах
Sfagnum wrote:спасибо буду знать.Edred wrote:Sfagnum wrote:Code: Select all
funct(a[i])
Вот так не делай. Получишь весьма неожиданный результат. Я уже напоролся. Надо вводить доп. переменную и присваивать ей значение ячейки массива, и потом уже это переменную передавать в качестве параметра.
а тоя ещё на эти грабли не наступал.
Насколько я разобрался, скрипт передает в функцию не ячейку массива, а все равно весь массив (то есть сам массив). А так как на той стороне ожидается строка (у меня массив текстовых строк был) - то в нее засовывается то ли первый элемент массива, то ли последний, то ли все в одну строку склеиваются...
-
- Posts: 67
- Joined: 2004-10-22 13:33:21
эт нормально...Immelstorn wrote:И надо сказать, все заработало, так что никаких подводных камней не вижу))
у меня вот тож скрипт сперва с UO.UseType('...') без проблем, потом начал глюковать безбожно, поработает-поработает, а потом УПС.. и type not founded, перешёл на UO.Exec("usetype '...'")... таже хрень... и опять же не сразу.
в итоге сейчас юзаю uo.useobject...
ттт - пока всё работает с неделю уже.