BaHo, в том-то и дело, что Оригинальные тайники не срабатывают (не все, некоторые срабатывают, но треть не пашет), пытался перепилить treasure файл (в конфигах), ничего не помогло.
скорей всего просто тайники сами содержимое тайников либо неспавнится либо просто тайник невыдается,возможно проблемма в скриптах посмотри скрипт treasure_manager
Kail, тайник выдается, сообщение и метка на карте в наличии, просто некоторые тайники имеют содержимое, а некоторые не имеют, хотя по конфигам обязаны.
6poHR777, пусть безумная идея, но посмотри в all.spawn'e флаги тайников.Может: object_flags = 0xffffff3b -- если так, попробуй: object_flags = 0xffffff3f
function vzyal_key() if db.actor:object("key") then db.actor:disable_info_portion("doctor_one_start") news_manager.send_tip(db.actor, "%c[255,0,255,0]ПОЛУЧЕН ПОРШЕНЬ\\n%c[default]ЕСТЬ ШОМПОЛ.", 0, "trader", 30000) end end
и он выдаётся постоянно, если добавляю проверку наличия поршня, он вообще не выдаётся.
Code
function vzyal_key() -- new if db.actor:object("key") and not has_alife_info("have_shompl") then db.actor:give_info_portion("have_shompl") news_manager.send_tip(db.actor, "%c[255,0,255,0]ПОЛУЧЕН ПОРШЕНЬ\\n%c[default]ЕСТЬ ШОМПОЛ.", 0, "trader", 30000) end end
Запускаю из бинд_сталкер function actor_binder:update(delta). Подскажите где ошибка
Сообщение отредактировал ins33 - Суббота, 25.08.2012, 20:13
Stalk15, да не заметил, другую функцию в примере использовал, во втором варианте, что не так? Или есть другой способ через проверку наличия предмета, выдать поршень один раз?
#include "gameplay\character_criticals_4.xml" </specific_character> И открываем npc_profile После строчки добавляем Code <character id="my_stalker"> <class>my_stalker</class> </character> А теперь создадим логику для него D:\S.T.A.L.K.E.R. - Зов Припяти\нпс\configs\scripts тут создаем папку new а там файл my_stalker_npc_logic И пишим там Если ты хочешь бесмертного то Code [logic] active = remark1 danger = danger_ignore invulnerable = true
[remark@hello] no_move = true invulnerable = false meet = meet_guide on_actor_dist_le = 10| remark1 Открываем D:\S.T.A.L.K.E.R. - Зов Припяти\нпс\scripts И создаем скрипт sniper_add.script И пишим там (открываем с помощью блокнота) Code function start_add_spawn()--\\ --\\ -- spawn_sniper_one() end
function spawn_sniper_one() local x= 111.75521087646 local y= -3.9362425804138 local z= 185.2212677022 local level_vertex= 1158851 local game_vertex_id= 316 alife():create("my_stalker",vector():set(x,y,z),level_vertex,game_vertex_id) end
function save_variable(variable_name, value) xr_logic.pstor_store(db.actor, variable_name, value) end function load_variable(variable_name, value_if_not_found) return xr_logic.pstor_retrieve(db.actor, variable_name, value_if_not_found) end И открываем скрипт тут же bind_stalker.script
Ищим строку
Code function actor_binder:update(delta) object_binder.update(self, delta)
if string.find(command_line(), "-designer") then return end
И после неё пишим это Code if sniper_add.load_variable("spawn_sniper",false)==false then sniper_add.start_add_spawn() sniper_add.save_variable("spawn_sniper",true) end Всё, мы сделали нпс, он появится около сыча слева от стойки. Удачи!
P.S. когда я делаю нпс смертным,то он просто шляется без дела по локации
Когда сделал НПС и приписал к нему диалог он не захотел вообще говорить (когда нажимаю на кнопку F , у меня он не выходит в меню диалогов) Может в инструкции по созданию НПС что-то не то написано?