pomoc boljih skriptera

Započeo | MARKO |
26. Jun 2010.
1,283
pregleda
10
postova
filip_pnv
4
Made Man
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.
Deleted User
Obrisan korisnik
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.
filip_pnv
4
Made Man
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
WeboSkop
2
Wheel Man
27. Jun 2010.
Opet koristis funkciju strlen, eto primjera:
if(strlen(inputtext) < 8)
{
    SendClientMessage(playerid, NEKA_BOJA, "Vasa lozinka mora biti iznad 8 znakova.");
    return 1;
}
filip_pnv
4
Made Man
27. Jun 2010.
a gdje bi to trebao ubaciti?!
filip_pnv
4
Made Man
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
Deleted User
Obrisan korisnik
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
filip_pnv
4
Made Man
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
filip_pnv
4
Made Man
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( ... );

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava

© 2026 SmartShark. All rights reserved.

Powered by Momentum|v2026.3.001 Alpha