|
|
|
Канал X3: Reunion »
Модовый и скриптовый отсек X3: Reunion: «Скриптописание - делимся опытом, задаем вопросы» |
|
|
Thug
67 EGP
 Рейтинг канала: 1(6) Репутация: 4 Сообщения: 112 Откуда: Новороссийск Зарегистрирован: 11.11.2013
 |
|
Добавил верфь в файл: "TFactories", новой строкой. Устанавливаю скриптом в игре, работает как док, но не как верфь... Может скрипт написан не правильно, но оригинальные верфи ставятся нормально. Получается - оригинальные верфи можно клонировать, видоизменять, но не возможно добавить свою, новую. Видимо есть ограничение... Стоит мод ХТМ075. Возможно скрипт: "plugin.XTM.Setup.RaceShipyards". Может ошибаюсь. Кто знает - отзовитесь!
_________________ На фоне космоса - человечество, всего лишь пыль! |
|
|
SergejU
72 EGP
 Рейтинг канала: 3(36) Репутация: 2 Сообщения: 243 Откуда: DONETSK Зарегистрирован: 11.08.2009
 |
|
Стоит плагин конвой - но он не работает.Кораблики летают но ни разу не видел объявлений по миссии защищать конвой или захватить лидера.Попробовал поискать ошибку в скриптах но ничего пока не нашел.
Исправлял кто этот плагин?
У всех он не рабочий?
Исправил давно надоевшую мне ошибку в плагине пиратская гильдия.Когда пилот покинет пиратский корабль он продолжает летать и выполнять скрипт.И уже на захваченных кораблях чудеса продолжались(то начинали сами прыгать куда то то лететь). Добавил в скрипты проверку на принадлежность корабля соответствующим расам.
|
|
|
SergejU
72 EGP
 Рейтинг канала: 3(36) Репутация: 2 Сообщения: 243 Откуда: DONETSK Зарегистрирован: 11.08.2009
 |
|
Улучшил немного команду "охранять позицию".Корабль возвращается не с растояния охраны а с растояния охраны деленого на 2.Точность возвращения не половинная а четвертная.В дроиде несколько урезал апргрейды скорости маневренности.В ББС дроида немного подкоректировал стоимость и увеличил разброс цен.Чего полез в ББС так это ужасная вероятность их появления.Наиграл 5 дней с дроидом видел вначале игры несколько объявлений и все.Даже не подозревал какая куча объявлений может быть.Вероятность была 5%. До конца игры поставил 95%. А на будущее процентов 40 учитывая разнообразие возможных предложений.
Ваше мнение?
ББС ХТМ я уже давно подправил а вот основные миссии надо бы.
Может кто подскажет какие скрипты отвечают за оригинальные ББС?
|
|
|
Xenon J
1007 EGP
       Рейтинг канала: 11(1675) Репутация: 160 Сообщения: 3390 Откуда: Ксенонский сектор 472 Зарегистрирован: 30.03.2007
 |
|
SergejU : |
Может кто подскажет какие скрипты отвечают за оригинальные ББС?
|
Увы, оригинальные ББС написаны в обже. Надо менять либо там, либо просто занулить соотв. функции и написать его на скриптах либо в МД.
_________________ Последний раз редактировалось: Xenon J (23:23 23-03-2023), всего редактировалось 16 раз |
|
|
Thug
67 EGP
 Рейтинг канала: 1(6) Репутация: 4 Сообщения: 112 Откуда: Новороссийск Зарегистрирован: 11.11.2013
 |
|
Есть мод (новая станция), к ней есть скрипт - создающий её. Запускаем новую игру без этого мода, но скрипт лежит в общей папке и начинает ненужные действия. Подскажите, как остановить "бродягу" что бы не вынимать его каждый раз из папки. Думаю, не хватает пару запрещающих строк в начале скрипта с учётом отсутствующего текстового файла (например)...
_________________ На фоне космоса - человечество, всего лишь пыль! |
|
|
Thug
67 EGP
 Рейтинг канала: 1(6) Репутация: 4 Сообщения: 112 Откуда: Новороссийск Зарегистрирован: 11.11.2013
 |
