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

Wysłany: 2012-07-17, 21:15


Edol

Jestem Jednym z Was






Wiek: 31
Na forum: 5256 dni
Posty: 15
Nick w MP: Edol

Piwa: 158

Respekt: 50

Witam mam system rejestracji z poradnika z tego forum lecz dzia?a ale nie tak jak powinien mianowicie wpisuje byle jakie haslo i loguje mnie i nie zapisuje dodaje punktow score ani kasy .

Edit : Poprawiony kod ale nadal nie dziala

Kod:

#include <a_samp>
#include <Double-O-files>
#define GUI_LOGIN 1
#define GUI_REGISTER 2

enum PlayerInfoEnum
{
score,
kasa
}
new PlayerInfo[MAX_PLAYERS][PlayerInfoEnum];
public OnPlayerConnect(playerid)
{
new strS[45];//tablica do kt?rej przypiszemy prawdopodobn? nazw? pliku gracza.</span>
format(strS, sizeof(strS), "%s.ini",Nick(playerid)); //Pobieramy i przypisujemy nick
if(DOF_FileExists(strS)) //sprawdzamy czy taki plik istnieje
{//je?eli tak pokazujemy GUI od logowania
ShowPlayerDialog(playerid, GUI_LOGIN, DIALOG_STYLE_PASSWORD, "Logowanie", "Wpisz poni?ej has?o jakie poda?e? przy rejestracji:", "Zaloguj", "Wyjd?");
}
else
{//je?eli nie pokazujemy GUI od rejestracji
ShowPlayerDialog(playerid, GUI_REGISTER, DIALOG_STYLE_PASSWORD, "Rejestracja", "Wybierz has?o jakiego b?dziesz u?ywa? podczas gry:", "Rejestruj", "Wyjd?");
}
return 1;
}

public OnGameModeInit()
{
DOF_Exit();
return 1;
}
public OnPlayerDisconnect(playerid, reason)
{
PlayerInfo[playerid][score]=GetPlayerScore(playerid); //przypisujemy do zmiennej score</span>
PlayerInfo[playerid][kasa]=GetPlayerMoney(playerid); //przypisujemy do zmiennej kas?
new file[128]; //tablica to do kt?rej przypiszemy nick gracza
format(file,sizeof(file),"%s.ini",Nick(playerid)); //robimy nazw? pliku gracza
DOF_SetInt(file, "score", PlayerInfo[playerid][score]); //wpisujemy do w/w pliku warto?? zmiennej
DOF_SetInt(file, "kasa", PlayerInfo[playerid][kasa]); //jak wy?ej
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == GUI_LOGIN) //warunek GUI od logowanie</span>
{
if(response) //czy wcisn?? lewy button
{
if(!isnull(inputtext)) //czy cokolwiek wpisa? w polu GUI
{
new file[128]; //tablica
format(file,sizeof(file),"%s.ini",Nick(playerid)); //przypisujemy do tablicy jak ma wygl?da? plik gracza
if(strcmp(inputtext, DOF_GetString(file, "Haslo"), false) != 0)//sprawdzamy czy has?o podane w GUI i has?o z pliku s? takie same
{//je?eli nie wy?witlamy znowu GUI
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
{//je?eli tak:
PlayerInfo[playerid][score]=DOF_GetInt(file, "score"); //przypisujemy do zmiennej score jakie gracz posiada
PlayerInfo[playerid][kasa]=DOF_GetInt(file, "kasa"); //tutaj przypisujemy kas? gracza
SetPlayerScore(playerid, PlayerInfo[playerid][score]); //Dajemy w/w score
SetPlayerMoney(playerid, PlayerInfo[playerid][kasa]); //Dajemy w/w kas?
SendClientMessage(playerid, 0x00FF00, "Poprawnie si? zalogowa?e?!"); //wysy?amy wiadomo??
}
}
else
{//je?eli nic nie wpisa? znowu GUI pokazujemy
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
{//je?eli wcisn?? prawy button kickujemy gracza
Kick(playerid);
}
}
if(dialogid == GUI_REGISTER)//warunek GUI od rejestracji</span>
{
if(response) //czy wcisn?? lewy button
{
if(!isnull(inputtext)) //czy cokolwiek wpisa? w polu GUI
{
if(strlen(inputtext)<5||strlen(inputtext)>15) //czy poodany tekst jest d?u?szy od 5 a kr?tszy od 15
{//je?elu nie pokazujemy GUI
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!\n\n\nWybierz has?o jakiego b?dziesz u?ywa? podczas gry:", "Rejestruj", "Wyjd?");
return 1;
}
new file[128]; //tablica
format(file,sizeof(file),"%s.ini",Nick(playerid)); //jak ma wygl?da? plik gracza
DOF_CreateFile(file); //tworzymy plik
DOF_SetString(file, "haslo", inputtext); //wpisujemy do niego has?o gracz
DOF_SetInt(file, "kasa", 0); //wpisujemy ?e ma 0 kasy
DOF_SetInt(file, "score", 0); //wpisujemy ?e ma 0 score
PlayerInfo[playerid][score]=0; //przypisujemy mu 0 score
PlayerInfo[playerid][kasa]=0; //oraz przypisujemy 0 kasy
}
else if(isnull(inputtext)) //je?eli nic nie wpisa?
{//pokazujemy znowu GUI
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
{//je?eli wcisn?? prawy button pokazujemy GUI
Kick(playerid);
}
}
return 1;
}
stock Nick(playerid)//zwraca nick</span>
{
new nick[MAX_PLAYER_NAME];
GetPlayerName(playerid, nick, sizeof(nick));
return nick;
}


Ostatnio zmieniony przez Edol 2012-07-17, 21:24, w całości zmieniany 2 razy  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-07-17, 21:16


B!4CK

Never give UP!






Wiek: 32
Na forum: 5809 dni
Posty: 1047
Nick w MP: John

Piwa: 1891

Respekt: 124,2
Respekt: 124,2

Poka? newy
bo chyba brakuje :
new nick[MAX_PLAYER_NAME];

Podpis
Cześć
! :)


Projekt, który poruszy scenę platformy SA:MP!
Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-07-17, 21:19


Edol

Jestem Jednym z Was






Wiek: 31
Na forum: 5256 dni
Posty: 15
Nick w MP: Edol

Piwa: 158

Respekt: 50

jest

Kod:

new PlayerInfo[MAX_PLAYERS][PlayerInfoEnum];


[ Dodano: 2012-07-18, 11:24 ]
refresh . Prosze o pomoc pilne :piwo:

Postaw piwo autorowi tego posta
 

 
Tagi: rejestracja
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