Rent-System

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!
    Ich versuche derzeit mir selber ein Script zum Mieten von Autos (im Anhang unten Policecars für 15Sekunden) zu erstellen, habe allerdings meine Probleme. Der Command /rentcar funktioniert noch nicht wie ich will und man wird noch nicht nach 15 Sekunden aus dem Auto geworfen.

    #include <a_samp>
    #define COLOR_GREEN 0x00CA00FF
    #define FILTERSCRIPT
    new renttimer;
    public OnFilterScriptInit()
    {
    print("\n--------------------------------------");
    print(" Rent-System");
    print("--------------------------------------\n");
    return 1;
    }


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/rentcar", cmdtext, true, 10) == 0)
    {
    GivePlayerMoney(playerid,-1);
    TogglePlayerControllable(playerid, 1);
    renttimer = SetTimer("rentcar",15000,false);
    }



    }
    public rentcar(playerid)
    {
    if(IsPlayerInAnyVehicle(playerid) == true){
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,COLOR_GREEN,"Die Mietzeit ist vorbei.");
    KillTimer(renttimer);
    }
    return 0;
    }


    public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
    {
    if(GetVehicleModel(vehicleid) == 596){
    TogglePlayerControllable(playerid, 0);
    SendClientMessage(playerid,COLOR_GREEN,"Du kannst dieses Auto mit /rentcar mieten.");
    }
    return 1;
    }


    public OnPlayerExitVehicle(playerid, vehicleid)
    {
    return 1;
    }


    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    return 1;
    }

    Wenn mir da jmd. helfen könnte wäre ich sehr dankbar.

  • #include <a_samp>
    #define COLOR_GREEN 0x00CA00FF
    #define COLOR_RED 0xAA3333AA
    #define FILTERSCRIPT
    new turismo;
    new journey;
    new greenwood;
    new train;
    new burrito;
    new coach;
    new banshee;
    new bullet;
    new reefer;
    new anotherreefer;
    new beagle;
    new renttimer;
    new mietauto;
    public OnFilterScriptInit()
    {
    print("\n--------------------------------------");
    print(" Rent-System");
    print("--------------------------------------\n");
    turismo = AddStaticVehicle(451,521.4819,-1884.0389,2.9543,175.7823,0,1);
    journey = AddStaticVehicle(508,527.7382,-1892.7366,3.0804,40.0446,0,1);
    greenwood = AddStaticVehicle(492,517.9128,-1890.2708,2.3596,271.0002,0,1);
    train = AddStaticVehicle(515,507.6303,-1891.5265,3.0404,305.2104,0,1);
    burrito = AddStaticVehicle(482,515.8115,-1877.8397,3.5063,325.7825,0,1);
    coach = AddStaticVehicle(437,523.9806,-1878.1846,3.6595,30.4993,0,1);
    banshee = AddStaticVehicle(429,510.2533,-1877.4541,3.0302,217.2429,0,1);
    bullet = AddStaticVehicle(541,516.1109,-1872.2650,3.2366,121.5277,0,1);
    reefer = AddStaticVehicle(453,522.4061,-1913.4445,-0.1351,332.3892,0,1);
    anotherreefer = AddStaticVehicle(453,502.3423,-1914.6558,-0.1494,353.5470,0,1);
    beagle = AddStaticVehicle(511,518.8189,-1838.2225,6.3908,180.2943,0,1);
    return 1;
    }


    public OnFilterScriptExit()
    {
    DestroyVehicle(turismo);
    DestroyVehicle(journey);
    DestroyVehicle(greenwood);
    DestroyVehicle(train);
    DestroyVehicle(burrito);
    DestroyVehicle(coach);
    DestroyVehicle(banshee);
    DestroyVehicle(bullet);
    DestroyVehicle(reefer);
    DestroyVehicle(anotherreefer);
    DestroyVehicle(beagle);
    return 1;
    }


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/rentcar", cmdtext, true, 0) == 0)
    {
    new Vehicle = GetPlayerVehicleID(playerid);
    if(Vehicle == turismo || Vehicle == journey || Vehicle == greenwood || Vehicle == train || Vehicle == burrito || Vehicle == coach || Vehicle == banshee || Vehicle == bullet){
    GivePlayerMoney(playerid,-1);
    TogglePlayerControllable(playerid, 1);
    mietauto = Vehicle;
    renttimer = SetTimer("rentcar",15000,false);
    SendClientMessage(playerid,COLOR_GREEN,"Du hast dieses Auto erfolgreich gemietet.");
    }else{
    SendClientMessage(playerid,COLOR_GREEN,"Du bist in keinem Mietauto");
    }
    return 1;
    }


    return 0;
    }
    public rentcar(playerid)
    {
    if(IsPlayerInAnyVehicle(playerid) == true){
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,COLOR_RED,"Deine Mietzeit ist vorbei.");
    DestroyVehicle(mietauto);
    KillTimer(renttimer);
    }
    return 0;
    }


    public OnPlayerStateChange(playerid, newstate, oldstate)
    {
    if(newstate == PLAYER_STATE_DRIVER)
    {
    new mieten[128];
    new Vehicle = GetPlayerVehicleID(playerid);
    if(Vehicle == turismo || Vehicle == journey || Vehicle == greenwood || Vehicle == train || Vehicle == burrito || Vehicle == coach || Vehicle == banshee || Vehicle == bullet){
    TogglePlayerControllable(playerid, 0);
    SendClientMessage(playerid,COLOR_GREEN,"Du kannst dieses Auto mit /rentcar mieten.");
    }
    }
    return 1;
    }


    public OnPlayerExitVehicle(playerid, vehicleid)
    {
    return 1;
    }


    EDIT:


    Sollte nun besser klappen. Jetzt kommt auch du kannst dieses Auto mieten.


    ///////////////////////////////////


    sollte funktionieren :)


    Am Ende der Mietzeit wird das Auto nur zerstört. Aber nicht respawned, weil ich keine Idee hätte das Dynamisch hinzubekommen ;)


    Hoffe ich konnte dir/euch Helfen ;)

    Einmal editiert, zuletzt von GooMan ()

  • so neben bei würde ich kein
    DestroyVehicle sondern SetVehicleToRespawnempfehlen sonst kann kein anderer User mehr das auto mieten^^
    public rentcar(playerid)
    {
    if(IsPlayerInAnyVehicle(playerid) == true)
    {
    RemovePlayerFromVehicle(playerid);
    SendClientMessage(playerid,COLOR_RED,"Deine Mietzeit ist vorbei.");
    SetVehicleToRespawn(mietauto);
    KillTimer(renttimer);
    }
    return 0;
    }