Yoko
http://forum.yoko.com.ua/

Мерность массивов и текстовые переменные...
http://forum.yoko.com.ua/viewtopic.php?f=4&t=1559
Page 1 of 1

Author:  XSmith [ 2004-10-08 10:09:57 ]
Post subject:  Мерность массивов и текстовые переменные...

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

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

Author:  Yoko [ 2004-10-08 20:17:53 ]
Post subject: 

насчёт двумерных то понятно, а вот насчёт строк я не понял, строковые переменные и так допустимы

Author:  Edred [ 2004-10-08 20:39:02 ]
Post subject:  Re: Мерность массивов и текстовые переменные...

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

Author:  XSmith [ 2004-10-10 16:20:30 ]
Post subject: 

Нет, интересует не работа со строкой как с массивом, а двумерный массив, элементами которого являются строки. То есть, например, нечто подобное:

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

Page 1 of 1 All times are UTC+02:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/