Witam. Mam kłopot z taką oto funkcją. Otóż potrzebuję, żeby mój item - nazwijmy go item1 - po wyrzucenia z plecaka zmieniał się w item2, a przy podniesieniu z powrotem w item1.
Banał, wydawałoby się: szukamy odpowiednich callbacków w bind_stalkerze i pod actor_on_item_drop(obj) i actor_on_item_take(obj) walimy odwołania do innej fukncji, w której:
przy upuszczeniu:
if obj:section() == "item1" then
alife():release(alife():object(obj:id()))
alife():create("item2",vector():set(actor_position.x,actor_position.y,actor_position.z),lv,gv) --<-- tu wektor odpowiednio, żeby było obok actora
end
no i gitara. Wszystko śmiga, w plecaku item1, a na ziemi item2, można się cieszyć.
Problem pojawia się, kiedy item1 chcę włożyć do schowka. Efekt: CTD bez loga, za który odpowiedzialna jest linijka z alife release.
Czy ktoś ma pomysł, jak obejść tę zacność XRay'a?
Może gdyby się jakoś dało skodzić, żeby widział różnicę między dropem a transferem do inv-box'a, możnaby to rozbić na dwie różne funkcje (pierwszą zostawić, jak jest, a drugą jakąś, która by zapełniała używany box o item2)? Nie mam pojęcia, jak to ugryźć... Bardzo będę wdzięczny za pomoc.