Započeo | MARKO |
•26. Jun 2010.pomoc boljih skriptera
1,302
pregleda
10
postova
Made Man
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
90 / 100 XP
Početnik(0)
421
Postovi:
95
Teme:
Pridružio se:Mar. 2010
26. Jun 2010.
prijavim s nickname manjim od 12 slova, onda je ok. cim s vise od 12 slova onda nije. kako mogu to napraviti da mogu imati nickname veci od 12 slova?! recimo 20. hvala.
pokusao sam kod "public onplayerregister" staviti "new loginname;" umjesto broja 64 na broj 128 i tako isto kod "public onplayerlogin" pa pa opet neuspjesno.
pokusao sam kod "public onplayerregister" staviti "new loginname;" umjesto broja 64 na broj 128 i tako isto kod "public onplayerlogin" pa pa opet neuspjesno.
26. Jun 2010.
Kod funkcije za registraciju (ili gdje već provjeravaš) će morati potražiti funkciju strlen koja provjerava dužinu imena/lozinke/stringa/bla bla.
Made Man
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
90 / 100 XP
Početnik(0)
421
Postovi:
95
Teme:
Pridružio se:Mar. 2010
26. Jun 2010.
uspio sam srediti to s duzinom nicka. jos mi sad samo recite kako bi mogao napravit da kad se ides regat na server, i upises lozinku ispod 8 znakova, da ti server ne prihvati registraciju, i da ispise sastrane u chat da lozinka mora biti duza od 8 znakova. kotistim dialog register i login. hvala
Made Man
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
90 / 100 XP
Početnik(0)
421
Postovi:
95
Teme:
Pridružio se:Mar. 2010
27. Jun 2010.
public OnPlayerRegister(playerid, password[])
{
if(IsPlayerConnected(playerid))
{
new string3;
new playername3;
GetPlayerName(playerid, playername3, sizeof(playername3));
format(string3, sizeof(string3), "users/%s.ini", playername3);
new File: hFile = fopen(string3, io_write);
if (hFile)
{
strmid(PlayerInfo, password, 0, strlen(password), 255);
new var;
format(var, 64, "Key=%s\n", PlayerInfo);fwrite(hFile, var);
PlayerInfo = GetPlayerMoney(playerid);
format(var, 64, "Level=%d\n",PlayerInfo);fwrite(hFile, var);
format(var, 64, "AdminLevel=%d\n",PlayerInfo);fwrite(hFile, var);
format(var, 64, "DonateRank=%d\n",PlayerInfo);fwrite(hFile, var);
.....
a evo i dialogresponse
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
new sendername;
new string;
if(response)
{
if(dialogid == 12346 || dialogid == 12347)
{
if(strlen(inputtext))
{
new tmppass;
strmid(tmppass, inputtext, 0, strlen(inputtext), 255);
//Encrypt(tmppass);
OnPlayerLogin(playerid,tmppass);
}
else
{
new loginstring;
new loginname;
GetPlayerName(playerid,loginname,sizeof(loginname));
format(loginstring,sizeof(loginstring),"POGRESNA LOZINKA\nMolimo unesite tocnu lozinku:",loginname);
ShowPlayerDialog(playerid,12347,DIALOG_STYLE_INPUT,"Prijava",loginstring,"Prijava","Izlaz");
gPlayerLogTries += 1;
if(gPlayerLogTries == 5) { Ban(playerid); }
}
}
if(dialogid == 12345)
{
if(strlen(inputtext))
{
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "users/%s.ini", sendername);
new File: hFile = fopen(string, io_read);
if (hFile)
{
SendClientMessage(playerid, COLOR_YELLOW, "To korisnicko ime je vec zauzeto, molimo odaberite neko drugo.");
fclose(hFile);
return 1;
}
new tmppass;
strmid(tmppass, inputtext, 0, strlen(inputtext), 255);
//Encrypt(tmppass);
OnPlayerRegister(playerid,tmppass);
}
else
{
new regstring;
new regname;
GetPlayerName(playerid,regname,sizeof(regname));
format(regstring,sizeof(regstring),"Dobrodosli, %s\nNemate account.\nMolimo registrirajte se:",regname);
ShowPlayerDialog(playerid,12345,DIALOG_STYLE_INPUT,"Registracija",regstring,"Registracija","Izlaz");
}
}
}
else
{
Kick(playerid);
}
return 1;
}
i sad gdje da to ubacim?!
hvala
{
if(IsPlayerConnected(playerid))
{
new string3;
new playername3;
GetPlayerName(playerid, playername3, sizeof(playername3));
format(string3, sizeof(string3), "users/%s.ini", playername3);
new File: hFile = fopen(string3, io_write);
if (hFile)
{
strmid(PlayerInfo, password, 0, strlen(password), 255);
new var;
format(var, 64, "Key=%s\n", PlayerInfo);fwrite(hFile, var);
PlayerInfo = GetPlayerMoney(playerid);
format(var, 64, "Level=%d\n",PlayerInfo);fwrite(hFile, var);
format(var, 64, "AdminLevel=%d\n",PlayerInfo);fwrite(hFile, var);
format(var, 64, "DonateRank=%d\n",PlayerInfo);fwrite(hFile, var);
.....
a evo i dialogresponse
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
new sendername;
new string;
if(response)
{
if(dialogid == 12346 || dialogid == 12347)
{
if(strlen(inputtext))
{
new tmppass;
strmid(tmppass, inputtext, 0, strlen(inputtext), 255);
//Encrypt(tmppass);
OnPlayerLogin(playerid,tmppass);
}
else
{
new loginstring;
new loginname;
GetPlayerName(playerid,loginname,sizeof(loginname));
format(loginstring,sizeof(loginstring),"POGRESNA LOZINKA\nMolimo unesite tocnu lozinku:",loginname);
ShowPlayerDialog(playerid,12347,DIALOG_STYLE_INPUT,"Prijava",loginstring,"Prijava","Izlaz");
gPlayerLogTries += 1;
if(gPlayerLogTries == 5) { Ban(playerid); }
}
}
if(dialogid == 12345)
{
if(strlen(inputtext))
{
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "users/%s.ini", sendername);
new File: hFile = fopen(string, io_read);
if (hFile)
{
SendClientMessage(playerid, COLOR_YELLOW, "To korisnicko ime je vec zauzeto, molimo odaberite neko drugo.");
fclose(hFile);
return 1;
}
new tmppass;
strmid(tmppass, inputtext, 0, strlen(inputtext), 255);
//Encrypt(tmppass);
OnPlayerRegister(playerid,tmppass);
}
else
{
new regstring;
new regname;
GetPlayerName(playerid,regname,sizeof(regname));
format(regstring,sizeof(regstring),"Dobrodosli, %s\nNemate account.\nMolimo registrirajte se:",regname);
ShowPlayerDialog(playerid,12345,DIALOG_STYLE_INPUT,"Registracija",regstring,"Registracija","Izlaz");
}
}
}
else
{
Kick(playerid);
}
return 1;
}
i sad gdje da to ubacim?!
hvala
27. Jun 2010.
strlen = Broj upisanih znakova
srtval = Provjera upisanih znakova
npr. ako koristis strlen na deposit dialog komandu i upises 2000 u PAWNCC ce provesti broj 4 jer je samo zbrojio znakove, a ako koristis strval onda ce ti pisati 2000 znaci to ti je ta razlika eto tek toliko da znas
srtval = Provjera upisanih znakova
npr. ako koristis strlen na deposit dialog komandu i upises 2000 u PAWNCC ce provesti broj 4 jer je samo zbrojio znakove, a ako koristis strval onda ce ti pisati 2000 znaci to ti je ta razlika eto tek toliko da znas
Made Man
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
90 / 100 XP
Početnik(0)
421
Postovi:
95
Teme:
Pridružio se:Mar. 2010
27. Jun 2010.
Luka P. wrote on June 27, 2010, 11:11 am:
public OnPlayerRegister(playerid, password[])
{
if(IsPlayerConnected(playerid))
{
if(strlen(password) < 3) return SendClientMessage(playerid, neka_boja, "lozinka mora bit minimalno 3 znaka");
new string3;
new playername3;
GetPlayerName(playerid, playername3, sizeof(playername3));
format(string3, sizeof(string3), "users/%s.ini", playername3);
new File: hFile = fopen(string3, io_write);
if (hFile)
{
strmid(PlayerInfo, password, 0, strlen(password), 255);
new var;
format(var, 64, "Key=%s\n", PlayerInfo);fwrite(hFile, var);
PlayerInfo = GetPlayerMoney(playerid);
format(var, 64, "Level=%d\n",PlayerInfo);fwrite(hFile, var);
format(var, 64, "AdminLevel=%d\n",PlayerInfo);fwrite(hFile, var);
format(var, 64, "DonateRank=%d\n",PlayerInfo);fwrite(hFile, var);
.....ok to sad radi. al kako sad kad napisem pass ispod 3 znaka, i on bi ispise da mora biti minimalno 3 znaka, kad sad napravit da mi ponovno izbaci dialog za registraciju?! hvala
Made Man
Balkan SA:MP
SA-MP Doprinos
Balkan SA:MP
SA-MP DoprinosNovi Član
90 / 100 XP
Početnik(0)
421
Postovi:
95
Teme:
Pridružio se:Mar. 2010
27. Jun 2010.
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
new sendername;
new string;
if(response)
{
if(dialogid == 12346 || dialogid == 12347)
{
if(strlen(inputtext))
{
new tmppass;
strmid(tmppass, inputtext, 0, strlen(inputtext), 255);
//Encrypt(tmppass);
OnPlayerLogin(playerid,tmppass);
}
else
{
new loginstring;
new loginname;
GetPlayerName(playerid,loginname,sizeof(loginname));
format(loginstring,sizeof(loginstring),"POGRESNA LOZINKA\nMolimo unesite tocnu lozinku:",loginname);
ShowPlayerDialog(playerid,12347,DIALOG_STYLE_INPUT,"Prijava",loginstring,"Prijava","Izlaz");
gPlayerLogTries += 1;
if(gPlayerLogTries == 5) { Ban(playerid); }
}
}
if(dialogid == 12345)
{
if(strlen(inputtext))
{
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "users/%s.ini", sendername);
new File: hFile = fopen(string, io_read);
if (hFile)
{
SendClientMessage(playerid, COLOR_YELLOW, "To korisnicko ime je vec zauzeto, molimo odaberite neko drugo.");
fclose(hFile);
return 1;
}
new tmppass;
strmid(tmppass, inputtext, 0, strlen(inputtext), 255);
//Encrypt(tmppass);
OnPlayerRegister(playerid,tmppass);
}
else
{
new regstring;
new regname;
GetPlayerName(playerid,regname,sizeof(regname));
format(regstring,sizeof(regstring),"Dobrodosli, %s\nNemate account.\nMolimo registrirajte se:",regname);
ShowPlayerDialog(playerid,12345,DIALOG_STYLE_INPUT,"Registracija",regstring,"Registracija","Izlaz");
}
}
}
else
{
Kick(playerid);
}
return 1;
}
gdje se tu nalazi taj callback??
za ovo
if ( strlen ( inputtext ) < 8 ) return ShowPlayerDialog( ... );
{
new sendername;
new string;
if(response)
{
if(dialogid == 12346 || dialogid == 12347)
{
if(strlen(inputtext))
{
new tmppass;
strmid(tmppass, inputtext, 0, strlen(inputtext), 255);
//Encrypt(tmppass);
OnPlayerLogin(playerid,tmppass);
}
else
{
new loginstring;
new loginname;
GetPlayerName(playerid,loginname,sizeof(loginname));
format(loginstring,sizeof(loginstring),"POGRESNA LOZINKA\nMolimo unesite tocnu lozinku:",loginname);
ShowPlayerDialog(playerid,12347,DIALOG_STYLE_INPUT,"Prijava",loginstring,"Prijava","Izlaz");
gPlayerLogTries += 1;
if(gPlayerLogTries == 5) { Ban(playerid); }
}
}
if(dialogid == 12345)
{
if(strlen(inputtext))
{
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "users/%s.ini", sendername);
new File: hFile = fopen(string, io_read);
if (hFile)
{
SendClientMessage(playerid, COLOR_YELLOW, "To korisnicko ime je vec zauzeto, molimo odaberite neko drugo.");
fclose(hFile);
return 1;
}
new tmppass;
strmid(tmppass, inputtext, 0, strlen(inputtext), 255);
//Encrypt(tmppass);
OnPlayerRegister(playerid,tmppass);
}
else
{
new regstring;
new regname;
GetPlayerName(playerid,regname,sizeof(regname));
format(regstring,sizeof(regstring),"Dobrodosli, %s\nNemate account.\nMolimo registrirajte se:",regname);
ShowPlayerDialog(playerid,12345,DIALOG_STYLE_INPUT,"Registracija",regstring,"Registracija","Izlaz");
}
}
}
else
{
Kick(playerid);
}
return 1;
}
gdje se tu nalazi taj callback??
za ovo
if ( strlen ( inputtext ) < 8 ) return ShowPlayerDialog( ... );
Morate biti prijavljeni da biste odgovorili na ovu temu.
Prijava