Skocz do zawartości
Walvon

[ROZWIĄZANY]Zapis kasy, błąd

Rekomendowane odpowiedzi

Hej, mam problem z zapisem kasy przy rejestracji. W plikach niby jest wszystko ok. Ale kasy której wcześniej miałem nie dostaje. W plikach jest ciągle 0 jeżeli chodzi o kase i nie wiem czemu.

#include <a_samp>
#include <kolory>
#include <dini>
#include <md5>
#include <zcmd>
#define Zielony 0x22FF00
#define Bialy 0xFFFFFF
#define Czerwony 0xFC0000
#define dcmd(%1,%2,%3) if (!strcmp((%3)[1], #%1, true, (%2)) && ((((%3)[(%2) + 1] == '\0') && (dcmd_%1(playerid, ""))) || (((%3)[(%2) + 1] == ' ') && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
new ARENA1;
new Kasa[MAX_PLAYERS];

#define LOGIN 1
#define REJESTRACJA 2
#define KLASY 3
new Text:Textdraw0;
#define NAZWASERWERA "Grand Theft Auto Classic [PL/EU]"
main
()
{}
public OnGameModeInit()
{
    SetGameModeText("GTAC|EU|PL|BETA0.1");
    print(" ");
    print("ELO");
    print(" ");
    UsePlayerPedAnims();
    AddPlayerClass(0,1958.3783, 1343.1572, 15.3746, 269.1425,0,0,0,0,0,0);
    
    
    Textdraw0 = TextDrawCreate(21.000000, 315.000000, "GTA Classic");
    TextDrawBackgroundColor(Textdraw0, 255);
    TextDrawFont(Textdraw0, 3);
    TextDrawLetterSize(Textdraw0, 0.500000, 1.300000);
    TextDrawColor(Textdraw0, -21505);
    TextDrawSetOutline(Textdraw0, 1);
    TextDrawSetProportional(Textdraw0, 1);
    TextDrawSetSelectable(Textdraw0, 0);
    
    ARENA1 = GangZoneCreate(-2147.471, 132.5009, -2008.414, 329.7492);
    return 1;
}
public OnPlayerSpawn(playerid)
{
    GangZoneShowForPlayer(playerid, ARENA1, 0xFF0000FF);
    return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
    return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
    if(dialogid == REJESTRACJA)
    {
        if(response == 0)
        {
            SendClientMessage(playerid, Czerwony,"Zanulowales/as Rejestracje, zostaniesz wyrzucony z Serwera");
            Kick(playerid);
        }
        if(response == 1)
        {
            if(!strlen(inputtext))
            {
                ShowPlayerDialog(playerid, REJESTRACJA, DIALOG_STYLE_PASSWORD,"Rejestracja","Nie podales/as Hasla \nWybierz Haslo aby sie zarejestrowac","Zarejestruj","Anuluj");
            }
            else
            {
                Rejestruj(playerid,MD5_Hash(inputtext));
                SendClientMessage(playerid, Zielony,"Konto pomyslnie stworzono. Milej Gry :)");
            }
        }
    }
    if(dialogid == LOGIN)
    {
        if(response == 0)
        {
            SendClientMessage(playerid, Czerwony,"Zanulowales/as Rejestracje, zostaniesz wyrzucony z Serwera");
            Kick(playerid);
            return 1;
        }
        if(response == 1)
        {
            Login(playerid,MD5_Hash(inputtext));
        }
    }
    return 1;
}
public OnPlayerConnect(playerid)
{
    TextDrawShowForPlayer(playerid, Textdraw0);
    
    new nazwa[MAX_PLAYER_NAME]; //Nazwa gracza
    new string[256]; //Wiadomosc
    GetPlayerName(playerid,nazwa,sizeof(nazwa));
    format(string,sizeof(string),"Gracz {FFC800}%s {FFFFFF}wbil na serwer !, witamy serdecznie :)",nazwa);
    SendClientMessageToAll(Bialy,string);
    new Gracz [64];
    new Gname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Gname,sizeof(Gname));
    format(Gracz,sizeof(Gracz),"/Gracze/%s.txt",Gname);
    if(dini_Exists(Gracz))
    {
        ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_PASSWORD,"Login","Witaj na serwerze.\nKonto zostalo znalezione\nProsze podaj haslo aby sie zalogowac. :)","Login","Anuluj");
    }
    else
    {
        ShowPlayerDialog(playerid, REJESTRACJA, DIALOG_STYLE_PASSWORD,"Rejestracja","Widac ze nie masz konta !. Prosze wybierz Haslo aby sie zarejestrowac","Zarejestruj","Anuluj");
    }
    return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
    new string[256];
    switch(reason)
    {
        case 0: format(string, sizeof(string), "Gracz : %s rozłączył się. (połączenie zerwane)", PlayerName(playerid)); //Jeżeli gracz stracił połączenie z serwem
        case 1: format(string, sizeof(string), "Gracz : %s rozłączył się. (wyszedł)", PlayerName(playerid));//Jeżeli gracz wyszedł
        case 2: format(string, sizeof(string), "Gracz : %s rozłączył się. (kick/ban)", PlayerName(playerid)); //Jeżeli gracz dostał bana albo kicka
        default: format(string, sizeof(string), "Gracz: %s rozłączył się. (nieznany powód)", PlayerName(playerid)); //Jeżeli gracz dostał CRASHA
    }
    return 1;
}
public OnPlayerText(playerid, text[])
{
    return 1;
}
stock Register(playerid,haslo[])
{
    new string[500];
    new Gname[MAX_PLAYER_NAME];
    GetPlayerName(playerid, Gname, sizeof(Gname));
    format(string, sizeof(string), "/Gracze/%s.ini",Gname);
    dini_Create(string);
    //
    dini_Set(string, "Haslo",haslo);
    
    //
    SendClientMessage(playerid, COLOR_CYAN, "Konto zostalo pomyslnie zalozone !");
    return 1;
}
public OnPlayerUpdate(playerid)
{
    new str[64];
    if(GetPlayerWeapon(playerid) == 35 || GetPlayerWeapon(playerid) == 36 || GetPlayerWeapon(playerid) == 37 || GetPlayerWeapon(playerid) == 38)
    {
        Ban(playerid);
        format(str, 64, "%s został zabanowany! Powód: Weapon Hack!", PlayerName(playerid));
        SendClientMessageToAll(0xFF0000AA, str);
    }
    return 1;
}
stock PlayerName(playerid)
{
    new name[MAX_PLAYER_NAME];
    GetPlayerName(playerid,name,sizeof(name));
    return name;
}
stock GivePlayerCash(playerid, ilosc)
{
    GivePlayerMoney(playerid, ilosc);
    Kasa[playerid] += ilosc;
    return 1;
}
stock Rejestruj(playerid,key[])
{
    new Gracz [64];
    new Gname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Gname,sizeof(Gname));
    format(Gracz,sizeof(Gracz),"/Gracze/%s.txt",Gname);
    dini_Create(Gracz);
    dini_Set(Gracz,"Haslo",key);
    dini_IntSet(Gracz,"Kasa",0);
    dini_IntSet(Gracz,"Punkty",0);
    return 1;
}
stock Login(playerid, key[])
{
    new Gracz [64];
    new Gname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Gname,sizeof(Gname));
    format(Gracz,sizeof(Gracz),"/Gracze/%s.txt",Gname);
    if(!strcmp(key,dini_Get(Gracz,"Haslo"),    false))
    {
        WczytajGracza(playerid);
    }
    else
    {
        ShowPlayerDialog(playerid, LOGIN, DIALOG_STYLE_PASSWORD,"Login","Zle Haslo !.\nPodaj haslo aby sie zalogowac.","Login","Anuluj");
    }
    return 1;
}
stock WczytajGracza(playerid)
{
    new Gracz [64];
    new Gname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Gname,sizeof(Gname));
    format(Gracz,sizeof(Gracz),"/Gracze/%s.txt",Gname);
    if(dini_Exists(Gracz))
    {
        GivePlayerMoney(playerid, dini_Int(Gracz,"Kasa"));
        SetPlayerScore(playerid, dini_Int(Gracz,"Punkty"));
        SendClientMessage(playerid, Zielony, "Wszystkie dane zostaly wczytane ! Milej gry.");
    }
    return 1;
}
stock ZapisGracza(playerid)
{
    new Gracz [64];
    new Gname[MAX_PLAYER_NAME];
    GetPlayerName(playerid,Gname,sizeof(Gname));
    format(Gracz,sizeof(Gracz),"/Gracze/%s.txt",Gname);
    if(dini_Exists(Gracz))
    {
        dini_IntSet(Gracz,"Kasa",GetPlayerMoney(playerid));
        dini_IntSet(Gracz,"Punkty",GetPlayerScore(playerid));
    }
}

