1.
Musisz dodać callback, żeby gra zareagowała na użycie itema. Można popatrzeć, jak to jest w LURKu zrobione, lurk_inv_effects.script jest zakotwiczony w skrypcie bind_stalker.script.
W funkcji actor_binder:net_destroy() dopisujesz tam do już istniejących callback'a:
self.object:set_callback(callback.use_object, nil)
W funkcji actor_binder:reinit() dopisujesz do już istniejących callback'a:
self.object:set_callback(callback.use_object, self.use_object, self)
A na koniec funkcję, która się wykona na callback'u:
function actor_binder:use_object(obj)
twoj_skrypt.pseudo_upgrade(obj)
end
2.
tworzysz twoj_skrypt.script i walisz cos w ten desen:
function pseudo_upgrade(obj)
if (db.actor~=nil) and (obj~=nil) then
if obj:section() == "item1" then
if db.actor:item_in_slot(6) ~= nil then
local ciuchy_teraz = db.actor:item_in_slot(6) and db.actor:item_in_slot(6):section()
if ciuchy_teraz:section() == "bandit_outfit" then
ciuchy_id = db.actor:item_in_slot(6):id()
alife():release(alife():object(ciuchy_id),true)
alife():create("item2",db.actor:position(),db.actor:level_vertex_id(),db.actor:game_vertex_id(),db.actor:id())
end
end
end
end
end