Beiträge von TH4NKFULL

    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

    Ich hatte das auch mal,
    mach mal rmb auf deine pawno.exe, geh auf eigenschaften.
    Auf Kompatibilität und mach nen häckchen an Als Admin ausführen...

    hab die geh anim überlesen...





    Ne stock ist also eigentlich ein string über mehrere zeilen oder hab ich das falsch verstanden


    und bei return, wie kann man mehrere strings aus einem stock returnen lassen, also saven

    Ähhhm, danke, du hast halt noch vergessen ob der Spieler im Vehicle (Heli) ist, weil dann kann er ja höher als MC sein. Und dann mus man noch beachten, wenn der Spieler ausm Heli springt... Ok; das ist seeehr viel ARBEIT :D


    Und wenn der Spieler esc drückt bleibt er in der Luft.. wie kann man abfragen ob der spieler das spiel pausiert hat??

    ich hab mir ein antimoney selbergescripted. Außerdem scripte ich alles selber... Ich brauche nur manchmal eine vorgehensweise als tipp.


    Gibt es aber eine Möglichkeit Airbreak zu erkennen, und zwar nicht da durch, das der Spieler kurz in die luft Teleportiert wird, und geschaut wird, ob er fällt??


    Und kann mir jmd erklären wie stocks gehen, ich versteh das nicht so gaaanz... Und wann wird eine stock ausgelöst, oder wie kann ich sie auslösen...

    Ich hab vor kurzem ein Thema schon dazu erstellt, bitte das lesen. Aber wen ich jetzt 2 Autos auf einmal erstelle, wird das erste zwar dann richtig zerstört
    und spawnt nicht wieder, das zweite auto respawnt aber.. was soll ich tun ??


    Hier mal das Script:
    http://pastebin.com/jGm95Efr


    Ich will einfach nur, das ich Autos erstellen kann, und diese nie, egal ob nach Zeit oder Tod respawnen...


    HILFEE D:

    Also:
    new car[MAX_VEHICLES];


    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if (strcmp("/car", cmdtext, true, 10) == 0)
    {
    new Float:x, Float:y, Float:z;
    GetPlayerPos(playerid, x, y, z);
    car[0] = CreateVehicle(400, x, y, z, 10, -1, -1, -1);
    return 1;
    }
    return 0;
    }




    public OnVehicleDeath(vehicleid, killerid)
    {
    DestroyVehicle(car[0]);
    return 1;
    }




    NUR ALS TUTORIAL, ES FUNKTIONIERT

    Ja, das Auto respawnt aber trozdem wenn es kaputt geht, wenn niemand drin sitzt dann respawnt es nicht, bzw. das bewirkt der respawn delay.
    Ich will aber, das auch wenn das Fahrzeug zerstört wird, das es nicht respawnt.

    Wenn ich bei CreateVehicle das respawn_delay auf -1 setze, respawnt das Auto trotzdem, sobald es zerstört ist. Wie kann ich
    ein Auto aber nie respawnen lassen??
    (Ist für ein Autohaussystem, das die Autos die Kaputtgehen nicht einfach vor dem Haus respawnen)
    Ich brauche eure hilfe...