ВНИМАНИЕ! Наша конференция посвящена космической тематике и компьютерным играм. Политические вопросы и происходящие в мире события в данный момент на нашем сайте не обсуждаются!
 
  |  
|   » Новые скриптовые команды. Справочник от 16.01.2009. | страница 1 |  
 
	
		 | 
		 | 
		 | 
	 
	| 
 Канал X3: Terran Conflict »
Модовый и скриптовый отсек X3: Terran Conflict: «Новые скриптовые команды. Справочник от 16.01.2009.» |  
	| 
	 |  
	 |  
	
		Chem
   780 EGP
            Рейтинг канала: 6(498) Репутация: 248 Сообщения: 4751  Откуда: Киев Зарегистрирован: 08.01.2007
       | 
         | 
		Собственно тема перекочевала из канала Reuniona.
 
Собственно обновил пост  .
 
 
Справочник по скриптовым командам игры X3:Terran Conflict (version 0.1.11, build date 16.01.2009)
 
 
Список команд соответствует версии игры 1.4 (engine version 42)!
 
 
 
Сортировка команд в справочнике соответствует отображению в ScE (встроенный редактор).
 
 
Изначальная инфа взята из проекта "Скрипты - это легко..." авторства DragonP, а так же Справочник по скриптовым командам игры X3:Reunion
	
  
	
	
		| Commands.0.1.11.zip | 
	 
	
		|  Описание: | 
		
			
			
				Справочник по скриптовым командам игры X3:Terran Conflict, в формате .chm.  version 0.1.11, build date 16.01.2009 | 
			 
			 
		 | 
	 
	
		|  Имя файла: | 
		 Commands.0.1.11.zip | 
	 
	
		|  Размер файла: | 
		 428.38 KB | 
	 
	
		|  Скачано: | 
		 3138 раз(а) | 
	 
	 
        	 _________________ Умножим энтропию на 0 :-) 
  Последний раз редактировалось: Chem (18:38 16-01-2009), всего редактировалось 7 раз(а) Последний раз редактировалось: Арманкессилон (11:15 13-01-2009), всего редактировалось 1 раз | 
		 
		
		| 
		
		 | 
         
     |  
	
		Andrei [<>Ace]
   303 EGP
     Рейтинг канала: 4(94) Репутация: 108 Сообщения: 766  Откуда: Беларусь, Салiгорск Зарегистрирован: 29.03.2006
      | 
         | 
		Раздел Общие команды (General Commands)
 
 
	  | Код: | 
	 
	
	  | 1337   <RetVar/IF> read text: page id=<Var/Number>, from <Var/Number> to <Var/Number> to array, include empty=<Var/Number>  | 
	 
 
 
Возвращает в переменную <RetVar> массив строк языкового файла со страницы page id=<Var/Number> с from <Var/Number> по to <Var/Number>,  include empty=<Var/Number>может принимать значения TRUE/FALSE (1/0) - определяет записывать несуществующие строки (будет записан ReadText?-?) в массив или нет.
 
 Также при include empty=<Var/Number> = FALSE (0) проверяет существование каких либо строк в диапазоне from <Var/Number> to <Var/Number> на странице page id=<Var/Number>.
 
 
	  | Код: | 
	 
	
	  | 1338   <RetVar/IF> read text: page id=<Var/Number>, id=<Var/Number> exists  | 
	 
 
 
Проверяет существует ли строка языкового файла на странице page id=<Var/Number> с id=<Var/Number> возвращает значения 1 - существует 0-нет.
 
 
	  | Код: | 
	 
	
	  1414   <RetVar/IF><RefObj> get all local variable keys, starting with=<Var/String>
 
 
1436   <RetVar/IF> get all global variable keys, starting with=<Var/String> | 
	 
 
 
 
Возвращает в переменную <RetVar> массив имен переменных или проверяет существовение переменных, локальных для объекта <RefObj> или глобальных соответственно, имя которх начинается со строки starting with=<Var/String>.
 
 
	  | Код: | 
	 
	
	  1450   <RetVar/IF><RefObj> get local variables: regular expression=<Var/String>
 
 