|
Помогите пожалуйста!
Столкнулся с проблемой, управляющий скрипт указывает на два скрипта.
Первый для работы со своими станциями: 'tnal.bulk.beam.own'
Второй для работы со станциями NPS: 'tnal.bulk.beam.trade'
В игре, почему то во всех случаях работает только второй, первый не реагирует.
Меняю местами знаки: [==] и [!=] (if$race != $Player и if$race == $Player) Начинает работать только первый скрипт, второй не реагирует.
Вроде бы всё верно, а где то ошибка? Причём такой же скрипт в Терран Конфликт нормально работает...
049 end
050 end
051
052 if$race == $Player
053 @ =[THIS] -> call script 'tnal.bulk.beam.own' : ware=$ware station=$station Buy (b) or Sell (s)?=$buysell Amount of Ware?=$requested ship=$ship
054 end
055
056 if$race != $Player
057 @ =[THIS] -> call script 'tnal.bulk.beam.trade' : ware=$ware Station=$station Buy (b) or Sell (s)?=$buysell Amount of Ware?=$requested ship=$ship
058 end
059
060 return null
_________________ На фоне космоса - человечество, всего лишь пыль! |
|
|
Xenon J
1007 EGP
       Рейтинг канала: 11(1675) Репутация: 160 Сообщения: 3390 Откуда: Ксенонский сектор 472 Зарегистрирован: 30.03.2007
 |
|
Используй оператор else
Примерно так:
Цитата: |
052 if$race == $Player
053 @ =[THIS] -> call script 'tnal.bulk.beam.own' : ware=$ware station=$station Buy (b) or Sell (s)?=$buysell Amount of Ware?=$requested ship=$ship
054 else
055 @ =[THIS] -> call script 'tnal.bulk.beam.trade' : ware=$ware Station=$station Buy (b) or Sell (s)?=$buysell Amount of Ware?=$requested ship=$ship
058 end
|
и далее по тексту.
Последний раз редактировалось: Xenon J (18:01 02-09-2015), всего редактировалось 72 раз(а)
|
|
|
SergejU
72 EGP
 Рейтинг канала: 3(36) Репутация: 2 Сообщения: 243 Откуда: DONETSK Зарегистрирован: 11.08.2009
 |
|
Если не работает то точно ошибка или не совместимость.
Как вариант в игре расы прописаны по разному(нужны другие команды или форматы).
Возможно пересечение скриптов/переменных в них и из-за этого тормозится второй скрипт.
Очень внимательно проверь на предмет пересекающихся переменных - не раз на этом накалывался.
Открывай оба скрипта изучай, ставь отладочные сообщения чтоб понять какие команды(участки) не выполняются.
|
|
|
Thug
67 EGP
 Рейтинг канала: 1(6) Репутация: 4 Сообщения: 112 Откуда: Новороссийск Зарегистрирован: 11.11.2013
 |
|
Привет друзья! Не помогло. Упростил ситуацию, для удобства.
Вместо вызовов скриптов поставил озвучку, все вызываемые скрипты удалил, ибо по отдельности они работают без проблем.
Оставил срипт: "сетуп, где кнопка назначена" и этот плачевный(и его сократил до нужного).
Теперь выглядит так:
__________________________________________________________
Arguments
•1: stware , Перем/Станция и товар , 'Station and Ware' (станция и товар)
•2: buysell , Перем/Текст , 'Buy (b) or Sell (s)?' (ввод текста на передачу туда или обратно)
•3: requested , Перем/Число , 'Amount of Ware?' (ввод количества товара)
__________________________________________________________
001 $station=$stware[1]
002 $ware=$stware[0]
003 $race=$station -> get owner race
004
005 if$race == $Player
006 =speak text: page=13 id=1352 priority=0
007 end
008 if$race != $Player
009 =speak text: page=13 id=1354 priority=0
010 end
011 return null
Менял аргументы, (else, skip if), не помогает, и на свою станцию и на NPS, cрабатывает какой либо один. Может как по другому ещё? Странно, в ТС скрипт работает, в Х3 не хочет... Уже мозг кипит.
SergejU наверное прав, где то накладка идёт. Тогда как? Назначить другие переменные?
_________________ На фоне космоса - человечество, всего лишь пыль!
Последний раз редактировалось: Thug (13:24 03-09-2015), всего редактировалось 2 раз(а) |
|
|
SergejU
72 EGP
 Рейтинг канала: 3(36) Репутация: 2 Сообщения: 243 Откуда: DONETSK Зарегистрирован: 11.08.2009
 |
