Log/Reg


Započeo TONY x, Jun 17, 2018, 20:49:10 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Problem(error/warning):Nema ih nego se lozinka automatski podesi na 1 kasa se nego registruje i da bi se otkljucao akaunt lozinka je da ostavim prazno i da potvrdim
Dio skripte: Radio sam od 0 i proverio sam na netu,nasa slican,uporedio i nista nisam pronasao kao razlicitost/zamerku;mozda nisam lepo video recite sta treba da posaljem ali pre toga do cega moze biti
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): scriptfiles -> Korisnici ->"Ime" ->
Lozinka = 1

Slika/video ingame problema(obavezno ako je ingame problem): //
Poslednja Izmena: Jun 17, 2018, 22:50:23 POSLE PODNE od Bašovski

Posalji tamo gde se registrujes ( dialog, ili sta je vec )

Uskoro saljem ceo reg sistem

#define PATH "/Korisnici/%s.ini"

#define DIALOG_REGISTER 1
#define DIALOG_LOGIN 2
#define DIALOG_POL 3
#define DIALOG_GODINE 4
#define DIALOG_DRZAVLJANSTVO 5
#define DIALOG_DOBRODOSLICA 6

enum pInfo
{
	pLozinka,
	pNovac,
	pScore,
	pAdmin,
	pVIP,
	pSankcije,
	pSkin,
	pPol,
	pGodine,
	pDrzavljanstvo,
	pUbistva,
	pSmrti,
	pCombine,
	pResistance
};
new PlayerInfo[MAX_PLAYERS][pInfo];

forward LoadUser_data(playerid,name[],value[]);

stock UserPath(playerid)
{
	new string[128],playername[MAX_PLAYER_NAME];
	GetPlayerName(playerid,playername,sizeof(playername));
	format(string,sizeof(string),PATH,playername);
	return string;
}

public OnPlayerConnect(playerid)
{
	new igraci[50]; format(igraci, sizeof(igraci), PATH, ImeIgraca(playerid));
	TogglePlayerSpectating(playerid, true);
	PlayerInfo[playerid][pNovac] = 0;
	PlayerInfo[playerid][pScore] = 0;
	PlayerInfo[playerid][pAdmin] = 0;
	PlayerInfo[playerid][pVIP] = 0;
	PlayerInfo[playerid][pSankcije] = 0;
	PlayerInfo[playerid][pSkin] = 0;
	PlayerInfo[playerid][pPol] = 0;
	PlayerInfo[playerid][pGodine] = 0;
	PlayerInfo[playerid][pDrzavljanstvo] = 0;
	PlayerInfo[playerid][pUbistva] = 0;
	PlayerInfo[playerid][pSmrti] = 0;
	PlayerInfo[playerid][pCombine] = 0;
	PlayerInfo[playerid][pResistance] = 0;
	if(fexist(UserPath(playerid)))
	{
		INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
		ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""plava"Prijavljivanje",""svetloplava"Ukucajte lozinku da bi se ulogovali","Prijavi se","Izadji");
		logintim[playerid] = SetTimerEx("Login", 60000, false, "i", playerid);
	}
	else
	{
		ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT,""plava"Registracija",""svetloplava"Ukucajte lozinku da bi se registrovali.","Registruj se","Izadji");
	}
	return 1;
}