1451   <RetVar/IF> get global variables: regular expression=<Var/String> | 
	 
 
 
Возвращает в переменную <RetVar> массив имен переменных или проверяет существовение переменных, локальных для объекта <RefObj> или глобальных соответственно, имя которых содержат строку regular expression=<Var/String>.
 
 
	  | Код: | 
	 
	
	  | 1457   <RetVar>= get maximum, <Var/Number>, <Var/Number>, <Var/Number>, <Var/Number>, <Var/Number>  | 
	 
 
 
Возвращает в переменную <RetVar> максимальное числовое значение из приведенных чисел или числовых переменных. <Var/Number>
 
 
 
Дополнительно в разделе Общие команды (General Commands) создан подраздел команды/сигналы куда снесли все скриптовые команды работы с шаблонами игровых команд/сигналов.
 
 
По командам раздела все. Подразделы позже  
        	  | 
		 
		
		| 
		
		 | 
         
     |  
	
		Chem
   780 EGP
            Рейтинг канала: 6(498) Репутация: 248 Сообщения: 4751  Откуда: Киев Зарегистрирован: 08.01.2007
       | 
         | 
		Воот, а я как раз скелет справочника делаю  
        	 _________________ Умножим энтропию на 0 :-)  | 
		 
		
		| 
		
		 | 
         
     |  
	
		Andrei [<>Ace]
   303 EGP
     Рейтинг канала: 4(94) Репутация: 108 Сообщения: 766  Откуда: Беларусь, Салiгорск Зарегистрирован: 29.03.2006
      | 
         | 
		Раздел Общие команды (General Commands)
 
подраздел Вызовы скриптов
 
 
	  | Код: | 
	 
	
	  | 1425   <RetVar/IF><RefObj> call named script: script=<Var/String>, <Value>, <Value>, <Value>, <Value>, <Value> | 
	 
 
 
Похожа на команду
 
	  | Код: | 
	 
	
	  | @<RetVar/IF/START> <RefObj> call script <Script Name>: <Parameter> | 
	 
 
 
Отличие в следующем:
 
1. Нет необходимости выбирать скрипт из списка скриптов, достаточно правильно вписать в script=<Var/String> имя запускаемого скрипта.
 
Запускаемый скрипт может содержать 5-аргументов.
 
2. не создает прерывания @ при запуске вложенного скрипта!
 
3. нет префикса START
 
 
	  | Код: | 
	 
	
	  | 1426   <RefObj> start named script: task=<Var/Number> scriptname=<Var/String> prio=<Var/Number>, <Value>, <Value>, <Value>, <Value>, <Value> | 
	 
 
 
 
Аналогично
 
	  | Код: | 
	 
	
	  | <RefObj> start task <Var/Number> with script <Script Name> and prio <Var/Number>: arg1=<Value> arg2=<Value> arg3=<Value> arg4=<Value> arg5=<Value> | 
	 
 
 
Отличие в следующем:
 
1. Нет необходимости выбирать скрипт из списка скриптов, достаточно правильно вписать в script=<Var/String> имя запускаемого скрипта.
 
 
	  | Код: | 
	 
	
	  | 1462   <RetVar>=<RefObj> get next available task: starting=<Var/Number> | 
	 
 
 
 
Возвращает в переменную <RetVar> следующий свободный (не занятый скриптом) стек объекта <RefObj> начиная со стека starting=<Var/Number> в сторону возрастания.
 
По умолчанию предлагает использовать стеки 30 и выше.
 
 
Также в подраздел переехали все скриптовые команды связанные с запуском скриптов и стеками.
 
 
Все.
        	  | 
		 
		
		| 
		
		 | 
         
     |  
	
		Chem
   780 EGP
            Рейтинг канала: 6(498) Репутация: 248 Сообщения: 4751  Откуда: Киев Зарегистрирован: 08.01.2007
       | 
         | 
		Даа, новые команды - и источник большого удобства в написании скриптов, но и еще больший источник глюков.
 
