Skripta koju koristim: GTARP
Detaljan opis problema:Ne cuva account preko 12 slova
Dio skripte:Ja mislim da treba neki string da se poveca, al nzm koji da se ne sjebe nes
Neke slike/video za lakse dobivanjepublic OnPlayerRequestClass(playerid, classid)
{
if (RegistrationStep[playerid] == 0 && gPlayerLogged[playerid] != 1)
{
ClearChatbox(playerid, 10);
SendClientMessage(playerid, COLOR_GREEN, " ~ Dobrodosli na Roleplay ! ~");
SendClientMessage(playerid, COLOR_RED, " Koristi Max 12 slova u imenu da bih ime bilo sacuvano! ");
SendClientMessage(playerid, COLOR_YELLOW2, " ");
SendClientMessage(playerid, COLOR_YELLOW2, " ");
SendClientMessage(playerid, COLOR_YELLOW2, " ");
SendClientMessage(playerid, COLOR_YELLOW2, " ");
SendClientMessage(playerid, COLOR_YELLOW2, " ");
SendClientMessage(playerid, COLOR_YELLOW2, " ");
if (gPlayerAccount[playerid] != 0)
{
new loginstring[128];
new loginname[64];
GetPlayerName(playerid,loginname,sizeof(loginname));
format(loginstring,sizeof(loginstring),"Dobrodosli, %s\nTaj nick je vec registrovan.\nSada se mozete logovati:",loginname);
ShowPlayerDialog(playerid,12346,DIALOG_STYLE_INPUT,"Login",loginstring,"Login","Izlaz");
}
else
{
gPlayerAccount[playerid] = 0;
new regstring[128];
new regname[64];
GetPlayerName(playerid,regname,sizeof(regname));
format(regstring,sizeof(regstring),"Dobrodosli, %s\nVi nemate nalog.\nMolimo vas registrujte se:",regname);
ShowPlayerDialog(playerid,12345,DIALOG_STYLE_INPUT,"Registracija",regstring,"Registracija","Izlaz");
}
//PlayerPlaySound(playerid, 1187, 0.0, 0.0, 0.0);
PlayerInfo[playerid][pModel] = Peds[classid][0];
}
Postavi cijeli postupak registracije ili barem gdje kreira novi fajl, ovdje je sve u redu.
Ovo mu pise kada ulazi na server
GetPlayerName(playerid, plname, sizeof(plname));
format(string, sizeof(string), "users/%s.ini", plname);
SendClientMessage(playerid, COLOR_YELLOW2, "Molimo sacekajte...");
if(fexist(string))
{
new sendername[MAX_PLAYER_NAME];
new string[128];
if(response)
{
if(dialogid == 12346 || dialogid == 12347)
{
if(strlen(inputtext))
{
new tmppass[64];
strmid(tmppass, inputtext, 0, strlen(inputtext), 255);
//Encrypt(tmppass);
OnPlayerLogin(playerid,tmppass);
}
else
{
new loginstring[128];
new loginname[64];
GetPlayerName(playerid,loginname,sizeof(loginname));
format(loginstring,sizeof(loginstring),"POGRESNA LOZINKA\nMolimo vas unesite tacnu lozinku:",loginname);
ShowPlayerDialog(playerid,12347,DIALOG_STYLE_INPUT,"Login",loginstring,"Login","Izlaz");
gPlayerLogTries[playerid] += 1;
if(gPlayerLogTries[playerid] == 5) { Kick(playerid); }
}
}
if(dialogid == 12345)
{
if(strlen(inputtext))
{
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "%s.ini", sendername);
new File: hFile = fopen(string, io_read);
if (hFile)
{
SendClientMessage(playerid, COLOR_YELLOW, "To korisnicko ime vec postoji, molimo vas odaberite neko drugo.");
fclose(hFile);
return 1;
}
new tmppass[64];
strmid(tmppass, inputtext, 0, strlen(inputtext), 255);
//Encrypt(tmppass);
OnPlayerRegister(playerid,tmppass);
}
else
{
new regstring[128];
new regname[64];
GetPlayerName(playerid,regname,sizeof(regname));
format(regstring,sizeof(regstring),"Dobrodosli, %s\nVi nemate nalog kod nas.\nMolimo vas da se registrujete:",regname);
ShowPlayerDialog(playerid,12345,DIALOG_STYLE_INPUT,"Registracija",regstring,"Registracija","Izlaz");
}
}
}
return 1;
}
daj mi liniju gdje si definirao plname za ovo:
GetPlayerName(playerid, plname, sizeof(plname));
Ne znam koja je to linija, al mogu da ti dam sve vezano za to plname?
new plname[MAX_PLAYER_NAME];
GetPlayerName(playerid, plname, sizeof(plname));
new namestring = strfind(plname, "_", true);
GetPlayerName(playerid, plname, sizeof(plname));
format(string, sizeof(string), "users/%s.ini", plname);
new plname[MAX_PLAYER_NAME];
[/code]
Idi pod
public OnPlayerConnect
pronadji
new string[MAX_PLAYER_NAME];
zameni sa
new string[128];
Hvala uspelo je, moze lock