Spawn через скрипт-дополнение — различия между версиями
Материал из S.T.A.L.K.E.R. Inside Wiki
(не показана 1 промежуточная версия 1 участника) | |||
Строка 3: | Строка 3: | ||
Изучая скрипты, я обнаружил, что можно запустить выдачу инфопоршны через обновление у актера... Не поняли? Объясняю - пишем в '''scripts\bind_stalker.script''' в секции обновления проверку на наличие '''info_portion''': | Изучая скрипты, я обнаружил, что можно запустить выдачу инфопоршны через обновление у актера... Не поняли? Объясняю - пишем в '''scripts\bind_stalker.script''' в секции обновления проверку на наличие '''info_portion''': | ||
− | < | + | <lua> |
function actor_binder:update(delta) | function actor_binder:update(delta) | ||
object_binder.update(self, delta) | object_binder.update(self, delta) | ||
Строка 23: | Строка 23: | ||
xr_sound.update_actor() | xr_sound.update_actor() | ||
− | if not has_alife_info("spawn") then -вот | + | if not has_alife_info("spawn") then --вот |
− | + | self.object:give_info_portion("spawn") -- наше | |
− | + | end -- обновление | |
− | </ | + | </lua> |
Такой функцией мы проверяем наличие инфопоршны '''spawn''', и если её нет, выдаем игроку...<br /> | Такой функцией мы проверяем наличие инфопоршны '''spawn''', и если её нет, выдаем игроку...<br /> | ||
Осталось только добавить эти инфопоршну - для этого в '''config\gamelay\''' cоздаем файл с ней, например '''spawn.xml''' с текстом: | Осталось только добавить эти инфопоршну - для этого в '''config\gamelay\''' cоздаем файл с ней, например '''spawn.xml''' с текстом: | ||
− | < | + | <xml> |
<?xml version='1.0' encoding="windows-1251"?> | <?xml version='1.0' encoding="windows-1251"?> | ||
Строка 43: | Строка 43: | ||
</game_information_portions> | </game_information_portions> | ||
− | </ | + | </xml> |
Между | Между | ||
Строка 60: | Строка 60: | ||
Подключим наш файл в секцию инфопоршен в '''system.ltx''': | Подключим наш файл в секцию инфопоршен в '''system.ltx''': | ||
− | < | + | <ini> |
[info_portions] | [info_portions] | ||
;список xml файлов, содержащих info_portions | ;список xml файлов, содержащих info_portions | ||
files = spawn, info_portions, info_portions_light, info_portions_test, info_lchanger_ico... | files = spawn, info_portions, info_portions_light, info_portions_test, info_lchanger_ico... | ||
− | </ | + | </ini> |
На этом все...Теперь когда вы зайдете в игру у вас в данном случае появится стартовая снаряга, ну а если вы пропишите активацию на спавн (ну или любое другое действие, например на: сон, телепорт и др.), у вас заспавнятся ваши предметы... Я еще бы не советовал часто пользоваться такой функцией, дабы могут возникнуть лаги при большом их кол-ве. Думаю одной-двух вам вполне хватит...<br /> | На этом все...Теперь когда вы зайдете в игру у вас в данном случае появится стартовая снаряга, ну а если вы пропишите активацию на спавн (ну или любое другое действие, например на: сон, телепорт и др.), у вас заспавнятся ваши предметы... Я еще бы не советовал часто пользоваться такой функцией, дабы могут возникнуть лаги при большом их кол-ве. Думаю одной-двух вам вполне хватит...<br /> | ||
Строка 74: | Строка 74: | ||
[[Участник:Костя.н.ы.ч|Костя.н.ы.ч]] | [[Участник:Костя.н.ы.ч|Костя.н.ы.ч]] | ||
− | [[Категория: | + | [[Категория:Скрипты]] |
Текущая версия на 21:49, 26 июля 2013
Пишу статью специально для тех, кто только начинает увлекатся модмейкерством и не использует специальные проги для спавна (могу посоветовать ACDC-весчь улетная, спасиба разрабам:-)
Если вы хотите заспавнить в игру любой обьект-будь то непись, машина или аномалия без активации через диалог, тогда читайте и запоминайте:)
Изучая скрипты, я обнаружил, что можно запустить выдачу инфопоршны через обновление у актера... Не поняли? Объясняю - пишем в scripts\bind_stalker.script в секции обновления проверку на наличие info_portion:
function actor_binder:update(delta) object_binder.update(self, delta) -- DEBUG slowdown -- slowdown.update() local time = time_global() game_stats.update (delta, self.object) -- апдейт погоды self.weather_manager:update() -- апдейт схемы детектора self.actor_detector:update() -- апдейт звуковой схемы актера xr_sound.update_actor() if not has_alife_info("spawn") then --вот self.object:give_info_portion("spawn") -- наше end -- обновление
Такой функцией мы проверяем наличие инфопоршны spawn, и если её нет, выдаем игроку...
Осталось только добавить эти инфопоршну - для этого в config\gamelay\ cоздаем файл с ней, например spawn.xml с текстом:
<?xml version='1.0' encoding="windows-1251"?> <game_information_portions> <info_portion id="spawn"> -вот название нашей инфопоршны <! -- action>название_скрипта.название_функции_в_нем</action -- > <action>escape_dialog.give_weapon_to_actor</action> -для примера выдадим стартовую снарягу(ПМм и патроны,что выдает волк) </info_portion> </game_information_portions>
Между
<info_portion id="spawn">
и
</info_portion>
Можете писать сколько угодно активаций скриптов (в пределах разумного, если не хотите загрузить процессор двумя сотнями операций:) Подключим наш файл в секцию инфопоршен в system.ltx:
[info_portions] ;список xml файлов, содержащих info_portions files = spawn, info_portions, info_portions_light, info_portions_test, info_lchanger_ico...
На этом все...Теперь когда вы зайдете в игру у вас в данном случае появится стартовая снаряга, ну а если вы пропишите активацию на спавн (ну или любое другое действие, например на: сон, телепорт и др.), у вас заспавнятся ваши предметы... Я еще бы не советовал часто пользоваться такой функцией, дабы могут возникнуть лаги при большом их кол-ве. Думаю одной-двух вам вполне хватит...
Ссори за жидкую инфу, дабы в моддинге всего три месяца...)
Авторы
Статья создана: Костя.н.ы.ч