Yoko

All sides of Injection
It is currently 2024-04-18 09:06:59

All times are UTC+02:00




Post new topic  Reply to topic  [ 4 posts ] 
Author Message
PostPosted: 2004-10-08 10:09:57 
Offline

Joined: 2004-10-08 09:46:39
Posts: 6
Здорово не хватает дву(и более... ;) )мерных массивов.
Конечно, можно написать скрипт и без них, но больно уж ракообразно получается, например, когда пытаешься более-менее унифицированно оскриптить крафт нескольких однотипных предметов, требующих для крафта более одного ресурса (пример: алхимия - несколько поушенов из разных регов).
А если к этому ещё и возможность заводить переменные типа строка добавить... ;)

С наилучшими,
XSmith, крафтер. ;)


Top
   
 Post subject:
PostPosted: 2004-10-08 20:17:53 
Offline
Site Admin
User avatar

Joined: 2004-04-03 16:49:38
Posts: 1964
насчёт двумерных то понятно, а вот насчёт строк я не понял, строковые переменные и так допустимы


Top
   
PostPosted: 2004-10-08 20:39:02 
Offline
Expert!

Joined: 2004-04-03 17:36:29
Posts: 2544
Location: Saint-Petersburg
XSmith wrote:
А если к этому ещё и возможность заводить переменные типа строка добавить... ;)


Если ты имеешь в виду работу со строкой как с одномерным массивом - так это есть. Попробуй:

Code:
sub testtxt()
   VAR txt = 'this is test'
   VAR i, j
   j = len( txt ) - 1
   for i = 0 to j
      UO.Print( txt[i] )
   next
endsub


Top
   
 Post subject:
PostPosted: 2004-10-10 16:20:30 
Offline

Joined: 2004-10-08 09:46:39
Posts: 6
Нет, интересует не работа со строкой как с массивом, а двумерный массив, элементами которого являются строки. То есть, например, нечто подобное:

Code:
Dim Responces[3][10]
Responces[0][0] = ...
...
Responces[2][0] = "You can't"
Responces[2][1] = "Try to"
Responces[2][2] = "You put"
Responces[2][3] = "There are no"
Responces[2][4] = "Oops!"
...


Каковое "нечто" потом может быть использовано, например, так: ;)

Code:
...
For j= ...
  If TileNum == TreeTileType[j] Then
    ProprietaryTool = 'Hatchet'
    UsedSkill = 2
  EndIf
Next
...
UO.Waitfortargettile('TileNum',TargetX,TargetY,Z)
UO.UseObject(ProprietaryTool)
RectifyJournal()

Repeat
  Wait(100)
  For j = 0 To 9 Then
    If UO.InJournal(Responces[UsedSkill][j])
       ExitFlag = 1
    EndIf
  Next
Until ExitFlag <>0
...


Впрочем, на крайняк, сойдёт и одномерный массив, элементами которого являются структуры (в С-шной терминологии, в паскалевской - по-моему, это называется "записи). ;)

P.S. И, как кто-то сюда уже писал, конечно используя несколько поисков по типу можно играться с семафорами, но больно уж громоздко получается. Некая поисковая функция по типу/цвету, прямо возвращающая серийник, а не кладущая его куда либо, была бы весьма и весьма в кассу. И хрен бы с ним, с консольным её вариантом... ;)


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

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 10 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