Den_KJIbIk Вот ссылка на вики Wiki Здесь написанно как делать на ЧН, но ты можешь спокойно сделать тоже для ЗП [PRMT]Myha Если вызывать из логики НПС которого нужно убить то: on_info = %=killnpc% Если из скрипта, то получаешь НПС (например НПС присвоиваешь стори_айди и функцией local npc = get_story_object("SID") получаешь объект) и потом пишешь такое npc:kill(npc) Тоесть полностью функция будет выглядеть так: function test() local npc = get_story_object("SID") npc:kill(npc) end Kotor Ну их можно всех выкинуть в оффлайн и а потом опять в онлайн Wiki alex48sic Сложность можно поменять в файлике кофиг/креатурес/актор.лтх Там ищи секцию с иммунитетами НПС Награды нужно искать в различных файлах в зависимости от игры
Den_KJIbIk Тем более никакой разницы нет alex48sic Тогда смотря какие квесты ты хочешь поправить - сюжетные или не сюжетные. Типа там убить собак или принести золотую рыбку
Нее... Вылетает: Expression : fatal error Function : CIni_IdToIndex<1,struct COMMUNITY_DATA,class shared_str,int,class CHARACTER_COMMUNITY>::GetByIndex File : e:\stalker\patch_1_0004\xr_3da\xrgame\ini_id_loader.h Line : 147 Description : Arguments : item by index not found in section game_relations, line communities
Den_KJIbIk Когда вылетает? при запуске игры? Попробуй написать вместо этого:
local victim_comm = victim:character_community()
local killer_comm = who:character_community()
if killer_comm=="monster" then local m_clsid = get_clsid(who) killer_name = monster_classes[m_clsid] end
Вот это
if IsStalker(victim) then local victim_comm = victim:character_community() elseif IsMonster(victim) then local m_clsid = get_clsid(who) killer_name = monster_classes[m_clsid] end
if IsStalker(who) then local killer_comm = who:character_community() elseif IsMonster(who) then local m_clsid = get_clsid(who) killer_name = monster_classes[m_clsid] end
local post_message_prob = 0.8
alex48sic тогда конфиг/миск/таск_манаджер Строки: reward_money reward_reputation reward_relation reward_rank reward_item
Сообщение отредактировал _Призрак_ - Воскресенье, 20.03.2011, 19:56
Все я сдаюсь, как я не пытался ничего не выходит дело вот в чем: создаю скрипт для эффекта критического ранения, ссыляюсь на него, а ничего не выходит, даже коэффициенты большие ставлю чтобы при малейшем ранении оружие потерял, а все равно ничего не пашет
Сообщение отредактировал Kotor - Вторник, 22.03.2011, 21:41
lite_treshold = 5.05 -коэффициенты даже такие поставил и все равно не пашет( crit_treshold = 5.30 drop_item_on_crit_prob = 5.20 effector_power_coeff = 0.7 prev_health = -1 chk_h_t = 0
function wounded_pp_update() if (chk_h_t or 0) < time_global() then chk_h_t = time_global()+1000 if prev_health > (db.actor.health + lite_treshold) then level.add_pp_effector("fire_hit.ppe", 2011, false) local effector_power = (prev_health - db.actor.health)*100*effector_power_coeff level.set_pp_effector_factor(2011, effector_power) if prev_health > db.actor.health + crit_treshold then level.add_cam_effector("camera_effects\\fusker.anm", 999, false, "") local snd_obj = xr_sound.get_safe_sound_object([[actor\pain_3]]) snd_obj:play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0) if math.random() < drop_item_on_crit_prob then local active_item = db.actor:active_item() if active_item and active_item:section() ~= "bolt" and active_item:section()~= "wpn_knife" then db.actor:drop_item(active_item) end end end end prev_health = db.actor.health end end
lite_treshold = 0.05 --коэффициенты даже такие поставил и все равно не пашет( crit_treshold = 0.3 drop_item_on_crit_prob = 5.20 effector_power_coeff = 0.7 prev_health = 1 chk_h_t = 0
function wounded_pp_update() if db.actor then if chk_h_t < time_global() then chk_h_t = time_global()+1000 if prev_health > (db.actor.health + lite_treshold) then level.add_pp_effector("fire_hit.ppe", 2011, false) local effector_power = (prev_health - db.actor.health)*100*effector_power_coeff level.set_pp_effector_factor(2011, effector_power) if prev_health > db.actor.health + crit_treshold then level.add_cam_effector("camera_effects\\fusker.anm", 999, false, "") local snd_obj = xr_sound.get_safe_sound_object([[actor\pain_3]]) snd_obj:play_no_feedback(db.actor, sound_object.s2d, 0, vector(), 1.0) if math.random(0,10) < drop_item_on_crit_prob then local active_item = db.actor:active_item() if active_item and active_item:section() ~= "bolt" and active_item:section()~= "wpn_knife" then db.actor:drop_item(active_item) end end end e nd prev_health = db.actor.health end end end
Сообщение отредактировал _Призрак_ - Среда, 23.03.2011, 15:29