Сюда обязательно надо добавить было проверку наличия скрипта в принципе, что-то типа 
 
<RetVar/IF> is script <Script Name> version <Var/String> exists.
        	 _________________ Умножим энтропию на 0 :-)  | 
		 
		
		| 
		
		 | 
         
     |  
	
		Andrei [<>Ace]
   303 EGP
     Рейтинг канала: 4(94) Репутация: 108 Сообщения: 766  Откуда: Беларусь, Салiгорск Зарегистрирован: 29.03.2006
      | 
         | 
		Раздел Общие команды (General Commands) 
 
подраздел Массивы
 
 
	  | Код: | 
	 
	
	  | 1375   <RetVar>= sort array <Value> | 
	 
 
 
Возвращает в переменную  <RetVar> упорядоченный по возрастанию массив array <Value>
 
 
	  | Код: | 
	 
	
	  | 1417   <RetVar>= sort array: data=<Value> sort values=<Value> | 
	 
 
 
 
Непонятное что-то   
 
 
	  | Код: | 
	 
	
	  | 1406   <RetVar/IF> find <Value> in array: <Value> | 
	 
 
 
 
Проверяет наличие find <Value> в массиве array: <Value> и только.
 
 
	  | Код: | 
	 
	
	  | 1415   <RetVar>= create new array, arguments=<Value>, <Value>, <Value>, <Value>, <Value> | 
	 
 
 
 
Создает новый массив из аргументов
 
 
	  | Код: | 
	 
	
	  | 1443   <RetVar/IF> reverse array <Value> | 
	 
 
 
 
Возвращает в переменную <RetVar> перевернутый массив array <Value>.
 
К чему IF непонятно - значение всегда TRUE
 
 
	  | Код: | 
	 
	
	  | 1501   <RetVar/IF> arrays <Value> and <Value> are equal | 
	 
 
 
Проверяет идентичность массивов
 
 
подраздел Строки
 
 
	  | Код: | 
	 
	
	  | 1474   <RetVar>= convert number <Var/Number> to string | 
	 
 
 
 
Преобразует число в строку вида 000,000,000,000
 
 
	  | Код: | 
	 
	
	  | 1477   <RetVar>= format time: <Var/Number> | 
	 
 
 
 
Похоже замена
 
	  | Код: | 
	 
	
	  <RetVar> =  format seconds=<Var/Number> to Zura time string
 
 engine v. 32 | 
	 
 
 
· Команда преобразовывает количество секунд, заданное в параметре <Var/Number> к внутреннему формату Zura. Результат возвращается в переменную <RetVar>. 
 
 
	  | Код: | 
	 
	
	  | 1478   <RetVar/IF> match regular expession : <Var/String> to string <Var/String> | 
	 
 
 
 
Проверяет наличие строки expession : <Var/String> в строке to string <Var/String>
 
Возможно expession(в редакторе)=expression(в словаре)
 
 
 
	  | Chem : | 
	 
	
	  | 
Даа, новые команды - и источник большого удобства в написании скриптов
 | 
	 
 
 
Здесь столько новых команд - теряюсь просто.
 
А как справочник перелопатить придется вообще ужос  
 
 
	  | Арманкессилон : | 
	 
	
	  | 
Может в data=<Value> подставляется сам массив, а в sort values=<Value> способ сортировки (по возрастанию, по убыванию)?
 | 
	 
 
 
Нет. пробовал.
        	 
  Последний раз редактировалось: Andrei [<>Ace] (14:35 13-01-2009), всего редактировалось 3 раз(а) | 
		 
		
		| 
		
		 | 
         
     |  
	
		Арманкессилон
   1758 EGP
               Рейтинг канала: 10(1323) Репутация: 348 Сообщения: 13230  Откуда: Ставрополь Зарегистрирован: 16.08.2007
       | 
         | 
		
	  | Andrei [<>Ace] : | 
	 
	
	  | 
