Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2013-10-09, 22:33


Jasiek







Wiek: 27
Na forum: 4621 dni
Posty: 1
Nick w MP: Jas_Tu_Ora



Respekt: 50

Witam. Poni?szy kod tworzy plik z danymi gracza, ale niestety plik jest pusty. Przedstawiam wam poni?ej kod, prosz? o korekrte w razie buga xD

Kod:

#include <YSI\y_ini>
enum SavePlayerPosEnum
{
Float:LastX,
Float:LastY,
Float:LastZ
};


enum pInfo
{
pHaslo,
pKasa,
pPunkty
}
new PlayerInfo[MAX_PLAYERS][pInfo];


#define KONTA "Konta/Gracze/%s.ini"


public OnPlayerConnect(playerid)
{
if(fexist(Gracz(playerid)))
{
ShowPlayerDialog(playerid, 31, DIALOG_STYLE_PASSWORD,"Power Project - Logowanie!","{ffffff}Witaj ponownie na {ffa900}Power Project!\n{ffffff}Aby si? zalogowa?, podaj swoje {ff0000}has?o{ffffff}, kt?re wpisa?e? podczas rejestracji.\n","Zaloguj","Anuluj");
}
}


public OnPlayerDisconnect(playerid, reason)
{
new INI:Plik = INI_Open(Gracz(playerid));//Otwieramy plik
INI_SetTag(Plik,"Dane");//Nadajemy Tag
INI_WriteInt(Plik,"Pieniadze",GetPlayerMoney(playerid));//Zapisujemy ilo?? pieni?dzy
INI_WriteInt(Plik,"Punkty",GetPlayerScore(playerid));//Zapisujemy ilo?? score
INI_Close(Plik);//Zamykamy plik
}




public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 30) // Od komendy /rejestracja
{
{
new string[64], pName[MAX_PLAYER_NAME];
GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
format(string,sizeof string,"Mamy nowego zarejestrowanego gracza - %s!",pName);
SendClientMessageToAll(COLOR_VIOLET,string);
new INI:Plik = INI_Open(Gracz(playerid));
INI_SetTag(Plik,"Dane");
INI_WriteInt(Plik,"Haslo",udb_hash(inputtext));
INI_WriteInt(Plik,"Pieniadze",0);
INI_WriteInt(Plik,"Punkty",0);
INI_Close(Plik);
}
}
if(dialogid == 31) //Od logowania w OnPlayerConnect
{
if(!response) return SendClientMessage(playerid,0xFF0000AA,"Zosta?e? wyrzucony z serwera. Pow?d: Zamkni?cie okna logowania."), Kick(playerid);
if(response)
{
if(udb_hash(inputtext) == PlayerInfo[playerid][pHaslo])//Sprawdza poprawno?? has?a
{
INI_ParseFile(Gracz(playerid), "Zaladuj_%s", .bExtra = true, .extra = playerid);
SetPVarInt(playerid,"Zalogowany",1);
SetPlayerScore(playerid,PlayerInfo[playerid][pPunkty]);//Odczyt punkt?w score
GivePlayerMoney(playerid,PlayerInfo[playerid][pKasa]);//Odczyt ilo?ci pieni?dzy
}
else
{
Kick(playerid);
}
}
return 1;
}




// Pobranie nicku gracza i pobranie nazwy jego pliku,
stock Gracz(playerid)
{
new PlayerNick[MAX_PLAYER_NAME], string[256];
GetPlayerName(playerid,PlayerNick,sizeof(PlayerNick));
format(string,sizeof(string),KONTA,PlayerNick);
return string;
}


// Callback wczytuj?cy dane gracza,
forward Zaladuj_Dane(playerid,name[],value[]);
public Zaladuj_Dane(playerid,name[],value[])
{
INI_Int("Haslo",PlayerInfo[playerid][pHaslo]);
INI_Int("Pieniadze",PlayerInfo[playerid][pKasa]);
INI_Int("Punkty",PlayerInfo[playerid][pPunkty]);
return 1;
}


Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-10-11, 14:26


Haribo

Taki Żeluś






