/setlevel mit enum

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
  • Hi,
    habe alle Daten in einem Enum System gespeichert:
    enum Info
    {
    pTut,
    passwort[128],
    skin,
    pOrigin,
    pSex,
    pCarLic,
    pRank,
    };
    Und im Tutorial wurde mit einem new gearbeitet..
    Wollte es aber auch in der Userdatei abspeichern lassen, also hab ich es mit enum versucht...
    Doch es kommen Errors...


    C:\Dokumente und Einstellungen\Jay ^^\Desktop\Dateien\Server\gamemodes\reallife.pwn(363) : error 017: undefined symbol "rank"
    C:\Dokumente und Einstellungen\Jay ^^\Desktop\Dateien\Server\gamemodes\reallife.pwn(363) : warning 215: expression has no effect
    C:\Dokumente und Einstellungen\Jay ^^\Desktop\Dateien\Server\gamemodes\reallife.pwn(363) : error 001: expected token: ";", but found "]"
    C:\Dokumente und Einstellungen\Jay ^^\Desktop\Dateien\Server\gamemodes\reallife.pwn(363) : error 029: invalid expression, assumed zero
    C:\Dokumente und Einstellungen\Jay ^^\Desktop\Dateien\Server\gamemodes\reallife.pwn(363) : fatal error 107: too many error messages on one line


    if(!strcmp(strget(cmdtext,0),"/setlevel"))
    {
    if(pInfo[playerid][pRank] < 4)
    {
    return
    SendClientMessage(playerid,COLOR_RED,"Du bist kein Fulladmin!");
    }
    }
    else
    {
    if(!strlen(strget(cmdtext,1)))
    return
    SendClientMessage(playerid,COLOR_RED,"/setlevel ID Rank");
    new typ=strval(strget(cmdtext,1));
    if(IsPlayerConnected(typ))
    {
    if(!strlen(strget(cmdtext,2)))
    return
    SendClientMessage(playerid,COLOR_RED,"/setlevel ID Rank");
    new rang=strval(strget(cmdtext,2));
    rank[typ]=rang;
    SendClientMessage(playerid,COLOR_GREEN,"Du hast das Level des Players gesetzt");
    SendClientMessage(ziel,COLOR_GREEN,"Dein Level wurde gesetzt");
    }
    else
    {
    SendClientMessage(playerid,COLOR_RED,"ID nicht vergeben");
    }
    return 1;
    }


    Die Fehler Zeile ist


    rank[typ]=rang;

    Einmal editiert, zuletzt von JayTheSheep ()

  • Öhm... Jay, woher kenn ich dich??^^
    Meine GTA:WC?


    Naja, BackToTopic:
    In deinem Enum steht "pRank", und du willst "rank" setzen.
    Solange due "rank" nicht in einer Variable Definiert hast, kann das garnicht klappen.




    MfG Firer



    //EDIT:
    Ausserdem arbeitest du oben mit einer "pInfo", also setzt du auch "pInfo".
    Sprich: "pInfo[playerid][enumvarablenname]=Wert"

    Einmal editiert, zuletzt von Firerfan ()

  • Du musst in deiner Enum pRank in Rank ändern ;)


    Einfach nur das p weg :P

    dcmd_greenpeace(playerid,params[]) {
    #pragma unused params
    SendClientMessage(playerid, Grün, "Rettet die Wale,esst mehr Bieber!");
    return 1;
    }


    Mapplanung:
    Etwas einzigartiges was noch kein anderer veröffentlicht hat.
    70% fertig.

  • C:\Dokumente und Einstellungen\Jay ^^\Desktop\Dateien\Server\gamemodes\reallife.pwn(363) : error 028: invalid subscript (not an array or too many subscripts): "rank"
    C:\Dokumente und Einstellungen\Jay ^^\Desktop\Dateien\Server\gamemodes\reallife.pwn(363) : warning 215: expression has no effect
    C:\Dokumente und Einstellungen\Jay ^^\Desktop\Dateien\Server\gamemodes\reallife.pwn(363) : error 001: expected token: ";", but found "]"
    C:\Dokumente und Einstellungen\Jay ^^\Desktop\Dateien\Server\gamemodes\reallife.pwn(363) : error 029: invalid expression, assumed zero
    C:\Dokumente und Einstellungen\Jay ^^\Desktop\Dateien\Server\gamemodes\reallife.pwn(363) : fatal error 107: too many error messages on one line
    hab pRank in rank umgeändert, funktioniert anscheinend immer noch nicht

  • Also ich denke mal an deiner Syntax musst du nochmal arbeiten...
    if(!strcmp(strget(cmdtext,0),"/setlevel"))
    {
    if(pInfo[playerid][pRank] < 4) return SendClientMessage(playerid,COLOR_RED,"Du bist kein Fulladmin!");
    else if(!strlen(cmdtext)) return SendClientMessage(playerid,COLOR_RED,"/setlevel ID Rank");
    else
    {
    new typ = strval(strget(cmdtext,1));
    if(IsPlayerConnected(typ))
    {
    if(!strlen(strget(cmdtext,2)))return SendClientMessage(playerid,COLOR_RED,"/setlevel ID Rank");
    new rang = strval(strget(cmdtext,2));
    pInfo[typ][pRank] = rang;
    SendClientMessage(playerid,COLOR_GREEN,"Du hast das Level des Players gesetzt");
    SendClientMessage(typ,COLOR_GREEN,"Dein Level wurde gesetzt");
    }
    else return endClientMessage(playerid,COLOR_RED,"ID nicht vergeben");
    }
    return 1;
    }