Не понятное что-то 
 | 
	 
 
 
Может в data=<Value> подставляется сам массив,  а в sort values=<Value> способ сортировки (по возрастанию, по убыванию)?
        	 _________________ Все астероиды не пересчитать!  | 
		 
		
		| 
		
		 | 
         
     |  
	
		AlexV
   555 EGP
         Рейтинг канала: 5(223) Репутация: 182 Сообщения: 1157  Откуда: нискажу Зарегистрирован: 10.01.2006
      | 
         | 
		
	  | Арманкессилон : | 
	 
	
	  | 
способ сортировки (по возрастанию, по убыванию)? 
 | 
	 
 
 
не-е-е... там всё гораздо запущеннее   
 
вырезка из !fight.board.launchmarines
 
	  | Код: | 
	 
	
	  
 
040   $aSkill =  array alloc: size=$count.marines
 
041   while $count.marines
 
042   |dec $count.marines = 
 
043   |$marine = $a.marines[$count.marines]
 
044   |$skill = $marine -> get marine mechanical skill
 
045   |$aSkill[$count.marines] = $skill
 
046   end
 
047   $aMarines =  sort array: data=$a.marines sort values=$aSkill
 
048   $aMarines =  reverse array $aMarines
 
 
 | 
	 
 
 
 
 
добавлено спустя 2 минуты:
 
 $a.marines - аргумент скрипта, тоже массив 
 
 
добавлено спустя 2 минуты:
 
 т.е. получается, что сортирует массив дата в соответствии с результатом сортировки  values
 
 
конкретно в примере сортирует десантников по их механическому уровню  
        	 _________________ а хуже всего приходится программистам из Microsoft. Им в случае чего и обругать-то некого 
  Последний раз редактировалось: AlexV (13:54 13-01-2009), всего редактировалось 3 раз(а) | 
		 
		
		| 
		
		 | 
         
     |  
	
		Арманкессилон
   1758 EGP
               Рейтинг канала: 10(1323) Репутация: 348 Сообщения: 13230  Откуда: Ставрополь Зарегистрирован: 16.08.2007
       | 
         | 
		
	  | AlexV : | 
	 
	
	  | 
т.е. получается, что сортирует массив дата в соответствии с результатом сортировки values 
 | 
	 
 
 
Не понял, а откуда он знает соответствие? Что у нас там за данные в $a.marines? Эта команда применима что-ли только к определенным структурам данных? Блин, приду с работы, специально буду смотреть по этой команде. 
 
 
добавлено спустя 2 минуты:
 
 Я к тому, что будет, если у меня в массиве 1 будут данные:
 
Петя
 
Коля
 
Женя
 
Степа
 
 
А я их попрошу отсортировать по массиву
 
3
 
2
 
1
 
4
 
?
        	 _________________ Все астероиды не пересчитать! 
  Последний раз редактировалось: Арманкессилон (14:32 13-01-2009), всего редактировалось 1 раз | 
		 
		
		| 
		
		 | 
         
     |  
	
		Andrei [<>Ace]
   303 EGP
     Рейтинг канала: 4(94) Репутация: 108 Сообщения: 766  Откуда: Беларусь, Салiгорск Зарегистрирован: 29.03.2006
      | 
         | 
		
	  | Andrei [<>Ace] : | 
	 
	
	  | 
Непонятное что-то 
 | 
	 
 
 
	  | Арманкессилон : | 
	 
	
	  | 
Не понял, а откуда он знает соответствие?
 | 
	 
 
 
 
Все понял!
 
 
	  | Код: | 
	 
	
	  | 1417   <RetVar>= sort array: data=<Value> sort values=<Value> | 
	 
 
 