CMD:kasa(playerid, params[]) 
{
	GivePlayerCash(playerid, 500);
	return 1;
}

 

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Bo nigdzie nie używasz funkcji "ZapisGracza" ? <facepalm>

 

bwt. sam użyj mózgu i pójdź na logikę gdzie ta funkcja powinna Ci się wykonywać.

PS. Używanie gamemode od nick888 to słabe posunięcie do dalszej edycji, według mnie oczywiście.

Edytowane przez ziom123

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach

Bo nigdzie nie używasz funkcji "ZapisGracza" ? <facepalm>

 

bwt. sam użyj mózgu i pójdź na logikę gdzie ta funkcja powinna Ci się wykonywać.

PS. Używanie gamemode od nick888 to słabe posunięcie do dalszej edycji, według mnie oczywiście.

Nie używane, tylko kierowane :) Po drugie kierowałem sie od użytownika nick888 tylko rejesrtacją, bo miałem problem z zapisem.

Robie w pawno od trzech dni, nie zbyt jeszcze ogarniam wszystkie zmienne itp. Trochę może wyrozmiałości, a nie od razu piszesz, że mózgu nie używam. Maniakiem komputerowym to to ja nie jestem.

Edytowane przez Walvon

Udostępnij tę odpowiedź


Odnośnik do odpowiedzi
Udostępnij na innych stronach
Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników przeglądających tę stronę.

×