Yoko

All sides of Injection
It is currently 2025-11-10 10:40:27

All times are UTC+02:00




Post new topic  Reply to topic  [ 14 posts ] 
Author Message
PostPosted: 2006-04-12 11:42:29 
Offline
Expert!
User avatar

Joined: 2006-02-25 21:48:38
Posts: 1032
Возможно ли создать глобальный массив?


Top
   
 Post subject:
PostPosted: 2006-04-12 11:55:06 
Offline
Expert!
User avatar

Joined: 2005-05-04 14:05:19
Posts: 2580
Location: Москва
почему бы и нет? кто мешает?


Top
   
 Post subject:
PostPosted: 2006-04-12 11:58:51 
Offline
Expert!

Joined: 2004-04-03 17:36:29
Posts: 2544
Location: Saint-Petersburg
Прямым способом - нет. Но ты можешь создать кучу глобальных переменных, нумеруя их через индекс, каждую для отдельной ячейки. Можешь хранить в файле. Способов куча.


Top
   
 Post subject:
PostPosted: 2006-04-12 11:59:04 
Offline
Expert!
User avatar

Joined: 2006-02-25 21:48:38
Posts: 1032
Как? Так можно:
Code:
for i = 0 to 20
uo.setglobal(abc[i],i)
next
?? :lol: :lol:


Top
   
 Post subject:
PostPosted: 2006-04-12 12:00:35 
Offline
Expert!
User avatar

Joined: 2006-02-25 21:48:38
Posts: 1032
Edred wrote:
Прямым способом - нет. Но ты можешь создать кучу глобальных переменных, нумеруя их через индекс, каждую для отдельной ячейки. Можешь хранить в файле. Способов куча.


Тоесть? Как я у ним индекс прилеплю? Так:
Code:
for i = 0 to 20
uo.setglobal(ABCi,i)
next
??


Top
   
 Post subject:
PostPosted: 2006-04-12 12:01:17 
Offline
Expert!

Joined: 2004-04-03 17:36:29
Posts: 2544
Location: Saint-Petersburg
Пробуй. Если не проходит, то вставь запись элемента массива в переменную, а уже ее как имя в глобалку


Top
   
 Post subject:
PostPosted: 2006-04-12 12:05:17 
Offline
Expert!
User avatar

Joined: 2006-02-25 21:48:38
Posts: 1032
Edred wrote:
Пробуй. Если не проходит, то вставь запись элемента массива в переменную, а уже ее как имя в глобалку


Эт я всё понимаю вроде. Я не знаю какие имена разрешены для глоб. переменных и как мне к ним индексы приляпать...


Top
   
 Post subject:
PostPosted: 2006-04-12 12:39:58 
Offline
Expert!
User avatar

Joined: 2005-05-04 14:05:19
Posts: 2580
Location: Москва
uo.SetGlobal("myArray"+str(i)+str(j), ...)
минимумлогики чтобы i=1 j =11 <>i=11 j=1


Top
   
 Post subject:
PostPosted: 2006-04-12 12:57:40 
Offline
Junior Expert
User avatar

Joined: 2004-06-24 22:08:56
Posts: 3220
Если надо хранить в глобальном массиве, например тайпы вещей или еще что-нибудь, то можно всё в строку затолкать..

Писал, когда был маленьким, функции для работы со строкой-массивом:
Code:
Sub RegArray(num,len)
var arr=""
var add=""
while strlen(add) < len
add = add + "0"
wend
while strlen(arr) < num*len
arr = arr + add
wend
return arr
endsub

Sub SetArray(val,str,num,len) ; что
if len < strlen(val) then
uo.print("Value to long!")
return false
endif
while strlen(val) < len
val = "0"+val
wend
return MID(str,0,num*len) + val + MID(str,num*len+len,strlen(str)-num*len-len)
endsub

Sub GetArray(str,num,len)
return MID(str,num*len,len)
endsub

Sub IncArray(str,num,len)
var i,j
for i=1 to num
for j=1 to len
str = "0"+str
next
next
return str
endsub

str RegArray - создаст "массив", передаётся:
val 1. Количество элементов
val 2. Длинна элемента (пустота заполняется нуликами, можно еще чем-нить заполнять, мне нулики было удобно).