Возвращает в переменную <RetVar> отсортированный массив data=<Value> согласно сортировки по возрастанию массива values=<Value>. Во   
 
   
 
 
_Пример data=<Value> 1 2 3 4 5 или 1 2 3 4 5
 
______ values=<Value> 2 5 3 4 1 или 2 5 3 3 1
 
____________<RetVar> 5 1 3 4 2 или 5 1 4 3 2
 
  Условие - одинаковый размер массива, иначе бред получается.
        	 
  Последний раз редактировалось: Andrei [<>Ace] (15:10 13-01-2009), всего редактировалось 3 раз(а) | 
		 
		
		| 
		
		 | 
         
     |  
	
		AlexV
   555 EGP
         Рейтинг канала: 5(223) Репутация: 182 Сообщения: 1157  Откуда: нискажу Зарегистрирован: 10.01.2006
      | 
         | 
		в массиве data - у тебя объекты любого типа
 
массив values ты формируешь из одного атрибута этих объектов
 
т.е. в результате имеешь 2 массива как табличку из 2х колонок
 
Петя 3
 
Коля 2
 
Женя 1
 
Степа 4
 
результат получаешь а-ля в ёкселе при сортировке по 2-ой колонке
 
Женя 1
 
Коля 2
 
Петя 3
 
Степа 4
 
   
 
т.е. команда сортирует типизированные значения, при этом параллельно перекладывая элементы главного массива
        	 _________________ а хуже всего приходится программистам из Microsoft. Им в случае чего и обругать-то некого  | 
		 
		
		| 
		
		 | 
         
     |  
	
		l0m
   340 EGP
      Рейтинг канала: 6(346) Репутация: 87 Сообщения: 1062 
  Зарегистрирован: 18.03.2006
      | 
         | 
		
	  | Арманкессилон : | 
	 
	
	  | 
Не понял, а откуда он знает соответствие? Что у нас там за данные в $a.marines? 
 | 
	 
 
думаю, там объекты - маринки, со своими свойствами, в т.ч. механикой. Вот по механике и будет сортировать, но сортировать будет не $aSkill, а соответствующие данные из $a.marines
 
 
Петя 3 4 5 1
 
Коля 2 3 5 2
 
Женя 1 5 2 4
 
Степа 4 3 3 4
 
 
будут отсортированы как 
 
Женя 1 5 2 4
 
Коля 2 3 5 2
 
Петя 3 4 5 1
 
Степа 4 3 3 4
 
 
если первая характеристика маринки искомая механика, или как 
 
Женя 1 5 2 4
 
Степа 4 3 3 4
 
Петя 3 4 5 1
 
Коля 2 3 5 2
 
если третья.
 
 
Аналог сортировки двумерного массива, до которого у егософта руки так и не дошли, хотя задатки в виде $array[][] имеются.
        	  | 
		 
		
		| 
		
		 | 
         
     |  
	
		Арманкессилон
   1758 EGP
               Рейтинг канала: 10(1323) Репутация: 348 Сообщения: 13230  Откуда: Ставрополь Зарегистрирован: 16.08.2007
       | 
         | 
		
	  | l0m : | 
	 
	
	  | 
думаю, там объекты - маринки, со своими свойствами, в т.ч. механикой. Вот по механике и будет сортировать, но сортировать будет не $aSkill, а соответствующие данные из $a.marines 
 | 
	 
 
 
Да не, наверное, на самом деле просто элементам массива data=<Value> присваиваются индексы сортировки из массива values=<Value>, а потом делает сортировку по этим индексам и возвращает значения в массив <RetVar>
        	 _________________ Все астероиды не пересчитать!  | 
		 
		
		| 
		
		 | 
         
     |  
	
		AlexV
   555 EGP
         Рейтинг канала: 5(223) Репутация: 182 Сообщения: 1157  Откуда: нискажу Зарегистрирован: 10.01.2006
      | 
         | 
		
	  | Арманкессилон : | 
	 
	
	  | 
Да не, наверное, на самом деле просто элементам массива dat
 | 
	 
 
 
