Beiträge von Crocky

    Hey ;D
    Komme bei dem ReporttSys immer wenn ich /report -> Grund (Hack,etc) immer auf seite 3 ...
    Code :

    Spoiler anzeigen
    #include <JunkBuster>
    #include <a_samp>

    Spoiler anzeigen
    //#define click_used 0 // Soll ein Reportdialog kommen, wenn man per TAB auf einen Spieler klickt?
    #define used 2 // Die Zahl je nach bevorzugter Speicherart ändern. 1 = MySQL, 2 = dini, 3 = fwrite-Funktionen
    #define admin_send // Soll jedem RCON-Admin eine Nachricht bei Reports gesendet werden?
    #define dini_path "reports" // Ordner in dem die Reports gespeichert werden, wenn andere Speicherungsart als MySQL verwendet wird.
    // Falls nicht benötigt einfach ignorieren.

    Spoiler anzeigen
    #if used == 1 // Falls die folgenden Zeilen nicht benötigt werden: Einfach ignorieren.
    #define mysql_host "localhost" // MySQL Hostname
    #define mysql_name "username" // MySQL Loginname
    #define mysql_pw "password" // MySQL Passwort
    #define mysql_db "database" // MySQL Datenbankname
    #endif

    Spoiler anzeigen
    #if defined admin_send // Falls zwischen Gamemode und Filterscript NICHT kommuniziert werden soll, bei pvar_name "abcd" und bei pvar_minlvl 1 eintragen.
    #define pvar_name "abcd" // PVar-Name des Adminlevels im Gamemode.
    #define pvar_minlvl 1 // Minimales benötigtes Adminlevel.
    #endif

    Spoiler anzeigen
    #if used == 2
    #include <dini> // Name der dini-Include
    #endif
    #if used == 1
    #include <mysql> // Name eurer MySQL-Include
    #endif

    Spoiler anzeigen
    // Ab hier NICHTS mehr bearbeiten, sofern ihr die Scriptsprache PAWN nicht beherrscht oder nichts am Script ändern wollt.
    forward ReportPlayer(playerid, reportedid, reason[], description[]);
    new ID[50];

    Spoiler anzeigen
    public OnFilterScriptInit()
    {
    #if used == 1
    mysql_connect(mysql_host, mysql_name, mysql_pw, mysql_db);
    new query[256] = "CREATE TABLE [IF NOT EXISTS] `reports` (";
    strcat(query, "`id` INT NOT NULL AUTO_INCREMENT ,");
    strcat(query, "`reporter` VARCHAR( 24 ) NOT NULL ,");
    strcat(query, "`reported` VARCHAR( 24 ) NOT NULL ,");
    strcat(query, "`reason` VARCHAR( 24 ) NOT NULL ,");
    strcat(query, "`description` VARCHAR( 68 ) NOT NULL ,");
    strcat(query, "`time` VARCHAR( 24 ) NOT NULL ,");
    strcat(query, "`read` INT( 2 ) ,");
    strcat(query, "PRIMARY KEY ( `id` ))");
    mysql_query(query);
    #endif
    print("-Ø Dynamisches Report-System von Padarom Ø-");
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerText(playerid, text[])
    {
    if(GetPVarInt(playerid, "inChat") == 1)
    {
    new pName[24], msg[128];
    GetPlayerName(playerid, pName, 24);
    format(msg, 128, "[ %s: %s ]", pName, text);
    SendClientMessage(playerid, 0x2FABEDFF, msg);
    SendClientMessage(GetPVarInt(playerid,"ticketPartner"), 0x2FABEDFF, msg);
    return 0;
    }
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerConnect(playerid)
    {
    SetPVarInt(playerid, "subject", -1);
    SetPVarString(playerid, "reportreason", "");
    SetPVarInt(playerid, "ticketPartner", -1);
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerDisconnect(playerid, reason)
    {
    if(GetPVarInt(playerid, "inChat") == 1)
    {
    SendClientMessage(GetPVarInt(playerid,"ticketPartner"), 0x2FABEDFF, "[ * Dein Ticketpartner ist offline gegangen. Das Ticket wurde beendet. ]");
    SetPVarInt(GetPVarInt(playerid,"ticketPartner"),"inChat", 0);
    SetPVarInt(GetPVarInt(playerid,"ticketPartner"),"ticketPartner", -1);
    }
    return 1;
    }

    Spoiler anzeigen
    public OnPlayerCommandText(playerid, cmdtext[])
    {
    if(!strcmp(cmdtext,"/report",false))
    {
    ShowPlayerDialog(playerid, 100, DIALOG_STYLE_LIST, "Beschwerde", "Hacken\nEinweisung\nBeleidigung\nAbwerben\nSpam\nWill nur Nerven!", "Weiter", "Abbrechen");
    return 1;
    }
    if(!strcmp(cmdtext,"/atickets",false))
    {
    ShowTicketDialog(playerid);
    return 1;
    }
    if(!strcmp(cmdtext,"/tchat"))
    {
    if(GetPVarInt(playerid,"ticketPartner") != -1 && GetPVarInt(playerid,"inChat") == 0)
    {
    SetPVarInt(playerid,"inChat",1);
    SetPVarInt(GetPVarInt(playerid,"ticketPartner"),"inChat",1);
    SendClientMessage(playerid, 0xEDB90CFF, "* Du hast den Ticketchat angenommen. Du kannst nun mit dem Admin reden.");
    SendClientMessage(GetPVarInt(playerid,"ticketPartner"), 0xEDB90CFF, "* Dein Ticketchat wurde gestartet. Du kannst nun mit dem Verfasser des Tickets reden.");
    }
    else if(GetPVarInt(playerid,"inChat") == 1)
    {
    SendClientMessage(playerid, 0xEDB90CFF, "* Du hast den Ticketchat beendet.");
    SendClientMessage(GetPVarInt(playerid,"ticketPartner"), 0xEDB90CFF, "* Dein aktiver Ticketchat wurde beendet.");
    SetPVarInt(playerid,"inChat",0);
    SetPVarInt(GetPVarInt(playerid,"ticketPartner"),"inChat",0);
    SetPVarInt(GetPVarInt(playerid,"ticketPartner"),"ticketPartner",-1);
    SetPVarInt(playerid,"ticketPartner",-1);
    }
    else SendClientMessage(playerid, 0xEDB90CFF, "* Du hast aktuell keinen Ticketchat am Laufen.");
    return 1;
    }
    return 0;
    }

    Spoiler anzeigen
    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
    if(dialogid == 100 && response)
    {
    switch(listitem)
    {
    case 0: SetPVarString(playerid, "reason", "Hacken");
    case 1: SetPVarString(playerid, "reason", "Einweisung");
    case 2: SetPVarString(playerid, "reason", "Beleidigung");
    case 3: SetPVarString(playerid, "reason", "Abwerben");
    case 4: SetPVarString(playerid, "reason", "Spam");
    case 5: return SendClientMessage(playerid, 0xEDB90CFF, "* Wenigstens bist du ehrlich ;)");
    }
    if(GetPVarInt(playerid, "subject") == -1) ShowPlayerDialog(playerid, 101, DIALOG_STYLE_INPUT, "Beschwerde - Seite 2", "Bitte gib nun den Namen oder die ID des Spielers an.", "Weiter", "Zurück");
    else ShowPlayerDialog(playerid, 102, DIALOG_STYLE_INPUT, "Beschwerde - Seite 3", "Bitte gib nun eine kurze Beschreibung zu deiner Beschwerde/Anfrage an.", "Weiter", "Zurück");
    }
    else if(dialogid == 101)
    {
    if(response)
    {
    new sName[24];
    if(!IsNumeric(inputtext))
    {
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    GetPlayerName(i, sName, 24);
    if(!strcmp(inputtext, sName, true))
    {
    SetPVarInt(playerid, "subject", i);
    break;
    }
    }
    }
    if(GetPVarInt(playerid,"subject") == -1) return ShowPlayerDialog(playerid, 101, DIALOG_STYLE_INPUT, "Beschwerde - Seite 2", "Bitte gib nun den Namen oder die ID des zu meldenden Spielers an.", "Weiter", "Zurück");
    }
    else
    {
    if(!IsPlayerConnected(strval(inputtext)) || !strlen(inputtext)) return ShowPlayerDialog(playerid, 101, DIALOG_STYLE_INPUT, "Beschwerde - Seite 2", "Bitte gib nun den Namen oder die ID des zu meldenden Spielers an.", "Weiter", "Zurück");
    else SetPVarInt(playerid, "subject", strval(inputtext));
    }
    ShowPlayerDialog(playerid, 102, DIALOG_STYLE_INPUT, "Beschwerde - Seite 3", "Bitte gib nun eine kurze Beschreibung zu deiner Beschwerde an.", "Weiter", "Zurück");
    }
    else return ShowPlayerDialog(playerid, 101, DIALOG_STYLE_INPUT, "Beschwerde - Seite 2", "Bitte gib nun den Namen oder die ID des zu meldenden Spielers an.", "Weiter", "Zurück");
    }
    else if(dialogid == 102)
    {
    if(response)
    {
    if(!strlen(inputtext)) return ShowPlayerDialog(playerid, 102, DIALOG_STYLE_INPUT, "Beschwerde - Seite 3", "Bitte gib nun eine kurze Beschreibung zu deiner Beschwerde an.", "Weiter", "Zurück");
    else
    {
    new text[256], sName[24], reason[24], description[128];
    SetPVarString(playerid, "description", inputtext);
    GetPlayerName(GetPVarInt(playerid, "subject"), sName, 24);
    GetPVarString(playerid, "reason", reason, 24);
    GetPVarString(playerid, "description", description, 128);
    format(text, 256, "{ff00ff}Spieler: {FFFFFF}%s (ID: %i)\n{ff00ff}Grund: {FFFFFF}%s\n{ff00ff}Beschreibung: {FFFFFF}%s\n\nWenn diese Beschwerde korrekt ist, klicke bitte auf Absenden. Ansonsten auf Abbrechen.", sName, GetPVarInt(playerid, "subject"), reason, description);
    ShowPlayerDialog(playerid, 103, DIALOG_STYLE_MSGBOX, "Beschwerde - Abschluss", text, "Absenden", "Abbrechen");
    }
    }
    else return ShowPlayerDialog(playerid, 101, DIALOG_STYLE_INPUT, "Beschwerde - Seite 2", "Bitte gib nun den Namen oder die ID des zu meldenden Spielers an.", "Weiter", "Zurück");
    }
    else if(dialogid == 103)
    {
    if(!response) return SetPVarInt(playerid, "subject", -1);
    new reason[24], description[64];
    GetPVarString(playerid, "reason", reason, 24);
    GetPVarString(playerid, "description", description, 64);
    ReportPlayer(playerid, GetPVarInt(playerid, "subject"), reason, description);
    SendClientMessage(playerid, 0xEDB90CFF, "* Deine Beschwerde wurde erfolgreich eingereicht.");
    }
    else if(dialogid == 104)
    {
    if(!response) return 1;
    new autor[256], subject[256], description[256], reason[256], time[256];
    new path[68], text[500], string[128];
    #if used == 1
    #pragma unused string
    format(path, 68, "SELECT * FROM reports WHERE id = %i", ID[listitem]);
    mysql_query(path);
    mysql_store_result();
    mysql_fetch_field("reason", reason);
    mysql_fetch_field("time", time);
    mysql_fetch_field("subject", subject);
    mysql_fetch_field("description", description);
    mysql_fetch_field("reporter", autor);
    mysql_free_result();
    format(path, 68, "UPDATE reports SET read = 1 WHERE id = %i", ID[listitem]);
    mysql_query(path);
    #endif
    #if used == 2
    #pragma unused string
    format(path, 68, "/%s/%i.ini", dini_path, ID[listitem]);
    autor = dini_Get(path, "reporter");
    subject = dini_Get(path, "subject");
    description = dini_Get(path, "description");
    reason = dini_Get(path, "reason");
    time = dini_Get(path, "time");
    dini_IntSet(path, "read", 1);
    SetPVarInt(playerid,"sTicket",ID[listitem]);
    #endif
    #if used == 3
    format(path, 68, "/%s/%i.txt", dini_path, ID[listitem]);
    new File:report = fopen(path, io_read);
    while(fread(report, string))
    {
    string[strlen(string)-1] = '\0';
    if(strfind(string, "subject", true) != -1) { strdel(string, 0, 8); subject = string; }
    if(strfind(string, "time", true) != -1) { strdel(string, 0, 5); time = string; }
    if(strfind(string, "reason", true) != -1) { strdel(string, 0, 7); reason = string; }
    if(strfind(string, "description", true) != -1) { strdel(string, 0, 12); description = string; }
    if(strfind(string, "reporter", true) != -1) { strdel(string, 0, 9); autor = string; }
    }
    fclose(report);
    fremove(path);
    report = fopen(path, io_readwrite);
    format(text, 256, "reporter=%s\r\nsubject=%s\r\nreason=%s\r\ndescription=%s\r\ntime=%s\r\nread=1", autor, subject, reason, description, time);
    fwrite(report, text);
    fclose(report);
    SetPVarInt(playerid,"sTicket",ID[listitem]);
    #endif
    new bool:online, pName[24];
    for(new i=0; i<MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i))
    {
    GetPlayerName(i, pName, 24);
    if(!strcmp(pName, autor, true, strlen(pName)))
    {
    online = true;
    SetPVarInt(playerid,"ticketReady",1);
    SetPVarInt(playerid,"ticketPartner",i);
    break;
    }
    }
    }
    if(online == true) format(text, 500, "{ff00ff}Beschwerde verfasst (am %s Uhr) von {FFFFFF}%s\n{ff00ff}Spieler: {FFFFFF}%s\n{ff00ff}Grund: {FFFFFF}%s\n{ff00ff}Beschreibung: {FFFFFF}%s\n\nDer Autor des Tickets ist aktuell online. Um dich mit ihm zu unterhalten, klicke auf den rechten Button.", time, autor, subject, reason, description);
    else format(text, 500, "{ff00ff}Beschwerde verfasst (am %s Uhr) von {FFFFFF}%s\n{ff00ff}Spieler: {FFFFFF}%s\n{ED9E15}Grund: {FFFFFF}%s\n{ff00ff}Beschreibung: {FFFFFF}%s\n\nDer Autor des Tickets ist aktuell offline. Wenn du dich mit ihm unterhalten willst, musst du dich noch ein bisschen gedulden.", time, autor, subject, reason, description);
    if(online == true) ShowPlayerDialog(playerid, 105, DIALOG_STYLE_MSGBOX, "Beschwerde", text, "Zurück", "Chat");
    else ShowPlayerDialog(playerid, 105, DIALOG_STYLE_MSGBOX, "Beschwerde", text, "Zurück", "Zurück");

    }
    else if(dialogid == 105)
    {
    if(!response && GetPVarInt(playerid,"ticketReady") == 0) { ShowTicketDialog(playerid); SetPVarInt(playerid,"sTicket",-1); }
    else if(!response && GetPVarInt(playerid,"ticketReady") == 1)
    {
    new msg[128], pName[24];
    SetPVarInt(GetPVarInt(playerid,"ticketPartner"),"ticketPartner",playerid);
    SetPVarInt(playerid, "ticketReady", 0);
    GetPlayerName(playerid, pName, 24);
    format(msg, 128, "* Der Admin %s möchte gerne bezüglich deiner Beschwerde mit dir sprechen. Tippe /tchat, sobald du Zeit hast.", pName);
    SendClientMessage(GetPVarInt(playerid,"ticketPartner"), 0xEDB90CFF, msg);
    GetPlayerName(GetPVarInt(playerid,"ticketPartner"), pName, 24);
    format(msg, 128, "* Eine Ticketchat-Anfrage wurde an %s verschickt. Bitte warte, bis er sie akzeptiert.", pName);
    SendClientMessage(playerid, 0xEDB90CFF, msg);
    }
    else if(response)
    {
    SetPVarInt(playerid, "ticketPartner", 0);
    SetPVarInt(playerid, "ticketReady", 0);
    ShowPlayerDialog(playerid, 106, DIALOG_STYLE_MSGBOX, "Löschen der Beschwerde", "Du hast die Beschwerde nun eingesehen.\nWillst du sie löschen?", "Ja", "Nein");
    }
    }
    else if(dialogid == 106)
    {
    if(response)
    {
    new path[68];
    #if used == 1
    format(path, 68, "DELETE FROM reports WHERE id = %i", GetPVarInt(playerid,"sTicket"));
    mysql_query(path);
    #endif
    #if used == 2
    format(path, 68, "/%s/%i.ini", dini_path, GetPVarInt(playerid,"sTicket"));
    dini_Remove(path);
    #endif
    #if used == 3
    format(path, 68, "/%s/%i.txt", dini_path, GetPVarInt(playerid,"sTicket"));
    fremove(path);
    #endif
    ShowTicketDialog(playerid);
    SendClientMessage(playerid, 0xEDB90CFF, "* Das Ticket wurde erfolgreich gelöscht.");
    SetPVarInt(playerid, "sTicket", 0);
    }
    else ShowTicketDialog(playerid);
    }
    return 1;
    }

    Spoiler anzeigen
    ShowTicketDialog(playerid)
    {
    new i=0, count=0, path[68], msg[1028] = "", cat[128], bool:exists;
    new reason[256], date[256], subject[256], read[256], string[82];
    #if used == 1
    #pragma unused string
    do
    {
    i++;
    format(path, 68, "SELECT * FROM reports WHERE id = %i", i);
    mysql_query(path);
    mysql_store_result();
    if(mysql_num_rows())
    {
    ID[count] = i;
    count++;
    exists = true;
    mysql_fetch_field("reason", reason);
    mysql_fetch_field("time", date);
    mysql_fetch_field("subject", subject);
    mysql_fetch_field("read", read);
    if(strval(read)) format(cat, 68, "{ED9E15}%s {FFFFFF}%s: %s\n", date, subject, reason);
    else format(cat, 68,"{ED9E15}%s {ED1515}%s: %s\n", date, subject, reason);
    strcat(msg, cat);
    mysql_free_result();
    }
    else mysql_free_result();
    }
    while(i<50);
    if(!exists) return ShowPlayerDialog(playerid, 107, DIALOG_STYLE_MSGBOX, "Beschwerden", "Es sind aktuell keine Beschwerden eingetragen.", "Okay", "Nicht okay");
    ShowPlayerDialog(playerid, 104, DIALOG_STYLE_LIST, "Beschwerden", msg, "Auswählen", "Abbrechen");
    #endif
    #if used == 2
    #pragma unused string
    do
    {
    i++;
    format(path, 68, "/%s/%i.ini", dini_path, i);
    if(dini_Exists(path))
    {
    ID[count] = i;
    count++;
    exists = true;
    reason = dini_Get(path, "reason");
    date = dini_Get(path, "time");
    subject = dini_Get(path, "subject");
    read = dini_Get(path, "read");
    if(strval(read)) format(cat, 68, "{ff00ff}%s {FFFFFF}%s: %s\n", date, subject, reason);
    else format(cat, 68,"{ED9E15}%s {ff00ff}%s: %s\n", date, subject, reason);
    strcat(msg, cat);
    }
    }
    while(i<50);
    if(!exists) return ShowPlayerDialog(playerid, 107, DIALOG_STYLE_MSGBOX, "Beschwerden", "Es sind aktuell keine Beschwerden eingetragen.", "Okay", "Nicht okay");
    ShowPlayerDialog(playerid, 104, DIALOG_STYLE_LIST, "Beschwerden", msg, "Auswählen", "Abbrechen");
    #endif
    #if used == 3
    do
    {
    i++;
    format(path, 68, "/%s/%i.txt", dini_path, i);
    if(fexist(path))
    {
    ID[count] = i;
    count++;
    exists = true;
    new File:report = fopen(path, io_read);
    while(fread(report, string))
    {
    if(strfind(string, "subject", true) != -1) { string[strlen(string)-1] = '\0'; strdel(string, 0, 8); subject = string; }
    if(strfind(string, "time", true) != -1) { string[strlen(string)-1] = '\0'; strdel(string, 0, 5);date = string; }
    if(strfind(string, "reason", true) != -1) { string[strlen(string)-1] = '\0'; strdel(string, 0, 7); reason = string; }
    if(strfind(string, "read", true) != -1) { strdel(string, 0, 5); read = string; }
    }
    if(strval(read)) format(cat, 68, "{ff00ff}%s {FFFFFF}%s: %s\n", date, subject, reason);
    else format(cat, 68,"{ED9E15}%s {ff00ff}%s: %s\n", date, subject, reason);
    strcat(msg, cat);
    fclose(report);
    }
    }
    while(i<50);
    if(!exists) return ShowPlayerDialog(playerid, 107, DIALOG_STYLE_MSGBOX, "Beschwerden", "Es sind aktuell keine Beschwerden eingetragen.", "Okay", "Nicht okay");
    ShowPlayerDialog(playerid, 104, DIALOG_STYLE_LIST, "Beschwerden", msg, "Auswählen", "Abbrechen");
    #endif
    return 1;
    }

    Spoiler anzeigen
    stock IsNumeric(const string[])
    {
    new length=strlen(string);
    if(length==0)
    {
    return 0;
    }
    for (new i=0; i<length; i++)
    {
    if (!((string[i] <= '9' && string[i] >= '0') || (i==0 && (string[i]=='-' || string[i]=='+'))))
    {
    return false;
    }
    }
    return 1;
    }

    Spoiler anzeigen
    public ReportPlayer(playerid, reportedid, reason[], description[])
    {
    new path[256], i=0, pName[24], sName[24], msg[128], date[24];
    GetPlayerName(playerid, pName, 24);
    GetPlayerName(reportedid, sName, 24);
    new y, m, d, h, minu;
    getdate(y, m, d);
    gettime(h, minu);
    format(date, 24, "%02i.%02i.%i %02i:%02i", d, m, y, h, minu);
    #if used == 1
    #pragma unused i
    mysql_real_escape_string(pName, pName);
    mysql_real_escape_string(sName, sName);
    mysql_real_escape_string(description, description);
    format(path, 128, "INSERT INTO reports (reporter, subject, reason, description, time) VALUES (%s, %s, %s, %s, %s)", pName, sName, reason, description, date);
    mysql_query(path);
    #endif
    #if used == 2
    do {
    i++;
    format(path, 68, "/%s/%i.ini", dini_path, i);
    }
    while(dini_Exists(path));
    dini_Create(path);
    dini_Set(path, "reporter", pName);
    dini_Set(path, "subject", sName);
    dini_Set(path, "reason", reason);
    dini_Set(path, "description", description);
    dini_Set(path, "time", date);
    #endif
    #if used == 3
    new text[256];
    do {
    i++;
    format(path, 68, "/%s/%i.txt", dini_path, i);
    }
    while(fexist(path));
    new File:report = fopen(path, io_readwrite);
    format(text, 256, "reporter=%s\r\nsubject=%s\r\nreason=%s\r\ndescription=%s\r\ntime=%s\r\nread=0", pName, sName, reason, description, date);
    fwrite(report, text);
    fclose(report);
    #endif
    #if defined admin_send
    for(new a=0; a<MAX_PLAYERS; a++)
    {
    if(IsPlayerConnected(a) && (IsPlayerAdmin(a) || GetPVarInt(a, pvar_name)>pvar_minlvl))
    {
    format(msg, 128, "* %s (ID: %i) hat %s (ID: %i) gemeldet. Nutze /tickets um das Ticket zu überprüfen.", pName, playerid, sName, reportedid);
    SendClientMessage(a, 0xEDB90CFF, msg);
    }
    }
    #endif
    return 1;
    }

    So?

    Spoiler anzeigen
    if(strcmp(cmd, "/arrest", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, BLAU, "FEHLER: /arrest [ID/Name]");
    return 1;
    }
    new giveplayerid, string[128];
    giveplayerid = ReturnUser(tmp);
    if(Spieler[playerid][Team] == 1 || Spieler[playerid][Team] == 2 || Spieler[playerid][Team] == 14 || Spieler[playerid][Team] == 15)
    {
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    if(Spieler[giveplayerid][Team] != 1 || Spieler[giveplayerid][Team] != 2)
    {
    if(IsPlayerInRangeOfPoint(playerid, 30.0, 255.6112,85.3952,1002.4453) || IsPlayerInRangeOfPoint(playerid, 10.0,1565.2869,-1695.0863,5.8906))
    {
    if(IsPlayerInRangeOfPoint(giveplayerid, 30.0, 255.6112,85.3952,1002.4453) || IsPlayerInRangeOfPoint(giveplayerid, 10.0,1565.2869,-1695.0863,5.8906))
    {
    if(Spieler[giveplayerid][Wanteds] > 0)
    {
    new jailt = 0 +random(2);
    Spieler[giveplayerid][JailType] = jailt;
    Spieler[giveplayerid][Jailed] = 1;
    Spieler[playerid][JailTime] = 3*Spieler[playerid][Wanteds];
    new moneyss = Spieler[giveplayerid][Wanteds]*2000;
    GivePlayerCash(giveplayerid, -moneyss);
    GivePlayerCash(playerid, moneyss);
    //Spieler[giveplayerid][JailTime] = Spieler[giveplayerid][JailTime]*120000;
    if(Spieler[playerid][Team] == 1)
    {
    format(string, sizeof(string), "<< Officer %s hat den Verbrecher %s eingesperrt >>", SpielerName(playerid), SpielerName(giveplayerid));
    }
    else if(Spieler[playerid][Team] == 2)
    {
    format(string, sizeof(string), "<< Agent %s hat den Verbrecher %s eingesperrt >>", SpielerName(playerid), SpielerName(giveplayerid));
    }
    SendClientMessageToAll(COLOR_RED, string);
    Spieler[giveplayerid][Wanteds] = 0;
    SetPlayerWantedLevel(giveplayerid,0);
    SpawnPlayer(giveplayerid);
    format(string, sizeof(string), "Du bist nun für %d Minuten im Knast. Das Töten im Knast ist verboten.", Spieler[giveplayerid][JailTime]);
    SendClientMessage(giveplayerid, COLOR_RED, string);
    SetPVarInt(giveplayerid,"Wanted",0);
    }
    }
    else
    {
    SendClientMessage(playerid, ROT, "Der Spieler ist nicht in der Nähe des Arrest-Points.");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, ROT, "Du bist nicht in der Nähe des Arrest-Points.");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, ROT, "Der Spieler ist ein Beamter!");
    return 1;
    }
    }
    }
    }
    else
    {
    SendClientMessage(playerid, ROT, "Du bist kein Beamter.");
    return 1;
    }
    }
    return 1;
    }

    So, Das Geht jetzt.
    ABER ich habe noch einen Fail. Wenn ich jemand in den Knast Stecke (/arrest ID) geht das Zwar, aber der Spieler Spawnt am Normalen Spawn & Die WP gehen nicht weg ...
    if(strcmp(cmd, "/arrest", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, BLAU, "FEHLER: /arrest [ID/Name]");
    return 1;
    }
    new giveplayerid, string[128];
    giveplayerid = ReturnUser(tmp);
    if(Spieler[playerid][Team] == 1 || Spieler[playerid][Team] == 2 || Spieler[playerid][Team] == 14 || Spieler[playerid][Team] == 15)
    {
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    if(Spieler[giveplayerid][Team] != 1 || Spieler[giveplayerid][Team] != 2)
    {
    if(IsPlayerInRangeOfPoint(playerid, 30.0, 255.6112,85.3952,1002.4453) || IsPlayerInRangeOfPoint(playerid, 10.0,1565.2869,-1695.0863,5.8906))
    {
    if(IsPlayerInRangeOfPoint(giveplayerid, 30.0, 255.6112,85.3952,1002.4453) || IsPlayerInRangeOfPoint(giveplayerid, 10.0,1565.2869,-1695.0863,5.8906))
    {
    if(Spieler[giveplayerid][Wanteds] > 0)
    {
    new jailt = 0 +random(2);
    Spieler[giveplayerid][JailType] = jailt;
    Spieler[giveplayerid][Jailed] = 1;
    Spieler[playerid][JailTime] = 3*Spieler[playerid][Wanteds];
    new moneyss = Spieler[giveplayerid][Wanteds]*2000;
    GivePlayerCash(giveplayerid, -moneyss);
    GivePlayerCash(playerid, moneyss);
    //Spieler[giveplayerid][JailTime] = Spieler[giveplayerid][JailTime]*120000;
    if(Spieler[playerid][Team] == 1)
    {
    format(string, sizeof(string), "<< Officer %s hat den Verbrecher %s eingesperrt >>", SpielerName(playerid), SpielerName(giveplayerid));
    }
    else if(Spieler[playerid][Team] == 2)
    {
    format(string, sizeof(string), "<< Agent %s hat den Verbrecher %s eingesperrt >>", SpielerName(playerid), SpielerName(giveplayerid));
    }
    SendClientMessageToAll(COLOR_RED, string);
    SpawnPlayer(giveplayerid);
    format(string, sizeof(string), "Du bist nun für %d Minuten im Knast. Das Töten im Knast ist verboten.", Spieler[giveplayerid][JailTime]);
    SendClientMessage(giveplayerid, COLOR_RED, string);
    SetPVarInt(giveplayerid,"Wanted",0);
    }
    }
    else
    {
    SendClientMessage(playerid, ROT, "Der Spieler ist nicht in der Nähe des Arrest-Points.");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, ROT, "Du bist nicht in der Nähe des Arrest-Points.");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, ROT, "Der Spieler ist ein Beamter!");
    return 1;
    }
    }
    }
    }
    else
    {
    SendClientMessage(playerid, ROT, "Du bist kein Beamter.");
    return 1;
    }
    }
    return 1;
    }

    Das ging ja .... Und bei /stats steht das Auch ...
    Stats :

    Spoiler anzeigen

    stock ShowStats(playerid, pID)
    {
    new string[1024], string2[1024], endformat[1024];
    new sex[16], ftext[24], jtext[24];
    new team = Spieler[playerid][Team];
    new job = Spieler[playerid][Job];
    if(team == 0){ftext ="--"; }
    else if(team == 1){ ftext ="LSPD"; }
    else if(team == 0){ ftext ="FBI"; }
    else if(team == 3 ){ ftext ="Sanitäter"; }
    else if(team == 4 ){ ftext ="Hitman"; }
    else if(team == 5 ){ ftext ="News Reporter"; }
    else if(team == 6 ){ ftext ="Pennergang"; }
    else if(team == 7 ){ ftext ="Ordnungsamt"; }
    else if(team == 8 ){ ftext ="Russen Mafia"; }
    else if(team == 9 ){ ftext ="Yakuza"; }
    else if(team == 10){ ftext ="Ballas"; }
    else if(team == 11){ ftext ="Grove Street"; }
    else if(team == 12){ ftext ="Uzunu Clan "; }
    else if(team == 13){ ftext ="Feuerwehr"; }
    else if(team == 14){ ftext ="Bundeswehr"; }
    else if(team == 15){ ftext ="SWAT"; }
    else if(team == 16){ ftext ="Punkx Bikergang"; }
    else if(team == 17){ ftext ="Aztecas"; }
    else if(team == 18){ ftext ="Vagos"; }
    else if(team == 19){ ftext ="West Coast Custom"; }
    else if(team == 20){ ftext ="2Fast2Furios"; }

    Spoiler anzeigen
    if(job == 0){ jtext ="--";}
    else if(job == 1){ jtext ="Pilot"; }
    else if(job == 2){ jtext ="Busfahrer"; }
    else if(job == 3){ jtext ="Müllmann"; }
    else if(job == 4){ jtext ="Taxifahrer"; }
    else if(job == 5){ jtext ="Drogendealer"; }
    else if(job == 6){ jtext ="Waffendealer"; }
    else if(job == 7){ jtext ="Anwalt"; }
    else if(job == 8){ jtext ="Mienenarbeiter"; }
    if(Spieler[playerid][Geschlecht] == 1){ sex ="Weiblich"; }
    else if(Spieler[playerid][Geschlecht] == 2){ sex ="Männlich"; } //Zeit bis PayDay: %d/60
    format(string, sizeof(string), "Personalien:\tGeschlecht: %s\n\n\n\t\tLevel: %d\n\n\n\t\tAdmin: %d\n\t\tRespekt: %d/%d\n\nBerufe:\tFraktion: %s\tRang: %d\n\t\tNebenjob: %s\n\nFinanzen:\tBargeld: %d$\n\t\tKonto: %d$\n\t\tFestgeld: %d$\tZinssatz: 3.50\n\nStatistik:\tMorde: %d\n\t\tGestorben: %d\n\t\tVerbrechen: %d\n\t\tPayDay's: %i\n\t\tKnast: %d\n\t\tWanteds: %d\n\t\tVerwarnungen: %d / 3\n\n\t\tPremium: %d\n\t\tStrafpunkte: %d\n",
    sex,
    Spieler[playerid][Level],
    Spieler[playerid][Admin],
    Spieler[playerid][Exp],
    Spieler[playerid][MaxExp],
    ftext,
    Spieler[playerid][Rank],
    jtext,
    Spieler[playerid][Money],
    GetPVarInt(playerid,"Bank"),
    Spieler[playerid][Festgeld],
    Spieler[playerid][Morde],
    Spieler[playerid][Gestorben],
    Spieler[playerid][Verbrechen],
    Spieler[playerid][Spielzeit],
    Spieler[playerid][Knast],
    Spieler[playerid][Wanteds],
    Spieler[playerid][Verwarnungen],
    Spieler[playerid][Premium],
    GetPVarInt(playerid,"Punkte"));

    printf("%i", Spieler[playerid][Bank]);

    Spoiler anzeigen
    format(string2, sizeof(string2), "Inventar:\tMaterialien: %d (Safe: %d)\n\t\tDrogen: %d (Safe: %d)\n\t\tHandy(Nr. %d)\n\nSkills:\t\tDrogendealer: %d\n\t\tNews Reporter: %d\n\t\tAngler: %d\n\t\tBusfahrer: %d\tExp: %d/%d\n\t\tAnwalt: %d\tExp: %d\n\t\tPilot: %d\n",
    Spieler[playerid][Mats],
    Spieler[playerid][SafeMats],
    Spieler[playerid][Drugs],
    Spieler[playerid][SafeDrugs],
    Spieler[playerid][Nummer],
    Spieler[playerid][DrugSkill],
    Spieler[playerid][NewsSkill],
    Spieler[playerid][AnglerSkill],
    Spieler[playerid][BusSkill],
    Spieler[playerid][BusExp],
    Spieler[playerid][BusMaxExp],
    Spieler[playerid][AnwaltSkill],
    Spieler[playerid][AnwaltExp],
    Spieler[playerid][PilotSkill]);
    format(endformat, sizeof(endformat), "%s%s", string, string2);
    ShowPlayerDialog(pID, DIALOG_STATS, DIALOG_STYLE_MSGBOX, SpielerName(playerid), endformat , "Schließen", "");
    return 1;
    }

    Spoiler anzeigen
    if(strcmp(cmd, "/wanted", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(Spieler[playerid][Team] == 1 || Spieler[playerid][Team] == 2 || Spieler[playerid][Team] == 14 || Spieler[playerid][Team] == 15)
    {
    new x, string[128];
    SendClientMessage(playerid, BLAU, "|_______ Wanted Liste _______|");
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(IsPlayerConnected(i))
    {
    if(Spieler[i][Wanteds] > 0)
    {
    format(string, sizeof(string), "%s%s [ID: %d]: %d", string, SpielerName(i), i, Spieler[i][Wanteds]);
    x++;
    if(x > 3)
    {
    SendClientMessage(playerid, COLOR_YELLOW, string);
    x = 0;
    format(string, sizeof(string), "");
    }
    else
    {
    format(string, sizeof(string), "%s, ", string);
    }
    }
    }
    }
    if(x <= 3 && x > 0)
    {
    string[strlen(string)-2] = '.';
    SendClientMessage(playerid, BLAU, string);
    }
    }
    else
    {
    return SendClientMessage(playerid, ROT, "Du bist kein Beamter.");
    }
    }
    return 1;
    }

    WP Liste :

    Das kannst du auch ganz einfach alleine testen, indem du dir Wanteds gibst, und bei dem /clear befehl diese Abfrage aus klammerst.



    //if(pID == playerid)return SendClientMessage(playerid,ROT,"Du kannst nicht deine eigene Akte reinigen!");


    Nichts Gebracht !
    Warum?!

    Hey Leute!
    Wo liegt das Problem?
    Meine Wanteds Werden nicht Gelöscht! Per (/clear) und Wenn ich im Knast bin auch nicht (/arrest)
    Der Code ...
    Arrest :

    Spoiler anzeigen
    if(strcmp(cmd, "/arrest", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, BLAU, "FEHLER: /arrest [ID/Name]");
    return 1;
    }
    new giveplayerid, string[128];
    giveplayerid = ReturnUser(tmp);
    if(Spieler[playerid][Team] == 1 || Spieler[playerid][Team] == 2 || Spieler[playerid][Team] == 14 || Spieler[playerid][Team] == 15)
    {
    if(IsPlayerConnected(giveplayerid))
    {
    if(giveplayerid != INVALID_PLAYER_ID)
    {
    if(Spieler[giveplayerid][Team] != 1 || Spieler[giveplayerid][Team] != 2)
    {
    if(IsPlayerInRangeOfPoint(playerid, 30.0, 255.6112,85.3952,1002.4453) || IsPlayerInRangeOfPoint(playerid, 10.0,1565.2869,-1695.0863,5.8906))
    {
    if(IsPlayerInRangeOfPoint(giveplayerid, 30.0, 255.6112,85.3952,1002.4453) || IsPlayerInRangeOfPoint(giveplayerid, 10.0,1565.2869,-1695.0863,5.8906))
    {
    if(Spieler[giveplayerid][Wanteds] > 0)
    {
    new jailt = 0 +random(2);
    Spieler[giveplayerid][JailType] = jailt;
    Spieler[giveplayerid][Jailed] = 1;
    Spieler[playerid][JailTime] = 3*Spieler[playerid][Wanteds];
    new moneyss = Spieler[giveplayerid][Wanteds]*2000;
    GivePlayerCash(giveplayerid, -moneyss);
    GivePlayerCash(playerid, moneyss);
    //Spieler[giveplayerid][JailTime] = Spieler[giveplayerid][JailTime]*120000;
    if(Spieler[playerid][Team] == 1)
    {
    format(string, sizeof(string), "<< Officer %s hat den Verbrecher %s eingesperrt >>", SpielerName(playerid), SpielerName(giveplayerid));
    }
    else if(Spieler[playerid][Team] == 2)
    {
    format(string, sizeof(string), "<< Agent %s hat den Verbrecher %s eingesperrt >>", SpielerName(playerid), SpielerName(giveplayerid));
    }
    SendClientMessageToAll(COLOR_RED, string);
    SpawnPlayer(giveplayerid);
    format(string, sizeof(string), "Du bist nun für %d Minuten im Knast. Das Töten im Knast ist verboten.", Spieler[giveplayerid][JailTime]);
    SendClientMessage(giveplayerid, COLOR_RED, string);
    SetPVarInt(giveplayerid,"Wanted",0);
    }
    }
    else
    {
    SendClientMessage(playerid, ROT, "Der Spieler ist nicht in der Nähe des Arrest-Points.");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, ROT, "Du bist nicht in der Nähe des Arrest-Points.");
    return 1;
    }
    }
    else
    {
    SendClientMessage(playerid, ROT, "Der Spieler ist ein Beamter!");
    return 1;
    }
    }
    }
    }
    else
    {
    SendClientMessage(playerid, ROT, "Du bist kein Beamter.");
    return 1;
    }
    }
    return 1;
    }


    /clear

    Spoiler anzeigen
    ocmd:clear(playerid,params[]) {
    new pID,string[111],string2[111];
    if(sscanf(params,"u",pID)) { return SendClientMessage(playerid,BLAU,"Benutzung: /clear [playerid]"); }
    if(pID == playerid) { return SendClientMessage(playerid,ROT,"Du kannst nicht deine eigene Akte reinigen!"); }
    if(Spieler[playerid][Team] == 1 || Spieler[playerid][Team] == 2 || Spieler[playerid][Team] == 14)
    {
    SetPVarInt(pID,"Wanted",0);
    SetPlayerWantedLevel(pID,0);
    format(string2,sizeof(string2),"Du hast %s seine Akte gereinigt",SpielerName(pID));
    SendClientMessage(playerid,HELLBLAU,string2);
    format(string,sizeof(string),"%s hat deine Akte gereinigt",SpielerName(playerid));
    SendClientMessage(pID,HELLBLAU,string);
    }
    return 1;
    }


    LG
    Crocky :/