/Roller befehl, Roller respawnt nicht nach dem Verlassen des Servers.

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
  • Hallo alle zusammen


    Ich habe einen "/Roller" Befehl zum Spawnen eines Rollers für unter Level 2 oder Level 2 Spieler jetzt habe ich aber das Problem das ich beim Testen ein Crash bekommen habe und der Roller da steht und nicht mehr despawnt bzw immer da Spawnt bis zum nächsten Server start.


    Jetzt wollte ich fragen ob da jemand bescheid weiß.


    //Roller
    new MeinRoller[MAX_PLAYERS];


    public OnPlayerConnect(playerid)
    {
    MeinRoller[playerid] = INVALID_PLAYER_ID;
    return 1;
    }


    if (strcmp("/Roller", cmdtext, true, 10) == 0)
    {
    //if(PlayerInfo[playerid][pLevel] > 2) return SendClientMessage(playerid, Rot,"Du bist über Level 2 und kannst dir deshalb keinen weiteren Roller mieten"); // über lvl 2
    new Float: X, Float:Y, Float:Z;
    GetPlayerPos(playerid,X,Y,Z);
    if(MeinRoller[playerid] != INVALID_VEHICLE_ID){
    DestroyVehicle(MeinRoller[playerid]); MeinRoller[playerid] = INVALID_PLAYER_ID;
    }
    else MeinRoller[playerid] = CreateVehicle(462, X,Y,Z,0, 0, 1, 120);
    return 1;
    }


    Hoffe auf schnelle antwort.


    mfg
    Smile325

  • Ich finde das ergibt keinen genaueren sinn, wieso arbeites du den mit INVALID_PLAYER_ID ?
    Erstelle dir doch einfach ein PVar - Integer.
    Den nennst du z.B "Roller"
    Und dann schreibst du deinen Befehl so:
    if(!strcmp(cmdtext, "/roller", true))
    {
    //if(PlayerInfo[playerid][pLevel] > 2) return SendClientMessage(playerid, Rot,"Du bist über Level 2 und kannst dir deshalb keinen weiteren Roller mieten"); // über lvl 2
    new Float: X, Float:Y, Float:Z; GetPlayerPos(playerid,X,Y,Z);
    if(GetPVarInt(playerid, "Roller") == 0){
    MeinRoller[playerid] = CreateVehicle(462, X,Y,Z,0, 0, 1, 120), SetPVarInt(playerid, "Roller", 1);}
    else {
    DestroyVehicle(MeinRoller[playerid]), SetPVarInt(playerid, "Roller", 0);}
    return 1;
    }


    public OnPlayerDisconnect(playerid, reason)
    {
    if(GetPVarInt(playerid, "Roller") == 1) { DestroyVehicle(MeinRoller[playerid]), DeletePVar(playerid, "Roller"); }
    return 1;:
    }


    Das sollte ganz gut Funktionieren :thumbup:


    Mit freundlichen Grüßen,


    MrPawn

    Einmal editiert, zuletzt von Kasakow ()