Quest_Rider 0 Опубликовано 9 Ноября 2018 Как создать тайник, в который можно положить все что захочешь(именно что изначально хотел(на стадии создания мода)) (пример: мы убили сталка, залутали его, нам дался инфопоршень на спавн тайника , он спавнится в координатах которые задаешь в скриптах, содержимое его записываешь в логику. приходишь к нему, лутаешь и как только возьмешь все, что в нем было рюкзак исчезает из игры). Я сделал примерно так, но тайник спавнится до того как я получаю инфопоршень на работу скрипта. Скрытый текст ; cse_alife_object properties game_vertex_id = 61 distance = 0.0000002 level_vertex_id = 45293 object_flags = 0xffffffbf custom_data = <<END [logic] active = kamp@walk_otdix [known_info] atp_body1_info [kamp@walk_otdix] center_point = enemy_look1 radius = 2 combat_ignore_cond = {+esc_melnik_attack} END story_id = 7409 Скрытый текст <!-- Тайники с трупов --> <info_portion id="atp_body1_info"><action>addon_mod1.spawn_body_habar1</action></info_portion> <info_portion id="atp_body1_article"><article>atp_body1_info</article></info_portion> Скрытый текст -- Тайники с трупов ----------------------------------------------------------------------------------------------- function spawn_body_habar1() db.actor:give_info_portion ("atp_body1_article") alife():create("body_habar1", vector():set (-195.044, -19.788, -127.924), 56700, 56) news_manager.send_tip(db.actor, "treasure2", nil) end Скрытый текст ;--------Хабары--------------------------------- [body_habar1]:habar_body2 visual = equipments\item_rukzak radius = 1 custom_data = scripts\treasures\body_habar1.ltx ----------------------------------------------------------------ЭТО файл spawn_section--------------------------------- [inventory_box] GroupControlSection = spawn_group discovery_dependency = $spawn = "devices\inventory box" class = O_INVBOX cform = skeleton visual = physics\box\expl_dinamit.ogf script_binding = bind_physic_object.init [habar_body2] GroupControlSection = spawn_group discovery_dependency = $spawn = "devices\inventory box" class = O_INVBOX cform = skeleton visual = physics\box\expl_dinamit.ogf script_binding = bind_physic_object.init --------------------------------ЭТО ФАЙЛ devices-------------------------- Скрытый текст [spawn] ammo_5.45x39_ap = 3 Дополню: Я спавнюсь. бегу к найму у которого после того как его залутаешь дается инфопоршень(якобы на спавн тайник, но тайник спавнится до того как я взял инфопоршень). Но, когда я все таки лутаю чела, мне дается инфа которая идет с скриптом и выводится сообщение о том что получен тайник (см.спойлер СКРИПТ) Поделиться этим сообщением Ссылка на сообщение
Quest_Rider 0 Опубликовано 25 Октября 2019 (изменено) Кто в курсе, почему когда в одном скрипте 4 функции, например: Скрытый текст function create_level_changer( ... ... end function exit_escape_to_garbage1() create_level_changer(11078, db.actor:position(), db.actor:level_vertex_id(), db.actor:game_vertex_id(), 44614, 61, vector():set(-208.693, -20.290, -146.893), vector():set(0.0, 0.0, 0.0), "l01_escape", 1) end function delete_tel() local se_obj = alife():object(11078) if se_obj then alife():release(se_obj, true) end function timer() m_timers.quick_timer:aux_cond() self:taction(delete_tel) end Скрытый текст [error]Expression : functor_exists [error]Function : CPhraseScript::Action [error]File : PhraseScript.cpp [error]Line : 214 [error]Description : Cannot find <action> script function [provodnik.timer], dialog_id = [teleport_welcome] То пишет это. Изменено 25 Октября 2019 пользователем Quest_Rider Поделиться этим сообщением Ссылка на сообщение