/Stats Funktioniert nicht richtig [DURCHEINANDER]

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
  • Tag liebe Community,
    Ich habe ein Problem mit meinem Stats Befehl.
    Hab bisher gescriptet, dass er mir Name,Level,Fraktion und Adminlevel verrät.
    Aber er zeigt bei der Fraktion und Adminlevel total verkehrte Sachen an.
    Bei der Fraktion kommt das Adminlevel und beim Adminlevel wird der Name angezeigt oO
    Beim Screen habe ich die frak nr 1 (LSPD).
    Aber wird ja adminlevel angezeigt ... -.-


    http://s14.directupload.net/images/120701/2zi7gxx6.png





    if(strcmp(cmdtext,"/stats",true)==0)
    {
    new string[128];
    new fraktname[64];
    new adminname[30];
    switch(GetPVarInt(playerid,"Fraktion"))
    {
    case 0:{fraktname="Keine";}
    case 1:{fraktname=fraktname1;}
    case 2:{fraktname=fraktname2;}
    case 3:{fraktname=fraktname3;}
    }
    switch(GetPVarInt(playerid,"Adminlevel"))
    {
    case 0:{adminname="Spieler";}
    case 1:{adminname="1.Supporter";}
    case 2:{adminname="2.Supporter";}
    case 3:{adminname="3.Supporter";}
    case 4:{adminname="Moderator";}
    case 5:{adminname="Supermoderator";}
    case 6:{adminname="Administrator";}
    case 7:{adminname="Serverleiter";}
    }
    format(string,sizeof(string),"[Name: %s] [Level: %i] [Fraktion: %i] [Adminrang:%s]",SpielerName(playerid),GetPlayerScore(playerid),GetPVarInt(playerid,"Adminlevel"),GetPVarInt(playerid,"Fraktion"),adminname,fraktname);
    SendClientMessage(playerid,GRAU,string);
    return 1;
    }


    stock GetAdminName(playerid)
    {
    switch(GetPVarInt(playerid,"Adminlevel"))
    {
    case 0:{adminname="Spieler";}
    case 1:{adminname="1.Supporter";}
    case 2:{adminname="2.Supporter";}
    case 3:{adminname="3.Supporter";}
    case 4:{adminname="Moderator";}
    case 5:{adminname="Supermoderator";}
    case 6:{adminname="Administrator";}
    case 7:{adminname="Serverleiter";}
    }
    }


    #define fraktname1 "LSPD"
    #define fraktname2 "Groove Street"
    #define fraktname3 "Medic"


    Ich hoffe wirklich, dass ihr mir helfen könnt.


    Mit freundlichen Grüßen
    iMan


    /EDIT Screen zugefügt

  • Und jetzt kannst du uns nochmal sagen, wie du auf
    "[Name: %s] [Level: %i] [Fraktion: %i] [Adminrang:%s]",SpielerName(playerid),GetPlayerScore(playerid),GetPVarInt(playerid,"Adminlevel"),GetPVarInt(playerid,"Fraktion"),adminname,fraktname);


    Kommst?
    Du hast dort stehen: %s, %i, %i, %s. (4 Stück)
    Und als Parameter 6 angegeben.
    Da kann doch etwas nicht stimmen.
    Überarbeite das nochmal. ;)
    Und denk dran, %s = String, %i = Integer, %d = Dezimal Zahl.

  • Du hast 4 Floats. Du benutzt aber 6 Paramater.

    "[Name: %s] [Level: %i] [Fraktion: %i] [Adminrang:%s]",SpielerName(playerid),GetPlayerScore(playerid),GetPVarInt(playerid,"Fraktion"),GetPVarInt(playerid,"Adminlevel"));


    So ists perfekt.


    lg :thumbup:

    RTL - Das N steht für Niveau!
    MfG,
    StreetS


    Jegliche Freundesanfragen, die für mich keinen Sinn ergeben, werden professionell Ignoriert. (Gleiche mit Skype!)
    Wer es nicht kapiert wird in Breadfish & Skype blockiert.


    - Stolzer PAWN Scripter der Klasse Beherrscht

  • Habe nun 1 Error den ich nicht verstehe :(



    C:\Users\Arash\Desktop\Alle Ordner\World~of~Reallife\gamemodes\WorldofReallife.pwn(302) : error 002: only a single statement (or expression) can follow each "case"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.


    format(string,sizeof(string),"[Name: %s] [Level: %i] [Fraktion: %i] [Adminrang:%s]",SpielerName(playerid),GetPlayerScore(playerid),GetPVarInt(playerid,"Fraktion"),GetPVarInt(playerid,"Adminlevel"));

  • Zeig mal den gesamten Code nochmal, außerdem kannst du beim case "{}" weglassen.


    /e.


    So


    switch(){case 0: blabla;case 1: blabla;}

    Roleplay Network | Dᴇᴀᴅ.Nᴇᴛ

  • if(strcmp(cmdtext,"/stats",true)==0)
    {
    new string[128];
    new fraktname[64];
    new adminname[30];
    switch(GetPVarInt(playerid,"Fraktion"))
    {
    case 0:{fraktname="Keine";}
    case 1:{fraktname=fraktname1;}
    case 2:{fraktname=fraktname2;}
    case 3:{fraktname=fraktname3;}
    }
    switch(GetPVarInt(playerid,"Adminlevel"))
    {
    case 0:{adminname="Spieler";}
    case 1:{adminname="1.Supporter";}
    case 2:{adminname="2.Supporter";}
    case 3:{adminname="3.Supporter";}
    case 4:{adminname="Moderator";}
    case 5:{adminname="Supermoderator";}
    case 6:{adminname="Administrator";}
    case 7:{adminname="Serverleiter";}
    format(string,sizeof(string),"[Name: %s] [Level: %i] [Fraktion: %i] [Adminrang:%s]",SpielerName(playerid),GetPlayerScore(playerid),GetPVarInt(playerid,"Fraktion"),GetPVarInt(playerid,"Adminlevel"));
    SendClientMessage(playerid,GRAU,string);
    return 1;
    }



    C:\Users\Arash\Desktop\Alle Ordner\World~of~Reallife\gamemodes\WorldofReallife.pwn(302) : error 002: only a single statement (or expression) can follow each "case"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.

    Einmal editiert, zuletzt von MrZezuma ()

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen

  • Aber was soll da sonst hin?
    Von wo soll er dann die Info holen ? xD


    Damit meint er, dass du ein %i statt dem %s verwenden sollst, aber der Error hat rein garnichts damit zu tun.
    Mach SendClientMessage, format und das return aus der switch Anweisung raus und dann sollte der Fehler weg sein.

  • case 1:{fraktname=fraktname1;}
    case 2:{fraktname=fraktname2;}
    case 3:{fraktname=fraktname3;}




    Wieso?


    /e.
    @CoKeZ
    Dass hab ich gar nicht gesehen, in seinem ersten Code war es richtig xD

    Roleplay Network | Dᴇᴀᴅ.Nᴇᴛ

  • Mach SendClientMessage, format und das return aus der switch Anweisung raus und dann sollte der Fehler weg sein.

    Was soll er mir dann Anzeigen, wenn das weg ist?
    Hab das Probiert aber habe dan 28 Errors.


    Was meinst du damit?

  • if(strcmp(cmdtext,"/stats",true)==0)
    {
    new string[128];
    new fraktname[64];
    new adminname[30];
    switch(GetPVarInt(playerid,"Fraktion"))
    {
    case 0:{fraktname="Keine";}
    case 1:{fraktname=fraktname1;}
    case 2:{fraktname=fraktname2;}
    case 3:{fraktname=fraktname3;}
    }
    switch(GetPVarInt(playerid,"Adminlevel"))
    {
    case 0:{adminname="Spieler";}
    case 1:{adminname="1.Supporter";}
    case 2:{adminname="2.Supporter";}
    case 3:{adminname="3.Supporter";}
    case 4:{adminname="Moderator";}
    case 5:{adminname="Supermoderator";}
    case 6:{adminname="Administrator";}
    case 7:{adminname="Serverleiter";}
    }
    format(string,sizeof(string),"[Name: %s] [Level: %i] [Fraktion: %i] [Adminrang:%s]",SpielerName(playerid),GetPlayerScore(playerid),GetPVarInt(playerid,"Fraktion"),adminname);
    SendClientMessage(playerid,GRAU,string);
    return 1;
    }

    So.

    Roleplay Network | Dᴇᴀᴅ.Nᴇᴛ

  • Ich meinte damit, dass du das lediglich unter die switch Anweisung setzten sollst.


    So:



    switch(GetPVarInt(playerid,"Adminlevel"))
    {
    case 0:{adminname="Spieler";}
    case 1:{adminname="1.Supporter";}
    case 2:{adminname="2.Supporter";}
    case 3:{adminname="3.Supporter";}
    case 4:{adminname="Moderator";}
    case 5:{adminname="Supermoderator";}
    case 6:{adminname="Administrator";}
    case 7:{adminname="Serverleiter";}


    }


    format(string,sizeof(string),"[Name: %s] [Level: %i] [Fraktion: %i] [Adminrang:%s]",SpielerName(playerid),GetPlayerScore(playerid),GetPVarInt(playerid,"Fraktion"),GetPVarInt(playerid,"Adminlevel"));
    SendClientMessage(playerid,GRAU,string);
    return 1;


  • Er will doch frakname und adminname darstellen




    if(strcmp(cmdtext,"/stats",true)==0)
    {
    new string[128];
    new fraktname[64];
    new adminname[30];
    switch(GetPVarInt(playerid,"Fraktion"))
    {
    case 0:fraktname="Keine";
    case 1:fraktname=fraktname1;
    case 2:fraktname=fraktname2;
    case 3:fraktname=fraktname3;
    }
    switch(GetPVarInt(playerid,"Adminlevel"))
    {
    case 0:adminname="Spieler";
    case 1:adminname="1.Supporter";
    case 2:adminname="2.Supporter";
    case 3:adminname="3.Supporter";
    case 4:adminname="Moderator";
    case 5:adminname="Supermoderator";
    case 6:adminname="Administrator";
    case 7:adminname="Serverleiter";
    }//ups vergessen
    format(string,sizeof(string),"[Name: %s] [Level: %i] [Fraktion: %s] [Adminrang:%s]",SpielerName(playerid),GetPlayerScore(playerid),fraktname,adminname);
    SendClientMessage(playerid,GRAU,string);
    return 1;
    }


    MFG Piet

  • Der Error ist immernoch da :(


    Zur Erinnerung:


    C:\Users\Arash\Desktop\Alle Ordner\World~of~Reallife\gamemodes\WorldofReallife.pwn(301) : error 002: only a single statement (or expression) can follow each "case"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.