str SetArray - запишет в "элемент массива" и вернёт полученный "массив", передаётся:
str 1. Записываемое значение
str 2. "Массив"
val 3. Номер элемента
val 4. Длинна элемента "массива"

str GetArray - вернёт "элемент из масива", передаётся:
str 1. "Массив"
val 2. Номер элемента
val 3. Длинна элемента "массива"

str IncArray - вернёт массив на n элементов больше.
str 1. "Массив"
val 2. Количество добавляемых элементов
val 3. Длинна элемента "массива".

Не ругать, скрипт правда из детства нарыл. Вот примерно по такой схеме, из строки я когда-то сделал массив 8)


Last edited by Destruction on 2006-04-14 03:05:13, edited 1 time in total.

Top
   
 Post subject:
PostPosted: 2006-04-12 13:04:24 
Offline
Expert!
User avatar

Joined: 2006-02-25 21:48:38
Posts: 1032
Спасибо, но я вот это не понял:

Grin wrote:
минимум логики чтобы i=1 j =11 <>i=11 j=1


Это для двумерного массива?

А можно так:
Code:
for i = 0 to 10
uo.SetGlobal("myArray"+str(i), i)
next


И еще: "myArray"+str(i) - это тоже самое что и myArray1,myArray2, ... ,myArray100, ... да?


Top
   
 Post subject:
PostPosted: 2006-04-12 13:10:02 
Offline
Expert!
User avatar

Joined: 2006-02-25 21:48:38
Posts: 1032
Destruction wrote:
Если надо хранить в глобальном массиве, например тайпы вещей или еще что-нибудь, то можно всё в строку затолкать..


Спасибки, но я ничего в тво1м скрипне не понял :( :oops: :oops: :(

Мне нужнен именно глобальный массив, чтобы мои скрипты между собой обсчались, а т.к. то что я буду там хранить постоянно меняется то файл не подходит... (даже заранее неизвестно сколько елементов в массиве будет)

Кстати, а можно потом эти глоб. переменные удалить? (из реестра)


Top
   
 Post subject:
PostPosted: 2006-04-12 15:02:18 
Offline
Junior Expert
User avatar

Joined: 2004-06-24 22:08:56
Posts: 3220
Der wrote:
Destruction wrote:
Если надо хранить в глобальном массиве, например тайпы вещей или еще что-нибудь, то можно всё в строку затолкать..


Спасибки, но я ничего в тво1м скрипне не понял :( :oops: :oops: :(

Мне нужнен именно глобальный массив, чтобы мои скрипты между собой обсчались, а т.к. то что я буду там хранить постоянно меняется то файл не подходит... (даже заранее неизвестно сколько елементов в массиве будет)

Кстати, а можно потом эти глоб. переменные удалить? (из реестра)

Глобальные переменные в реестре не лежат. В реестре лежат EasyUO переменные.

Скажи, какая информация у тебя будет храниться?


Top
   
 Post subject:
PostPosted: 2006-04-12 16:27:25 
Offline
Expert!
User avatar

Joined: 2006-02-25 21:48:38
Posts: 1032
ID чаров...
Идея такая: ищу вокруг себя всех чаров, запоминаю их ID в этот массив, а потом другим скриптом эти ИД обрабатываю (так сказать скрипт на ПвП)


Top
   
 Post subject:
PostPosted: 2006-04-14 03:02:22 
Offline
Junior Expert
User avatar

Joined: 2004-06-24 22:08:56
Posts: 3220
Der wrote:
ID чаров...
Идея такая: ищу вокруг себя всех чаров, запоминаю их ID в этот массив, а потом другим скриптом эти ИД обрабатываю (так сказать скрипт на ПвП)

Ну мой скрипт вполне подойдёт.

Будешь писать так:
uo.setEasyUO(1,RegArray( 1, 9 )) ; или getGlobal, не буду говорить, почему я его не люблю...

Ща сделаю функцию "увеличения" количества элементов массива.

....

Нарисовал - ушёл тестировать.

...

Всё вроде норм пашет.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 14 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