Czysto teoretycznie to dla CoP powinno wyglądać to tak:
death_manager.script
--printf("item name [%s]", item:name())
if isOutfit(item)
set_outfit_drop_condition(item)
return
end
function set_outfit_drop_condition(item)
local condition = (math.random(15))/100
--printf("condition [%s]", tostring(condition))
item:set_condition(condition)
end
W math.random ustawione jest wylowoanie wartości od 0 do 15.
Teraz pozostaje tylko dodać pancerze do
character_desc z parametrem
prob=szansa*.
Powinno to wyglądać mniej więcej tak:
<supplies>
[spawn] \n
device_torch \n
wpn_toz34 \n
ammo_12x70_buck \n
wpn_pm \n
ammo_9x18_fmj \n
novice_outfit, prob=0.005 \n
Jeśli będzie ustawiona niska szansa na pojawienie się pancerza to raczej można oszczędzić sobie usuwanie możliwości zlootowania ich przez NPC.
Bolesne może być dodawanie odpowiedniego pancerza do odpowiadającego modelowi NPC, ale chwilowo nie jestem w stanie napisać skryptu, który robiłby tą rzecz za nas.
Ostatnio liznąłem trochę C++, może za kilka miesięcy przyjdzie też czas na Lua...
szansa* - liczba w przedziale <1, 0); 1=100%, 0.5=50% itd.