Zapisuje ona score,kas?,has?o.Chcia?bym by zapisywa?a ona r?wnie? ilo?? godzin sp?dzonych na serwerze.Czy jest w og?le mo?liwe by owa rejestracja to zapisywa?a?Czy je?eli tak musowa b?dzie nowe rejestrowanie konta na serwerze ?Za pomoc piwko i respekt.
new INI:Plik = INI_Open(Player(playerid));//Otwieramy plik
INI_SetTag(Plik,"Dane");//Nadajemy ten nasz Tag
INI_WriteInt(Plik,"Pieniadze",GetPlayerMoney(playerid));//Zapisujemy ilo?? pieni?dzy
INI_WriteInt(Plik,"Punkty",GetPlayerScore(playerid));//Zapisujemy ilo?? punkt?w(score)
INI_Close(Plik);//Zamykamy plik
return 1;
}
A tutaj ca?a ta rejestracja:
#include <a_samp>
#include <YSI/y_ini>
//----------------Id dialog?w Gui
#define LOGOWANIE 1111
#define REJESTRACJA 1112
//-------------------Definicja pliku gracza
/*
Ten plik znajduje si? w scriptfiles w folderze Konta kt?ry przed zainstalowaniem
skryptu nale?y stworzy? aby konta mog?y si? tworzy? a co za tym idzie nasze dane
mog?y si? zapisywa?
*/
#define PlikGracza "/Konta/%s.ini"
//--------------Pobieranie nicku i pliku.
/*
Pobranie nicku gracza i zarazem pobranie nazwy jego pliku
*/
stock Player(playerid)
{
new PlayerNick[MAX_PLAYER_NAME], string[256];
GetPlayerName(playerid,PlayerNick,sizeof(PlayerNick));
format(string,sizeof(string),PlikGracza,PlayerNick);
return string;
}
//------------------Informacje gracza
/*
Dzi?ki temu zapiszemy sobie wiele rzeczy takie jak np.
Has?o
Zab?jstwa
?mier?
itp.
*/
enum pInfo
{
pHaslo,
pKasa,
pPunkty
}
new PlayerInfo[MAX_PLAYERS][pInfo];
//----------------------?adowanie danych z pliku gracza
/*
?adowanie Has?a, Pieni?dzy, Punkt?w z pliku naszego gracza.
T?umacz?:
new Kasa;
INI_Int("Pieniadze",Kasa);
Pieniadze -> Wpis w pliku w jakim system b?dzie szuka? naszej got?wki.
Kasa -> Jest to nasza got?wka kt?ra znajduje si? w pliku gracza w pozycji Pieniadze.
UWAGA!
Przy Ladowanie_dane to dane oznacza tag ustwiony w pliku
*/
forward Ladowanie_Dane(playerid,name[],value[]);
public Ladowanie_Dane(playerid,name[],value[])
{
INI_Int("Haslo",PlayerInfo[playerid][pHaslo]);
INI_Int("Pieniadze", PlayerInfo[playerid][pKasa]);
INI_Int("Punkty", PlayerInfo[playerid][pPunkty]);
return 1;
}
/*
Autorem tej funkcji jest Dracoblue
B?dzie ona odpowiedzialna za nasze has?o
*/
stock udb_hash(buf[])
{
new length=strlen(buf);
new s1 = 1;
new s2 = 0;
new n;
for (n=0; n<length; n++)
{
s1 = (s1 + buf[n]) % 65521;
s2 = (s2 + s1) % 65521;
}
return (s2 << 16) + s1;
}
public OnFilterScriptInit()
{
print("Rejestracja By Krzyzan");
print("?adowanie...");
return 1;
}
public OnFilterScriptExit()
{
print("Rejestracja By Krzyzan");
print("Wy?adowywanie...");
return 1;
}
public OnPlayerConnect(playerid)
{
if(fexist(Player(playerid)))
{
INI_ParseFile(Player(playerid), "Ladowanie_%s", .bExtra = true, .extra = playerid);//Wczytuje dane z forwarda Ladowanie
SendClientMessage(playerid,0x99001FAA,"Witaj Ponownie! Zaloguj si? aby otrzyma? swoje pieni?dze i punkty.");
ShowPlayerDialog(playerid, LOGOWANIE, DIALOG_STYLE_PASSWORD,"{FF8080}Logowanie","\
{FF9900}Podaj swoje has?o kt?re wpisa?e? podczas rejestracji.\
\n{FF9900}Aby si? zalogowa?.","Zaloguj","Wyjd?");
}
else
{
SendClientMessage(playerid,0xFF8000AA,"Witaj! Widz? ?e jeste? u nas poraz pierwszy... Za??? sobie konto.");
ShowPlayerDialog(playerid, REJESTRACJA, DIALOG_STYLE_INPUT,"{33AA33}Rejestracja","{2986CE}Wpisz has?o aby stworzy? nowe konto.\
","Rejestracja","Wyjd?");
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
new INI:Plik = INI_Open(Player(playerid));//Otwieramy plik
INI_SetTag(Plik,"Dane");//Nadajemy ten nasz Tag
INI_WriteInt(Plik,"Pieniadze",GetPlayerMoney(playerid));//Zapisujemy ilo?? pieni?dzy
INI_WriteInt(Plik,"Punkty",GetPlayerScore(playerid));//Zapisujemy ilo?? punkt?w(score)
INI_Close(Plik);//Zamykamy plik
return 1;
}
public OnPlayerSpawn(playerid)
{
if(GetPVarInt(playerid,"Zalogowany") == 0) return SendClientMessage(playerid,0xFF0000AA,"Zosta?e? wyrzucony z serwera. Pow?d: Nie zalogowany zespawnowa?e? si?."), Kick(playerid);
//Chroni serwer przed omini?ciem logowania Sprawdzaj?c czy gracz ma ustawionego PVara
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == REJESTRACJA)
{
if(!response) return SendClientMessage(playerid,0xFF0000AA,"Zosta?e? wyrzucony z serwera. Pow?d: Zamkni?cie okna rejestracji."), Kick(playerid);
if(response)
{
if(strlen(inputtext) <=4 && strlen(inputtext) >=8) return SendClientMessage(playerid,0xFF0000AA,"B??d: Has?o musi by? d?u?sze od 4 a kr?tsze od 8 znak?w!");
//Sprawdza czy has?o jest d?u?sze od 4 a kr?tsze od 8 znak?w
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