Wysłany: 2014-03-05, 16:49
Rumun
Wiek: 30 Na forum: 5235 dni Posty: 316
Nick w MP: Rumun
Piwa : 25
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;
}
Wysłany: 2014-03-05, 18:17
IgrexolonO
Wiek: 34 Na forum: 6809 dni Posty: 1386
Piwa : 1062
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;
}
Wysłany: 2014-03-05, 18:34
Rumun
Wiek: 30 Na forum: 5235 dni Posty: 316
Nick w MP: Rumun
Piwa : 25
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 ?
Wysłany: 2014-03-05, 19:13
TomaszM
Wiek: 27 Na forum: 4773 dni Posty: 4
Piwa : 1
Rumun, b?dzie dzia?a?. Sprawdzone.
Tagi: złe :: haslo :: zaloguje
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: