Rent 'A' CAR

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
  • Hallihallo,


    ich bin dabei ein /rent befehl zu machen. Ich zeig euch den code, ich weis nicht wie ichs erklären soll:


    Die Variablen für den Befehl gelten da für alle Spieler, also wenn einer das bike mietet, ist es für alle gemitet usw.


    Schaut euch bittte das script an und verbessert es und erklärt auch [mir ganz WICHTIG] was falsch war...


    der code:


    //news
    new vehicle;
    new rented = 0;
    new rentedcar;
    forward rent(playerid);




    //die commands


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


    if(vehicle >= 0 && vehicle <= 6)
    {
    if(rented == 1)
    {
    SendClientMessage(playerid, Rot, "Du mietest bereits ein Fahrzeug, warte bis der vertrag ausläuft");
    }
    else
    {
    if(GetPlayerMoney(playerid) < 100)
    {
    SendClientMessage(playerid, Rot, "Du hast nicht 100 Euro");
    }
    else
    {
    SetTimer("rent", 5000, false);
    rented=1;


    rentedcar = GetPlayerVehicleID(playerid);
    GivePlayerMoney(playerid, -100);
    PutPlayerInVehicle(playerid,vehicle,0);
    TogglePlayerControllable(playerid,1);


    }
    }
    }


    else
    {
    SendClientMessage(playerid, Rot, "Dieses Fahrzeug kannst du nicht mieten!");
    }
    return 1;
    }
    if (strcmp("/cancel", cmdtext, true, 10) == 0)
    {
    RemovePlayerFromVehicle(playerid);
    TogglePlayerControllable(playerid,1);
    //SetTimer(rent, 1000*60*20, false);
    return 1;
    }


    //timer public


    public rent(playerid)
    {
    RemovePlayerFromVehicle(playerid);
    SetVehicleToRespawn(vehicle);
    rented = 0;
    return 1;
    }



    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    if(oldstate == PLAYER_STATE_ONFOOT && newstate == PLAYER_STATE_DRIVER)
    {
    vehicle = GetPlayerVehicleID(playerid);
    if(vehicle >= 0 && vehicle <= 6)
    {


    if(rentedcar != GetPlayerVehicleID(playerid))
    {
    TogglePlayerControllable(playerid,0);
    SendClientMessage(playerid, 0x376800FF, "Benutze /rent um den Roller für 100 Euro zu 20 min zu mieten");
    SendClientMessage(playerid, 0x376800FF, "Benutze /cancel um den Roller nicht zu mieten");


    }
    }
    }
    if(oldstate == PLAYER_STATE_DRIVER && newstate == PLAYER_STATE_ONFOOT)
    {
    TextDrawHideForPlayer(playerid, carnamedraw);
    }
    return 1;
    }


    BZW: pastebin: http://pastebin.com/1nXyNHvC