скорее всего именно так, особо любопытные могут в obj-е подсмотреть  
        	 _________________ а хуже всего приходится программистам из Microsoft. Им в случае чего и обругать-то некого  | 
		 
		
		| 
		
		 | 
         
     |  
	
		Chem
   780 EGP
            Рейтинг канала: 6(498) Репутация: 248 Сообщения: 4751  Откуда: Киев Зарегистрирован: 08.01.2007
       | 
         | 
		
	  | Andrei [<>Ace] : | 
	 
	
	  
Проверяет наличие строки expession : <Var/String> в строке to string <Var/String>
 
Возможно expession(в редакторе)=expression(в словаре) 
 | 
	 
 
 
Это проверка на соответствие строки регулярному выражению.
 
Возможно два варианта - либо просто истина или ложь, второй вариант - то что совпало и третий вариант - возвращает массив, где в 0 - полное совпадение, элементы от единицы - группы отдельных совпадений - было бы круто   
 
 
Код:
 
1474   <RetVar>= convert number <Var/Number> to string
 
 
Преобразует число в строку вида 000,000,000,000
 
 
При этом скорее всего использует разделитель {35,4257}.
        	 _________________ Умножим энтропию на 0 :-)  | 
		 
		
		| 
		
		 | 
         
     |  
	
		Andrei [<>Ace]
   303 EGP
     Рейтинг канала: 4(94) Репутация: 108 Сообщения: 766  Откуда: Беларусь, Салiгорск Зарегистрирован: 29.03.2006
      | 
         | 
		Раздел Торговые команды (Trade Commands)
 
 
	| 
 
 торговые команды поиска станций   (кликните здесь для просмотра)
 
606    <RetVar/IF> find station: product <Var/Ware> with best price:  max.price=<Var/Number>, amount=<Var/Number>, max.jumps=<Var/Number>, startsector=<Var/Sector>, trader=<Var/Ship/Station>, exclude array=<Value> 
 
1002   <RetVar/IF><RefObj> find station: product <Var/Ware> with best price:  max.price=<Var/Number>, amount=<Var/Number>, max.jumps=<Var/Number>, startsector=<Var/Sector>, trader=<Var/Ship/Station>, exclude array=<Value> 
 
 
 
607    <RetVar/IF> find station: product <Var/Ware> with min. jumps:  max.price=<Var/Number>, amount=<Var/Number>, max.jumps=<Var/Number>, startsector=<Var/Sector>, trader=<Var/Ship/Station>, exclude array=<Value> 
 
1003   <RetVar/IF><RefObj> find station: product <Var/Ware> with min. jumps:  max.price=<Var/Number>, amount=<Var/Number>, max.jumps=<Var/Number>, startsector=<Var/Sector>, trader=<Var/Ship/Station>, exclude array=<Value> 
 
 
608    <RetVar/IF> find station: resource <Var/Ware> with best price: min.price=<Var/Number>, amount=<Var/Number>, max.jumps=<Var/Number>, startsector=<Var/Sector>, trader=<Var/Ship/Station>, exclude array=<Value> 
 
1004   <RetVar/IF><RefObj> find station: resource <Var/Ware> with best price: min.price=<Var/Number>, amount=<Var/Number>, max.jumps=<Var/Number>, startsector=<Var/Sector>, trader=<Var/Ship/Station>, exclude array=<Value> 
 
 
609    <RetVar/IF> find station: resource <Var/Ware> with min. jumps: min.price=<Var/Number>, amount=<Var/Number>, max.jumps=<Var/Number>, startsector=<Var/Sector>, trader=<Var/Ship/Station>, exclude array=<Value> 
 
