Yoko

All sides of Injection
It is currently 2025-12-27 23:43:29

All times are UTC+02:00




Post new topic  Reply to topic  [ 9 posts ] 
Author Message
PostPosted: 2004-11-08 23:33:17 
Offline

Joined: 2004-10-22 13:33:21
Posts: 67
Здравствуйте многоуважаемые комрады)
Я можно сказать тут новенький, только начал писать сам скрипты на инже и вот сразу возник один вопрос, информацию по которому мне негде найти не удалось. Поможете нубу?)
В-общем, задача такая. Необходимо сделать так, чтобы после каждого "проката" скрипта инжа брала следующую переменную из определенного массива и подставляла значение в какую-нибудь функцию. Например, реколлилась каждый раз в следующее место или брала следующий предмет из массива. Заранее благодарю)


Top
   
PostPosted: 2004-11-09 08:42:58 
Offline
Expert!
User avatar

Joined: 2004-07-04 00:14:58
Posts: 1284
Code:
sub test
var i
dim a[n]
a[0]='...'
.....
a[n-1]='...'
  for i = 0 to n-1
    ...
    funct(a[i])
    ...
  next
end sub


Top
   
 Post subject:
PostPosted: 2004-11-09 12:50:08 
Offline
Site Admin
User avatar

Joined: 2004-04-03 16:49:38
Posts: 1964
Code:
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 работают только с текстовыми данными, так что при необходимости используется преобразование


Top
   
 Post subject:
PostPosted: 2004-11-09 19:37:52 
Offline

Joined: 2004-10-22 13:33:21
Posts: 67
Все отлично заработало, спасибо!


Top
   
PostPosted: 2004-11-09 21:12:05 
Offline
Expert!

Joined: 2004-04-03 17:36:29
Posts: 2544
Location: Saint-Petersburg
Sfagnum wrote:
Code:
funct(a[i])


Вот так не делай. Получишь весьма неожиданный результат. Я уже напоролся. Надо вводить доп. переменную и присваивать ей значение ячейки массива, и потом уже это переменную передавать в качестве параметра.


Top
   
PostPosted: 2004-11-09 22:25:05 
Offline
Expert!
User avatar

Joined: 2004-07-04 00:14:58
Posts: 1284
Edred wrote:
Sfagnum wrote:
Code:
funct(a[i])


Вот так не делай. Получишь весьма неожиданный результат. Я уже напоролся. Надо вводить доп. переменную и присваивать ей значение ячейки массива, и потом уже это переменную передавать в качестве параметра.
спасибо буду знать.
а тоя ещё на эти грабли не наступал.


Top
   
PostPosted: 2004-11-10 12:22:25 
Offline
Expert!

Joined: 2004-04-03 17:36:29
Posts: 2544
Location: Saint-Petersburg
Sfagnum wrote:
Edred wrote:
Sfagnum wrote:
Code:
funct(a[i])


Вот так не делай. Получишь весьма неожиданный результат. Я уже напоролся. Надо вводить доп. переменную и присваивать ей значение ячейки массива, и потом уже это переменную передавать в качестве параметра.
спасибо буду знать.
а тоя ещё на эти грабли не наступал.


Насколько я разобрался, скрипт передает в функцию не ячейку массива, а все равно весь массив (то есть сам массив). А так как на той стороне ожидается строка (у меня массив текстовых строк был) - то в нее засовывается то ли первый элемент массива, то ли последний, то ли все в одну строку склеиваются...


Top
   
 Post subject:
PostPosted: 2004-11-10 12:42:21 
Offline

Joined: 2004-10-22 13:33:21
Posts: 67
Знаете, мне все это нужно было для написания подобных скриптов:

sub Test()
VAR i
DIM A[2]
A[0]='0x4022B5CD'
A[1]='0x401B61E6'
for i=0 to 1
uo.moveitem(A[i],1,'0x4029642F')
wait(1000)
next
end sub

И надо сказать, все заработало, так что никаких подводных камней не вижу))


Top
   
 Post subject:
PostPosted: 2004-11-10 14:58:48 
Offline
Expert!
User avatar

Joined: 2004-07-04 00:14:58
Posts: 1284
Immelstorn wrote:
И надо сказать, все заработало, так что никаких подводных камней не вижу))
эт нормально...
у меня вот тож скрипт сперва с UO.UseType('...') без проблем, потом начал глюковать безбожно, поработает-поработает, а потом УПС.. и type not founded, перешёл на UO.Exec("usetype '...'")... таже хрень... и опять же не сразу.
в итоге сейчас юзаю uo.useobject...
ттт - пока всё работает с неделю уже.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 9 posts ] 

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 7 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited