Online Leader-Liste

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
  • Auf wunsch von Jeffry habe ich hier einen neuen Thread
    mysql_query(query);
    switch(pInfo[playerid][pRang])
    {
    case 0:{return SCM(playerid,ROT,"Du hast keinen Fraktionsrang!");}
    case 1:{format(query, sizeof(query), "SELECT `Rang1` FROM `raenge` WHERE `Fraktion` = '%s'",fname);}
    case 2:{format(query, sizeof(query), "SELECT `Rang2` FROM `raenge` WHERE `Fraktion` = '%s'",fname);}
    case 3:{format(query, sizeof(query), "SELECT `Rang3` FROM `raenge` WHERE `Fraktion` = '%s'",fname);}
    case 4:{format(query, sizeof(query), "SELECT `Rang4` FROM `raenge` WHERE `Fraktion` = '%s'",fname);}
    case 5:{format(query, sizeof(query), "SELECT `Rang5` FROM `raenge` WHERE `Fraktion` = '%s'",fname);}
    case 6:{format(query, sizeof(query), "SELECT `Rang6` FROM `raenge` WHERE `Fraktion` = '%s'",fname);}
    case 7:{format(query, sizeof(query), "SELECT `Rang7` FROM `raenge` WHERE `Fraktion` = '%s'",fname);}
    case 8:{format(query, sizeof(query), "SELECT `Rang8` FROM `raenge` WHERE `Fraktion` = '%s'",fname);}
    case 9:{format(query, sizeof(query), "SELECT `Rang9` FROM `raenge` WHERE `Fraktion` = '%s'",fname);}
    case 10:{format(query, sizeof(query), "SELECT `Rang10` FROM `raenge` WHERE `Fraktion` = '%s'",fname);}
    }

  • Ich wollte ein Befehl erstellen der /Leader heißt, und wenn man den eingibt sollen alle mit Rang 10 = Leader angezeigt werden, und dafür muss es aus der MySql Datenbank geladen werden,
    es soll auch anzeigen ob der Leader Online oder Offline ist aber Jeffry weiß bescheid

  • Du musst die Leader-Namen in eine Variable laden und dann prüfen ob dieser Spieler online ist mit z.B. der Funktion:


    stock IsPlayerOnline(const name[])
    {
    for(new i=GetPlayerPoolSize(),n[MAX_PLAYER_NAME]; i!=-1; i--) if(GetPlayerName(i,n,MAX_PLAYER_NAME) && !strcmp(n,name)) return 1;
    return 0;
    }


    Wenn die Funktion 1 ausgibt ist der Spieler online, ansonsten offline :)


    mfg. :thumbup:

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Davor ocmd:f(playerid,params[])
    {
    if(pInfo[playerid][pFraktion] == 0)return SCM(playerid, ROT,"Du bist in keiner Fraktion!");
    new inputtext[128],string[256],fname[100],ausgabe[128];
    if(sscanf(params,"s",inputtext))return SCM(playerid, ROT,"{FFD200}Benutze:{FEFEFE}/F [Nachricht]");


    switch(pInfo[playerid][pFraktion])
    {
    case 1:{fname = "LSPD";}
    case 2:{fname = "BND";}
    case 3:{fname = "Hitman Agency";}
    case 4:{fname = "SAA";}
    case 5:{fname = "Regierung";}
    case 6:{fname = "LSMD";}
    case 7:{fname = "OAmt";}
    case 8:{fname = "Varrios Los Aztecas";}
    case 9:{fname = "SAM AG";}
    case 10:{fname = "Grove";}
    case 11:{fname = "Ballas";}
    case 12:{fname = "Terror";}
    case 13:{fname = "LCN";}
    }

    new query[256];
    mysql_query(query);
    switch(pInfo[playerid][pRang])




    Danach {
    case 0:{return SCM(playerid,ROT,"Du hast keinen Fraktionsrang!");}
    case 1:{format(query, sizeof(query), "SELECT `Rang1` FROM `raenge` WHERE `Fraktion` = '%s'",fname);}
    case 2:{format(query, sizeof(query), "SELECT `Rang2` FROM `raenge` WHERE `Fraktion` = '%s'",fname);}
    case 3:{format(query, sizeof(query), "SELECT `Rang3` FROM `raenge` WHERE `Fraktion` = '%s'",fname);}
    case 4:{format(query, sizeof(query), "SELECT `Rang4` FROM `raenge` WHERE `Fraktion` = '%s'",fname);}
    case 5:{format(query, sizeof(query), "SELECT `Rang5` FROM `raenge` WHERE `Fraktion` = '%s'",fname);}
    case 6:{format(query, sizeof(query), "SELECT `Rang6` FROM `raenge` WHERE `Fraktion` = '%s'",fname);}
    case 7:{format(query, sizeof(query), "SELECT `Rang7` FROM `raenge` WHERE `Fraktion` = '%s'",fname);}
    case 8:{format(query, sizeof(query), "SELECT `Rang8` FROM `raenge` WHERE `Fraktion` = '%s'",fname);}
    case 9:{format(query, sizeof(query), "SELECT `Rang9` FROM `raenge` WHERE `Fraktion` = '%s'",fname);}
    case 10:{format(query, sizeof(query), "SELECT `Rang10` FROM `raenge` WHERE `Fraktion` = '%s'",fname);}
    }
    mysql_query(query);
    mysql_store_result();
    new rows = mysql_num_rows();
    if(rows > 0)
    {
    mysql_fetch_row(ausgabe);
    }

    if(pInfo[playerid][pFraktion] == 1)
    {
    format(string,sizeof(string),"[%s]{C30000}%s %s: {FFFFFF}%s,over.",fname,ausgabe,SpielerName(playerid),inputtext);
    }
    else
    {
    format(string,sizeof(string),"[%s]{C30000}%s %s: {FFFFFF}%s",fname,ausgabe,SpielerName(playerid),inputtext);
    }
    for(new i=0;i<MAX_PLAYERS;i++)
    {
    if(IsPlayerConnected(i))
    {
    if(pInfo[i][pFraktion] == pInfo[playerid][pFraktion])
    {
    SCM(i,0x0091FFFF,string);
    }
    }
    }
    BigearCast(playerid,string,1);
    switch(pInfo[playerid][pFraktion])
    {
    case 1: FrakLog1(string);
    case 2: FrakLog2(string);
    case 3: FrakLog3(string);
    case 4: FrakLog4(string);
    case 5: FrakLog5(string);
    case 6: FrakLog6(string);
    case 7: FrakLog7(string);
    case 8: FrakLog8(string);
    case 9: FrakLog9(string);
    case 10:FrakLog10(string);
    case 11:FrakLog11(string);
    case 12:FrakLog12(string);
    case 13:FrakLog13(string);
    }
    return 1;
    }

  • Na also, da ist die Zuweisung doch!


    Versuche es in deinem Online-List Befehl so:
    mysql_query("SELECT name, fraktion FROM users WHERE rank = 6;");
    mysql_store_result();
    new rows = mysql_num_rows();
    if(!rows) return SendClientMessage(playerid, 0xFF0000FF, "Error: Etwas ist schief gegangen.");
    new str[512], row[64], name[32], frak, fname[32];
    while(mysql_fetch_row(row, "|"))
    {
    sscanf(row, "p<|>sd", name, frak);
    switch(frak)
    {
    case 1:{fname = "LSPD";}
    case 2:{fname = "BND";}
    case 3:{fname = "Hitman Agency";}
    case 4:{fname = "SAA";}
    case 5:{fname = "Regierung";}
    case 6:{fname = "LSMD";}
    case 7:{fname = "OAmt";}
    case 8:{fname = "Varrios Los Aztecas";}
    case 9:{fname = "SAM AG";}
    case 10:{fname = "Grove";}
    case 11:{fname = "Ballas";}
    case 12:{fname = "Terror";}
    case 13:{fname = "LCN";}
    }
    if(ReturnPlayerID(name) != INVALID_PLAYER_ID) format(str, sizeof(str), "%s{FFFFFF}%d [%s] - {00FF00}Online\n", str, name, fname);
    else format(str, sizeof(str), "%s{FFFFFF}%d [%s] - {FF0000}Offline\n", str, name, fname);
    }
    ShowPlayerDialog(playerid, 4521, DIALOG_STYLE_MSGBOX, "OnlineList", str, "Ok");
    return 1;


    Bedenke, dass du das Query anpassen musst:
    mysql_query("SELECT name, fraktion FROM users WHERE rank = 6;");
    //users = Tabelle die die Userdaten enthält
    //name = Spalte in der der Name steht
    //fraktion = Spalte in der die Fraktions ID steht

  • C:\Users\Media Markt\Desktop\Virtual Roleplay Selfmade\Projekt\gamemodes\gr.pwn(8608) : error 017: undefined symbol "ReturnPlayerID"
    C:\Users\Media Markt\Desktop\Virtual Roleplay Selfmade\Projekt\gamemodes\gr.pwn(8611) : warning 217: loose indentation
    C:\Users\Media Markt\Desktop\Virtual Roleplay Selfmade\Projekt\gamemodes\gr.pwn(8611) : warning 202: number of arguments does not match definition
    C:\Users\Media Markt\Desktop\Virtual Roleplay Selfmade\Projekt\gamemodes\gr.pwn(8615) : warning 225: unreachable code
    C:\Users\Media Markt\Desktop\Virtual Roleplay Selfmade\Projekt\gamemodes\gr.pwn(8615) : error 029: invalid expression, assumed zero
    C:\Users\Media Markt\Desktop\Virtual Roleplay Selfmade\Projekt\gamemodes\gr.pwn(8615) : error 017: undefined symbol "ReturnPlayerID"
    C:\Users\Media Markt\Desktop\Virtual Roleplay Selfmade\Projekt\gamemodes\gr.pwn(8623) : error 017: undefined symbol "l_PlayerName"
    C:\Users\Media Markt\Desktop\Virtual Roleplay Selfmade\Projekt\gamemodes\gr.pwn(8630) : warning 225: unreachable code
    C:\Users\Media Markt\Desktop\Virtual Roleplay Selfmade\Projekt\gamemodes\gr.pwn(8630) : error 029: invalid expression, assumed zero
    C:\Users\Media Markt\Desktop\Virtual Roleplay Selfmade\Projekt\gamemodes\gr.pwn(8630) : error 017: undefined symbol "ocmd_bkoffer"
    C:\Users\Media Markt\Desktop\Virtual Roleplay Selfmade\Projekt\gamemodes\gr.pwn(8630) : error 029: invalid expression, assumed zero
    C:\Users\Media Markt\Desktop\Virtual Roleplay Selfmade\Projekt\gamemodes\gr.pwn(8630) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    8 Errors.
    Da kommen fehler :o

  • Du hast die Funktion ReturnPlayerID noch immer nicht in deinen Code eingefügt (ganz unten im Gamemode). Das sage ich dir nun zum dritten mal.
    Die Funktion steht im anderen Thread, suche sie dir dort raus und füge sie in deinen Gamemode ein.

  • C:\Users\Media Markt\Desktop\Virtual Roleplay Selfmade\Projekt\gamemodes\gr.pwn(8624) : warning 217: loose indentation
    C:\Users\Media Markt\Desktop\Virtual Roleplay Selfmade\Projekt\gamemodes\gr.pwn(8624) : warning 202: number of arguments does not match definition
    C:\Users\Media Markt\Desktop\Virtual Roleplay Selfmade\Projekt\gamemodes\gr.pwn(8627) : warning 225: unreachable code
    C:\Users\Media Markt\Desktop\Virtual Roleplay Selfmade\Projekt\gamemodes\gr.pwn(8627) : error 029: invalid expression, assumed zero
    C:\Users\Media Markt\Desktop\Virtual Roleplay Selfmade\Projekt\gamemodes\gr.pwn(8627) : error 017: undefined symbol "ocmd_bkoffer"
    C:\Users\Media Markt\Desktop\Virtual Roleplay Selfmade\Projekt\gamemodes\gr.pwn(8627) : error 029: invalid expression, assumed zero
    C:\Users\Media Markt\Desktop\Virtual Roleplay Selfmade\Projekt\gamemodes\gr.pwn(8627) : fatal error 107: too many error messages on one line


    Compilation aborted.Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    4 Errors.
    Habe ich eig. die ganze zeit drin gehabt