Gamestudio Links
Zorro Links
Newest Posts
Newbie Questions
by fairtrader. 12/06/23 11:29
Zorro Trader GPT
by TipmyPip. 12/04/23 11:34
Square root rule
by Smallz. 12/02/23 09:15
RTest not found error
by TipmyPip. 12/01/23 21:43
neural function for Python to [Train]
by TipmyPip. 12/01/23 14:47
Xor Memory Problem.
by TipmyPip. 11/28/23 14:23
Training with command line parameters
by TipmyPip. 11/26/23 08:42
Combine USD & BTC Pairs In Asset Loop
by TipmyPip. 11/26/23 08:30
AUM Magazine
Latest Screens
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Tactics of World War I
Who's Online Now
7 registered members (fairtrader, Quad, miwok, Martin_HH, AndrewAMD, alibaba, dpn), 581 guests, and 0 spiders.
Key: Admin, Global Mod, Mod
Newest Members
fairtrader, hus, Vurtis, Harry5, KelvinC
19019 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
Nicht existierende Entity führt zum Absturz? #269959
06/05/09 10:37
06/05/09 10:37
Joined: Mar 2007
Posts: 1,852
A
alpha_strike Offline OP
Serious User
alpha_strike  Offline OP
Serious User
A

Joined: Mar 2007
Posts: 1,852
Hallo, ich habe für alle einen Tipp, die mit Abstürzen wegen Zugriffen auf nicht existierende Entities zu kämpfen haben.

Wenn ich aus einem Objekt auf ein anderes zugreifen will,
dann kann ich dieses zu überprüfende Objekt vorher in einen Pointer abspeichern.

Wenn die Abfrage "if (ptr_for_handle(mein_pointer)==0)" erfüllt ist, dann bedeutet dies, daß die abzufragende Entity nicht mehr existiert - und somit keine Daten mehr abgerufen werden dürfen, die dann zum Absturz führen.

Grund für dieses Vorgehen... unter C-Skript war es ja schegal, ob ein you-Objekt noch existiert hat oder nicht. Die Engine kam nicht zum Absturz.
Unter l-C führen aber Zugriffe auf nicht (mehr) existierende Entities zum Absturz.


Als Beispiel... in meinem Zombie-Spiel sind die Modelle zusammengebaut - wobei das Hauptobjekt (bei mir der Torso) alle anderen Objekte (Kopf, Arme, Beine) ständig kontrolliert und ansteuert.

Wenn aber z.B. der Kopf nicht mehr existiert, weil er abgeschossen wurde, dann würde die Ansteuerung des Kopfmodells vom Torso aus, zum Absturz führen.

Wenn ich aber vorher einen pointer setze für den Kopf und diesen Pointer dann auf 0 überprüfe - dann steuer ich den Kopf erst gar nicht mehr an.






Last edited by alpha_strike; 06/05/09 10:44.
Re: Nicht existierende Entity führt zum Absturz? [Re: alpha_strike] #269963
06/05/09 10:49
06/05/09 10:49
Joined: Oct 2002
Posts: 806
Zapan@work Offline
User
Zapan@work  Offline
User

Joined: Oct 2002
Posts: 806
Normalerweise setzt man die Pointer der entfernten Entity händisch auf NULL. Um dann zu prüfen ob ein Pointer "gültig" ist oder nicht, wird dann geprüft ob er NULL ist oder nicht. Bei NULL wird dann davon ausgegangen das er nicht mehr existiert.

Re: Nicht existierende Entity führt zum Absturz? [Re: Zapan@work] #269967
06/05/09 10:55
06/05/09 10:55
Joined: Mar 2007
Posts: 1,852
A
alpha_strike Offline OP
Serious User
alpha_strike  Offline OP
Serious User
A

Joined: Mar 2007
Posts: 1,852
Das mit dem "NULL-setzen" hat vor einiger Zeit nicht geklappt. Frag mich nicht warum. Naja, trotzdem - die Lösung mit dem Pointer funkt auch.
Btw... mach´ ma´ vid hoch :-)

Re: Nicht existierende Entity führt zum Absturz? [Re: alpha_strike] #271121
06/11/09 10:56
06/11/09 10:56
Joined: Nov 2008
Posts: 946
T
the_clown Offline
User
the_clown  Offline
User
T

Joined: Nov 2008
Posts: 946
Originally Posted By: alpha_strike

Btw... mach´ ma´ vid hoch :-)


laugh ...


EDIT: Alternativ kann man ja auch skills oder Variablen nutzen, die speichern, ob der Kopf noch da ist oder nicht, und dann per if-Konstruktion der Absturz vermeiden, z.B:

if(head_active == 1)
{
.....

Last edited by the_clown; 06/11/09 12:31.

Moderated by  adoado, checkbutton, mk_1, Perro 

Gamestudio download | chip programmers | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1