1005   <RetVar/IF><RefObj> find station: resource <Var/Ware> with min. jumps: min.price=<Var/Number>, amount=<Var/Number>, max.jumps=<Var/Number>, startsector=<Var/Sector>, trader=<Var/Ship/Station>, exclude array=<Value> 
 
 
663    <RetVar/IF> find station sells: resource <Var/Ware> with best price: max.price=<Var/Number>, amount=<Var/Number>, max.jumps=<Var/Number>, startsector=<Var/Sector>, trader=<Var/Ship/Station>, exclude array=<Value> 
 
1006   <RetVar/IF><RefObj> find station sells: resource <Var/Ware> with best price: max.price=<Var/Number>, amount=<Var/Number>, max.jumps=<Var/Number>, startsector=<Var/Sector>, trader=<Var/Ship/Station>, exclude array=<Value> 
 
 
664    <RetVar/IF> find station sells: resource <Var/Ware> with min. jumps: max.price=<Var/Number>, amount=<Var/Number>, max.jumps=<Var/Number>, startsector=<Var/Sector>, trader=<Var/Ship/Station>, exclude array=<Value> 
 
1007   <RetVar/IF><RefObj> find station sells: resource <Var/Ware> with min. jumps: max.price=<Var/Number>, amount=<Var/Number>, max.jumps=<Var/Number>, startsector=<Var/Sector>, trader=<Var/Ship/Station>, exclude array=<Value>
 
 
 
1169   <RetVar/IF> find station: product <Var/Ware> with best price depend on jumps:  max.price=<Var/Number>, amount=<Var/Number>, max.jumps=<Var/Number>, startsector=<Var/Sector>, trader=<Var/Ship/Station>, exclude array=<Value> 
 
1170   <RetVar/IF> find station: resource <Var/Ware> with best price depend on jumps: min.price=<Var/Number>, amount=<Var/Number>, max.jumps=<Var/Number>, startsector=<Var/Sector>, trader=<Var/Ship/Station>, exclude array=<Value> 
 
1171   <RetVar/IF> find station sells: resource <Var/Ware> with best price depend on jumps: max.price=<Var/Number>, amount=<Var/Number>, max.jumps=<Var/Number>, startsector=<Var/Sector>, trader=<Var/Ship/Station>, exclude array=<Value> 
 
 
1176   <RetVar/IF> find station: product <Var/Ware> with best price random:  max.price=<Var/Number>, amount=<Var/Number>, max.jumps=<Var/Number>, startsector=<Var/Sector>, trader=<Var/Ship/Station>, exclude array=<Value> 
 
1177   <RetVar/IF> find station: resource <Var/Ware> with best price random: min.price=<Var/Number>, amount=<Var/Number>, max.jumps=<Var/Number>, startsector=<Var/Sector>, trader=<Var/Ship/Station>, exclude array=<Value> 
 
1178   <RetVar/IF> find station sells: resource <Var/Ware> with best price random: max.price=<Var/Number>, amount=<Var/Number>, max.jumps=<Var/Number>, startsector=<Var/Sector>, trader=<Var/Ship/Station>, exclude array=<Value> 
 
 
 | 
 
 
 
Каждую описывать не буду.
 
Различие следующие:
 
1. Новый аргумент exclude array=<Value> - сюда подставляется массив секторов или станций которые должны быть исключены из поиска, если ничего исключать не нужно пойдет null.
 
2. Команды начинающиеся с <RetVar/IF> find от <RetVar/IF><RefObj> find отличаются тем, что первые ищут станции начиная от startsector=<Var/Sector>, поэтому он должен быть непременно задан, иначе поиск начнется от сектора с координатами 0,0. Вторые - при неуказанном startsector=<Var/Sector> начнут поиск от сектора в котором находится <RefObj>.
 
3. with best price depend on jumps: - ищут best учитывая затраты на прыжок.
 
4. with best price random: - ищут случайный best среди best-тов.
 
5. Далее как и было.
        	 
  Последний раз редактировалось: Andrei [<>Ace] (11:48 15-01-2009), всего редактировалось 1 раз | 
		 
		
		| 
		
		 | 
         
     |  
	
		l0m
   340 EGP
      Рейтинг канала: 6(346) Репутация: 87 Сообщения: 1062 
  Зарегистрирован: 18.03.2006
      | 
         | 
		
	  | Andrei [<>Ace] : | 
	 
	
	  | 
