Yoko

All sides of Injection
It is currently 2025-10-19 14:06:09

All times are UTC+02:00




Post new topic  Reply to topic  [ 2 posts ] 
Author Message
PostPosted: 2009-03-03 13:06:32 
Offline

Joined: 2009-03-03 12:56:38
Posts: 1
Все привет =) Помогите мне с массивами. Как объявить 3х мерный массив чтобы не пришлось создавать кучу одномерных. Я почти все перепробовал что-то ничего не получилось. И еще..Как сделать так чтобы координаты хранились в отдельном документе и скрипт их от туда грузил. P.S. Массивы я обрубил чтобы не нагромождать тут =)

Code:
Sub test1()
   DIM x[50]
   x[0] = 2505      ; Black Pearl
   x[1] = 2499      ; Bood Moss
   x[2] = 2499      ; Black Pearl
   x[3] = 2499      ; Bood Moss
   x[4] = 2499      ; Black Pearl
   x[5] = 2507     ; Bood Moss
   x[6] = 2507      ; Black Pearl
   x[7] = 2523      ; Bood Moss
   x[8] = 2526      ; Black Pearl
   x[9] = 2538      ; Bood Moss
   x[10] = 2548      ; Black Pearl
   x[11] = 2549      ; Bood Moss
   x[12] = 2550      ; Black Pearl
   x[13] = 2550      ; Bood Moss
   x[14] = 2550      ; Black Pearl
   x[15] = 2507      ; Bood Moss
   x[16] = 2507      ; Black Pearl


   
   DIM y[50]
   y[0] = 622      ; Black Pearl
   y[1] = 620      ; Bood Moss
   y[2] = 620      ; Black Pearl
   y[3] = 609      ; Bood Moss
   y[4] = 609      ; Black Pearl
   y[5] = 613      ; Bood Moss
   y[6] = 613      ; Black Pearl
   y[7] = 613      ; Bood Moss

