symbol already defined: "GetPlayerName"??????

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
  • dcmd_aod(playerid,params[])
    {
    new pID,grund[128];
    if(Player[playerid][admin] < 2){SendClientMessage(playerid,FarbeRot,"Du bist kein Adminrank 2!");}
    if(sscanf(params,"us",pID,grund)) return SendClientMessage(playerid,FarbeRot,"Falsche Benutzung: /aod [Grund]");}
    new str[128],adm[MAX_PLAYER_NAME];
    GetPlayerName(pID,adm,sizeof(adm));
    format(str,sizeof(str),"<> %s steht unter DM-Schutz. Grund des DM-Schutzes: %s <>",adm,grund);
    SendClientMessage(playerid,FarbeGruen,str);
    }


    So, und dann kommt dieser geile Error:
    C:\Dokumente und Einstellungen\Peter Pan\Desktop\Server\gamemodes\gtawcdmvdrei.pwn(216) : warning 209: function "dcmd_aod" should return a value
    C:\Dokumente und Einstellungen\Peter Pan\Desktop\Server\gamemodes\gtawcdmvdrei.pwn(218) : error 021: symbol already defined: "GetPlayerName"//Der hier xDDD
    C:\Dokumente und Einstellungen\Peter Pan\Desktop\Server\gamemodes\gtawcdmvdrei.pwn(228) : warning 219: local variable "str" shadows a variable at a preceding level
    C:\Dokumente und Einstellungen\Peter Pan\Desktop\Server\gamemodes\gtawcdmvdrei.pwn(243) : warning 219: local variable "str" shadows a variable at a preceding level
    C:\Dokumente und Einstellungen\Peter Pan\Desktop\Server\gamemodes\gtawcdmvdrei.pwn(252) : warning 202: number of arguments does not match definition
    C:\Dokumente und Einstellungen\Peter Pan\Desktop\Server\gamemodes\gtawcdmvdrei.pwn(253) : warning 202: number of arguments does not match definition
    C:\Dokumente und Einstellungen\Peter Pan\Desktop\Server\gamemodes\gtawcdmvdrei.pwn(325) : warning 235: public function lacks forward declaration (symbol "duellstart")
    C:\Dokumente und Einstellungen\Peter Pan\Desktop\Server\gamemodes\gtawcdmvdrei.pwn(542) : warning 213: tag mismatch
    C:\Dokumente und Einstellungen\Peter Pan\Desktop\Server\gamemodes\gtawcdmvdrei.pwn(550) : warning 213: tag mismatch
    C:\Dokumente und Einstellungen\Peter Pan\Desktop\Server\gamemodes\gtawcdmvdrei.pwn(1170) : warning 203: symbol is never used: "adm"
    C:\Dokumente und Einstellungen\Peter Pan\Desktop\Server\gamemodes\gtawcdmvdrei.pwn(1170) : warning 203: symbol is never used: "str"
    C:\Dokumente und Einstellungen\Peter Pan\Desktop\Server\gamemodes\gtawcdmvdrei.pwn(1170) : warning 203: symbol is never used: "strtok"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.


    Woher & wieso?
    Bitte helfen.

  • dcmd_aod(playerid,params[])
    {
    new pID,grund[128];
    if(Player[playerid][admin] < 2){SendClientMessage(playerid,FarbeRot,"Du bist kein Adminrank 2!");}
    if(sscanf(params,"us",pID,grund)) return SendClientMessage(playerid,FarbeRot,"Falsche Benutzung: /aod [Grund]");} // Die } ist hier zu viel!
    new str[128],adm[MAX_PLAYER_NAME];
    GetPlayerName(pID,adm,sizeof(adm));
    format(str,sizeof(str),"<> %s steht unter DM-Schutz. Grund des DM-Schutzes: %s <>",adm,grund);
    SendClientMessage(playerid,FarbeGruen,str);
    }


    --> Also:


    dcmd_aod(playerid,params[])
    {
    new pID,grund[128];
    if(Player[playerid][admin] < 2){SendClientMessage(playerid,FarbeRot,"Du bist kein Adminrank 2!");}
    if(sscanf(params,"us",pID,grund)) return SendClientMessage(playerid,FarbeRot,"Falsche Benutzung: /aod [Grund]");
    new str[128],adm[MAX_PLAYER_NAME];
    GetPlayerName(pID,adm,sizeof(adm));
    format(str,sizeof(str),"<> %s steht unter DM-Schutz. Grund des DM-Schutzes: %s <>",adm,grund);
    SendClientMessage(playerid,FarbeGruen,str);
    }


    Evil :)

  • dcmd_aod(playerid,params[])
    {
    new pID,grund[128];
    if(Player[playerid][admin] < 2){SendClientMessage(playerid,FarbeRot,"Du bist kein Adminrank 2!");}
    if(sscanf(params,"us",pID,grund)) return SendClientMessage(playerid,FarbeRot,"Falsche Benutzung: /aod [Grund]");
    new str[128],adm[MAX_PLAYER_NAME];
    GetPlayerName(pID,adm,sizeof(adm));
    format(str,sizeof(str),"<> %s steht unter DM-Schutz. Grund des DM-Schutzes: %s <>",adm,grund);
    SendClientMessage(playerid,FarbeGruen,str);
    return 1;
    }


    Versuch ma so du hast da das Return vergessen


    MFG: Viper

  • GetPlayerName ist schon längst definiert. Was ist da nicht zu verstehen?? :D


    lg


    pS

  • Du musst bei einem CMD immer vor die letzte Klammer ein

    Code
    return 1;

    setzen, daran lag es wohl.

  • dcmd_aod(playerid,params[])
    {
    new pID,grund[128];
    if(Player[playerid][admin] < 2){SendClientMessage(playerid,FarbeRot,"Du bist kein Adminrank 2!");}
    if(sscanf(params,"us",pID,grund)) return SendClientMessage(playerid,FarbeRot,"Falsche Benutzung: /aod [Grund]");
    new str[128],adm[MAX_PLAYER_NAME];
    GetPlayerName(pID,adm,sizeof(adm));
    format(str,sizeof(str),"<> %s steht unter DM-Schutz. Grund des DM-Schutzes: %s <>",adm,grund);
    SendClientMessageToAll(FarbeGruen,str);
    return 1;
    }
    Da unten halt. :D

  • 2 Logische Fehler:


    dcmd_aod(playerid,params[])
    {
    new pID,grund[128];
    if(Player[playerid][admin] <= 2){SendClientMessage(playerid,FarbeRot,"Du bist kein Adminrank 2!");} // Sonst würde es nur ab Adminrank 3 funzen nicht wie dort steht ab Rank 2
    if(sscanf(params,"us",pID,grund)) return SendClientMessage(playerid,FarbeRot,"Falsche Benutzung: /aod [ID] [Grund]"); // /aod hat 2 Parameter
    new str[128],adm[MAX_PLAYER_NAME];
    GetPlayerName(pID,adm,sizeof(adm));
    format(str,sizeof(str),"<> %s steht unter DM-Schutz. Grund des DM-Schutzes: %s <>",adm,grund);
    SendClientMessageToAll(FarbeGruen,str);
    return 1;
    }