PickUp ID's verschieben sich

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
  • Hi!


    Nach längerer Pause von SAMP scripte ich nun seit einer Woche wieder an einem kleinen Gamemode für Freunde, doch ich habe einiges schon wieder vergessen.


    Mein Problem ist, dass sich die PickupID's verschieben, hatte dieses Problem früher schon mal aber weiß nicht mehr, wie ich es behoben habe. Muss ich irgendetwas besonderes machen, wenn ich ein Pickup zerstöre? Ich erstelle sie ganz normal mit CreatePickup und setze sie in eine Variable, aber beim OnPlayerPickUpPickup Callback wird die Abfrage dann irgendwie verschoben.


    Ich habe wohl schon gesucht, aber keine vernünftigen Antworten gefunden.


    Soll ich Codeausschnitte posten, oder handelt es sich um einen Anfängerfehler, den ihr mir schon sagen könnt?


    MfG CC

  • Genau so ist es.


    es handelt sich um ein Health Pickup, das alle 1 1/2 Minuten an einer anderen Stelle der Map spawnt.


    new DasPickup;


    public OnPlayerPickUpPickup(playerid, pickupid)
    {
    if(pickupid == DasPickup)
    {
    new Float:health;
    GetPlayerHealth(playerid,health);
    SetPlayerHealth(playerid,health + 45);
    DestroyPickup(DasPickup);
    DasPickup = -1;
    }
    else if(.....
    ....
    }



    public OnServerTimer()
    {
    new rPickup;
    rPickup = random(sizeof(RandomPickups));
    DestroyPickup(DasPickup);
    //DasPickup = -1;
    DasPickup = CreatePickup(1240,2,RandomPickups[rPickup][0],RandomPickups[rPickup][1],RandomPickups[rPickup][2],-1);


    return 1;
    }