Enum Frage

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
  • Unter Register:


    format(var, 32, "Tode=%d\n",PlayerInfo[playerid][pTode]);fwrite(hFile, var);


    Unter Login:


    if( strcmp( key , "Tode" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pTode] = strval( val ); }


    Unter Update:


    format(var, 32, "Tode=%d\n",PlayerInfo[playerid][pTode]);fwrite(hFile, var);


    Das meinst du oder ?


    //EDIT ist ausm GF

  • ocmd:warn(playerid,params[])
    {
    if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,ROT,"Info: Du bist kein Admin.");
    new pID, grund[64], string[128];
    if(sscanf(params,"us",pID,grund))return SendClientMessage(playerid,HELLBLAU,"FEHLER: /warn [ID/Name] [Grund]");
    format(string,sizeof(string),"Info: Spieler %s wurde verwarnt von %s | Grund: %s",SpielerName(pID),SpielerName(playerid),grund);
    SendClientMessageToAll(ROT,string);
    SetPVarInt(pID,"Warn",GetPVarInt(pID,"Warn")+1);
    if(SpInfo[playerid][Warn] = 3)
    {
    Kick(pID);
    }
    return 1;


    }


    z.B Da


    Ersetz mal bitte alles was da mit PVar zu tun hat in Enum halt . (P.S Das ist mein Befehl ^^)

  • ocmd:warn(playerid,params[])
    {
    new giveplayerid[MAX_PLAYERS];
    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
    if(PlayerInfo[playerid][pAdmin] == 1)return SendClientMessage(playerid,ROT,"Info: Du bist kein Admin.");
    new pID, grund[64], string[128];
    if(sscanf(params,"us",pID,grund))return SendClientMessage(playerid,HELLBLAU,"FEHLER: /warn [ID/Name] [Grund]");
    format(string,sizeof(string),"Info: Spieler %s wurde verwarnt von %s | Grund: %s",SpielerName(pID),SpielerName(playerid),grund);
    SendClientMessageToAll(ROT,string);
    PlayerInfo[giveplayerid][pWarns] += 1;
    if(SpInfo[playerid][Warn] = 3)
    {
    Kick(pID);
    }
    return 1;


    }

  • Einfach so machen um ein Wert zu erhöhen:


    statt:
    SetPVarInt(pID,"Warn",GetPVarInt(pID,"Warn")+1);
    zu:
    SpInfo[pID][sWarn] ++; // oder so ähnliches, variable bitte ändern ;)


    Weitere funktionen:

    spInfo[pID][sWarn] ++; // Variable wird um 1 erhöht
    spInfo[pID][sWarn] --; // Variable wird um 1 vermehrt
    spInfo[pID][sWarn] += 12; // Variable wird um 12 erhöht
    spInfo[pID][sWarn] -= 15; // Variable wird um 15 vermehrt

  • Ahh DAnke ShoXx sehr übersichtlich :) also so


    ocmd:warn(playerid,params[])
    {
    if(!isPlayerAnAdmin(playerid,2))return SendClientMessage(playerid,ROT,"Info: Du bist kein Admin.");
    new pID, grund[64], string[128];
    if(sscanf(params,"us",pID,grund))return SendClientMessage(playerid,HELLBLAU,"FEHLER: /warn [ID/Name] [Grund]");
    format(string,sizeof(string),"Info: Spieler %s wurde verwarnt von %s | Grund: %s",SpielerName(pID),SpielerName(playerid),grund);
    SendClientMessageToAll(ROT,string);
    SpInfo[playerid][Warn] += 1;
    if(SpInfo[playerid][Warn] == 3)
    {
    Kick(pID);
    }
    return 1;


    }


    Nur ++ und -- ist doch eigt Unnötig da nehm ich doch lieber += 1 statt ++

  • Yoa, so gehts auch ^^
    aber hier hast du ein fehler:
    if(SpInfo[playerid][Warn] == 3)
    Hier fragst du ab: WENN ich (Spieler der warn befehl benutzt) 3 Warns habe, dann soll pID gekickt werden, nicht gut oder?^^
    Ersetz playerid zu pID dann sollte es perfekt funk.
    (Also so:)
    if(SpInfo[pID][Warn] == 3)


    /e noch ein fehler entdeckt ^^
    von: SpInfo[playerid][Warn] += 1;


    zu:
    SpInfo[pID][Warn] += 1;
    // Wieder pID fehler

  • Ja blöde ist hab heute erst mit Enum Angefangen also richtig und habs vergessen hehe aber danke für die Aufmerksamkeit :)


    //edit:


    Und wie ersetze ich das?


    ocmd:stats(playerid,params[])
    {
    new string[128];
    format(string,sizeof(string),"Name:[%s]\nKills:[%i] | Geld:[%i]\nWarns:[%i]\nAdminlevel:[%i]\nVIP Rank:[%i]",SpielerName(playerid),GetPlayerScore(playerid),GetPVarInt(playerid,"Geld"),GetPVarInt(playerid,"Warn"),GetPVarInt(playerid,"Adminlevel"),GetPVarInt(playerid,"VIP"));
    ShowPlayerDialog(playerid,DIALOG_STATS,DIALOG_STYLE_MSGBOX,"Statistiken",string,"Fertig","Beenden");
    }