Wiek: 29
Na forum: 4680 dni
Posty: 224
Nick w MP: Haribo

Piwa: 2818

Respekt: 220,2
Respekt: 220,2Respekt: 220,2

Ostrzeżeń: 60%
Czy?by nikt nie wiedzia?? :P

Przy??czam si? do problemu kolegi - za pomoc :arrow: :piwo:

Podpis
Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-10-11, 15:39


IgrexolonO







Wiek: 34
Na forum: 6809 dni
Posty: 1386

Piwa: 1062

Respekt: 651,8
Respekt: 651,8Respekt: 651,8

Kod:

enum pInfo
{
pHaslo,
pKasa,
pPunkty
}; new PlayerInfo[MAX_PLAYERS][pInfo];

#define KONTA "Konta/Gracze/%s.ini"

public OnPlayerConnect(playerid)
{
if(fexist(Gracz(playerid)))
{
ShowPlayerDialog(playerid, 31, DIALOG_STYLE_PASSWORD,"Power Project - Logowanie!","{ffffff}Witaj ponownie na {ffa900}Power Project!\n{ffffff}Aby si? zalogowa?, podaj swoje {ff0000}has?o{ffffff}, kt?re wpisa?e? podczas rejestracji.\n","Zaloguj","Anuluj");
}
return true;
}

public OnPlayerDisconnect(playerid, reason)
{
new INI:Plik = INI_Open(Gracz(playerid));//Otwieramy plik
INI_SetTag(Plik,"Dane");//Nadajemy Tag
INI_WriteInt(Plik,"Pieniadze",GetPlayerMoney(playerid));//Zapisujemy ilo?? pieni?dzy
INI_WriteInt(Plik,"Punkty",GetPlayerScore(playerid));//Zapisujemy ilo?? score
INI_Close(Plik);//Zamykamy plik
return true;
}

forward Zaladuj_Dane(playerid,name[],value[]);
public Zaladuj_Dane(playerid,name[],value[])
{
INI_Int("Haslo",PlayerInfo[playerid][pHaslo]);
INI_Int("Pieniadze",PlayerInfo[playerid][pKasa]);
INI_Int("Punkty",PlayerInfo[playerid][pPunkty]);
return 1;
}

CMD:rej(playerid, p[])
{
ShowPlayerDialog(playerid, 30, DIALOG_STYLE_PASSWORD, "Rejestracja", "Podaj has?o k****", "Ok", "Wypierdalaj");
return true;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 30) // Od komendy /rejestracja
{
new string[64], pName[MAX_PLAYER_NAME];
GetPlayerName(playerid,pName,MAX_PLAYER_NAME);
format(string,sizeof string,"Mamy nowego zarejestrowanego gracza - %s!",pName);
SendClientMessageToAll(0xBF5FFFFF,string);
new INI:Plik = INI_Open(Gracz(playerid));
INI_SetTag(Plik,"Dane");
INI_WriteInt(Plik,"Haslo",udb_hash(inputtext));
INI_WriteInt(Plik,"Pieniadze",0);
INI_WriteInt(Plik,"Punkty",0);
INI_Close(Plik);
return true;
}

if(dialogid == 31) //Od logowania w OnPlayerConnect
{
if(!response) return SendClientMessage(playerid,0xFF0000AA,"Zosta?e? wyrzucony z serwera. Pow?d: Zamkni?cie okna logowania."), Kick(playerid);

INI_ParseFile(Gracz(playerid), "Zaladuj_%s", .bExtra = true, .extra = playerid);
SetPVarInt(playerid,"Zalogowany",1);
SetPlayerScore(playerid,PlayerInfo[playerid][pPunkty]);//Odczyt punkt?w score
GivePlayerMoney(playerid,PlayerInfo[playerid][pKasa]);//Odczyt ilo?ci pieni?dzy
return true;
}
return false;
}

stock Gracz(playerid)
{
new string[50];
format(string, sizeof(string), KONTA, PlayerName(playerid));
return string;
}




Wi?c?

Postaw piwo autorowi tego posta
 

 
Tagi: y-ini
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » PAWN » [INNE] y-ini Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku