Actor mit Playerid verbinden

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Grüße!


    Ich habe wie mir empfohlen meine Actor mit der Playerid des Spielers verbunden um diese dynamisch zu erstellen und zu vernichten.
    Wenn ich jetzt aber mit Spieler 1 einen Actor erstelle und danach mit Spieler 2 einen erstelle wird Actor 1 vernichtet und Actor 2 erstellt.
    Weiß jemand was ich falsch gemacht habe?


    Der Code:



    Code
    new MyActor[MAX_PLAYERS];
    
    
    DestroyActor(MyActor[playerid]);
    CreateActor(MyActor[playerid]);


    Es soll eben nur der Actor der eigenen Playerid zerstört werden bei Neuerschaffung.

  • Prüfe mit -1, ob der Actor existiert.

    C
    new MyActor[MAX_PLAYERS] = {-1,...};


    C
    if(MyActor[playerid] != -1) DestroyActor(MyActor[playerid]);
    MyActor[playerid] = CreateActor(...);


    Wenn du (z.B. bei OnPlayerDisconnect) den Actor nur löschst, dann so:

    C
    if(MyActor[playerid] != -1) DestroyActor(MyActor[playerid]);
    MyActor[playerid] = -1;