|
Эта переменная у тебя не определена - будет косяк.
|
|
|
Thug
67 EGP
 Рейтинг канала: 1(6) Репутация: 4 Сообщения: 112 Откуда: Новороссийск Зарегистрирован: 11.11.2013
 |
|
SergejU : |
Эта переменная у тебя не определена - будет косяк.
|
Наверное в этом и косяк! Скрипт не понимает... Я просмотрел весь скрипт, она не где не определена. Но, ведь в ТС скрипт работает, а у меня точная копия, только написанная в редакторе Х3.
Наверное движок в ТС умнее)) Вот и как правильно это сделать?
Если можно, чиркани пример... Спасибо!
_________________ На фоне космоса - человечество, всего лишь пыль! |
|
|
SergejU
72 EGP
 Рейтинг канала: 3(36) Репутация: 2 Сообщения: 243 Откуда: DONETSK Зарегистрирован: 11.08.2009
 |
|
Thug : |
чиркани пример... Спасибо!
|
Да вроде все совсем уж просто.
Вместо неопределенной переменной прописать расу игрока:
$Player заменяем на Player
С другой стороны картины всей не знаю и если еще где-то в скрипте вдруг используется эта переменная то лучше вначале скрипта сделать присвоение:
$Player = Player
|
|
|
Thug
67 EGP
 Рейтинг канала: 1(6) Репутация: 4 Сообщения: 112 Откуда: Новороссийск Зарегистрирован: 11.11.2013
 |
|
SergejU : |
С другой стороны картины всей не знаю и если еще где-то в скрипте вдруг используется эта переменная то лучше вначале скрипта сделать присвоение:$Player = Player
|
Я это и имел ввиду, где именно установить... Немного другим путём, но разобрался с проблемой. Спасибо за помощь!
_________________ На фоне космоса - человечество, всего лишь пыль! |
|
|
Thug
67 EGP
 Рейтинг канала: 1(6) Репутация: 4 Сообщения: 112 Откуда: Новороссийск Зарегистрирован: 11.11.2013
 |
|
В Х3 разрешено 32 вида оружия и в ХТМ все лимиты уже выбраны. Но возникла потребность добавить одну пушку на один корабль, без продаж её в доках(эксклюзив). В файлах TLaser и TBullets прописал новый вид, в текстовике дал название, в списке вооружений пушка появилась. Но X3Editor её не видит и установить не получается. Пробывал ручками в строку корабля прописать двоичный код оружия(как делали раньше), но толку нет. Подскажите друзья, можно ли скриптом установить эту пушку на конкретный корабль? Может есть ещё какие хитрости... Спасибо!
_________________ На фоне космоса - человечество, всего лишь пыль! |
|
|
Adrenalin
270 EGP
    Рейтинг канала: 3(27) Репутация: 62 Сообщения: 353 Откуда: Омская область Зарегистрирован: 10.11.2008
 |
|
Вопрос в следующем.
По ходу прохождения определенного сюжета создается корабль. Скриптом. Как прописать этому кораблю бессмертие?
Кусок кода с созданием этого непися:
Cкрытый текст (кликните здесь для просмотра)
Код: |
$Station = find station: sector= $Sektor class or type= Federal Argon Shipyard_SS_FAC_A_SHIP_TFactories race= Argon flags= null refobj= null maxdist= null maxnum= 1 refpos= null
skip if $Station -> exists
$Station = $Sektor
$Zorro.Ship = $null -> call script "x534.lib.create.ship.02.sv" : arg0=$Station, arg1=LX_SS_SH_X_M3P_TShips, arg2=Argon, arg3=null, arg4=null, arg5=null,
$Zorro.Ship -> set race logic control enabled to [FALSE]
= $null -> call script "x534.Relation.X.sv" : arg0=$Zorro.Ship,
= $null -> call script "x534.turret.CMD.MissiledefSTD.sv" : arg0=$Zorro.Ship,
* = $null -> call script "x534.turret.CMD.KillenemysSTD.sv" : arg0=$Zorro.Ship,
$Zorro.Ship -> set pilot speaker: voice= 102 , face= 812 , Pirate subrace= null , Argon female= null
$Text = sprintf: pageid= 17 textid= 5521 , null , null , null , null , null
$Zorro.Ship -> set name to $Text
$Text = sprintf: pageid= $PID textid= 969 , null , null , null , null , null
$Zorro.Ship -> set pilot name to $Text
$Zorro.Ship -> start task 8916 with script "x534.Ship.CMD.Miss.FD.SPC.sv" and prio 0 : arg1= $Zorro.Ship arg2= null arg3= null arg4= null arg5= null
$Zorro.Ship -> start task 8917 with script "x534.Ship.CMD.inviceble.sv" and prio 0 : arg1= $Zorro.Ship arg2= null arg3= null arg4= null arg5= null
$Sektor.z = get sector from universe index: x= 9 , y= 9
$Zorro.Ship -> start task 8915 with script "x534.Ship.move.Sektor.01" and prio 0 : arg1= $Zorro.Ship arg2= $Sektor arg3= $Sektor.z arg4= null arg5= null
|
|
_________________ Сбросив гору с плеч, расправил плечи.
Гордо приказал себе: "Лети!" |
|
|
SergejU
72 EGP
 Рейтинг канала: 3(36) Репутация: 2 Сообщения: 243 Откуда: DONETSK Зарегистрирован: 11.08.2009
 |
