Pomoc

Započeo Mikix, Mart 23, 2020, 17:36:10 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 3 gostiju pregledaju ovu temu.

Problem(error/warning): Kako da napravim kada se registruje da treba da ukuca svoj email,i da mu se to kasnije cuva?
Dio skripte: //
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): //
Slika/video ingame problema(obavezno ako je ingame problem): //

Citat: Mikix poslato Mart 23, 2020, 17:36:10 POSLE PODNE
Problem(error/warning): Kako da napravim kada se registruje da treba da ukuca svoj email,i da mu se to kasnije cuva?
Dio skripte: //
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): //
Slika/video ingame problema(obavezno ako je ingame problem): //

Pa zavisi sta koristis za spremanje(INI, DINI, mysql itd..)


Citat: Mikix poslato Mart 23, 2020, 18:09:15 POSLE PODNE
Ini

Pa to je bar lako, ukolilo imas vec uradjeno cuvanje podatka dodaj novu varijablu u enum i nadji funkcije spremanja i ucitavanja i tu ih dodaj. Zatim napravis dialog i formatiras mail iz unesenog teksta u tu variablu i to je to.

Moramo krenuti od pocetka xDD

Pre svega, nadjes enum od igraca :

pEmail[35], //Ovo ces dodati u sam enum, ako ga stavljas na kraj, zarez ne treba, takodje, 35 znaci velicina


Kada si to dodao, idi u ucitavanje igraca i tu dodajes:

INI_String("Email", PlayerInfo[playerid][pEmail], 35); //PlayerInfo u zavisnosti od toga kako ti je definisano


Sada idemo u cuvanje igraca i tu dodamo:

INI_WriteString(File,"Email", PlayerInfo[playerid][pEmail]); //Ovde stoji File u zavinosti od toga kako si definisao INI Fajl


Sada, odemo negde unutar registracije i umesto da se igrac spawna stavimo da prikaze dialog

ShowPlayerDialog(playerid, Dialog_Email, DIALOG_STYLE_INPUT, "Registracija", "Unesi email adresu", "Potvrdi", "Odustani");


I sada samo pod OnDialogResponse stavis da kada igrac unese email nastavi normalno dalje kao sto je bilo

Ne znam da li sam dobro objasnio, ali moras malo ukljuciti mozga za ovo, svaka skripta je razlicita, ja sam pokusao da pojasnim najbolje sto sam mogao. Ovo ne verujem da mozes ispratiti ako ne znas neke osnovne stvari.. Ukoliko budes imao problema, pisi ovde :)

Evo ovako sam uradio stavio sam pod OnPlayerClickTextDraw ovo
if(clickedid == Reg18)
    {
        ShowPlayerDialog(playerid, DIALOG_GODINE, DIALOG_STYLE_INPUT,""COL_WHITE"Registracija",""COL_WHITE"Molimo upisite koliko godina imate","Register","OK");
        return 1;
	}

i onda sam pod OnDialog stavio ovako
case DIALOG_GODINE:
        {
            new INI:File = INI_Open(UserPath(playerid));
        	INI_SetTag(File,"data");
        	INI_WriteInt(File,"Godine",(inputtext))//ovdje se javlja error
        }

I izalzi mi u gore liniji ovaj error
: error 035: argument type mismatch (argument 3)

INI_WriteInt(File,"Godine", strval(inputtext));

Sada mi se sacuva Godine na 0...

Koliko vidim a gde ti je sscanf kom trazis da igrac unese broj godina? On ne zna sta si ti uneo kao inputtext ako mu ne predjes u variablu, mislim mozda i zna ali nisam testao , uradi sscanf moj savet , a ako hoces ovo dodaj printf( " godine %d ", strval(inputtext) ) ; // Nema smisla ovo bez sscanf-a
dodaj ispod linije INI_WriteInt(File,"Godine", strval(inputtext));

One And Only
Old Member
Since AVGUST 2013. :)
GAME OVER - SCRIPTING
SINCE 2009 - 2020


Daj mi da vidim kako ti sad izgleda kod.. ?

One And Only
Old Member
Since AVGUST 2013. :)
GAME OVER - SCRIPTING
SINCE 2009 - 2020

Citat: Mikix poslato Mart 23, 2020, 19:42:40 POSLE PODNE
Evo ovako sam uradio stavio sam pod OnPlayerClickTextDraw ovo
if(clickedid == Reg18)
    {
        ShowPlayerDialog(playerid, DIALOG_GODINE, DIALOG_STYLE_INPUT,""COL_WHITE"Registracija",""COL_WHITE"Molimo upisite koliko godina imate","Register","OK");
        return 1;
	}

i onda sam pod OnDialog stavio ovako
case DIALOG_GODINE:
        {
            new INI:File = INI_Open(UserPath(playerid));
        	INI_SetTag(File,"data");
        	INI_WriteInt(File,"Godine",(inputtext))//ovdje se javlja error
        }

I izalzi mi u gore liniji ovaj error
: error 035: argument type mismatch (argument 3)


inputtext ti je string , stavi INI_WriteInt(File, "Godine", strval(inputtext));

Citat: TarikBrt poslato Mart 23, 2020, 21:27:41 POSLE PODNE
inputtext ti je string , stavi INI_WriteInt(File, "Godine", strval(inputtext));
Stavio sam to vec

Citat: xLanmi poslato Mart 23, 2020, 21:25:02 POSLE PODNE
Daj mi da vidim kako ti sad izgleda kod.. ?
Evo kad klikne textdraw
if(clickedid == Reg18)
    {
        ShowPlayerDialog(playerid, DIALOG_GODINE, DIALOG_STYLE_INPUT,""COL_WHITE"Registracija",""COL_WHITE"Molimo upisite koliko godina imate\n"COL_RED"Ne ici ispod 8 i iznad 69","Register","OK");
        return 1;
	}

Evo OnDialog
case DIALOG_GODINE:
        {
            new INI:File = INI_Open(UserPath(playerid));
        	INI_WriteInt(File,"Godine",strval(inputtext));
       	 	printf("GOdine %d", strval(inputtext));
        }

Citat: Mikix poslato Mart 23, 2020, 21:53:12 POSLE PODNE
Evo kad klikne textdraw
if(clickedid == Reg18)
    {
        ShowPlayerDialog(playerid, DIALOG_GODINE, DIALOG_STYLE_INPUT,""COL_WHITE"Registracija",""COL_WHITE"Molimo upisite koliko godina imate\n"COL_RED"Ne ici ispod 8 i iznad 69","Register","OK");
        return 1;
	}

Evo OnDialog
case DIALOG_GODINE:
        {
            new INI:File = INI_Open(UserPath(playerid));
        	INI_WriteInt(File,"Godine",strval(inputtext));
       	 	printf("GOdine %d", strval(inputtext));
        }


Pa jel' ti dobro printa godine ?