Beiträge von Keslo

    Du musst %d nutzen, da GetTickCount nur mit ganzen Zahlen arbeitet.
    Da dein Befehl in unter 1ms fertig ist, kommt 0 raus.


    Du müsstest den Befehl per Schleife 10000 (oder mehr/weniger - je nach dem) mal ausführen, und dann den Wert durch 10000 Teilen, um die genaue Laufzeit zu bekommen.

    Ah danke, sehr ausführlich ausgedrückt :)

    Hallo,


    Ich habe eine frage.


    Wen ich jetzt Fahrschul Autos im Script erstelle.
    Wie kann man die nicht betretbar machen erst betretbar machen wen er /fahrschein macht und dafür bezahlt.
    Wen er im Auto sitzt das Checkpoints erscheinen?

    Du setzt am besten eine Bool-Variable auf true, sobald er bezahlt hat. Dann fragst du ab, bei OnPlayerEnterVehicle, oder OnPlayerStateChange, ob diese Variable auf true ist, wenn ja darf er rein.

    new tick = GetTickCount();//Code...printf("Der Befehl hat %d Millisekunden gedauert.", GetTickCount()-tick);

    Danke erstmal!
    Es klappt nur halb, er gibt mir immer aus, selbst bei %.10f, dass er 0,000000 millisekunden braucht, also entweder hat es tatsächlich keine verzögerung, oder irgendwas stimmt nicht..


    Beispielswiese bei dem Befehl:




    ocmd:sethp(playerid,params[])
    {
    new tick = GetTickCount();
    if(Spieler[playerid][Adminlevel] < 2)return SendClientMessage(playerid,COLOR_GRAD2,"* Du besitzt nicht die benötigten Rechte.");
    new pID,leben,string[128];
    if(sscanf(params, "ui",pID,leben))return SCM(playerid,COLOR_GRAD2,"** FEHLER: /sethp [ID/Name] [Leben]");


    if(leben < 0|| leben > 200) return SendClientMessage(playerid, COLOR_LIGHTRED, "Das Leben kann nicht unter 1 und über 200 sein.");
    SetPlayerHealth(pID,leben);
    format(string,sizeof(string),"** Du hast das Leben/die HP von %s auf %d geändert",SpielerName(pID),leben);
    SendClientMessage(playerid,COLOR_ORANGE,string);


    format(string,sizeof(string),"** Dein Leben wurde von %s auf %d geändert.",SpielerName(playerid),leben);
    SendClientMessage(pID,COLOR_ORANGE,string);

    format(string,sizeof(string),"Der Befehl hat %.10f ms gedauert.",GetTickCount()-tick);
    SCM(playerid,COLOR_RED,string);
    return 1;
    }

    Wenn du Lust hast, meld dich doch bei mir per PN :) Habe dir schon etwas geschrieben.


    Hier hast du mein Grab-System:




    ocmd:freefromcar(playerid,params[])
    {
    if(Spieler[playerid][vTeam] != 9)return SendClientMessage(playerid,COLOR_GRAD2,"* Du bist kein Wheelman.");
    new string[64],pID;
    if(sscanf(params, "u", pID))return SendClientMessage(playerid, COLOR_GRAD2, "** FEHLER: /freefromcar [SpielerID/Name]");
    if(GetDistanceBetweenPlayers(playerid,pID) <= 8)
    {
    if(pID == playerid)return SendClientMessage(playerid, COLOR_GRAD2, "* Du kannst dich selber nicht befreien.");
    if(GetPlayerState(pID) == PLAYER_STATE_DRIVER)return SendClientMessage(playerid, COLOR_GRAD2, "* Der Spieler darf nicht der Fahrer sein.");
    if(Cuffed[pID] == 0)return SendClientMessage(playerid,COLOR_GRAD2,"* Der Spieler muss gefesselt sein.");


    if(AktuellerAuftrag[playerid] == pID)
    {
    format(string, sizeof(string), "* Jemand versucht %s in sein Fahrzeug zu ziehen.", SpielerName(pID));
    ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
    SetTimerEx("rgrabtimer",1000*7,0,"ii",playerid,pID);
    }
    else
    {
    SendClientMessage(playerid,COLOR_GRAD2,"* Der Spieler ist nicht dein Kunde.");
    }
    }
    else
    {
    SendClientMessage(playerid,COLOR_GRAD2,"* Der Spieler ist nicht in deiner Nähe.");
    }
    return 1;
    }


    forward rgrabtimer(playerid,playerid2);
    public rgrabtimer(playerid,playerid2)
    {
    if(GetDistanceBetweenPlayers(playerid,playerid2) <= 8)
    {
    RemovePlayerFromVehicle(playerid2);
    SetTimerEx("ziehen",2000,0,"ii",playerid,playerid2);
    }
    else
    {
    SendClientMessage(playerid2,COLOR_GRAD2,"* Der Wheelman ist nicht mehr in deiner Nähe.");
    SendClientMessage(playerid,COLOR_GRAD2,"* Der beauftragte Spieler ist nicht mehr in deiner Nähe.");
    }
    }


    forward ziehen(playerid,playerid2);
    public ziehen(playerid,playerid2)
    {
    new car = GetPlayerVehicleID(playerid);
    new string[128];
    new Float:x,Float:y,Float:z;
    SetPlayerPos(playerid2,x,y,z);
    format(string, sizeof(string), "* Du wurdest von %s ins Fahrzeug gezogen.", SpielerName(playerid));
    SendClientMessage(playerid2, COLOR_GRAD2, string);
    PutPlayerInVehicle(playerid2, car, 1);
    ProxDetector(30.0, playerid, "* Reinziehen erfolgreich.", COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
    GameTextForPlayer(playerid,"Gib Gas!",3000,1);
    }

    Also ich habe es so gemacht und es funktioniert wie geschmiert:




    ocmd:acceptwhcall(playerid,params[])
    {
    if(Spieler[playerid][vTeam] != 9)return SendClientMessage(playerid,COLOR_GRAD2,"* Du bist kein Mitglied der Wheelman Agency.");
    new pID,string[128];
    if(sscanf(params, "u", pID))return SendClientMessage(playerid,COLOR_GRAD2,"** FEHLER: /acceptwhcall [ID/Name]");
    if(NeedWH[pID] == 0)return SendClientMessage(playerid,COLOR_GRAD2,"* Der Spieler braucht keinen Wheelman.");
    format(string, sizeof(string), "* Du hast den Anruf von %s angenommen.",SpielerName(pID));
    SendClientMessage(playerid,COLOR_TÜRKIS,string);
    format(string, sizeof(string), "* Wheelman %s hat dein Auftrag angenommen.",SpielerName(playerid));
    SendClientMessage(pID,COLOR_TÜRKIS,string);


    Auftrag[playerid] = 1;
    AktuellerAuftrag[playerid] = pID;


    //Spieler-finden
    new Float:Pos[3];
    GetPlayerPos(pID,Pos[0],Pos[1],Pos[2]);
    Checkpoint[playerid] = SetPlayerCheckpoint(playerid,Pos[0],Pos[1],Pos[2],4);
    CheckpointTimer[playerid] = SetTimerEx("UpdateCheckpoint",1000,1,"ii",playerid,pID);
    return 1;
    }


    //das public:
    forward UpdateCheckpoint(playerid,playerid2);
    public UpdateCheckpoint(playerid,playerid2)
    {
    new Float:Pos[3];
    GetPlayerPos(playerid2,Pos[0],Pos[1],Pos[2]);
    Checkpoint[playerid] = SetPlayerCheckpoint(playerid,Pos[0],Pos[1],Pos[2],4);
    return 1;
    }


    //ganz oben noch:
    new CheckpointTimer[MAX_PLAYERS],Checkpoint[MAX_PLAYERS];


    und wenn der kunde sich ausloggt:
    KillTimer(CheckpointTimer[playerid]);

    Huhu,


    hätte da eine kleine Frage:


    Wie ist es möglich, von einem X-beliebigen Befehl, oder Funktion die Reaktionszeit im Chat anzeigen zu lassen?


    Beispiel:


    /testim Chat:Der Befehl hat x-millisekunden gedauert zum ausführen.


    Wichtig ist halt in Millisekunden



    Danke im Voraus


    @Jeffry

    Nabend,


    weiß zwar nicht, ob dies hier die richtige anlaufstelle ist aber:


    Kennt jemand von euch, auf RPG City das MauMau System?
    Wenn man gewonnen hat, kommt so ein Sound wo das geld "raus flattert"


    Jemand eine idee, ob das eine SoundID oder irgendwas ist?