Модостроение (вопросы и ответы)
Модераторы: by.@ztek, Постигший истину, Модераторы
Re: Модостроение (вопросы и ответы)
Подскажите плиз - как найти скрипты добавленые в консоль корабля? Интересует "Ракетный шквал" (он у M7M в доп коммандах). Нужно имя скрипта...
Добавлено спустя 27 секунд:
А еще лучше - как вообще искать...
Добавлено спустя 27 секунд:
А еще лучше - как вообще искать...
- ritchie
- Trainee
- Сообщений: 69
- Зарегистрирован: 14 окт 2015, 18:53
- DSP:
1
- Благодарил (а): 6 раз.
- Поблагодарили: 6 раз.
Re: Модостроение (вопросы и ответы)
ritchie писал(а):Интересует "Ракетный шквал"
Там много скриптов перевязано. Собственно, команда "Ракетный шквал" как таковая инициализируется в скрипте !init.ship.commandpreload.pck, в строке "set ship command preload script: command={COMMAND_MISSILE_ATTACK} script='!ship.cmd.missile.attack.pre'". А сам обработчик (где выбираем цель, количество пусков и пуск) - !ship.cmd.missile.attack.std.pck (пуск ракет вот - = [THIS]->fire missile $best.miss from turret $i on $target)
.Лазим по скриптам, и смотрим, какие скрипты вызывает текущий скрипт, и что они возвращают (входящие переменные, и возвращаемые: arguments/return).
ritchie писал(а):А еще лучше - как вообще искать...
Смотря что хотим найти. Глобальные команды корабля прописываются в !init.ship.globalscriptmap, а дальше уже идут вызовы тех или иных скриптов...

п.с. все, интернет кончился, позже зайду.

Совершенству нет предела...
- Рейтинг: 1.89%
-
-
by.@ztek - Admin
- Сообщений: 1587
- Изображения: 2
- Зарегистрирован: 06 фев 2011, 00:24
- DSP:
207
- Откуда: Минск, Беларусь
- Благодарил (а): 231 раз.
- Поблагодарили: 689 раз.
Re: Модостроение (вопросы и ответы)
А как тогда сделать что бы 5000 микросхем появились на атмосферном лифте игрока, когда у игрока появляется атмосферный лифт, тогда на него добавляется 5000 микросхем?
-
Gvozdoyatel - Pilot
- Сообщений: 192
- Зарегистрирован: 31 май 2016, 11:01
- DSP:
4
- Благодарил (а): 10 раз.
- Поблагодарили: 18 раз.
Re: Модостроение (вопросы и ответы)
Проверять в цикле, например, каждые 20 минут, есть ли у игрока хоть 1 Лифт. Если есть - давать и выход, нету - опять ждать. Тот же самый скрипт, что я показывал, только расу=игрок выставить, ну и добавить все в цикл с таймингом 20-30 минут. В Доп. Цикл все связать.
Совершенству нет предела...
-
by.@ztek - Admin
- Сообщений: 1587
- Изображения: 2
- Зарегистрирован: 06 фев 2011, 00:24
- DSP:
207
- Откуда: Минск, Беларусь
- Благодарил (а): 231 раз.
- Поблагодарили: 689 раз.
Re: Модостроение (вопросы и ответы)
А проверку - получал или не получал? так каждые 20 минут будет добавляться по 5к чипов.by.@ztek писал(а):Проверять в цикле, например, каждые 20 минут, есть ли у игрока хоть 1 Лифт. Если есть - давать и выход, нету - опять ждать. Тот же самый скрипт, что я показывал, только расу=игрок выставить, ну и добавить все в цикл с таймингом 20-30 минут. В Доп. Цикл все связать.
- ritchie
- Trainee
- Сообщений: 69
- Зарегистрирован: 14 окт 2015, 18:53
- DSP:
1
- Благодарил (а): 6 раз.
- Поблагодарили: 6 раз.
Re: Модостроение (вопросы и ответы)
ritchie писал(а):А проверку - получал или не получал? так каждые 20 минут будет добавляться по 5к чипов.

by.@ztek писал(а):Если есть - давать и выход,
Добавлено спустя 2 минуты 35 секунд:
Вообще, надо бы добавить проверку на свободный трюм, и пихать туда уже либо сколько влезет (если занят трюм), либо 5 000 схем. Так правильно будет вообще.

