Problem mit Befehl /breakcuff

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
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
  • Hey leute!


    Ich habe ein problem mit /breakcuff
    Der befehl soll bewirken, dass z.b. ein Wheelman die Handschellen "zerstört"


    Er soll /breakcuff eingeben mit der ID und nach 20sekunden sollen die Handschellen abgemacht werden sozusagen..


    Mir gehts hauptsächlich darum wie man das nach 20sekunden macht.


    MfG Kevin

  • if(strcmp(cmd, "/breakcuff", true) == 0) { if(IsPlayerConnected(playerid)) { if(Spieler[playerid][Team] == 15) { tmp = strtok(cmdtext, idx); if(!strlen(tmp)) { SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /breakcuff [ID/Name]"); return 1; } new pID = ReturnUser(tmp); if(IsPlayerConnected(pID)) { if(pID != INVALID_PLAYER_ID) { if(Cuffed[pID] == 0) { return SendClientMessage(playerid, COLOR_GRAD2, "Der Spieler ist nicht gecufft."); } new Float:x, Float:y, Float:z; GetPlayerPos(pID, x,y,z); if(IsPlayerInRangeOfPoint(playerid, 8, x,y,z)) { if(pID == playerid) { return SendClientMessage(playerid, COLOR_GRAD2, "Du kannst dich selber nicht entfesseln."); } SetTimerEx("cufftimer",1000*20,0,"%i%",pID); SendClientMessage(playerid,COLOR_GRAD2,"Du versuchst ein Spieler zu befreien.");
    } else { SendClientMessage(playerid, COLOR_GRAD2, "Der Spieler ist nicht in deiner Nähe."); return 1; } } } } else { return SendClientMessage(playerid, COLOR_GRAD2, "Du bist kein Wheelman."); } } return 1; }[[/pwn]


    Das Problem ist auch dass der Server dann sofort abkackt :D

  • So sollte es klappen:
    if(strcmp(cmd, "/breakcuff", true) == 0)
    {
    if(Spieler[playerid][Team] == 1 || Spieler[playerid][Team] == 2 || Spieler[playerid][Team] == 14)
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Benutze: /cuff [ID/Name]");
    return 1;
    }
    new pID = ReturnUser(tmp), string[145];
    if(IsPlayerConnected(pID))
    {
    if(pID != INVALID_PLAYER_ID)
    {
    if(Cuffed[pID] != 1)
    {
    return SendClientMessage(playerid, COLOR_GRAD2, "Der Spieler ist NICHT gecufft.");
    }
    new Float:x, Float:y, Float:z;
    GetPlayerPos(pID, x,y,z);
    if(IsPlayerInRangeOfPoint(playerid, 8, x,y,z))
    {
    if(pID == playerid)
    {
    return SendClientMessage(playerid, COLOR_GRAD2, "Du kannst dich selber nicht entfesseln.");
    }
    format(string, sizeof(string), "* Beamter %s hat dir Handschellen entfernt.", SpielerName(playerid));
    SendClientMessage(pID, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), "* Du hast %s Handschellen entfernt.", SpielerName(pID));
    SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
    format(string, sizeof(string), "** Beamter %s hat %s Handschellen entfernt.", SpielerName(playerid), SpielerName(pID));
    ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
    GameTextForPlayer(pID, "~r~Frei", 2500, 3);
    SetTimerEx("cufftimer",1000*20,0,"i",pID);
    }
    else
    {
    SendClientMessage(playerid, COLOR_GRAD2, "Der Spieler ist nicht in deiner Nähe.");
    return 1;
    }
    }
    }
    }
    else
    {
    return SendClientMessage(playerid, COLOR_GRAD2, "Du bist kein Beamter.");
    }
    return 1;
    }

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • #define Funk_FP%0(%1) forward%0(%1); public%0(%1){


    Funk_FP cufftimer(playerid)
    SendClientMessage(playerid,0xFFFFFFFF,"Das ist ein DEBUG-Test!");
    TogglePlayerControllable(pid,1);
    return 1;
    }


    Ich habe mir dein Code zwar nicht angeguckt, jedoch sollte es so passen.


    E x2: Dummheit²


    E:


    Bitte anpassen!
    Der Inhalt ist rein improvisiert! :)


    E:


    Da es nicht so viel ist, editiere ich es hier einfach dazu ;)


    #define Funk_FP%0(%1) forward%0(%1); public%0(%1){


    Funk_FP cufftimer(playerid)
    printf("%s wurde durch den cufftimer zum Laufen gebracht!",SpielerName(playerid));
    GameTextForPlayer(playerid, "~g~Freigelassen", 2500, 3);
    UnfreezePlayer(playerid);
    Cuffed[playerid] = 0;
    return 1;
    }


    stock SpielerName(playerid)
    {
    new nub[MAX_PLAYER_NAME];
    GetPlayerName(playerid,nub,sizeof(nub));
    return nub;
    }

    Einmal editiert, zuletzt von Andosius ()