nach login bekommt spieler geld

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
  • Hallo leute


    Ich habe folgendes problem, wenn ein spieler sich einloggt bekommt er Geld wie kann ich das löschen?
    Geld wir gespeichert aber man bekommt halt geld wenn man sich einloggt was voll sche*ße ist !


    weiß nicht welche code ich posten sollte also falls ich einen posten muss sagt es mir und ich poste es dann anschließend :)
    Danke

    < Beatboxen ist leicht > Beatboxen & Singen/Rappen ist schwerer >

    Einmal editiert, zuletzt von Rapfabrik ()


  • public OnPlayerLogin(playerid,const string[])
    {
    new pname2[MAX_PLAYER_NAME];
    new pname3[MAX_PLAYER_NAME];
    new string2[64];
    new string3[128];
    GetPlayerName(playerid, pname2, sizeof(pname2));
    format(string2, sizeof(string2), "%s.cer", pname2);
    new File: UserFile = fopen(string2, io_read);


    if (UserFile)
    {
    new valtmp[128];
    fread(UserFile, valtmp);strmid(PlayerInfo[playerid][pPasswort], valtmp, 0, strlen(valtmp)-1, 255);


    if ((strcmp(PlayerInfo[playerid][pPasswort], string, true, strlen(valtmp)-1) == 0))
    {
    new key[128],val[128];
    new Data[128];
    while(fread(UserFile,Data,sizeof(Data)))
    {
    key = ini_GetKey(Data);
    if( strcmp( key , "Kills" ,true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pKills] = strval( val ); }
    if( strcmp( key , "Deaths",true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pDeaths] = strval( val ); }
    if( strcmp( key , "Geld" ,true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pCash] = strval( val ); }
    if( strcmp( key , "Bank" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pBank] = strval( val ); }
    GivePlayerMoney(playerid,PlayerInfo[playerid][pCash]); // wenn ich das lösche dann wird das geld nicht gespeichert!
    }
    fclose(UserFile);
    gPlayerLogged[playerid] = 1;
    gPlayerAccount[playerid] = 1;
    new kills = PlayerInfo[playerid][pKills];
    SetPlayerScore(playerid, kills);
    GetPlayerName(playerid, pname3, sizeof(pname3));
    format(string3, sizeof(string3), "Willkommen %s, du hast dich erfolgreich eingeloggt!", pname3);
    SpawnPlayer(playerid);
    SendClientMessage(playerid, WEIS,string3);
    }
    else
    {
    Versuche[playerid]++;
    if(Versuche[playerid] == 1) { SendClientMessage(playerid, ROT, "Falsches Passwort noch 2 versuche"); }
    else if(Versuche[playerid] == 2){ SendClientMessage(playerid, ROT, "Falsches Passwort letzte chance bevor du gekickt wirst"); }
    else if(Versuche[playerid] > 2) { Kick(playerid); }


    fclose(UserFile);
    }
    }
    return 1;
    }


    < Beatboxen ist leicht > Beatboxen & Singen/Rappen ist schwerer >


  • public OnPlayerSpawn(playerid)
    {
    GangZoneShowForPlayer(playerid, copzone, 0x0080FF7C);
    GangZoneShowForPlayer(playerid, gszone, GRUEN);
    SetTimer("checkparea", 1, 1);


    return 1;
    }



    public OnPlayerConnect(playerid)
    {


    WeekDayg = TextDrawCreate(557.000000,41.000000,"----");
    TextDrawAlignment(WeekDayg,0);
    TextDrawBackgroundColor(WeekDayg,0x000000ff);
    TextDrawColor(WeekDayg,0x009600DD);
    TextDrawFont(WeekDayg,3);
    TextDrawLetterSize(WeekDayg,0.499999,1.000000); //TextDrawColor(WeekDayg,0xffff00cc);
    TextDrawSetOutline(WeekDayg,1);
    TextDrawSetProportional(WeekDayg,1);
    TextDrawSetShadow(WeekDayg,1);
    TextDrawShowForPlayer(playerid, WeekDayg);


    Clock = TextDrawCreate(543.5, 24.0, "--:--");
    TextDrawLetterSize(Clock, 0.6, 1.8);
    TextDrawFont(Clock, 3);
    TextDrawSetOutline(Clock, 2);
    TextDrawShowForPlayer(playerid, Clock);


    Date=TextDrawCreate(455.000000,430.000000, "--.--.--");
    TextDrawLetterSize(Date,1.000000,2.000000);
    TextDrawFont(Date,3);
    TextDrawBackgroundColor(Date,0x000000ff);
    TextDrawSetOutline(Date,1);
    TextDrawShowForPlayer(playerid, Date);
    TextDrawColor(Date,0x009600DD);
    TextDrawShowForPlayer(playerid, Date);


    SetTimer("settime",1000,true);
    SetTimerEx("AFKick", AFK_TIME*60*1000, 1, "i", playerid); // AFK Check


    TextDrawShowForPlayer(playerid, Date);
    TextDrawShowForPlayer(playerid, Clock);
    TextDrawShowForPlayer(playerid, WeekDayg);



    new playrname[MAX_PLAYER_NAME];
    new connect[128];
    GetPlayerName(playerid, playrname, sizeof(playrname));
    format(connect, sizeof(connect), "%s.cer", playrname);
    if(fexist(connect))
    {
    gPlayerAccount[playerid] = 1;
    SendClientMessage(playerid, GELB, "Du bist registriert, bitte logge dich mit /login Passwort ein");
    return 1;
    }
    else
    {
    gPlayerAccount[playerid] = 0;
    SendClientMessage(playerid, GELB, "Bitte registriere dich mit /register Passwort");
    }
    return 1;
    }

    < Beatboxen ist leicht > Beatboxen & Singen/Rappen ist schwerer >

  • eben aber ich glaub das hat nicht mit giveplayermoney zu tun, weil genau der betrag verdoppelt wird wenn ich 1 habe bekomme ich beim nächsten login 2 wenn ich 150 bekomme ich beim nächsten login 300...hmm.. bin echt ratlos.

    < Beatboxen ist leicht > Beatboxen & Singen/Rappen ist schwerer >

    Einmal editiert, zuletzt von Rapfabrik ()


  • // login/register system
    new cmd[128];
    new idx;
    cmd = strtok(cmdtext, idx);
    new tmp[128];
    new playername[MAX_PLAYER_NAME];
    if (strcmp(cmd, "/login", true) ==0 )
    {
    if(IsPlayerConnected(playerid))
    {
    new tmppass[64];
    if(gPlayerLogged[playerid] == 1)
    {
    SendClientMessage(playerid, GRAU, " Du bist bereits eingeloggt.");
    return 1;
    }
    tmp = strtok(cmdtext, idx);
    if(!strlen(tmp))
    {
    SendClientMessage(playerid, GRAU, " Benutze: /login [Passwort]");
    return 1;
    }
    strmid(tmppass, tmp, 0, strlen(cmdtext), 255);
    Encrypt(tmppass);
    OnPlayerLogin(playerid,tmppass);
    }
    return 1;
    }

    < Beatboxen ist leicht > Beatboxen & Singen/Rappen ist schwerer >

  • Vielleicht hast du bei einem FS unter onplayerspawn GivePlayerMoney?

  • Probiers mal so:



    public OnPlayerLogin(playerid,const string[])
    {
    new pname2[MAX_PLAYER_NAME];
    new pname3[MAX_PLAYER_NAME];
    new string2[64];
    new string3[128];
    GetPlayerName(playerid, pname2, sizeof(pname2));
    format(string2, sizeof(string2), "%s.cer", pname2);
    new File: UserFile = fopen(string2, io_read);


    if (UserFile)
    {
    new valtmp[128];
    fread(UserFile, valtmp);strmid(PlayerInfo[playerid][pPasswort], valtmp, 0, strlen(valtmp)-1, 255);


    if ((strcmp(PlayerInfo[playerid][pPasswort], string, true, strlen(valtmp)-1) == 0))
    {
    new key[128],val[128];
    new Data[128];
    while(fread(UserFile,Data,sizeof(Data)))
    {
    key = ini_GetKey(Data);
    if( strcmp( key , "Kills" ,true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pKills] = strval( val ); }
    if( strcmp( key , "Deaths",true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pDeaths] = strval( val ); }
    if( strcmp( key , "Geld" ,true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pCash] = strval( val ); }
    if( strcmp( key , "Bank" , true ) == 0 ) { val = ini_GetValue( Data ); PlayerInfo[playerid][pBank] = strval( val ); }
    ResetPlayerMoney(playerid);
    GivePlayerMoney(playerid,PlayerInfo[playerid][pCash]); // wenn ich das lösche dann wird das geld nicht gespeichert!
    }
    fclose(UserFile);
    gPlayerLogged[playerid] = 1;
    gPlayerAccount[playerid] = 1;
    new kills = PlayerInfo[playerid][pKills];
    SetPlayerScore(playerid, kills);
    GetPlayerName(playerid, pname3, sizeof(pname3));
    format(string3, sizeof(string3), "Willkommen %s, du hast dich erfolgreich eingeloggt!", pname3);
    SpawnPlayer(playerid);
    SendClientMessage(playerid, WEIS,string3);
    }
    else
    {
    Versuche[playerid]++;
    if(Versuche[playerid] == 1) { SendClientMessage(playerid, ROT, "Falsches Passwort noch 2 versuche"); }
    else if(Versuche[playerid] == 2){ SendClientMessage(playerid, ROT, "Falsches Passwort letzte chance bevor du gekickt wirst"); }
    else if(Versuche[playerid] > 2) { Kick(playerid); }


    fclose(UserFile);
    }
    }
    return 1;
    }