| 
		 | 
		 | 
	
	| 
 Канал X3: Terran Conflict »
Модовый и скриптовый отсек X3: Terran Conflict: «[ДИСКУС]: Скриптописание. Проблемы и их решение.» | 
	| 
	 | 
	 | 
	
		leniveca
   77 EGP
   Рейтинг канала: 5(110) Репутация: 45 Сообщения: 68 
  Зарегистрирован: 20.12.2006
      | 
         | 
		Уважаемые пилоты!
 
Предлагаю продолжить тему скриптописания с учетом специфики X3TC.
 
У меня, например, возникли 2 вопроса:
 
1. Написанный и сохраненный скрипт во внутреннем редакторе
 
   после перезагрузки игры в редакторе не виден. В тоже время
 
   в каталоге scripts существует. Что делать?
 
2. Где можно взять новый архиватор/разархиватор PCK?
 
Скорее всего я не первая, кто столкнулся с этой проблемой.
 
Спасибо за ответ. 
        	 
  Последний раз редактировалось: alexalsp (10:13 24-11-2023), всего редактировалось 1 раз Последний раз редактировалось: Арманкессилон (00:05 15-03-2009), всего редактировалось 1 раз | 
		
		
		| 
		
		 | 
        
     | 
	
		HikeR
   145 EGP
     Рейтинг канала: 4(60) Репутация: 30 Сообщения: 886  Откуда: Великий Новгород Зарегистрирован: 20.09.2005
       | 
         | 
		
	  | leniveca : | 
	 
	
	  | 
Где можно взять новый архиватор/разархиватор PCK?
 | 
	 
 
 
Total Commander 7-ой версии, Сtrl+PgDown - вход в архив, Alt+F9 - распаковка в соседнюю панель.
 
либо последний 7-zip, (для упаковки: формат GZip, уровень сжатия - норм, метод - deflate)
 
уже осуждалось, кстати. 
        	  | 
		
		
		| 
		
		 | 
        
     | 
	
		l0m
   340 EGP
      Рейтинг канала: 6(346) Репутация: 87 Сообщения: 1062 
  Зарегистрирован: 18.03.2006
      | 
         | 
		
	  | leniveca : | 
	 
	
	  
1. Написанный и сохраненный скрипт во внутреннем редакторе 
 
после перезагрузки игры в редакторе не виден. В тоже время 
 
в каталоге scripts существует. Что делать? 
 | 
	 
 
 
Фантастика    . Мой поиск кораблей полностью, с нуля, написан в X3TC. Попробуй взять какой-нибудь существующий в игре скрипт и сохранить с новым названием. Набросай пару строчек, сохрани. Перзагрузи и посмотри, что получится. 
        	  | 
		
		
		| 
		
		 | 
        
     | 
	
		RAMI
   330 EGP
        Рейтинг канала: 5(221) Репутация: 82 Сообщения: 2538  Откуда: Центральная Россия Зарегистрирован: 16.11.2005
      | 
         | 
		
	  | l0m : | 
	 
	
	  | 
Фантастика  . Мой поиск кораблей полностью, с нуля, написан в X3TC. Попробуй взять какой-нибудь существующий в игре скрипт и сохранить с новым названием. Набросай пару строчек, сохрани.
 | 
	 
 
В X3R была такая трабла. Дело в том, что если название скрипта внутри оного, отличается от названия файла, то он не будет виден в скрипт редакторе. 
        	 _________________ В действительности всё иначе, чем на самом деле...  | 
		
		
		| 
		
		 | 
        
     | 
	
		Expert
   423 EGP
       Рейтинг канала: 5(118) Репутация: 154 Сообщения: 533  Откуда: Златоуст, Южный Урал Зарегистрирован: 15.08.2004
      | 
         | 
		У кого-нибудь получилось скриптом вывести форматированное сообщение?
 
Напрочь отказываются работать теги форматирования многоколоночного вывода.
 
Для примера взял готовую строку из 0001-L007.xml
 
На скрине видно, что нормально выглядит только последняя колонка.
 
	| 
 
 Cкрытый текст   (кликните здесь для просмотра)
 
 | 
 
 
 
