Fehler beim /arrest befehl

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
  • Heyho.
    Bei mir ist es so das wenn man /dm eingibt, und gecuffed ist, wird man trotzdem hingeportet.
    Hier der Code.


    ////////////// Geklärt! ////////////////


    Hab aber noch ein anderes Problem.


    Ich hab mir grade den /arrest befehl angeschaut. Dabei etwas gefunden was ich glaube nicht da rein soll.


    for(new i=0; i<MAX_PLAYER_ATTACHED_OBJECTS; i++)


    Das da ↑


    Weiß jemand was da richtig ist? und kann mir das jemand erklären wie das mit dem for/new geht?


    Hier der komplette Code:


    ocmd:arrest(playerid,params[])
    {
    if(gTeam[playerid] == TEAM_COPS)
    {
    new pID;
    if(IsPlayerConnected(pID))
    {
    if(sscanf(params,"u",pID)) return SendClientMessage(playerid,ROT, "Benutzung: /arrest [ID]");
    {
    new Float:x, Float:y, Float:z;
    GetPlayerPos(pID, x, y, z);
    for(new i=0; i<MAX_PLAYER_ATTACHED_OBJECTS; i++)
    if(IsPlayerInRangeOfPoint(i,5.0, x,y,z))
    {
    if(GetPlayerWantedLevel(pID) >=5)
    {
    new strg[250];
    new arname[MAX_PLAYER_NAME];
    new copname[MAX_PLAYER_NAME];
    GetPlayerName(pID, arname,sizeof(arname));
    GetPlayerName(playerid,copname, sizeof(copname));
    format(strg, sizeof(strg), "Knast-Info: %s wurde von Officer %s Eingesperrt!", arname,copname);
    SetPlayerInterior(pID, 3);
    SetPlayerPos(pID, 194.0580,175.4876,1003.0234);
    SendClientMessageToAll(ROT, strg);
    SendClientMessage(pID, ROT, "Ein Cop hat dich verhaftet und du wurdest eingesperrt! (( 20 Sekunden ))");
    GivePlayerMoney(playerid, 5000);
    timerkill = SetTimerEx("Knast", 20000, false,"i", pID );
    ResetPlayerWeapons(pID);
    SetPlayerWantedLevel(pID, 0);
    SetPlayerColor(pID, WEISS);
    knasted[pID] = 1;
    return 1;
    }
    else
    {
    SendClientMessage(playerid, ROT, "Der Spieler hat zu wenig Wanteds! Stelle ihm ein Ticket mit /ticket aus!");
    }
    }
    else
    {
    SendClientMessage(playerid, ROT, "Spieler ist nicht in der Nähe!");
    return 1;
    }
    }
    }
    else
    {
    SendClientMessage(playerid, ROT, "Spieler ist nicht Connected!");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, ROT, "Du bist kein Cop!");
    return 1;
    }
    return 1;
    }

    2 Mal editiert, zuletzt von BobbiVids ()

    • Offizieller Beitrag

    ocmd:arrest(playerid,params[])
    {
    if(gTeam[playerid] == TEAM_COPS)
    {
    new pID;
    if(sscanf(params,"u",pID)) return SendClientMessage(playerid,ROT, "Benutzung: /arrest [ID]");
    if(!IsPlayerConnected(pID)) return SendClientMessage(playerid, ROT, "Der Spieler ist nicht online!");
    new Float:x, Float:y, Float:z;
    GetPlayerPos(pID, x, y, z);
    if(IsPlayerInRangeOfPoint(pID,5.0, x,y,z)) {
    if(GetPlayerWantedLevel(pID) >=5)
    {
    new strg[250];
    new arname[MAX_PLAYER_NAME];
    new copname[MAX_PLAYER_NAME];
    GetPlayerName(pID, arname,sizeof(arname));
    GetPlayerName(playerid,copname, sizeof(copname));
    format(strg, sizeof(strg), "Knast-Info: %s wurde von Officer %s Eingesperrt!", arname,copname);
    SetPlayerInterior(pID, 3);
    SetPlayerPos(pID, 194.0580,175.4876,1003.0234);
    SendClientMessageToAll(ROT, strg);
    SendClientMessage(pID, ROT, "Ein Cop hat dich verhaftet und du wurdest eingesperrt! (( 20 Sekunden ))");
    GivePlayerMoney(playerid, 5000);
    timerkill = SetTimerEx("Knast", 20000, false,"i", pID );
    ResetPlayerWeapons(pID);
    SetPlayerWantedLevel(pID, 0);
    SetPlayerColor(pID, WEISS);
    knasted[pID] = 1;
    return 1;
    }
    else SendClientMessage(playerid, ROT, "Der Spieler hat zu wenig Wanteds! Stelle ihm ein Ticket mit /ticket aus!");
    }
    else SendClientMessage(playerid, ROT, "Spieler ist nicht in der Nähe!");
    }
    else SendClientMessage(playerid, ROT, "Du bist kein Cop!");
    return 1;
    }


    So sollte es wohl besser funktionieren.
    Zur For-Schleife:
    Eine For-Schleife ist eine Schleife die sooft wie du es angibst ausgeführt wirst, Beispiel:
    for(new i = 0; i < MAX_PLAYERS; i++)
    heißt
    for(new Variable ist 0; Variable ist kleiner als MAX_PLAYERS; variable wird um 1 erhöht)
    Damit kannst du z.B alle Spieler, Fahrzeuge oder Erstellten Häuser - je nachdem wie dein System ist - abzählen.