Selfmade ( ocmd: unban ) funktioniert nicht

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
  • Abend...
    Mein Unban Befeh geht nicht.
    Ich habe das alles mit Dini, da ich Mysql zu schwer finde.
    Nun ja, ich möchte das jemanden Ingame entbannen.
    Aber es wird nur die Verwendung angezeigt, trotzdem, auch wenn ich es
    richtig eingebe. Und der Spieler ist auch gebannt. Aber es geht irgendwie nicht.
    Wisst ihr woran das liegt. ???


    ocmd:unban(playerid,params[])
    {
    new Spielerdatei[128], pID[MAX_PLAYER_NAME], string[128];
    if(sscanf(params,"s[32]",pID)) return SendClientMessage(playerid,FARBE_WEISS,"Verwendung: /unban [Name]");
    format(Spielerdatei,sizeof(Spielerdatei),"/Accounts/%s.ini",pID);
    if(!dini_Exists(Spielerdatei)) return SendClientMessage(playerid,FARBE_WEISS,"Spieleraccount wurde nicht gefunden!");
    format(string,sizeof(string),"[SERVER] %s hat %s entbannt!",SpielerName(playerid), pID);
    SendClientMessageToAll(FARBE_WEISS,string);
    dini_IntSet(Spielerdatei,"Banned",0);
    return 1;
    }


    Wenn ich das eingebe kommt nur.


    if(sscanf(params,"s[32]",pID)) return SendClientMessage(playerid,FARBE_WEISS,"Verwendung: /unban [Name]");


    Und als Text Ingame, egal was ich eingebe.


    Verwendung: /unban [Name]


    Warum ???

  • Ändere einmal den string pID von MAX_PLAYER_NAME auf eine definierte Größe um z.B. 32.


    Da MAX_PLAYER_NAME nämlich niemals 32 ist, sondern 24+1 also 25 Zellen.


    Oder ändere s[32] auf s[24] um.


    @K3V1N die Stringgröße wird bei sscanf2 benötigt.