Forum Stalker.pl • Zobacz temat - [LUA] zerowanie pstora

[LUA] zerowanie pstora

Regulamin forum
Dział "Tworzenie Modyfikacji" służy do zadawania pytań odnośnie tworzenia modyfikacji, edytowania plików gry, oraz pisania tzw. tutoriali, czyli poradników odnośnie modyfikowania gry.
Nie zadajemy tutaj pytań odnośnie modyfikacji gotowych (nie dyskutujemy o nich!), prócz prób ich połączenia etc.


Przy cytowaniu plików *.LTX stosować tag [SYNTAX="ini"], przy cytowaniu plików *.script [SYNTAX="lua"] a przy cytowaniu plików *.xml - [SYNTAX="xml"].

[LUA] zerowanie pstora

Postprzez Plaargath w 23 Mar 2015, 13:36

Mam takie pytanie.
Otóż mam callbacka, który się odpala, gdy actor "używa" trupa mutanta. W tym callbacku jest coś na takiej zasadzie:
Kod: [ Pobierz ] [ Ukryj ]
local nie_tykać = xr_logic.pstor_retrieve(obj,"nie_tykać",nil)
if (nie_tykać) then return end
xr_logic.pstor_store(obj,"nie_tykać",true)
 

Dzięki temu użyć trupa mogę ino raz. Efekt uboczny jest taki, że im więcej takich zdarzeń, tym bardziej mnoży się ilość zapisanych w pamięci zmiennych.

Pytanie mam takie:
W momencie kiedy obj, jakim jest truchło, znika z mapy, czy silnik sam wywala pstory z nim związane z pamięci, czy trzeba mu to zrobić ręcznie?
Jeśli ręcznie, to jak to zrobić?
1)
W jakimś callbacku istniejącym, czy trzeba tworzyć nowy (jak?)?
2)
Takie coś:
Kod: [ Pobierz ] [ Ukryj ]
xr_logic.pstor_store(obj,nil,nil)
 

wywali tę zmienną, czy tylko przenicuje na inną (podejrzewam, że to drugie)?
Image Image

Merkantylizm, srerkantylizm.
Awatar użytkownika
Plaargath
Weteran

Posty: 653
Dołączenie: 23 Mar 2010, 15:12
Ostatnio był: 03 Kwi 2022, 22:03
Kozaki: 234

Reklamy Google

Re: [LUA] zerowanie pstora

Postprzez Cromm Cruac w 23 Mar 2015, 16:04

1) na 100% nie wiem, ale pstory są zapisane w tablicy db.storage. np.
Kod: [ Pobierz ] [ Ukryj ]
db.storage[obj_id].pstor[varname]

Przypuszczam, że przy wywalaniu truchła z db.storage znika cały wpis dotyczący danego obiektu, a więc jego pstor wraz z nim.

2)
Kod: [ Pobierz ] [ Ukryj ]
pstor_store(obj,"nie_tykać", nil)

wywali zmienną z pstora
Image

"Twoja opowieść mnie znudziła albowiem nie była o mnie" - Król Julian

Za ten post Cromm Cruac otrzymał następujące punkty reputacji:
Positive Plaargath.
Awatar użytkownika
Cromm Cruac
Modder

Posty: 2541
Dołączenie: 22 Sty 2010, 19:01
Ostatnio był: 26 Lip 2023, 10:13
Miejscowość: Londyn / Bielsko-Biała
Kozaki: 1077


Powróć do Zew Prypeci

Kto jest na forum

Użytkownicy przeglądający to forum: Brak zarejestrowanych użytkowników oraz 1 gość