Bot /ticket Fahrgeld

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,


    (2 Dinge/Hilfe/Wunsch)


    Erstens;
    Ich hab mir ein Taxi Bot erstellt. Der fährt von Airport zur Stadt halle.
    Jetzt möchte ich das so machen das wen man im Taxi einsteigt das da steht
    Gib /taxiticket ein damit du dem Fahrer Fahrgeld gibst
    Erst dann soll er los fahren.


    Und/Oder(wen ersterwunsch nicht geht)



    Zweites
    Wen das oben nicht geht soll man /taxiticket eingeben umd sich so gesagt eine fahrt kaufen.
    Wen man es nicht macht wird man nach 15-20Sek. raus geschmießen. Das Ticket kann man nur 1x Benutzen.
    bzw. nach jede fahr muss man sich immer ein neues Ticket kaufen.


    Text halt wie Mit /taxtticket Kaufst du dir ein ticket
    Nicht gekauft Der Fahrer schmeißt dich raus, da du kein Ticket hast!
    Gekauft Vielen Dank ich wünsche ihnen eine Angenehme Fahrt!



    /EDIT; Für GF

  • erstrell eine Variable und frage ab wenn der Spielerden Bot betritt ob die Variable auf 1 ist.
    Wenn nicht wird er rausgeschmissen und du kannst die variable auf 1 setzen indem du zb das ticket mit einem Befehl kaufst.

  • Als erstes die Variable:


    new TicketGekauft[MAX_PLAYERS];


    Gibt der Spieler den CMD ein musst du folgendes machen:


    TicketGekauft[playerid] = 1;


    Jetzt mit einem Timer, der 10 Sekunden nach dem Einsteigen prüft, ob man den CMD eingegeben hat.


    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    if(vehicleid == Bus) // hier "Bus" durch dein Fahrzeug ersetzen
    {
    SetTimerEx("PruefeTicket",10000,0, "i",playerid);
    }
    return 1;
    }


    forward PruefeTicket(playerid);
    public PrufeTicket(playerid)
    {
    if(vehicleid == Bus) // hier "Bus" durch dein Fahrzeug ersetzen
    {
    if(TicketGekauft[playerid] == 1) // Ticket wurde gekauft...
    {
    TicketGekauft[playerid] = 0;
    // ... was passieren soll
    }
    else // Wurde nicht gekauft
    {
    // was passieren soll
    RemovePlayerFromVehicle(playerid);
    }
    }
    return 1;
    }


    //Edit: Schreibfehler verbessert...

    mfg RedDragon 8)


    Was ist GFKD?


    Ein revolutionärer Clan, dessen Eröffnung kurz bevorsteht.
    Mehr Informationen folgen bald.

  • C:\Reallife.pwn(2639) : error 010: invalid function or declaration
    C:\Reallife.pwn(2644) : error 010: invalid function or declaration
    C:\Reallife.pwn(34941) : error 017: undefined symbol "vehicleid"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    3 Errors.



    Die einen Zeilen
    if(vehicleid == Bus) //Zeile 2639
    {
    SetTimerEx("PruefeTicket",10000,0, "i",playerid);
    GameTextForPlayer(playerid,"~g~Kauf dir ein Ticket~n~~r~/bus ticket", 3500, 1);
    }
    return 1;//Zeile 2644
    }



    //EDIT:
    Huer die anderen Zeile
    public PrufeTicket(playerid)
    {
    if(vehicleid == Bus) //ZEILE 34941
    {
    if(BusTicket1[playerid] == 1) // Ticket wurde gekauft...
    {
    BusTicket1[playerid] = 0;
    GameTextForPlayer(playerid,"~g~Du wirst vom Schaffner Kontrolliert", 3500, 1);
    SendClientMessage(playerid, COLOR_YELLOW, "Schaffner sagt; Ihr Ticket Ist ok.");
    }

  • C:\Reallife.pwn(2639) : error 010: invalid function or declaration
    C:\Reallife.pwn(2644) : error 010: invalid function or declaration
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


    3 Errors.



    Hier Zeile 2639 und 2644
    if(vehicleid == BusL1Bot) //Zeile 2639
    {
    SetTimerEx("PruefeTicket",10000,0, "i",playerid);
    GameTextForPlayer(playerid,"~g~Kauf dir ein Ticket~n~~r~/bus ticket", 3500, 1);
    }
    return 1; //Zeile 2644
    }


    //EDIT;


    Mit new vehicleid = GetPlayerVehicleID(playerid); Fehler behoben

  • Hab nur noch 2 Errors
    C:\Reallife.pwn(2639) : error 010: invalid function or declaration
    C:\Reallife.pwn(2644) : error 010: invalid function or declaration


    Hier wo die Errors sind:
    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    if(GetVehicleModel(vehicleid) == 432 || GetVehicleModel(vehicleid) == 425 || GetVehicleModel(vehicleid) == 520)
    {
    if(IsPlayerInFrac(playerid,3) || PlayerInfo[playerid][pLeader] == 7) { }
    else
    {
    GameTextForPlayer(playerid,"~y~~h~Du hast keinen Schluessel fuer~n~~y~~h~ dieses Auto!", 3500, 1);
    FreezePlayer(playerid);
    }
    }
    return 1;
    }
    //Bus ticket Ansage Beim einsteigen
    if(vehicleid == Bus) //Zeile 2639
    {
    SetTimerEx("PruefeTicket",10000,0, "i",playerid);
    GameTextForPlayer(playerid,"~g~Kauf dir ein Ticket~n~~r~/bus ticket", 3500, 1);
    }
    return 1; //Zeile 2644
    }

  • public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    if(GetVehicleModel(vehicleid) == 432 || GetVehicleModel(vehicleid) == 425 || GetVehicleModel(vehicleid) == 520)
    {
    if(IsPlayerInFrac(playerid,3) || PlayerInfo[playerid][pLeader] == 7)
    {
    return 1;
    }
    else
    {
    GameTextForPlayer(playerid,"~y~~h~Du hast keinen Schluessel fuer~n~~y~~h~ dieses Auto!", 3500, 1);
    FreezePlayer(playerid);
    }
    }
    //Bus ticket Ansage Beim einsteigen
    if(vehicleid == Bus) //Zeile 2639
    {
    SetTimerEx("PruefeTicket",10000,0, "i",playerid);
    GameTextForPlayer(playerid,"~g~Kauf dir ein Ticket~n~~r~/bus ticket", 3500, 1);
    }
    return 1; //Zeile 2644
    }


  • Ok, nur noch 1 Warning bei


    C:\Reallife.pwn(2637) : warning 217: loose indentation
    if(vehicleid == Bus)





    Dan noch eine weiter frage Wen jetzt mehrer Fahrzeuge/bus auf 1 laufen lassen will muss ich


    if(vehicleid == Bus || vehicleid == Bus2) //|| USW..)
    'Machen und das selbe bei Pruefeticket?