Так как пока что у меня нет прав для создания новоё темы, расказую ЗДЕСЬ как сделать так, чтобы НПС давал ГГ оружие. 1. Записать данный код в диалог:
<action>файл.скрипт</action>
"файл" название файла скрипта в папке gamedata\scripts
"скрипт" имя скрипта
например:
<action>escape_dialog.give_weapon_to_actor</action>
2. В файле скрипт записать:
function give_weapon_to_actor (trader, actor)
dialogs.relocate_item_section(trader, "wpn_pm", "in")
dialogs.relocate_item_section(trader, "ammo_9x18_fmj", "in")
dialogs.relocate_item_section(trader, "ammo_9x18_fmj", "in")
dialogs.relocate_item_section(trader, "wpn_knife", "in")
end
give_weapon_to_actor - имя скрипта
wpn_pm - оружее ПМм. можно поменять другое оружее
Более подробно расскажу тогда, когда сам разберусь .
Добавлено (03.05.2009, 16:13:06)
---------------------------------------------
Мне нужно чтобы вместо аптечек передовать оружие. Кто может помогите хоть чем нибуть
Переделать нужно данный код:
-- подсчёт и трансфер аптечек
function actor_have_ge1_medkit(talker,target) -- talker - ГГ
return npc_medkit_count(talker)>=1
end
function actor_have_ge2_medkit(talker,target) -- talker - ГГ
return npc_medkit_count(talker)>=2
end
function actor_have_ge4_medkit(talker,target) -- talker - ГГ
return npc_medkit_count(talker)>=4
end
function actor_have_ge8_medkit(talker,target) -- talker - ГГ
return npc_medkit_count(talker)>=8
end
function npc_medkit_count(npc)
local count=0
local iter_func=function (npc,item)
local sect=item:section()
if sect=="medkit" or sect=="medkit_army" or sect=="medkit_scientic" then
count=count+1
end
end
npc:iterate_inventory(iter_func,npc)
return count
end
function transfer_1_medkit(talker,target) -- talker - ГГ
-- mylog("transfer 1")
transfer_n_medkit(talker,target,1)
end
function transfer_2_medkit(talker,target) -- talker - ГГ
-- mylog("transfer 2")
transfer_n_medkit(talker,target,2)
end
function transfer_4_medkit(talker,target) -- talker - ГГ
-- mylog("transfer 4")
transfer_n_medkit(talker,target,4)
end
function transfer_8_medkit(talker,target) -- talker - ГГ
-- mylog("transfer 8")
transfer_n_medkit(talker,target,8)
end
function transfer_n_medkit(talker,target,n)
-- mylog("transfer n")
local count=n
local iter_func=function (npc,item)
local sect=item:section()
if (sect=="medkit" or sect=="medkit_army" or sect=="medkit_scientic") and count>0 then
-- mylog("transfer item " .. count)
npc:transfer_item(item,target)
news_manager.relocate_item(talker, "out", sect)
count=count-1
end
end
talker:iterate_inventory(iter_func,talker)
end