DIM a[50]
   a[0] = '6012'      ; Black Pearl
   a[1] = '0'     ; Bood Moss
   a[2] = '6012'      ; Black Pearl
   a[3] = '6008'     ; Bood Moss
   a[4] = '6003'      ; Black Pearl
   a[5] = '6011'     ; Bood Moss
   a[6] = 6004      ; Black Pearl
   a[7] = 6004     ; Bood Moss
   a[8] = 6012      ; Black Pearl
   a[9] = 6008     ; Bood Moss
   a[10] = 6012      ; Black Pearl
   a[11] = 0     ; Bood Moss
   a[12] = 6008      ; Black Pearl
   a[13] = 6011     ; Bood Moss
   a[14] = 0      ; Black Pearl
   a[15] = 6008     ; Bood Moss
   


   
   
   DIM b[50]
   b[0] = '2505'      ; Black Pearl
   b[1] = '2500'      ; Bood Moss
   b[2] = '2497'      ; Black Pearl
   b[3] = '2498'      ; Bood Moss
   b[4] = '2500'      ; Black Pearl
   b[5] = '2507'      ; Bood Moss
   b[6] = 2509      ; Black Pearl
   b[7] = 2522      ; Bood Moss
   b[8] = 2527      ; Black Pearl
   b[9] = 2539      ; Bood Moss
   b[10] = 2545      ; Black Pearl
   b[11] = 2551      ; Bood Moss
   b[12] = 2549      ; Black Pearl
   b[13] = 2550      ; Bood Moss
   b[14] = 2548      ; Black Pearl
   b[15] = 2506      ; Bood Moss
   b[16] = 2507      ; Black Pearl
   b[17] = 2505      ; Bood Moss


   
   DIM c[50]
   c[0] = '623'      ; Black Pearl
   c[1] = '622'     ; Bood Moss
   c[2] = '617'      ; Black Pearl
   c[3] = '607'     ; Bood Moss
   c[4] = '609'      ; Black Pearl
   c[5] = '611'     ; Bood Moss
   c[6] = 614      ; Black Pearl
   c[7] = 614     ; Bood Moss
   c[8] = 615      ; Black Pearl
   c[9] = 607     ; Bood Moss
   c[10] = 606      ; Black Pearl
   c[11] = 599     ; Bood Moss
   c[12] = 592      ; Black Pearl
   c[13] = 586     ; Bood Moss
   c[14] = 573      ; Black Pearl


   
   DIM d[50]
   d[0] = '0'      ; Black Pearl
   d[1] = '1'     ; Bood Moss
   d[2] = '0'      ; Black Pearl
   d[3] = '0'      ; Bood Moss
   d[4] = '0'      ; Black Pearl
   d[5] = '0'      ; Bood Moss
   d[6] = 0      ; Black Pearl
   d[7] = 0      ; Bood Moss
   d[8] = 0      ; Black Pearl
   d[9] = 0      ; Bood Moss


   
    var k=0
    var t=0
    var kirka='0x0E85'
    var ms1="Попробуйте"
    var ms2="You put"
    var ms3="Раздолбив"
    var ms4="не осталось"
    var ms5="далеко"
    var msat="is attacking you"
    VAR Home='0x401B1A8E' ## - Для рекола (изменять не нужно)
    VAR Minoc='0x400DFA37'
   
   repeat
   k = 0
   repeat
   Walker(x[k], y[k], 0)
   wait(300)
   repeat
   uo.deletejournal()
   CheckLag()
   uo.waittargettile(a[k], b[k], c[k], d[k])
   UO.UseType(kirka)
   repeat
   CheckLag()
   wait(500)
   if uo.injournal(msat) then
   uo.say('Guard')
   wait(100)
   uo.say('Guard')
   wait(120)
   uo.say('Guard')
   end if
   t = t + 1
   until uo.injournal(ms1) or uo.injournal(ms2) or uo.injournal(ms3) or uo.injournal(ms4) or uo.injournal(ms5) or t > 150
   until uo.injournal(ms1) or uo.injournal(ms4) or uo.injournal(ms5) or t > 150
   k = k + 1
   t = 0
   wait(1000)
   until k > 49 or UO.Weight > 720
   ToRecall()
   until UO.Dead()
   end sub
[/code]


Top
   
 Post subject:
PostPosted: 2009-03-03 14:58:45 
Offline
User avatar

Joined: 2008-09-12 05:07:34
Posts: 247
В инже не создашь, помоему, многомерный массив. Можно извратиться, наверное, забить в массив названия массивов, но я так не извращался и не уверен, что это сработает. А по поводу сохранения координат в файл и их загрузки из файла, найди , например, ветерановский скрипт на лумбер, там это дело используется и понятно и красиво нарисованоhttp://forum.yoko.com.ua/viewtopic.php?t=14015&highlight=%EB%F3%EC%E1%E5%F0 тут он есть.

Немного теории по этому делу...

Класс FILE:
пример:
sub main()
var f=file("c:\имя файла")
var s=0
f.open()
while not f.eof() and not fatal error
s=safe call f.readnumber()
if not fatal error then
dbgmsg(s)
endif
wend
f.close()
endsub

Методы класса:
File(имя файла) - конструктор
Open() - открыть на чтение/запись. Возвращает true==открылся удачно
Create() - затереть файл. Возврат так же
Eof() - true == конец
ReadLn() - возвращает строку из файла. Строку полностью!!!
ReadString() - возвр. слово из файла до пробела/TAB
ReadNumber() - число
Write(строка/число) - запись строки/числа в файл.
WriteLn(строка/число) - запись строки/числа в файл+перевод строки.
WriteLn() - просто запись перевода строки
Close() - закрыть файл и освободить память из-под класса. После вызова Close() с файлом больше работать нельзя (даже вызвав Open).


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

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 2 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:  
cron
Powered by phpBB® Forum Software © phpBB Limited