Ticketkauf help pls

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 Tag,


    Habe ein NPC erstellt, der einen Bus fährt.
    Nun habe ich ein Dialog gemacht, der angezeigt wird, wenn man in den bus einsteigt.
    nun läuft ein timer für 8 sek. (das ist die zeit um ein ticket zu kaufen)...
    wenn man dann auf abbrechen drückt wird er natürlich rausgeworfen.
    doch wenn man nun auf kaufen drückt dann auch!....warum??


    hier der Code:

    //Dialog
    #define DIALOG_TICKETKAUF 20
    //Ticketkauftimer
    forward Ticketkauftimer(playerid);



    //NPCs

    //BusSF1
    if(newstate==PLAYER_STATE_PASSENGER)
    {
    for(new i=0; i<sizeof(botautobussf1); i++)
    {
    if(GetPlayerVehicleID(playerid)==botautobussf1[i])
    {
    ShowPlayerDialog(playerid,DIALOG_TICKETKAUF,DIALOG_STYLE_MSGBOX,"Ticketkauf","Möchtest du ein Ticket für $20 kaufen?","Kaufen","Abbrechen");
    SetTimerEx("Ticketkauftimer",8*1000,0,"i",playerid);
    }
    }
    }



    if(dialogid==DIALOG_TICKETKAUF)
    {
    if(response==1)
    {
    GivePlayerMoney(playerid, -20);
    KillTimer(Ticketkauftimer(playerid));
    return 1;
    }
    if(response==0)
    {
    SendClientMessage(playerid, ROT, "Du wolltest kein Ticket kaufen und der Fahrer hat dich rausgeworfen!");
    RemovePlayerFromVehicle(playerid);
    return 1;
    }
    }



    //Ticketkauftimer
    public Ticketkauftimer(playerid)
    {
    RemovePlayerFromVehicle(playerid);
    return 1;
    }



    Bitte um hilfe


    Danke
    Scripter4.0

    Scripter im Ruhestand.

  • wie währs dann man wenn du den Timer beim kaufen killst?
    das ist wohl dein Problem

  • SetTimerEx("Ticketkauftimer",8*1000,0,"i",playerid);


    da hast du wohl nen fail da deine wariante nicht geht machs ma so


    new timerXXX;


    timerXXX = SetTimerEx("Ticketkauftimer",8*1000,0,"i",playerid);


    KillTimer(timerXXX);