Получается, что на всех скриптах, использующих журнал сообщений в качестве основного интерфейса, можно ставить крест?    
        	  | 
		
		
		| 
		
		 | 
        
     | 
	
		l0m
   340 EGP
      Рейтинг канала: 6(346) Репутация: 87 Сообщения: 1062 
  Зарегистрирован: 18.03.2006
      | 
         | 
		
	  | Expert : | 
	 
	
	  | 
Получается, что на всех скриптах, использующих журнал сообщений в качестве основного интерфейса, можно ставить крест?
 | 
	 
 
 
Можно. А можно и не ставить, а выводить только самое необходимое. какие-то красивости остались, а некоторые исчзли. Весь интерфей нужно перелопачивать, корректировать все t файлы. Например конструкция \033RRED\033X работает в меню и бортжурнале, но приводит к выводу пустого входящего сообщения. Конструкция [red]RED[/red] работает в сообщениях, но не работает в меню, оставляя видимыми служебные теги.
 
 
С другой стороны, появился ОЧЕНЬ гибкий и мощный механизм интерактивного взаимодействия в виде меню. В общение через входящие сообщения просто нет ни малейшей необходимости.
 
 
Можешь глянуть мой ShipSearch, как пример реализации интерактивного, изменяемого в зависимости от предыдущего выбора, меню с реализованной возможностью отката к предыдущему выбору. 
        	  | 
		
		
		| 
		
		 | 
        
     | 
	
		leniveca
   77 EGP
   Рейтинг канала: 5(110) Репутация: 45 Сообщения: 68 
  Зарегистрирован: 20.12.2006
      | 
         | 
		
	  | l0m : | 
	 
	
	  
 
Можешь глянуть мой ShipSearch, как пример реализации интерактивного, изменяемого в зависимости от предыдущего выбора, меню с реализованной возможностью отката к предыдущему выбору.
 | 
	 
 
 
 
А где можно почитать описание команд работы с меню? Или я очень наивная? 
        	 
  Последний раз редактировалось: leniveca (11:00 17-11-2008), всего редактировалось 1 раз | 
		
		
		| 
		
		 | 
        
     | 
	
		l0m
   340 EGP
      Рейтинг канала: 6(346) Репутация: 87 Сообщения: 1062 
  Зарегистрирован: 18.03.2006
      | 
         | 
		
	  | leniveca : | 
	 
	
	  | 
Или я очень наивная?
 | 
	 
 
Боюсь, да.   
        	  | 
		
		
		| 
		
		 | 
        
     | 
	
		void_main(){}
   77 EGP
   Рейтинг канала: 3(32) Репутация: 15 Сообщения: 165  Откуда: Планета Земля Зарегистрирован: 04.12.2006
      | 
         | 
		Я вот тут скачал пару скриптов, и заметил что у них много расширений в названия стоит, например plugin, lib или setup.
 
Что такое setup понятно, а вот что дают первые два расширение?
 
 
Да, и еще такой вопрос. Никак не получаеться написать простенький скрипт, который меняет указанному кораблю игрока расу и команду, чтоб его можно было захватить абордажем. То есть по сути скрипт для тренировки боевого навыка у десанта. Плата за таку треню - покацанный хулл корабля.
 
Я пока составил вот эти строчки:
 
	  | Код: | 
	 
	
	  
 
$ship -> set owner race to Нейтральная раса
 
$ship -> set command: $comm
 
return null
 
 | 
	 
 
 
Перепробовал кучу комманд(IDLE NONE STAY) и рас, но так и не получаеться сделать кораблику то состояние, которое было у видара, в тренеровочной миссии в терранской ветке. 
        	 _________________ Последний раз редактировалось: void_main(){} (14:20 07-05-2011), всего редактировалось 5376209 раз  | 
		
		
		| 
		
		 | 
        
     | 
	
		l0m
   340 EGP
      Рейтинг канала: 6(346) Репутация: 87 Сообщения: 1062 
  Зарегистрирован: 18.03.2006
      | 
         | 
		
	  | void_main(){} : | 
	 
	
	  | 
Что такое setup понятно, а вот что дают первые два расширение? 
 | 
	 
 
 
 
ничего. просто легче различать.
 
 
	  | void_main(){} : | 
	 
	
	  | 
то состояние, которое было у видара
 | 
	 
 
 
 
