Problem mit meinem unban 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
  • hey. Ich hab ein Problem mit meinem Unban system.


    hier der code:


    ocmd:unban(playerid,params[])
    {
    if(IsPlayerAnAdmin(playerid,4))
    {
    new pID,string[128];
    if(GetPVarInt(pID,"Banned",0)) //warning
    {
    if(!dini_Exists(pID)) //error
    {
    if(sscanf(params,"u",pID)) return SendClientMessage(playerid,WEIß,"{FFFFFF}» {FF000F}Syntax: {FFFFFF}/unban {969696}[Name/ID]");
    format(string,sizeof(string),"[UNBAN] %s %s hat User %s entbannt.",Adminrang(playerid),SpielerName(playerid),pID);
    SendAdminMessage(GXFORANGE,string);
    SetPVarInt(pID,"Banned",0);
    }
    SendClientMessage(playerid,ROT,"Der angegebene Spieler existiert nicht.");
    }
    SendClientMessage(playerid,ROT,"Der angegebene Spieler ist nicht gebannt.");
    }
    else SendClientMessage(playerid,GRAU,"Für diesen Befehl benötigst du das folgende Adminlevel: {FF7800}Projektleiter {969696}[{FF7800}4{969696}] oder höher.");
    return 1;
    }


    Errorzeile:


    C:\Dokumente und Einstellungen\Marco\Desktop\DMR\gamemodes\DMR.pwn(723) : warning 202: number of arguments does not match definition
    C:\Dokumente und Einstellungen\Marco\Desktop\DMR\gamemodes\DMR.pwn(725) : error 035: argument type mismatch (argument 1)
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.


    Woran liegts?

    Liberty Reallife ♥


    SA-MP Server IP:

    Liberty-Reallife.de:7777 oder 176.57.142.127:777 | Version: 0.3z

    ____________________________________________________


    Forum:

    ____________________________________________________


    TeamSpeak³ Server IP:
    Liberty Reallife.de:9987 oder 176.57.142.172:9987

    ____________________________________________________


    TeamSpeak³ Server Passwort:

    ts-lr

  • GetPVarInt(pID,"Banned",0)
    Ähm jaaa.... im großen und ganzen könnte man sagen, dass der 3. Parameter nur beim setzen einer Per-Player-Variable genutzt wird und beim Auslesen somit komplett wegfällt.


    !dini_Exists(pID)
    pID bzw. der Funktionsparameter muss ein String sein

  • hab jetzt die 0 bei
    GetPVarInt(pID,"Banned",0) entfernt.



    statt !dini_Exists(pID) habe ich !dini_Exists(string)


    keine errors, keine warnings. danke ^^

    Liberty Reallife ♥


    SA-MP Server IP:

    Liberty-Reallife.de:7777 oder 176.57.142.127:777 | Version: 0.3z

    ____________________________________________________


    Forum:

    ____________________________________________________


    TeamSpeak³ Server IP:
    Liberty Reallife.de:9987 oder 176.57.142.172:9987

    ____________________________________________________


    TeamSpeak³ Server Passwort:

    ts-lr

  • Versteh ich nicht ?(

    Liberty Reallife ♥


    SA-MP Server IP:

    Liberty-Reallife.de:7777 oder 176.57.142.127:777 | Version: 0.3z

    ____________________________________________________


    Forum:

    ____________________________________________________


    TeamSpeak³ Server IP:
    Liberty Reallife.de:9987 oder 176.57.142.172:9987

    ____________________________________________________


    TeamSpeak³ Server Passwort:

    ts-lr

  • ocmd:unban(playerid,params[])
    {
    if(IsPlayerAnAdmin(playerid,4))
    {
    new pID,string[128],Account[64];
    if(GetPVarInt(pID,"Banned"))
    {
    if(!dini_Exists(Account))
    {
    if(sscanf(params,"u",pID)) return SendClientMessage(playerid,WEIß,"{FFFFFF}» {FF000F}Syntax: {FFFFFF}/unban {969696}[Name/ID]");
    format(string,sizeof(string),"[UNBAN] %s %s hat User %s entbannt.",Adminrang(playerid),SpielerName(playerid),pID);
    SendAdminMessage(GXFORANGE,string);
    SetPVarInt(pID,"Banned",0);
    }
    else SendClientMessage(playerid,ROT,"Der angegebene Spieler existiert nicht.");
    }
    else SendClientMessage(playerid,ROT,"Der angegebene Spieler ist nicht gebannt.");
    }
    else SendClientMessage(playerid,GRAU,"Für diesen Befehl benötigst du das folgende Adminlevel: {FF7800}Projektleiter {969696}[{FF7800}4{969696}] oder höher.");
    return 1;
    }


    So sieht der Befehl jetzt aus.
    Wenn ich aber ingame /unban eingebe, steht folgendes: Der angegebene Spieler ist nicht gebannt.
    warum?

    Liberty Reallife ♥


    SA-MP Server IP:

    Liberty-Reallife.de:7777 oder 176.57.142.127:777 | Version: 0.3z

    ____________________________________________________


    Forum:

    ____________________________________________________


    TeamSpeak³ Server IP:
    Liberty Reallife.de:9987 oder 176.57.142.172:9987

    ____________________________________________________


    TeamSpeak³ Server Passwort:

    ts-lr

  • jap (glaube ich zumindest)

    Liberty Reallife ♥


    SA-MP Server IP:

    Liberty-Reallife.de:7777 oder 176.57.142.127:777 | Version: 0.3z

    ____________________________________________________


    Forum:

    ____________________________________________________


    TeamSpeak³ Server IP:
    Liberty Reallife.de:9987 oder 176.57.142.172:9987

    ____________________________________________________


    TeamSpeak³ Server Passwort:

    ts-lr

  • hab ich doch oben gezeigt? :D


    Egal, hier nochmal:


    ocmd:unban(playerid,params[])
    {
    if(IsPlayerAnAdmin(playerid,4))
    {
    new pID,string[128],Account[64];
    if(GetPVarInt(pID,"Banned"))
    {
    if(!dini_Exists(Account))
    {
    if(sscanf(params,"u",pID)) return SendClientMessage(playerid,WEIß,"{FFFFFF}» {FF000F}Syntax: {FFFFFF}/unban {969696}[Name/ID]");
    format(string,sizeof(string),"[UNBAN] %s %s hat User %s entbannt.",Adminrang(playerid),SpielerName(playerid),pID);
    SendAdminMessage(GXFORANGE,string);
    SetPVarInt(pID,"Banned",0);
    }
    else SendClientMessage(playerid,ROT,"Der angegebene Spieler existiert nicht.");
    }
    else SendClientMessage(playerid,ROT,"Der angegebene Spieler ist nicht gebannt.");
    }
    else SendClientMessage(playerid,GRAU,"Für diesen Befehl benötigst du das folgende Adminlevel: {FF7800}Projektleiter {969696}[{FF7800}4{969696}] oder höher.");
    return 1;
    }


    So sieht der Befehl jetzt aus.


    Wenn ich aber ingame /unban eingebe, steht folgendes: Der angegebene Spieler ist nicht gebannt.


    warum?

    Liberty Reallife ♥


    SA-MP Server IP:

    Liberty-Reallife.de:7777 oder 176.57.142.127:777 | Version: 0.3z

    ____________________________________________________


    Forum:

    ____________________________________________________


    TeamSpeak³ Server IP:
    Liberty Reallife.de:9987 oder 176.57.142.172:9987

    ____________________________________________________


    TeamSpeak³ Server Passwort:

    ts-lr