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..)
Ini
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 :
[pawn]pEmail[35], //Ovo ces dodati u sam enum, ako ga stavljas na kraj, zarez ne treba, takodje, 35 znaci velicina[/pawn]
Kada si to dodao, idi u ucitavanje igraca i tu dodajes:
[pawn]INI_String("Email", PlayerInfo[playerid][pEmail], 35); //PlayerInfo u zavisnosti od toga kako ti je definisano[/pawn]
Sada idemo u cuvanje igraca i tu dodamo:
[pawn]INI_WriteString(File,"Email", PlayerInfo[playerid][pEmail]); //Ovde stoji File u zavinosti od toga kako si definisao INI Fajl[/pawn]
Sada, odemo negde unutar registracije i umesto da se igrac spawna stavimo da prikaze dialog
[pawn]ShowPlayerDialog(playerid, Dialog_Email, DIALOG_STYLE_INPUT, "Registracija", "Unesi email adresu", "Potvrdi", "Odustani");[/pawn]
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
[pawn]if(clickedid == Reg18)
{
ShowPlayerDialog(playerid, DIALOG_GODINE, DIALOG_STYLE_INPUT,""COL_WHITE"Registracija",""COL_WHITE"Molimo upisite koliko godina imate","Register","OK");
return 1;
}[/pawn]
i onda sam pod OnDialog stavio ovako
[pawn]case DIALOG_GODINE:
{
new INI:File = INI_Open(UserPath(playerid));
INI_SetTag(File,"data");
INI_WriteInt(File,"Godine",(inputtext))//ovdje se javlja error
}[/pawn]
I izalzi mi u gore liniji ovaj error
[pawn]: error 035: argument type mismatch (argument 3)[/pawn]
[pawn]INI_WriteInt(File,"Godine", strval(inputtext));[/pawn]
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));
Opet brt isto
Daj mi da vidim kako ti sad izgleda kod.. ?
Citat: Mikix poslato Mart 23, 2020, 19:42:40 POSLE PODNE
Evo ovako sam uradio stavio sam pod OnPlayerClickTextDraw ovo
[pawn]if(clickedid == Reg18)
{
ShowPlayerDialog(playerid, DIALOG_GODINE, DIALOG_STYLE_INPUT,""COL_WHITE"Registracija",""COL_WHITE"Molimo upisite koliko godina imate","Register","OK");
return 1;
}[/pawn]
i onda sam pod OnDialog stavio ovako
[pawn]case DIALOG_GODINE:
{
new INI:File = INI_Open(UserPath(playerid));
INI_SetTag(File,"data");
INI_WriteInt(File,"Godine",(inputtext))//ovdje se javlja error
}[/pawn]
I izalzi mi u gore liniji ovaj error
[pawn]: error 035: argument type mismatch (argument 3)[/pawn]
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
[pawn]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;
}[/pawn]
Evo OnDialog
[pawn]case DIALOG_GODINE:
{
new INI:File = INI_Open(UserPath(playerid));
INI_WriteInt(File,"Godine",strval(inputtext));
printf("GOdine %d", strval(inputtext));
}[/pawn]
Citat: Mikix poslato Mart 23, 2020, 21:53:12 POSLE PODNE
Evo kad klikne textdraw
[pawn]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;
}[/pawn]
Evo OnDialog
[pawn]case DIALOG_GODINE:
{
new INI:File = INI_Open(UserPath(playerid));
INI_WriteInt(File,"Godine",strval(inputtext));
printf("GOdine %d", strval(inputtext));
}[/pawn]
Pa jel' ti dobro printa godine ?
Neko da zna?Kada idem u scriptfiles i idem user ispisuje se Godine = 0???
Neko da objasni kako da napravim?
new god = strval(inputtext);
if(god < 1) return ShowPlayerDialog(playerid,DIALOG_GODINE,DIALOG_STYLE_INPUT,""plava"Registracija:",""plava"Molimo vas upisite koliko imate godina.","Dalje","Izlaz");
if(god > MAX_GOD) return ShowPlayerDialog(playerid,DIALOG_GODINE,DIALOG_STYLE_INPUT,""plava"Registracija:",""plava"Molimo vas upisite koliko imate godina.","Dalje","Izlaz");
PlayerInfo[playerid][pGodine] = god;
ShowPlayerDialog(playerid,DIALOG_DRZAVA,DIALOG_STYLE_LIST,""plava"Registracija: Izaberite vasu drzavu:",""plava"Hrvatska\n"plava"Srbija\n"plava"BIH","Dalje","Izlaz");
case DIALOG_GODINE:
{
new godine;
INI_WriteInt(File,"Godine",strval(inputtext));
printf("GOdine %d", strval(inputtext));
}
new godine;
godine = strval(inputtext);
if(godine < 8 || godine > 69)
{
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 true;
}
PlayerInfo[playerid][pGodine] = strval(inputtext);
Mozes mi reci sta pod sta ide..
Hvala punooo ;) ;)