а каким оно было? 
        	  | 
		
		
		| 
		
		 | 
        
     | 
	
		void_main(){}
   77 EGP
   Рейтинг канала: 3(32) Репутация: 15 Сообщения: 165  Откуда: Планета Земля Зарегистрирован: 04.12.2006
      | 
         | 
		
 
 
У него небыло пилота, но и одновременно его нельзя было захватить обычным способом, вылетев в космос в скафандре.
 
Плюс он не двигался, даже если его таранить.
 
А захватить можно было только путем абордажа.
 
 
Хотя. Подожди, надо попробовать, может дисантники среагируют на корабль без пилота, и всеравно его захватят... 
        	 _________________ Последний раз редактировалось: void_main(){} (14:20 07-05-2011), всего редактировалось 5376209 раз  | 
		
		
		| 
		
		 | 
        
     | 
	
		l0m
   340 EGP
      Рейтинг канала: 6(346) Репутация: 87 Сообщения: 1062 
  Зарегистрирован: 18.03.2006
      | 
         | 
		
	  | void_main(){} : | 
	 
	
	  | 
Плюс он не двигался,
 | 
	 
 
так зачем, чтот бы не двигался. пусть двигается. добавит реализма 
        	  | 
		
		
		| 
		
		 | 
        
     | 
	
		void_main(){}
   77 EGP
   Рейтинг канала: 3(32) Репутация: 15 Сообщения: 165  Откуда: Планета Земля Зарегистрирован: 04.12.2006
      | 
         | 
		И еще, оператор exists. Это новый, вроде раньше его небыло?
 
Если он был то я - палено, делал проверку на существование через глобальную переменную   
 
 
	  | l0m : | 
	 
	
	  | 
так зачем, чтот бы не двигался. пусть двигается. добавит реализма
 | 
	 
 
 
 
Как я сам не допехал )))
 
 
Но все равно вопрос открыт, чисто из принципа )) 
        	 _________________ Последний раз редактировалось: void_main(){} (14:20 07-05-2011), всего редактировалось 5376209 раз 
  Последний раз редактировалось: void_main(){} (21:23 20-11-2008), всего редактировалось 2 раз(а) | 
		
		
		| 
		
		 | 
        
     | 
	
		l0m
   340 EGP
      Рейтинг канала: 6(346) Репутация: 87 Сообщения: 1062 
  Зарегистрирован: 18.03.2006
      | 
         | 
		
	  | void_main(){} : | 
	 
	
	  | 
Это новый, вроде раньше его небыло? 
 | 
	 
 
был. Еще в Х2   
 
 
	  | void_main(){} : | 
	 
	
	  | 
Но все равно вопрос открыт
 | 
	 
 
 А если none - он что, двигается? Быть того не может. Есть еще такая фигня - игнорировать коллизии. Где, точно не помню, но она может снять всякое желание корабля с рассовой логикой уходить от столкновения. Можно еще это попробовать 
        	  | 
		
		
		| 
		
		 | 
        
     | 
	
		Expert
   423 EGP
       Рейтинг канала: 5(118) Репутация: 154 Сообщения: 533  Откуда: Златоуст, Южный Урал Зарегистрирован: 15.08.2004
      | 
         | 
		Извиняюсь за ламерский вопрос, но не подскажет ли кто-нибудь, как можно увидеть список скриптов, запущенных на каком-либо объекте? 
        	  | 
		
		
		| 
		
		 | 
        
     | 
	
		void_main(){}
   77 EGP
   Рейтинг канала: 3(32) Репутация: 15 Сообщения: 165  Откуда: Планета Земля Зарегистрирован: 04.12.2006
      | 
         | 
		Каким образом теперь добавляется товар на станции, например новые апгрейды? Раньше я для этого использовал пустые шаблоны из TwareT. Сейчас я не заметил чтоб в скриптах использовали шаблоны товаров, там вообще с добавлением так все накручено, что фиг разберешь )) 
 
 
добавлено спустя 23 минуты:
 
 Все, вопрос снят. Разобрался сам. Давненько я не скриптил для X3. Все позабыл нафиг ))))
 
 
Я хотел еще кое-что спросить.
 
 
Вот здесь 
 
	  | Код: | 
	 
	
	  | $comm, class=Большой корабль, race=Player, script=start.repair, prio=0 | 
	 
 
 
 
