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

Wysłany: 2014-03-05, 16:49


Rumun







Wiek: 30
Na forum: 5235 dni
Posty: 316
Nick w MP: Rumun

Piwa: 25

Respekt: 69

Witam.M?g?by kto? napisa?,co nale?y doda? w tym kodzie by sprawdza?o czy has?o wpisane przez gracza jest dobre,bo obecnie wystarczy wpisa? jakiekolwiek i zaloguje.

Oto kod.


Kod:

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);
createBankUser(playerid);
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;
}


Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-03-05, 18:17


IgrexolonO







Wiek: 34
Na forum: 6809 dni
Posty: 1386

Piwa: 1062

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

Rozumiem, ?e to m?j kod.

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);
if(strcmp(inputtext, PlayerInfo[playerid][pHaslo], false) != 0) return SendClientMessage(playerid,0xFF0000AA,"Poda?e? z?e has?o!");

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;
}


Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-03-05, 18:34


Rumun







Wiek: 30
Na forum: 5235 dni
Posty: 316
Nick w MP: Rumun

Piwa: 25

Respekt: 69

Tak,jest to tw?j kod.

Mam takie pytanko odno?nie zrobienia komendy na zapis.

Czy ta komendy b?da dzia?a? ?

Kod:

CMD:save(playerid, p[])
{
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;
}


Czy jest jaki? lepszy spos?b na zapis poprzez komende ?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-03-05, 19:13


TomaszM







Wiek: 27
Na forum: 4773 dni
Posty: 4

Piwa: 1

Respekt: 50

Ostrzeżeń: 100%
Rumun, b?dzie dzia?a?. Sprawdzone. ;p

Postaw piwo autorowi tego posta
 

 
Tagi: złe :: haslo :: zaloguje
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » PAWN 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