public OnPlayerDisconnect(playerid, reason)
{
	new INI:File = INI_Open(UserPath(playerid));
	INI_SetTag(File,"data");
	INI_WriteInt(File,"Novac",GetPlayerMoney(playerid));
	INI_WriteInt(File,"Admin",PlayerInfo[playerid][pAdmin]);
	INI_WriteInt(File,"VIP",PlayerInfo[playerid][pVIP]);
	INI_WriteInt(File,"Sankcije",PlayerInfo[playerid][pSankcije]);
	INI_WriteInt(File,"Skin",GetPlayerSkin(playerid));
	INI_WriteInt(File,"Score",PlayerInfo[playerid][pScore]);
	INI_WriteInt(File,"Pol",PlayerInfo[playerid][pPol]);
	INI_WriteInt(File,"Godine",PlayerInfo[playerid][pGodine]);
	INI_WriteInt(File,"Drzavljanstvo",PlayerInfo[playerid][pDrzavljanstvo]);
	INI_WriteInt(File,"Ubistva",PlayerInfo[playerid][pUbistva]);
	INI_WriteInt(File,"Smrti",PlayerInfo[playerid][pSmrti]);
	INI_WriteInt(File,"Combine",PlayerInfo[playerid][pCombine]);
	INI_WriteInt(File,"Resistance",PlayerInfo[playerid][pResistance]);
	INI_Close(File);
	return 1;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
	switch(dialogid)
	{
		case DIALOG_REGISTER:
	{
		if(!response) return Kick(playerid);
		if(response)
		{
			if(!strlen(inputtext)) return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Registracija","Ukucali ste pogresnu lozinku.\nUkucajte ispravnu lozinku da bi se registrovali.","Registruj se","X");
			SPD(playerid, DIALOG_POL, DIALOG_STYLE_LIST,""plava"Registracija-Pol",""svetloplava"Musko\n"crvena"Zensko","Potvrdi","X");
		}
	}
		case DIALOG_POL:
		{
		    if(!response) return Kick(playerid);
			switch(listitem)
			{
				case 0:
				{
					SPD(playerid, DIALOG_DRZAVLJANSTVO, DIALOG_STYLE_LIST,"Iz koje drzave dolazite?","Srbija\nBosna i Hercegovina\nHrvatska\nOstalo(balkan)\nOstalo...","Ulaz","X");
					PlayerInfo[playerid][pPol] = 1;
					SCM(playerid, ZELENA, "Ok,znaci vi ste musko.");
					return 1;
				}
				case 1:
				{
					SPD(playerid, DIALOG_DRZAVLJANSTVO, DIALOG_STYLE_LIST,""plava"Iz koje drzave dolazite?","Srbija\nBosna i Hercegovina\nHrvatska\nOstalo(balkan)\nOstalo...","Ulaz","X");
					PlayerInfo[playerid][pPol] = 2;
					SCM(playerid, ZELENA, "Ok,znaci vi ste zensko.");
					return 1;
				}
			}
		}
		case DIALOG_DRZAVLJANSTVO:
		{
		    if(!response) return Kick(playerid);
		    switch(listitem)
		    {
		        	case 0:
		        {
		            PlayerInfo[playerid][pDrzavljanstvo] = 1;
		            SCM(playerid, ZELENA, "Ok,znaci vi nam dolazite iz Srbije.");
		            SPD(playerid, DIALOG_GODINE, DIALOG_STYLE_INPUT, ""plava"Registracija-Godine","Unesite koliko cete imati godina(u Igri-IG):","Potvrdi","X");
		            return 1;
		        }
                   case 1:
		        {
		            PlayerInfo[playerid][pDrzavljanstvo] = 2;
		            SCM(playerid, ZELENA, "Ok,znaci vi nam dolazite iz BIH.");
		            SPD(playerid, DIALOG_GODINE, DIALOG_STYLE_INPUT, ""plava"Registracija-Godine","Unesite koliko cete imati godina(u Igri-IG):","Potvrdi","X");
		            return 1;
		        }
		           case 2:
		        {
		            PlayerInfo[playerid][pDrzavljanstvo] = 3;
		            SCM(playerid, ZELENA, "Ok,znaci vi nam dolazite iz Hrvatske.");
		            SPD(playerid, DIALOG_GODINE, DIALOG_STYLE_INPUT, ""plava"Registracija-Godine","Unesite koliko cete imati godina(u Igri-IG):","Potvrdi","X");
		            return 1;
		        }
		           case 3:
		        {
		            PlayerInfo[playerid][pDrzavljanstvo] = 4;
		            SCM(playerid, ZELENA, "Ok,znaci vi nam dolazite iz neke druge zemlje balkana(Makedonija,CG...).");
		            SPD(playerid, DIALOG_GODINE, DIALOG_STYLE_INPUT, ""plava"Registracija-Godine","Unesite koliko cete imati godina(u Igri-IG):","Potvrdi","X");
		            return 1;
		        }
		           case 4:
		        {
		            PlayerInfo[playerid][pDrzavljanstvo] = 5;
		            SCM(playerid, ZELENA, "Ok,znaci vi nam dolazite iz nekog drugog kraja sveta.");
		            SPD(playerid, DIALOG_GODINE, DIALOG_STYLE_INPUT, ""plava"Registracija-Godine","Unesite koliko cete imati godina(u Igri-IG):","Potvrdi","X");
		            return 1;
		        }
		    }
		}
		case DIALOG_GODINE:
		{
		    if(!response) return Kick(playerid);
		    if(response)
		    {
		        new godine = strval(inputtext);
		        PlayerInfo[playerid][pGodine] = godine;
		        if(godine > 50 || godine < 20)
				{
				    SCM(playerid, CRVENA, "Godine nesmeju biti vece od 50 niti manje od 20!");
				    SPD(playerid, DIALOG_GODINE, DIALOG_STYLE_INPUT, ""plava"Registracija-Godine","Unesite koliko cete imati godina(u Igri-IG):","Potvrdi","X");
				    return 1;
				}
				SPD(playerid, DIALOG_DOBRODOSLICA, DIALOG_STYLE_MSGBOX, ""plava"Registracija-Kraj,Dobrodoslica",""zelena"Dobrodosli u Grad-17.Dobrodoslicu vam zele Combine i administracija!","Potvrdi","X");
		    }
		}
		case DIALOG_DOBRODOSLICA:
		{
		    if(!response) return Kick(playerid);
		    if(response)
		    {
		        for(new i;i<120;i++)
		        {
		            SCM(playerid,-1,"");
		        }
				SCM(playerid, ZELENA, "Pridruzite se Combine-u i patrolisite gradom!Ukoliko niste za njih onda se pridruzite pokretu otpora-Resistance");
				new INI:File = INI_Open(UserPath(playerid));
				INI_SetTag(File,"data");
				INI_WriteInt(File,"Lozinka",udb_hash(inputtext));
				INI_WriteInt(File,"Novac",0);
				INI_WriteInt(File,"Admin",0);
				INI_WriteInt(File,"VIP",0);
				INI_WriteInt(File,"Sankcije",0);
				INI_WriteInt(File,"Skin",0);
				INI_WriteInt(File,"Score",0);
				INI_WriteInt(File,"Pol",0);
				INI_WriteInt(File,"Godine",0);
				INI_WriteInt(File,"Drzavljanstvo",0);
				INI_WriteInt(File,"Ubistva",0);
				INI_WriteInt(File,"Smrti",0);
				INI_WriteInt(File,"Combine",0);
				INI_WriteInt(File,"Resistance",0);
				INI_Close(File);
				TogglePlayerSpectating(playerid, false);
				SetSpawnInfo(playerid, 0, 0, 828.1050,-1368.6373,-0.5015,352.4009, 0, 0, 0, 0, 0, 0);
				SpawnPlayer(playerid);
				if(PlayerInfo[playerid][pPol] == 1) return SetPlayerSkin(playerid, 42);
				else if(PlayerInfo[playerid][pPol] == 2) return SetPlayerSkin(playerid, 41);
		    }
		}
		case DIALOG_LOGIN:
		{
			if(!response) return Kick(playerid);
			if(response)
			{
				if(udb_hash(inputtext) == PlayerInfo[playerid][pLozinka])
				{
					INI_ParseFile(UserPath(playerid), "LoadUser_%s", .bExtra = true, .extra = playerid);
					GivePlayerMoney(playerid, PlayerInfo[playerid][pNovac]);
					SetPlayerScore(playerid, PlayerInfo[playerid][pScore]);
					SetPlayerSkin(playerid, PlayerInfo[playerid][pSkin]);
					TogglePlayerSpectating(playerid, false);
					SetSpawnInfo(playerid, 0, PlayerInfo[playerid][pSkin], 828.1050,-1368.6373,-0.5015,352.4009, 0, 0, 0, 0, 0, 0);
					SpawnPlayer(playerid);
					KillTimer(logintim[playerid]);
				}
				else
				{
					ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT,""plava"Prijavljivanje",""svetloplava"Ukucali ste pogresnu lozinku!\n"crvena"Ukucajte tacnu lozinku da bi se ulogovali.","Prijavi se","Izadji");
				}
				return 1;
			}
		}
	}
	return 1;
}

public LoadUser_data(playerid,name[],value[])
{
	INI_Int("Lozinka",PlayerInfo[playerid][pLozinka]);
	INI_Int("Novac",PlayerInfo[playerid][pNovac]);
	INI_Int("Admin",PlayerInfo[playerid][pAdmin]);
	INI_Int("VIP",PlayerInfo[playerid][pVIP]);
	INI_Int("Sankcije",PlayerInfo[playerid][pSankcije]);
	INI_Int("Skin",PlayerInfo[playerid][pSkin]);
	INI_Int("Score",PlayerInfo[playerid][pScore]);
	INI_Int("Pol",PlayerInfo[playerid][pPol]);
	INI_Int("Godine",PlayerInfo[playerid][pGodine]);
	INI_Int("Drzavljanstvo",PlayerInfo[playerid][pDrzavljanstvo]);
	INI_Int("Ubistva",PlayerInfo[playerid][pUbistva]);
	INI_Int("Smrti",PlayerInfo[playerid][pSmrti]);
	INI_Int("Combine",PlayerInfo[playerid][pCombine]);
	INI_Int("Resistance",PlayerInfo[playerid][pResistance]);
	return 1;
}
Poslednja Izmena: Jun 18, 2018, 12:12:59 POSLE PODNE od TONY x

Ugl kad ukuca PW tj taj text treba ovako da ti izgleda ako koristis ovaj hash

PlayerInfo[playerid][pLozinka] = udb_hash(inputtext);


trebao bi ovako da odradis
if(strlen(inputtext) < 6 || strlen(inputtext) > 12)
{
     ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Registracija","Ukucali ste pogresnu lozinku.\nUkucajte ispravnu       lozinku da bi se registrovali.","Registruj se","X");
}
PlayerInfo[playerid][pLozinka] = udb_hash(inputtext);
SPD(playerid, DIALOG_POL, DIALOG_STYLE_LIST,""plava"Registracija-Pol",""svetloplava"Musko\n"crvena"Zensko","Potvrdi","X");
 SCM(playerid, -1, "U redu, vasa lozinka je upisana u bazu. Da li ste musko ili zensko?");
// i sta vec ovde jos upisuejs tipa // SetPlayerScore(playerid, PlayerInfo[playerid][pLevel]);


I onda pod login provera dal je tacan PW
if((udb_hash(inputtext) == PlayerInfo[playerid][pLozinka]) && !isnull( inputtext ))


Edit po 15 put ugl gore pod inputtext veci od 6 ili 12 sam ja stavio ti mozes staviti tipa 16 al ne preprocujem ti vise od toga tj nzm sta ce ti vise od toga
Poslednja Izmena: Jun 18, 2018, 17:03:04 POSLE PODNE od omcho

Citat: omcho poslato Jun 18, 2018, 16:57:42 POSLE PODNE
Ugl kad ukuca PW tj taj text treba ovako da ti izgleda ako koristis ovaj hash

PlayerInfo[playerid][pLozinka] = udb_hash(inputtext);


trebao bi ovako da odradis
if(strlen(inputtext) < 6 || strlen(inputtext) > 12)
{
     ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Registracija","Ukucali ste pogresnu lozinku.\nUkucajte ispravnu       lozinku da bi se registrovali.","Registruj se","X");
}
PlayerInfo[playerid][pLozinka] = udb_hash(inputtext);
SPD(playerid, DIALOG_POL, DIALOG_STYLE_LIST,""plava"Registracija-Pol",""svetloplava"Musko\n"crvena"Zensko","Potvrdi","X");
 SCM(playerid, -1, "U redu, vasa lozinka je upisana u bazu. Da li ste musko ili zensko?");
// i sta vec ovde jos upisuejs tipa // SetPlayerScore(playerid, PlayerInfo[playerid][pLevel]);


I onda pod login provera dal je tacan PW
if((udb_hash(inputtext) == PlayerInfo[playerid][pLozinka]) && !isnull( inputtext ))


Edit po 15 put ugl gore pod inputtext veci od 6 ili 12 sam ja stavio ti mozes staviti tipa 16 al ne preprocujem ti vise od toga tj nzm sta ce ti vise od toga

Stavi srlen najveci do 24 jer poslije toga pada skripta zbog poznatog dialog buga :)
Third-party Pawn Developer

Citat: Coox poslato Jun 18, 2018, 17:11:02 POSLE PODNE
Stavi srlen najveci do 24 jer poslije toga pada skripta zbog poznatog dialog buga :)
Ma ono sta ce mu 24 za password nmp ja sam stavio 12 tako da ono mozes staviti i 24 ja sam dao predlog samo :)

Ugl ako ti radi Tony zakljucaj temu i stavi reseno kao prefix ako ne mozes ti stavice neki moderator ako ne radi napisi sta ne radi ce fixamo

Stavio sam
PlayerInfo[playerid][pLozinka] = udb_hash(inputtext);

u ondialogresponse pod dialog register i nece opet 1 ispisuje

Citat: TONY x poslato Jun 19, 2018, 18:16:46 POSLE PODNE
Stavio sam
PlayerInfo[playerid][pLozinka] = udb_hash(inputtext);

u ondialogresponse pod dialog register i nece opet 1 ispisuje
Ovako? I dodaj tu sta ti jos pise tj sta imas
new INI:File = INI_Open(UserPath(playerid));
INI_WriteInt(File, "Lozinka", udb_hash(inputtext));
INI_Close(File);
Poslednja Izmena: Jun 19, 2018, 23:19:34 POSLE PODNE od omcho