Error 017: undefined symbol "x"

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
  • Also ich wollte mein Haussystem so erweitern das nur Admins per Befehl /erstellen ein neues Haus machen können
    nun bekomm ich einen error der vorher nicht da war.


    H:\Dev\NEWRL SCRIPT\gamemodes\RL.pwn(1357) : error 017: undefined symbol "x"




    ocmd:erstellen(playerid,params[])
    {
    new pname[MAX_PLAYERS],accFormat[128];
    GetPlayerName(playerid,pname,sizeof pname);
    format(accFormat,sizeof accFormat,"/Accounts/%s.ini",pname);
    new Admin = dini_Int(accFormat,"Admin");
    if(Admin == 0)
    SendClientMessage(playerid, error, "Du bist kein Admin!");
    if(Admin == 1)

    GetPlayerPos(playerid, x,y,z); ///Hier kommt der Error
    new Float:x,Float:y,Float:z;

    CreateHaus(x,y,z,100,"Keiner",strval(params));



    return 1;
    }

  • sobald ich das gemacht habe
    dann bekomm ich weitere errors und zwar diese


    H:\Dev\NEWRL SCRIPT\gamemodes\RL.pwn(1356) : error 003: declaration of a local variable must appear in a compound block

    H:\Dev\NEWRL SCRIPT\gamemodes\RL.pwn(1356) : error 017: undefined symbol "x"

    H:\Dev\NEWRL SCRIPT\gamemodes\RL.pwn(1357) : error 017: undefined symbol "x"

    H:\Dev\NEWRL SCRIPT\gamemodes\RL.pwn(1361) : error 017: undefined symbol "x"




    ocmd:erstellen(playerid,params[])
    {
    new pname[MAX_PLAYERS],accFormat[128];
    GetPlayerName(playerid,pname,sizeof pname);
    format(accFormat,sizeof accFormat,"/Accounts/%s.ini",pname);
    new Admin = dini_Int(accFormat,"Admin");
    if(Admin == 0)
    SendClientMessage(playerid, error, "Du bist kein Admin!");
    if(Admin == 1)
    new Float:x,Float:y,Float:z; ///hier kommmen 3 error das gehört eigentlich nächste zeile nur iwie macht das forum das immer hier her^^: GetPlayerPos(playerid, x,y,z);
    CreateHaus(x,y,z,100,"Keiner",strval(params));



    return 1;
    }

  • Die Fehlermeldung sagt es eigentlich schon.Deine deklaration von den Variablen liegt in einem unerlaubtem Bereich
    ocmd:erstellen(playerid,params[])
    {
    new pname[MAX_PLAYERS],accFormat[128];
    GetPlayerName(playerid,pname,sizeof pname);
    format(accFormat,sizeof accFormat,"/Accounts/%s.ini",pname);
    new Admin = dini_Int(accFormat,"Admin");
    if(Admin == 0)
    SendClientMessage(playerid, error, "Du bist kein Admin!");
    if(Admin == 1)
    new Float:x,Float:y,Float:z; // <-- Landet sowieso unter der if Anweisung.
    CreateHaus(x,y,z,100,"Keiner",strval(params));



    return 1;
    }
    Entweder du machst die { } Klammern für "if(Admin == 1)" , damit auch mehr als nur 1 Anweisung möglich ist ODER du schiebst "new Float:x,Float:y,Float:z;" direkt unter den Funktionskopf.


    if( Admin == 1 ) {
    // bla 1
    // bla 2
    }

  • Du hast einen fatalen Fehler gemacht. Und zwar hast du die schwelligen Klammern vergessen.


    if(Admin == 1) {
    new Float:x,Float:y,Float:z; // <-- Landet sowieso unter der if Anweisung.
    GetPlayerPos(playerid, x, y, z);
    CreateHaus(x,y,z,100,"Keiner",strval(params));
    }


    So funktioniert es. ;)


    EDIT:


    Goldkiller war schneller als ich ;)

    Die Macht etwas zu bewirken, ist in Dir. Du musst sie nur rauslassen


    cristiano-ronaldo-525-portugal-euro-2012-banner-wallpaper.jpg