вторые - среди известных <RefObj>
 | 
	 
 
не думаю. Есть станции, известные игроку и все другие. Логично предположить, что все станции, известные игроку, известны всем объектам игрока. Неписям же известны вообще все станции. Таким образом в известности для объекта смысла нет.
 
 
Мне кажется, хотя и требует проверки, что условия поиска, в т.ч прыжки, проверяются относительно этого самого <RefObj>.
 
 
К слову. Проверено, что задание количества в торговых командах никак не влияет на результаты поиска. Если в поиске на покупку задать цену и количество, то возможен возврат станции с нормальной ценой, но с меньшим количеством, а при продаже - с меньшим свободным местом. Приходится перепроверять после команды
        	  | 
		 
		
		| 
		
		 | 
         
     |  
	
		Andrei [<>Ace]
   303 EGP
     Рейтинг канала: 4(94) Репутация: 108 Сообщения: 766  Откуда: Беларусь, Салiгорск Зарегистрирован: 29.03.2006
      | 
         | 
		
	  | l0m : | 
	 
	
	  | 
Неписям же известны вообще все станции. 
 | 
	 
 
 
Как не странно нет   . Неписи тоже знают не все. Проверено на неписях.
 
Разные неписи в одном секторе с одинаковыми прочими аргументами выдают разные станции.
 
 
	  | l0m : | 
	 
	
	  | 
прыжки, проверяются относительно этого самого <RefObj>.
 | 
	 
 
 
а startsector зачем.
 
 
	  | Andrei [<>Ace] : | 
	 
	
	  | 
2. Команды начинающиеся с <RetVar/IF> find от <RetVar/IF><RefObj> find отличаются тем, что первые ищут станции среди известных (отмеченных на карте), вторые - среди известных <RefObj>.
 | 
	 
 
 
Вообще стоит еще поразбираться. Если подставить trader=null тогда все станции определяются, но всеравно разные.
        	 
  Последний раз редактировалось: Andrei [<>Ace] (16:14 14-01-2009), всего редактировалось 3 раз(а) | 
		 
		
		| 
		
		 | 
         
     |  
	
		l0m
   340 EGP
      Рейтинг канала: 6(346) Репутация: 87 Сообщения: 1062 
  Зарегистрирован: 18.03.2006
      | 
         | 
		
	  | Andrei [<>Ace] : | 
	 
	
	  | 
Разные неписи в одном секторе с одинаковыми прочими аргументами выдают разные станции
 | 
	 
 
это не удвительно. Все определяется той помойкой, в которой расположен массив станций на момент обращения.
	  | Andrei [<>Ace] : | 
	 
	
	  | 
а startsector зачем. 
 | 
	 
 
 За тем, что если есть объект, незачем доставать его сектор. Т.е еще одна степень свободы
	  | Andrei [<>Ace] : | 
	 
	
	  | 
Вообще стоит еще поразбираться.
 | 
	 
 
согласен  
        	 
  Последний раз редактировалось: l0m (16:35 14-01-2009), всего редактировалось 1 раз | 
		 
		
		| 
		
		 | 
         
     |  
	 |  
	
		| 
		
		 | 
	 
     |  
	| 
	  Канал X3: Terran Conflict ->
	  Модовый и скриптовый отсек X3: Terran Conflict: «Новые скриптовые команды. Справочник от 16.01.2009.» |  
	
		| 
		
		 | 
	 
 
      
        | К списку каналов | Наверх страницы  |  
Цитата не в тему:  А вообще прямо мистика: что ни утро - так не хочется просыпаться и вставать.(Zloy Latinos)
 
  |  
        |   » Новые скриптовые команды. Справочник от 16.01.2009. | страница 1 |  
       
      
 |