|  |  |  | 
	| Канал X2: The Threat: «FAQ: Скриптописание» | 
	|  | 
	|  | 
	
		| dark_j 
  135 EGP 
   Рейтинг канала: 1(3)
 Репутация: 7
 Сообщения: 121
 Откуда: Москва
 Зарегистрирован: 03.06.2004
 
    |  | Создаю эту тему в надежде собрать здесь всякие полезности о написании скриптов 
 Собсно первый вопрос
 
 Существует ли способ добавить свои пунктики в меню связи с объектом (например когда при выбранной станции нажимаешь "с")?
 | 
		
		|  | 
    |  | 
	
		| .koval unreg 
 
 
 
 
 
 |  | имхо, нет. а как можно массив глобально объявить а не только Var/String?
 | 
		
		|  | 
    |  | 
	
		| XenonTomb 
  250 EGP 
    Рейтинг канала: 2(16)
 Репутация: 66
 Сообщения: 867
 Откуда: Николаев, Украина
 Зарегистрирован: 17.03.2004
 
      |  | 2.koval Делаешь (например):
 
 $array =  array alloc: size=3 (скоко надо)
 $index[0] = $value1
 $index[1] = $value2
 $index[2] = $value3
 set global variable: name='name' value=$array
 
 Потом его можно зачитать по
 $array = get global variable: name='name'
 _________________
 Будут предложения - присылайте на расчетный счет :)
 | 
		
		|  | 
    |  | 
	
		| .koval 
  99 EGP 
  Репутация: 4
 Сообщения: 103
 Откуда: Kyiv, UA
 Зарегистрирован: 30.11.2003
 
    |  | тьфу блин.. а я думал глобальными этой командой можно сделать тока Var/Number/String  сенкс! | 
		
		|  | 
    |  | 
	
		| XenonTomb 
  250 EGP 
    Рейтинг канала: 2(16)
 Репутация: 66
 Сообщения: 867
 Откуда: Николаев, Украина
 Зарегистрирован: 17.03.2004
 
      |  | Люди, кто ковырял команду set safe position of sector object <Var/Number>: x=<Var/Number> y=<Var/Number> z=<Var/Number>
 В чем там смысл? И почему главный параметр Var/Number ? Это что, ID объекта или как?
 _________________
 Будут предложения - присылайте на расчетный счет :)
 | 
		
		|  | 
    |  | 
	
		| .koval 
  99 EGP 
  Репутация: 4
 Сообщения: 103
 Откуда: Kyiv, UA
 Зарегистрирован: 30.11.2003
 
    |  | ну как я понял - да. индекс получить можно командой из того же раздела (get sectorObject id?) safe - безопасный. ты не пробовал ставить станцию поверх станции?
  они тогда ударяются и станция возвращается на место, а если safe - то просто выберется свободное место рядом, если место занято чем-то (как пример - выгруз станции из TL'а. ты же не можешь её поставить слишком близко к какому-либо объекту). | 
		
		|  | 
    |  | 
	
		| XenonTomb 
  250 EGP 
    Рейтинг канала: 2(16)
 Репутация: 66
 Сообщения: 867
 Откуда: Николаев, Украина
 Зарегистрирован: 17.03.2004
 
      |  | А как ее правильно использовать? Последовательность действий, плиз, если можно. _________________
 Будут предложения - присылайте на расчетный счет :)
 | 
		
		|  | 
    |  | 
	
		| .koval 
  99 EGP 
  Репутация: 4
 Сообщения: 103
 Откуда: Kyiv, UA
 Зарегистрирован: 30.11.2003
 
    |  | ну я приблизительно так понимаю: 
 $obj = get tracking aim
 $id = $obj -> get sectorObject id
 set safe position of sector object $id: x=$x y=$y z=$z
 
 
   | 
		
		|  | 
    |  | 
	
		| XenonTomb 
  250 EGP 
    Рейтинг канала: 2(16)
 Репутация: 66
 Сообщения: 867
 Откуда: Николаев, Украина
 Зарегистрирован: 17.03.2004
 
      |  | А координаты - это координаты точки отсчета, или именно туда передвинется? _________________
 Будут предложения - присылайте на расчетный счет :)
 | 
		
		|  | 
    |  | 
	
		| .koval 
  99 EGP 
  Репутация: 4
 Сообщения: 103
 Откуда: Kyiv, UA
 Зарегистрирован: 30.11.2003
 
    |  | это координаты "именно туда". как по карте смотришь (вот там курсор указывается координатами в километрах). 1 unit == 1m то есть (0,0,0) - центр сектора
 | 
		
		|  | 
    |  | 
	
		| XenonTomb 
  250 EGP 
    Рейтинг канала: 2(16)
 Репутация: 66
 Сообщения: 867
 Откуда: Николаев, Украина
 Зарегистрирован: 17.03.2004
 
      |  | Я собственно, чего спрашиваю. Есть задача для устройства для захвата астероидов выгружать "в безопасном месте". Т.е., чтобы добрые игроки не грохали астероидами всякие им не принадлежащие объекты  . Имеем координаты корабля, из которого будет происходить выгрузка. Сейчас астероид просто появляется по координатам корабля со смещением по всем осям 1,5 км. Есть идеи, как красиво организовать безопасную выгрузку? _________________
 Будут предложения - присылайте на расчетный счет :)
 | 
		
		|  | 
    |  | 
	
		| .koval 
  99 EGP 
  Репутация: 4
 Сообщения: 103
 Откуда: Kyiv, UA
 Зарегистрирован: 30.11.2003
 
    |  | легко!   единственный бок - невозможность получения id объекта, когда он ещё не создан
  предлагаю.. вывалить астероид где-нить по координатам за пределами живого сектора (где точно кораблей и станций нет.. скажем.. за 200км по всем осям), получить его id, поставить по set safe с координатами выгружающего корабля | 
		
		|  | 
    |  | 
	
		| Usharik 
  125 EGP 
   Репутация: 9
 Сообщения: 102
 Откуда: IL
 Зарегистрирован: 14.05.2004
 
      |  | A кaк вooбще дoбaвить свoй пункт в меню ? 
 И мoжнo ли в скрипте пoлучить (кoл-вo руды и.т.п)инфoрмaцию oб aстерoиде дo егo скaнирoвaния спец. устрoйствoм.Или мoжнo кaк-тo пoлучить эти дaнные пoсредствoм сaмoгo скaнерa aстерoидoв(тoже из скриптa)?
 _________________
 А что будет,если два раза испугаться до полусмерти?!
 | 
		
		|  | 
    |  | 
	
		| XenonTomb 
  250 EGP 
    Рейтинг канала: 2(16)
 Репутация: 66
 Сообщения: 867
 Откуда: Николаев, Украина
 Зарегистрирован: 17.03.2004
 
      |  | 2Usharik Скачай мой скрипт "Устройство для захвата астероидов", посмотри тело скрипта в редакторе или в браузере (для этого в одной папке со скриптом должен лежать x2script.xsl из папки scripts игры). В скрипте init.asteroid.catcher увидишь, как добавлять команды, а в load.asteroid.xml помотришь процесс определения продуктивности астероида. Если что непонятно, пиши мне в приват. Еще почитай на первой странице топика «Скриптами делимся, скриптами» пост Breeze, там много интересного.
 _________________
 Будут предложения - присылайте на расчетный счет :)
 | 
		
		|  | 
    |  | 
	
		| CTPELOK 
  145 EGP 
   Репутация: 25
 Сообщения: 375
 
 Зарегистрирован: 20.05.2003
 
    |  | У меня такие вопросы: Есть константа THIS, как ее трактовать.
 И кто что знает, выложите инфу по константам, что они значат.
 _________________
 То пропадаю, то снова появляюсь
 | 
		
		|  | 
    |  | 
	
		| Warlock 
  88 EGP 
  Репутация: 13
 Сообщения: 305
 Откуда: Москва
 Зарегистрирован: 23.07.2001
 
      |  | вопрос. скачал скрипт, скопировал в папку scripts. как теперь его активизировать? написано что надо просто запустить, как? запускаю его в папке - открывается html-документ. объясните плз
 _________________
 Продаю EGP, курс 1:1 :)
 | 
		
		|  | 
    |  | 
	
		| XenonTomb 
  250 EGP 
    Рейтинг канала: 2(16)
 Репутация: 66
 Сообщения: 867
 Откуда: Николаев, Украина
 Зарегистрирован: 17.03.2004
 
      |  | 2CTPELOK Самые часто используемые константы:
 THIS - указатель на объект, который только что получил команду и занялся ее выполнением. Например, вы запустили на корабле команду "Покупать товар". Этот корабль и будет THIS.
 ENVIRONMENT - возвращает объект-окружение для другого объекта. Например, если корабль в космосе, то его окружение объект "сектор", а если пристыкован к базе - "база" и т.п.
 SECTOR - возвращает объект-сектор, в котором находится объект.
 PLAYERSHIP - корабль, в котором сидит игрок
 HOMEBASE - база приписки корабля
 OWNER - владелец объекта
 Есть еще константы для функций find, они описаны в хелпе по Х2.
 _________________
 Будут предложения - присылайте на расчетный счет :)
 | 
		
		|  | 
    |  | 
	
		| XenonTomb 
  250 EGP 
    Рейтинг канала: 2(16)
 Репутация: 66
 Сообщения: 867
 Откуда: Николаев, Украина
 Зарегистрирован: 17.03.2004
 
      |  | 2Warlock 
  Скрипты запускаются либо при старте игры автоматически (имя должно начинаться с "init."), либо ручками из редактора скриптов по букве "R". _________________
 Будут предложения - присылайте на расчетный счет :)
 | 
		
		|  | 
    |  | 
	
		| XenonTomb 
  250 EGP 
    Рейтинг канала: 2(16)
 Репутация: 66
 Сообщения: 867
 Откуда: Николаев, Украина
 Зарегистрирован: 17.03.2004
 
      |  | 
	  | .koval : |  
	  | легко!   единственный бок - невозможность получения id объекта, когда он ещё не создан
  предлагаю.. вывалить астероид где-нить по координатам за пределами живого сектора (где точно кораблей и станций нет.. скажем.. за 200км по всем осям), получить его id, поставить по set safe с координатами выгружающего корабля |  Блин, представляешь, попробовал - и нифига. Астероид х.з. где создается, но в новое место не перемещается. Видимо, команда думает, что там достаточно безопасно...
   _________________
 Будут предложения - присылайте на расчетный счет :)
 | 
		
		|  | 
    |  | 
	
		| Gward 
  310 EGP 
   Рейтинг канала: 2(21)
 Репутация: 75
 Сообщения: 1307
 Откуда: Ставрополь
 Зарегистрирован: 11.06.2004
 
      |  | Коммандеры, как можно в тело рабочего скрипта передать указание на прерывание? То есть как скрипт может реагировать на внешние раздражители в виде доп. данных? | 
		
		|  | 
    |  | 
	|  | 
	
		|  | 
    |  | 
	| Канал X2: The Threat: «FAQ: Скриптописание» | 
	
		|  |