Совершенству нет предела...
-
by.@ztek - Admin
- Сообщений: 1587
- Изображения: 2
- Зарегистрирован: 06 фев 2011, 00:24
- DSP:
207
- Откуда: Минск, Беларусь
- Благодарил (а): 231 раз.
- Поблагодарили: 689 раз.
Re: Модостроение (вопросы и ответы)
Я не знаю как правильно написать пока у игрока есть ......
Добавлено спустя 8 минут 29 секунд:
как считать время?
Добавлено спустя 1 минуту 32 секунды:
by.@ztek ты каждый час заходишь? Когда лучше писать что бы не получать ответ за час?
Добавлено спустя 8 минут 29 секунд:
как считать время?
Добавлено спустя 1 минуту 32 секунды:
by.@ztek ты каждый час заходишь? Когда лучше писать что бы не получать ответ за час?
-
Gvozdoyatel - Pilot
- Сообщений: 192
- Зарегистрирован: 31 май 2016, 11:01
- DSP:
4
- Благодарил (а): 10 раз.
- Поблагодарили: 18 раз.
Re: Модостроение (вопросы и ответы)
Завтра напишу скрипт. Проверку на трюм надо? Это еще сложнее будет - там математика работает ужо
: берем товар, берем его класс, проверяем на возможность нести этот класс груза нашим кораблем...если все соотв. - берем свободный трюм у текущего корабля и сравниваем с 5000*Объем нашего товара. Это я делаю в идеале, под любой корабль, под любой товар. Если объем трюма позволяет - пихаем туда груз, нет - вычисляем, сколько можно груза пихнуть в трюм. Да-Нет - пихаем. Работать должно разово: пока скрипт не запущен - у игрока может быть 1-200 кораблей. Если 0 кораблей - ждем 20-30 минут (к примеру), ищем опять корабль...Если в момент запуска скрипта у игрока было 100 таких кораблей - на каждом корабле такую процедуру проводим. Кажется сложным, на самом деле - просто. 
Добавлено спустя 46 секунд:
Захожу, когда минутка есть.
Добавлено спустя 9 минут 52 секунды:
Нормальный наезд
Пиши каждые 2 часа в четные дни. Это пока намек. 


Добавлено спустя 46 секунд:
Gvozdoyatel писал(а):by.@ztek ты каждый час заходишь? Когда лучше писать что бы не получать ответ за час?
Захожу, когда минутка есть.

Добавлено спустя 9 минут 52 секунды:
Gvozdoyatel писал(а):by.@ztek ты каждый час заходишь? Когда лучше писать что бы не получать ответ за час?
Нормальный наезд


Совершенству нет предела...
-
by.@ztek - Admin
- Сообщений: 1587
- Изображения: 2
- Зарегистрирован: 06 фев 2011, 00:24
- DSP:
207
- Откуда: Минск, Беларусь
- Благодарил (а): 231 раз.
- Поблагодарили: 689 раз.
Re: Модостроение (вопросы и ответы)
by.@ztek писал(а):Проверку на трюм надо?
Да
-
Gvozdoyatel - Pilot
- Сообщений: 192
- Зарегистрирован: 31 май 2016, 11:01
- DSP:
4
- Благодарил (а): 10 раз.
- Поблагодарили: 18 раз.
Re: Модостроение (вопросы и ответы)
В скриптописании главное - логика.
Блин, подумай сам. Учебник же есть там у тебя, читал?
п.с. Намечаются завтра дела, могу и не написать скрипт...

п.с. Намечаются завтра дела, могу и не написать скрипт...

Совершенству нет предела...
-
by.@ztek - Admin
- Сообщений: 1587
- Изображения: 2
- Зарегистрирован: 06 фев 2011, 00:24
- DSP:
207
- Откуда: Минск, Беларусь
- Благодарил (а): 231 раз.
- Поблагодарили: 689 раз.
Re: Модостроение (вопросы и ответы)
by.@ztek писал(а):читал?
Читал, только некоторые команды из учебника не соответствуют командам из эксскриптора, по этому я открываю уже готовые скрипты и с яндекс переводчиком разбираю что и как
-
Gvozdoyatel - Pilot
- Сообщений: 192
- Зарегистрирован: 31 май 2016, 11:01
- DSP:
4
- Благодарил (а): 10 раз.
- Поблагодарили: 18 раз.
Re: Модостроение (вопросы и ответы)
Набросал скрипт на коленке
Разберешь, что и как там, или подсказать?