Я вызываю 
 
	  | Код: | 
	 
	
	  | [THIS] -> start task 33 with script repair.modul and prio 0: arg1=null arg2=null arg3=null arg4=null arg5=null return null | 
	 
 
 
 
Вопрос: зачем я это делал   ? Почему сразу нельзя было вызвать repair.modul ? 
 
 
Никак не могу вспомнить )) 
        	 _________________ Последний раз редактировалось: void_main(){} (14:20 07-05-2011), всего редактировалось 5376209 раз 
  Последний раз редактировалось: void_main(){} (10:56 21-11-2008), всего редактировалось 2 раз(а) | 
		
		
		| 
		
		 | 
        
     | 
	
		l0m
   340 EGP
      Рейтинг канала: 6(346) Репутация: 87 Сообщения: 1062 
  Зарегистрирован: 18.03.2006
      | 
         | 
		
	  | Expert : | 
	 
	
	  | 
как можно увидеть список скриптов, запущенных на каком-либо объекте? 
 | 
	 
 
для этого нужно посмотреть в самый низ инфо объекта (PgDown до упора). Там будут все скрипты, исполняемые на объекте.
 
 
	  | void_main(){} : | 
	 
	
	  | 
зачем я это делал
 | 
	 
 
Все, что исполняется в task 0 - исполняется автопилотом, т.е. эт "основное" действие, выполняемое объектом. Все остальное - выполняется в фоне. Как, например, комады турелей, выполняемые в слотах (task) 1-6, или в слотах дополнительных команд корабля 10-11. Выполнение скрипта в этих слотах не прерывает выполнение основного, т.е. корабль, направляясь к станции, может с успехом отстреливать ракеты скриптом, выполняемым в задней турели (task 2, если мне память не изменяет). Все скрипты вне нулевого слота будут заморожены (freezed) вне сектора, в котором находится игрок. Текущее состояние скрипта всегда можно посмотреть способом, изложенным в начале поста. 
        	  | 
		
		
		| 
		
		 | 
        
     | 
	
		Expert
   423 EGP
       Рейтинг канала: 5(118) Репутация: 154 Сообщения: 533  Откуда: Златоуст, Южный Урал Зарегистрирован: 15.08.2004
      | 
         | 
		
	  | l0m : | 
	 
	
	  
	  | Expert : | 
	 
	
	  | 
как можно увидеть список скриптов, запущенных на каком-либо объекте? 
 | 
	 
 
для этого нужно посмотреть в самый низ инфо объекта (PgDown до упора). Там будут все скрипты, исполняемые на объекте.
 | 
	 
 
 
Только предварительно ещё нужно включить Script Debugging    
 
В X3:R такого не было, поэтому и не сообразил сразу. 
        	  | 
		
		
		| 
		
		 | 
        
     | 
	
		КосмоЁж
   77 EGP
   Рейтинг канала: 1(8) Репутация: 10 Сообщения: 111  Откуда: Днепропетровск Зарегистрирован: 28.11.2006
      | 
         | 
		а кто как распаковует cat/dat?
 
я пытался пользоваться Xtdat.exe из раздела X3R. если 05 от патча 1.2.1 оно еще распаковывало, то 01-04 и 05 от патча 1.3 не хочет - выдает ошибки и пустые файлы    
        	 _________________ в каждом из нас спит гений... и с каждым днем - все крепче   :gigi:  | 
		
		
		| 
		
		 | 
        
     | 
	
		Expert
   423 EGP
       Рейтинг канала: 5(118) Репутация: 154 Сообщения: 533  Откуда: Златоуст, Южный Урал Зарегистрирован: 15.08.2004
      | 
         | 
		
	  | КосмоЁж : | 
	 
	
	  | 
а кто как распаковует cat/dat?
 | 
	 
 
 
Это уже из темы моддинга    
 
Юзай X3ModManager. Продолжение здесь: http://www.elite-games.ru/conference/viewtopic.php?t=47001 
        	  | 
		
		
		| 
		
		 | 
        
     | 
	 | 
	
		| 
		
		 | 
	
     | 
	| 
	  Канал X3: Terran Conflict ->
	  Модовый и скриптовый отсек X3: Terran Conflict: «[ДИСКУС]: Скриптописание. Проблемы и их решение.» | 
	
		| 
		
		 |