Fahrräder zum Mieten

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 liebe Community!
    Ich wollte fragen ob mir jemand helfen kann.
    Ich will Fahrräder am Noobspawn zum Mieten machen.
    Also man steigt auf ein Fahrrad und man bekommt eine Nachricht z.b: Benutze /rent bike um dir das Fahrrad zu mieten.
    Wenn man diesen Befehl eingegeben hat,kann man mit dem Fahrrad für 20 Minuten fahren und dann soll es zurück gespawnt werden.


    Ich hoffe mir kann jemand helfen oder sagen wie mann so etwas machen kann .


    Mit freundlichen Grüßen
    Bennx


  • if(strcmp(cmdtext,"/blablabla",true)==0)
    {
    if(IsPlayerInRangeOfPoint(playerid,10.0,1681.8767,-1629.0044,13.5469)) // wo es gehen soll
    {
    new vehicleid;
    vehicleid = GetPlayerVehicleID(playerid);
    //
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid, x, y, z);
    //
    vehicleid = CreateVehicle(462,x,y,z,0.0,-1,-1,-1); // die id deines Fahrrad
    //
    GivePlayerMoney(playerid,-100); //kosten
    SetVehicleNumberPlate(vehicleid,"Roller"); //nummernschild
    SetVehicleToRespawn(vehicleid);
    PutPlayerInVehicle(playerid,vehicleid,0);
    SendClientMessage(playerid,0xF5FF00FF,"Viel Spaß mit deinem Roller!");
    print("[ACHTUNG]Ein Roller wurde gemietet!");
    }
    return 1;
    }

  • Fehlt nur noch das mit dem zurückspawnen ^^


    Das so:
    Ganz oben:

    #define MAX_FAHRRAD 123;
    forward spawnback(vehicleid);
    new gemietet[MAX_FAHRRAD];



    zu guter letzt nen Public machen um das Fahrrad zurückzuspawnen:
    public spawnback(vehicleid) {
    SetVehicleToRespawn(vehicleid); //RemovePlayerFromVehicle nicht nötig, da der Spieler automatisch "absteigt" wenn es respawnt wird.
    gemietet[vehicleid] = 0;
    return 1;
    }


    joa das wars eigentlich^^



    //Edit das mit dem Aufsteigen:
    //Edit2: paar was noch geändert



    OnPlayerEnterVehicle(playerid,vehicleid) {
    if(GetVehicleModel(vehicleid) == Fahhradmodel) {
    SendClientMessage(playerid,COLOR_ROT,"Um das Fahhrad zu mieten gebe /mieten ein.");
    RemovePlayerFromVehicle(playerid); // Zufrieden?
    }
    return 1;
    }


    if(strcmp(cmdtext,"/blablabla",true)==0)
    {


    if(!IsPlayerInAnyVehicle(playerid))return SendClientMessage(playerid,COLOR_ROT,"Du bist auf keinem Fahhrad.");

    vehicleid = GetPlayerVehicleID(playerid);
    if(gemietet[vehicleid] == 1)return SendClientMessage(playerid,COLOR_ROT,"Das Fahhrad ist bereits vermietet.");
    GivePlayerMoney(playerid,-100); //kosten
    SetVehicleNumberPlate(vehicleid,"Roller"); //nummernschild
    SendClientMessage(playerid,0xF5FF00FF,"Viel Spaß mit deinem Fahhrad!");
    print("[ACHTUNG]Ein Fahhrad wurde gemietet!");
    gemietet[vehicleid] = 1;
    SetTimerEx("spawnback",1200000,false,"i",vehicleid);
    }
    return 1;

    Einmal editiert, zuletzt von mbcool ()


  • wo ist da der fehler??


    richtig! man bekommt zwar die meldung, kann aber ohne zu mieten fahren UND was noch viel wichtiger ist, dass passiert auch bei jedem fahrrad. also ist das nicht wirklich korrekt.