Разберешь, что и как там, или подсказать?
- Код: выделить все
* find all ships class Terran Atmospheric Lifter
label:
$massiv = get ship array: of race {Player} class/type={Terran Atmospheric Lifter}
* count ships
if $massiv
$count = size of array $massiv
$ware={Microchips}
$count.ware=5000
$volume = get volume of ware $ware
$ware.volume=$count.ware*$volume
* cycle. added ship wares
while $count
dec $count =
$ship = $massiv[$count]
if $ship -> can transport ware $ware
$cargobay= $ship-> get free volume of cargo bay
if $cargobay>=$ware.volume
= $ship->add $count.ware units of $ware
else
$count.ware=$cargobay/$volume
= $ship->add $count.ware units of $ware
end
* wait
= wait 200 ms
end
end
else
= wait 1200000 ms
goto label label
end
return null
Совершенству нет предела...
-
by.@ztek - Admin
- Сообщений: 1587
- Изображения: 2
- Зарегистрирован: 06 фев 2011, 00:24
- DSP:
207
- Откуда: Минск, Беларусь
- Благодарил (а): 231 раз.
- Поблагодарили: 689 раз.
Re: Модостроение (вопросы и ответы)
by.@ztek писал(а):Разберешь, что и как там, или подсказать?
Сам попробую, яндекс в помощь
Добавлено спустя 45 минут 57 секунд:
А как на счёт генерации объекта который ты хочешь что бы появился и принадлежал какой то расе и у него было своё имя
-
Gvozdoyatel - Pilot
- Сообщений: 192
- Зарегистрирован: 31 май 2016, 11:01
- DSP:
4
- Благодарил (а): 10 раз.
- Поблагодарили: 18 раз.
Re: Модостроение (вопросы и ответы)
Gvozdoyatel писал(а):А как на счёт генерации объекта который ты хочешь что бы появился и принадлежал какой то расе и у него было своё имя
Не пробовал ни разу. Хотя можно поэкспериментировать. Посмотри скрипты чит-пака, там есть такое.
Совершенству нет предела...
-
by.@ztek - Admin
- Сообщений: 1587
- Изображения: 2
- Зарегистрирован: 06 фев 2011, 00:24
- DSP:
207
- Откуда: Минск, Беларусь
- Благодарил (а): 231 раз.
- Поблагодарили: 689 раз.
Re: Модостроение (вопросы и ответы)
сохранить не получилось, пишет - Индекс находился вне границ массива. что не так?
label:
$massiv = get ship array: of race {Player} class/type={Terran Atmospheric Lifter}
if $massiv
$count = size of array $massiv
$Microchips={Microchips}
$count.Microchips=5000
$volume = get volume of ware $Microchips
$Microchips.volume=$count.Microchips*$volume
while $count
dec $count =
$ship = $massiv[$count]
if $ship -> can transport ware $Microchips
$cargobay= $ship-> get free volume of cargo bay
if $cargobay>=$Microchips.volume
= $ship->add $count.Microchips units of $Microchips
else
$count.Microchips=$cargobay/$volume
= $ship->add $count.Microchips units of $Microchips
end
= wait 200 ms
end
end
else
= wait 1200000 ms
goto label
end
return null
Добавлено спустя 2 минуты 32 секунды:
Я не много изменил названия переменных и ещё там было перейти к метке метке
label:
$massiv = get ship array: of race {Player} class/type={Terran Atmospheric Lifter}
if $massiv
$count = size of array $massiv
$Microchips={Microchips}
$count.Microchips=5000
$volume = get volume of ware $Microchips
$Microchips.volume=$count.Microchips*$volume
while $count
dec $count =
$ship = $massiv[$count]
if $ship -> can transport ware $Microchips
$cargobay= $ship-> get free volume of cargo bay
if $cargobay>=$Microchips.volume
= $ship->add $count.Microchips units of $Microchips
else
$count.Microchips=$cargobay/$volume
= $ship->add $count.Microchips units of $Microchips
end
= wait 200 ms
end
end
else
= wait 1200000 ms
goto label
end
return null
Добавлено спустя 2 минуты 32 секунды:
Я не много изменил названия переменных и ещё там было перейти к метке метке
-
Gvozdoyatel - Pilot
- Сообщений: 192
- Зарегистрирован: 31 май 2016, 11:01
- DSP:
4
- Благодарил (а): 10 раз.
- Поблагодарили: 18 раз.
Re: Модостроение (вопросы и ответы)
Gvozdoyatel писал(а):А как на счёт генерации объекта который ты хочешь что бы появился и принадлежал какой то расе и у него было своё имя
<RefObj> spawn NPC personal ship: rank=<Var/Number>
engine v. 32
• Команда создаёт или заменяет корабль NPC. Тип корабля и его вооружение будут зависеть от указания ранга rank=<Var/Number>.
• Ранг задаётся от 0 до 1000000. Фактически это боевой ранг персонажа. Вы можете передавать в качестве этого параметра боевой ранг игрока, чтобы создать персонажа с соразмерной силой. Таким образом по ходу игры персонаж будет усиливаться. Созданные данной командой корабли имеют уникальные имена. Очень даже красивые, например "Центурион", "Быстрая Смерть", "Быстрый Убийца" и другие.
• В случае создания нового корабля, корабль создается абстрактно. Т.е. корабль не будет физически присутствовать ни в одном окружении, ни на станции, ни в каком либо секторе. Для этого вам потребуется самим переместить корабль в нужное окружение командой <RefObj> put into environment <RefObj>.
• При пересоздании корабля старый не уничтожается.
engine v. 32
• Команда создаёт или заменяет корабль NPC. Тип корабля и его вооружение будут зависеть от указания ранга rank=<Var/Number>.
• Ранг задаётся от 0 до 1000000. Фактически это боевой ранг персонажа. Вы можете передавать в качестве этого параметра боевой ранг игрока, чтобы создать персонажа с соразмерной силой. Таким образом по ходу игры персонаж будет усиливаться. Созданные данной командой корабли имеют уникальные имена. Очень даже красивые, например "Центурион", "Быстрая Смерть", "Быстрый Убийца" и другие.
• В случае создания нового корабля, корабль создается абстрактно. Т.е. корабль не будет физически присутствовать ни в одном окружении, ни на станции, ни в каком либо секторе. Для этого вам потребуется самим переместить корабль в нужное окружение командой <RefObj> put into environment <RefObj>.
• При пересоздании корабля старый не уничтожается.
Отсюда
- Рейтинг: 1.89%
-
- ritchie
- Trainee
- Сообщений: 69
- Зарегистрирован: 14 окт 2015, 18:53
- DSP:
1
- Благодарил (а): 6 раз.
- Поблагодарили: 6 раз.
Re: Модостроение (вопросы и ответы)
А когда скрипт будет готов его надо просто в папку Scripts перенести?
Добавлено спустя 3 минуты 39 секунд:
зачем нужны строки со звёздочками, они же не читаются ексскриптором?
Добавлено спустя 37 минут 58 секунд:
Как создать перса который слоняется по заданым секторам, к нему враждебно относятся только 3 расы, даёт задания, с именем Винтерс? (при игре за него дожна повышаться репа у ксенов)
Добавлено спустя 3 минуты 39 секунд:
зачем нужны строки со звёздочками, они же не читаются ексскриптором?
Добавлено спустя 37 минут 58 секунд:
Как создать перса который слоняется по заданым секторам, к нему враждебно относятся только 3 расы, даёт задания, с именем Винтерс? (при игре за него дожна повышаться репа у ксенов)
-
Gvozdoyatel - Pilot
- Сообщений: 192
- Зарегистрирован: 31 май 2016, 11:01
- DSP:
4
- Благодарил (а): 10 раз.
- Поблагодарили: 18 раз.
Re: Модостроение (вопросы и ответы)
Gvozdoyatel писал(а):А когда скрипт будет готов его надо просто в папку Scripts перенести?
Да, потом запустить его в игре. Активируем встроенный скрипт-редактор (сменить имя пилота на Thereshallbewings), заходим в список скриптов, находим наш, выбираем наш скрипт и запускаем его кнопкой R. Далее "enter", "enter". Все, если есть нужный корабль, добавится груз, нету - через 20 минут снова опрос собственности игрока.
Gvozdoyatel писал(а):зачем нужны строки со звёздочками, они же не читаются ексскриптором?
Это просто комментарии, для облегчения написания (для тебя

Gvozdoyatel писал(а):Как создать перса который слоняется по заданым секторам, к нему враждебно относятся только 3 расы, даёт задания, с именем Винтерс? (при игре за него дожна повышаться репа у ксенов)
Это проще сделать из MD скрипта.
Совершенству нет предела...
-
by.@ztek - Admin
- Сообщений: 1587
- Изображения: 2
- Зарегистрирован: 06 фев 2011, 00:24
- DSP:
207
- Откуда: Минск, Беларусь
- Благодарил (а): 231 раз.
- Поблагодарили: 689 раз.
Re: Модостроение (вопросы и ответы)
by.@ztek писал(а):Это проще сделать из MD скрипта.
Уже поздно, процесс пошёл

Добавлено спустя 5 минут 56 секунд:
Мамка-шип это тот летающий дом который был ещё в X-Tension, только тсс это секрет

-
Gvozdoyatel - Pilot
- Сообщений: 192
- Зарегистрирован: 31 май 2016, 11:01
- DSP:
4
- Благодарил (а): 10 раз.
- Поблагодарили: 18 раз.
Re: Модостроение (вопросы и ответы)
Gvozdoyatel писал(а):И ещё кое что, как создать новый объект, привязать к нему текстуру, сменить имя и задать параметры, например где будет тусить владыка Ксенонов конечно на мамка-шипе, тогда как создать мамка-шип?

Совершенству нет предела...
-
by.@ztek - Admin
- Сообщений: 1587
- Изображения: 2
- Зарегистрирован: 06 фев 2011, 00:24
- DSP:
207
- Откуда: Минск, Беларусь
- Благодарил (а): 231 раз.
- Поблагодарили: 689 раз.
Вернуться в X3: Time Of The Truth
Кто сейчас на форуме
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 4