Problem mit der /linie

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
  • Guten abend,


    Und zwar habe ich ein Problem.


    Wenn ich /linie für Busfahrer eingebe, such ich mir eine linie aus.
    Und wenn ich es direkt nochmal mache bekomm ich eine weitere Linie dazu.


    Wie kann ich es setzten das man nur 1 Linie fahren kann ?


    Code:

    Spoiler anzeigen

    if(strcmp(cmdtext,"/linie", true) == 0)
    {
    if(PlayerInfo[playerid][pJob] == 14)
    {
    new tmpcar = GetPlayerVehicleID(playerid);
    if(GetVehicleModel(tmpcar) == 431 || GetVehicleModel(tmpcar) == 437 &&(GetPlayerState(playerid)==PLAYER_STATE_DRIVER))
    {
    ShowPlayerDialog(playerid,DIALOG_Buslinien,DIALOG_STYLE_LIST,"Buslinien","Los Santos - Stadtlinie\nLos Santos - Stadtlinie 1\nLos Santos - Stadtlinie 2\nLos Santos - Stadtlinie 3\nLos Santos - San Fierro Rundfahrt\nLos Santos - Las Venturas Rundfahrt","Wählen","Schließen");
    return 1;
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"Sie müssen in einem Bus sein.");
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_LIGHTRED, "Sie haben bereits eine Buslinie angefangen");
    }
    }



    Mit freundlichen Grüßen
    Toni_Price

  • Am besten machst du dir eine globale Variable:
    new usedBusLine[MAX_PLAYERS];


    Dann wenn du eine Linie auswählst machst du folgendes:
    usedBusLine = 1;


    Und dann wenn du /linie eingibst fragst du das ganze ab, bspw.:
    if(usedBusLine != 0) return SendClientMessage(playerid, 0xffffffff, "Du hast bereits eine Linie ausgewählt!");


    Wenn du aber möchtest das die Linie direkt gelöscht werden soll machst du das ganze bspw. so:
    if(usedBusLine != 0) return usedBusLine = 0;



  • Jetzt kannse mir bestimmt noch sagen wo alles rein kommt ? :>

  • Wurde doch soweit beschrieben, die globale Variable kommt irgendwo hin (Ausserhalb von Funktionen am besten nach ganz oben), Die Setzung des ganzen "usedBusLine = 1;" kommt dann dort hin wo die Linie ausgewählt wurde & der Rest unter /linie.