Wie speichere ich hier Admin?[Habe schon angefangen aber klappt nicht]

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,


    Wie speichere ich hier admin?


    Ich hab schon angefangen aber es klappt i-wie nicht^^



    new eingeloggt[MAX_PLAYERS], kills[MAX_PLAYERS], geld[MAX_PLAYERS];
    new admin[MAX_PLAYERS];



    dcmd_register(playerid,params[]) {
    if(!strlen(params)) return SendClientMessage(playerid,FARBE,"/register Passwort");
    new name[MAX_PLAYER_NAME], s[256];//sollte die variable "s" zu klein sein, dann mach aus der 20 ne 256
    GetPlayerName(playerid,name,sizeof(name));
    format(s,sizeof(s),"%s.ini",name);
    if(!dini_Exists(s)) {
    dini_Create(s);
    new ip[15];
    GetPlayerIp(playerid,ip,sizeof(ip));
    dini_Set(s,"ip",ip);
    dini_IntSet(s,"passwort",udb_hash(params));
    dini_IntSet(s,"kills",0);
    dini_IntSet(s,"geld",GetPlayerMoney(playerid));
    dini_IntSet(s,"admin",admin[playerid]);
    }
    return 1;
    }





    dcmd_login(playerid,params[]) {
    if(eingeloggt[playerid]==0) {
    if(!strlen(params)) return SendClientMessage(playerid,FARBE,"/login Passwort");
    new name[MAX_PLAYER_NAME], s[256], s2[256];
    GetPlayerName(playerid,name,sizeof(name));
    format(s,sizeof(s),"%s.ini",name);
    if(dini_Exists(s)) {
    s2=dini_Get(s,"passwort");
    if(strval(s2)==udb_hash(params)) {
    kills[playerid]=dini_Int(s,"kills");
    admin[playerid]=dini_Int(s,"admin");
    geld[playerid]=dini_Int(s,"geld");
    eingeloggt[playerid]=1;
    } else {
    SendClientMessage(playerid,Farbe,"Du bist bereits eingeloggt"); }}}
    return 1;
    }


    public OnPlayerDisconnect(playerid, reason)
    {
    if(eingeloggt[playerid]==1) {
    eingeloggt[playerid]=0;
    new name[21];
    GetPlayerName(playerid,name,sizeof(name));
    format(name,sizeof(name),"%s.ini",name);
    dini_IntSet(name,"geld",GetPlayerMoney(playerid));
    dini_IntSet(admin,"admin",admin[playerid]);
    }
    return 1;
    }

  • sry ich check des mit /register und so ned^^ und enums kp lol <3 :>


  • enum info
    {
    kills,
    geld,
    admin,
    };


    new eingeloggt[MAX_PLAYERS];
    new PlayerInfo[MAX_PLAYERS][info];


    dcmd_register(playerid,params[]) {
    if(!strlen(params)) return SendClientMessage(playerid,FARBE,"/register Passwort");
    new name[MAX_PLAYER_NAME], s[256];//sollte die variable "s" zu klein sein, dann mach aus der 20 ne 256
    GetPlayerName(playerid,name,sizeof(name));
    format(s,sizeof(s),"%s.ini",name);
    if(!dini_Exists(s)) {
    dini_Create(s);
    new ip[15];
    GetPlayerIp(playerid,ip,sizeof(ip));
    dini_Set(s,"ip",ip);
    dini_IntSet(s,"passwort",udb_hash(params));
    }
    return 1;
    }




    dcmd_login(playerid,params[]) {
    if(eingeloggt[playerid]==0) {
    if(!strlen(params)) return SendClientMessage(playerid,FARBE,"/login Passwort");
    new name[MAX_PLAYER_NAME], s[256], s2[256];
    GetPlayerName(playerid,name,sizeof(name));
    format(s,sizeof(s),"%s.ini",name);
    if(dini_Exists(s)) {
    s2=dini_Get(s,"passwort");
    if(strval(s2)==udb_hash(params)) {
    PlayerInfo[playerid][kills]=dini_Int(s,"kills");
    PlayerInfo[playerid][amin]=dini_Int(s,"admin");
    GetPlayerMoney(playerid);=dini_Int(s,"geld");
    eingeloggt[playerid]=1;
    } else {
    SendClientMessage(playerid,Farbe,"Du bist bereits eingeloggt"); }}}
    return 1;
    }

    public OnPlayerDisconnect(playerid, reason)
    {
    if(eingeloggt[playerid]==1) {
    eingeloggt[playerid]=0;
    new name[21];
    new s[256];
    GetPlayerName(playerid,name,sizeof(name));
    format(s,sizeof(s),"%s.ini",name);
    dini_IntSet(s,"geld",GetPlayerMoney(playerid));
    dini_IntSet(s,"admin",admin[playerid]);
    }
    return 1;
    }


  • In:
    /*69*/GetPlayerMoney(playerid);=dini_Int(s,"geld");
    /*90*/ dini_IntSet(s,"admin",admin[playerid]));




    0.0

    Einmal editiert, zuletzt von [psc]Tuner[pwn] ()

  • C:\Dokumente und Einstellungen\\Desktop\new.pwn(69) : error 022: must be lvalue (non-constant

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • GetPlayerMoney(playerid);
    gibt etwas zurück und ist fest definiert, so wird das nicht klappen xD
    GetPlayerMoney(playerid) =dini_Int(s,"geld");


    eher so:


    GivePlayerMoney(playerid,dini_Int(s,"geld"));


    beim Speichern:


    dini_IntSet("Datei","key",GetPlayerMoney(playerid));

    Mfg. BlackFoX_UD_ alias [BFX]Explosion


  • ok das funkt.


    aber noch das was is daran blos falsch :>
    dini_IntSet(s,"admin",admin[playerid]);

  • Wenn du Admin in einer enum klasse hast wird das so nicht gehen :>



    Beispiel
    enum player{
    admin}


    new PlayerDaten[MAX_PLAYERS][player];


    dini_IntSet(s,"admin",PlayerDaten[playerid][admin]);

    Mfg. BlackFoX_UD_ alias [BFX]Explosion