|
Adrenalin : |
Как прописать этому кораблю бессмертие?
|
Поставить проверку величины корпуса если меньше 100% то восстановление до полного(учесть что корабль может уничтожаться с одного выстрела).
Второй вариант проверка наличия корабля и если нет то создать заново - но если он выполнял задание оно будет утрачено.
|
|
|
Adrenalin
270 EGP
    Рейтинг канала: 3(27) Репутация: 62 Сообщения: 353 Откуда: Омская область Зарегистрирован: 10.11.2008
 |
|
Проверка наличия корабля идет в самом скрипте (точнее в миссии), при уничтожении ветка перезапускается, но это не вариант, ибо приходится по новой проходить 10-15 минут и так до бесконечности.
Буду пробовать запихать проверку на корпус, правда для этого надо "Вспомнить Все" (С)
С 1 выстрела LX уничтожить конечно можно, но сложно.
_________________ Сбросив гору с плеч, расправил плечи.
Гордо приказал себе: "Лети!"
Последний раз редактировалось: Adrenalin (19:05 18-03-2016), всего редактировалось 1 раз |
|
|
Ekrny_Babai
523 EGP
  Рейтинг канала: 5(129) Репутация: 127 Сообщения: 403 Откуда: Тамошние мы.. Зарегистрирован: 06.08.2008
 |
|
Спрошу здесь, пожалуй.
Как в скрипт-редакторе запустить скрипт "вручную".
Торможу на моменте выбора из списка, т.к. не вижу ни каких исполнительных команд.
Извиняюсь за нубизм.
_________________ Солю на глаз. |
|
|
Adrenalin
270 EGP
    Рейтинг канала: 3(27) Репутация: 62 Сообщения: 353 Откуда: Омская область Зарегистрирован: 10.11.2008
 |
|
находишь скрипт в списке, выбираешь и клавишей "R" запускаешь.
_________________ Сбросив гору с плеч, расправил плечи.
Гордо приказал себе: "Лети!" |
|
|
Thug
67 EGP
 Рейтинг канала: 1(6) Репутация: 4 Сообщения: 112 Откуда: Новороссийск Зарегистрирован: 11.11.2013
 |
|
Друзья, вот строка:
if$st >= 51 OR $st <= 65
Где цифры - это субтайпы планет. Я хочу добавить ещё.. от 131 до 144. Подскажите пожалуйста как правильно сделать.
Может так:
if$st >= 51 OR $st <= 65 + $st >= 131 OR $st <= 144
Или так:
if$st >= 51 OR $st <= 65 AND $st >= 133 OR $st <= 144
Пробывал перечислять, типа: if$st >= 51 OR $st <= 65 OR $st == 131 OR $st == 132 OR $st == 133 и т.д.
Но ставить можно всего: 12 значений. Ставишь больше - скрипт не работает, а если надо больше? Массив создавать?
Подскажите кто знает?
_________________ На фоне космоса - человечество, всего лишь пыль!
Последний раз редактировалось: Thug (10:42 10-04-2016), всего редактировалось 1 раз |
|
|
|
|
|
Канал X3: Reunion ->
Модовый и скриптовый отсек X3: Reunion: «Скриптописание - делимся опытом, задаем вопросы» |
|