Wysłany: 2012-05-20, 21:37
Sillence
Wiek: 26 Na forum: 5157 dni Posty: 1514
Nick w MP: Sillence
Piwa : 1517
Witam mam taki problem z rejestracj?, i? has?o si? zapisuje a score i kasa nie. A oto kod:
Kod: #define GUI_LOGIN 1
#define GUI_REGISTER 2
#define GUI_ZMIANAHASLA 3
public OnPlayerConnect(playerid)
{
//-------Logowanie/rejestracja
format(str, sizeof(str), "%s.ini",PlayerName(playerid));
if(dini_Exists(str))
{
ShowPlayerDialog(playerid, GUI_LOGIN, DIALOG_STYLE_PASSWORD, "Logowanie", "Tw?j nick jest zaj?ty\n Poni?ej wpisz has?o aby si? zalogowa?:", "Zaloguj", "Wyjd?");
}else{
ShowPlayerDialog(playerid, GUI_REGISTER, DIALOG_STYLE_PASSWORD, "Rejestracja", "Tw?j nick jest wolny\n Poni?ej wpisz has?o aby si? zarejestrowa?:", "Rejestruj", "Wyjd?");
}
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
new file[128];
//-----------Zapisy
PlayerInfo[playerid][score]=GetPlayerScore(playerid);
PlayerInfo[playerid][kasa]=GetPlayerMoney(playerid);
format(file,sizeof(file),"Konta/%s.ini",PlayerName(playerid));
dini_IntSet (file, "score", PlayerInfo[playerid][score]);
dini_IntSet (file, "kasa", PlayerInfo[playerid][kasa]);
return 1;
}
//=================================Dialogi======================================
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == GUI_LOGIN)
{
if(response)
{
if(strlen(inputtext) != 0)
{
new file[128];
format(file,sizeof(file),"Konta/%s.ini",PlayerName(playerid));
if(strcmp(dini_Get(file, "Haslo"),inputtext,true))
{
ShowPlayerDialog(playerid, GUI_LOGIN, DIALOG_STYLE_PASSWORD, "logowanie", "Podane has?o jest nie prawid?owe!\n\n\nWpisz poni?ej has?o jakie poda?e? przy rejestracji:", "Zaloguj", "Wyjd?");
}
else if(!strcmp(dini_Get(file, "Haslo"),inputtext,true))
{
PlayerInfo[playerid][score]=dini_Int(file, "score");
PlayerInfo[playerid][kasa]=dini_Int(file, "kasa");
SetPlayerScore(playerid, PlayerInfo[playerid][score]);
SetPlayerMoney(playerid, PlayerInfo[playerid][kasa]);
SendClientMessage(playerid, 0x00FF00, "Poprawnie si? zalogowa?e?!");
}
}
else
{
ShowPlayerDialog(playerid, GUI_LOGIN,DIALOG_STYLE_PASSWORD, "Logowanie", "Nic nie wpisa?e?!\n\n\nWybierz has?o jakie u?y?e? podczas rejestracji:", "Zaloguj", "Wyjd?");
}
}
else
{
Kick(playerid);
}
}
if(dialogid == GUI_REGISTER)
{
if(response)
{
if(strlen(inputtext) != 0)
{
if(strlen(inputtext)<5||strlen(inputtext)>15)
{
ShowPlayerDialog(playerid, GUI_REGISTER,DIALOG_STYLE_PASSWORD, "Rejestracja", "Has?o jest za kr?tkie lub za d?ugie!\nPowino sk?adac si? od 4 do 14 znak?w!", "Rejestruj", "Wyjd?");
return 1;
}
new file[128];
format(file,sizeof(file),"Konta/%s.ini",PlayerName(playerid));
dini_Create(file);
dini_Set(file, "haslo", inputtext);
dini_IntSet(file, "kasa", 0);
dini_IntSet(file, "score", 0);
PlayerInfo[playerid][score]=0;
PlayerInfo[playerid][kasa]=0;
}
else if(strlen(inputtext) != 0)
{
ShowPlayerDialog(playerid, GUI_REGISTER,DIALOG_STYLE_PASSWORD, "Rejestracja", "Nic nie wpisa?e?!\n\n\nWybierz has?o jakiego b?dziesz u?ywa? podczas gry:", "Rejestruj", "Wyjd?");
}
}
else
{
Kick(playerid);
}
}
if(dialogid == GUI_ZMIANAHASLA)
{
if(response == 1)
{
if(strlen(inputtext) > 20 || strlen(inputtext) < 3)
{
SendClientMessage(playerid, COLOR_ADMIN, "Has?o musi sk?ada? si? z 3 do 20 znak?w");
ShowPlayerDialog(playerid, GUI_ZMIANAHASLA, 1, "Zmiana Has?a","Podaj nowe has?o do tego konta, poni?ej","Zmieniam","Anuluj");
return 1;
}
new file[128];
new string[128];
format(file, 21, "Konta/%s",inputtext);
format(string, sizeof(string), "Zmieni?e?(a?) has?o na: %s", inputtext);
SendClientMessage(playerid, COLOR_GREEN, string);
return 1;
}
if(response == 0) return SendClientMessage(playerid, 0x00FF00, "Anulowa?e?(a?) zmian? has?a tego konta");
}
return 1;
}
Oraz w tym kodzie jest taki b??d, ?e jak nic nie wpisz? w GUI od logowanie/ rejestracji to mi akceptuje a powinno si? to pokaza? jeszcze raz.
Za pomoc Piffka.
Wysłany: 2012-05-20, 21:57
Combacior
Wiek: 29 Na forum: 5796 dni Posty: 1516
Piwa : 2161
"_FasteR_" napisał/a :Oraz w tym kodzie jest taki b??d, ?e jak nic nie wpisz? w GUI od logowanie/ rejestracji to mi akceptuje a powinno si? to pokaza? jeszcze raz
Spr?buj tak, tam gdzie chcesz, ?eby pokazywa?o jeszcze raz:
Kod: if(!strlen(inputtext)){
//Gracz nie wpisa? nic
return 1;
}
Kasa si? nie zapisuje, bo masz dwa podfoldery zapisywanych kont:
W OnPlayerConnect:
Kod: format(str, sizeof(str), "%s.ini",PlayerName(playerid));
W OnPlayerDisconnect:
Kod: format(file,sizeof(file),"Konta/%s.ini",PlayerName(playerid));
Po?ataj sobie te dziury.
Wysłany: 2012-05-21, 16:30
Sillence
Wiek: 26 Na forum: 5157 dni Posty: 1514
Nick w MP: Sillence
Piwa : 1517
Nadal nic nie zapisuje Teraz 2 m?j plik w Scriptfiles jest a jednak pokazuje mi si? okno do rejestracji a nie do logowania.
Wysłany: 2012-05-21, 17:05
Combacior
Wiek: 29 Na forum: 5796 dni Posty: 1516
Piwa : 2161
Najlepiej sformatuj tylko raz ?cie?k? rajestracji w OnPlayerConnect, wsz?dzie indziej pousuwaj, bo wydaje mi si? ?e kilka razy formatujesz ?cie?k? rejestracji i inaczej to robisz w logowaniu, a inaczej w rejestracji. Je?li chcesz dalej naprawi? swoj? rejestracj? w mapce, to spr?buj tak jak napisa?em, a je?li chcesz, mog? Ci podes?a? moj? rejestracj?.
Wysłany: 2012-05-22, 17:32
siemol
[MAX_PLAYERS];
Wiek: 29 Na forum: 5409 dni Posty: 23
Nick w MP: Gun
Piwa : 8
Wysłany: 2012-06-02, 21:49
Glodzilla
Wiek: 30 Na forum: 5176 dni Posty: 8
Nick w MP: Glodzilla
Piwa : 555
Dokladnie tak jak napisal CombaT , "Kasa si? nie zapisuje, bo masz dwa podfoldery zapisywanych kont: "
Tagi: rejestracja
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: