Skripta koju koristim: Srbija Gaming
Detaljan opis problema: Napravio sam komandu za menjanje igracevog imena , i sve super radi , promeni igracu ime i sve to ali kada taj igrac ode relog i udje sa tim jednim imenom server ga kikuje i obrise mu acc. Kako da napravim da ga ne kikuje server zbog nonRP imena. Ima provera RP imena pod onplayerconnect
Dio skripte:
Komanda :
YCMD:promeniname(playerid, params[],help)
{
if(UlogovanProvera == 0) return SCM(playerid,-1,""SERVERPLAVA"(MGRP) "C_BELA"Moras biti prijavljen.");
if (PI >= 6)
{
new pplayerid;
new ime;
if(AdminDuty == 0) return Error(playerid, "Morate biti na Admin duznosti.");
if(sscanf(params, "us", pplayerid, ime)) return Koristi(playerid, "/promeniname [ID igraca/Deo imena] [Novo ime]");
if(!IsPlayerConnected(pplayerid)) return Error(playerid, "Taj igrac nije na serveru.");
// if(PI >= 6) return Error(playerid, "Ne mozete to koristiti na vlasnika.");
new status;
if(PI >= 1) format(status, sizeof(status), "Admin");
format(nellys, sizeof(nellys), ""C_CRVENA"!: "C_ZUTA"%s %s je promenio ime igraca "C_CRVENA"%s "C_ZUTA" u ime "C_CRVENA"''%s''", status, Ime_Igraca(playerid), Ime_Igraca(pplayerid), ime);
StaffPoruka(COLOR_YELLOW, nellys);
ServerS ++;
format(logstring, sizeof logstring, "| Igrac: %s | Admin: %s | Novo Ime: %s", Ime_Igraca(playerid),Ime_Igraca(pplayerid), ime);
UpisiLog(FILE_PREIMENOVANI, logstring);
SetPlayerName(pplayerid, ime);
//StatusKonekta(pplayerid, 2);
SacuvajServerStats();
}
else
{
Ovlascenje(playerid);
}
return 1;
}
Provera RP Imena :
stock ProveraRPImena(playerid)
{
new pname,underline=0;
GetPlayerName(playerid, pname, sizeof(pname));
/////////////////////////////////////////////////////////
if(strfind(pname,"Vaske",true) != (-1)) return 1;
else if(strfind(pname,"Vuk",true) != (-1)) return 1;
else if(strfind(pname,"Admin",true) != (-1)) return 1;
else if(strfind(pname,"Admin",true) != (-1)) return 1;
else if(strfind(pname,"Admin",true) != (-1)) return 1;
else if(strfind(pname,"Admin",true) != (-1)) return 1;
else if(strfind(pname,"Admin",true) != (-1)) return 1;
/////////////////////////////////////////////////////////
else if(strfind(pname,"[",true) != (-1)) return 0;
else if(strfind(pname,"]",true) != (-1)) return 0;
else if(strfind(pname,"$",true) != (-1)) return 0;
else if(strfind(pname,"(",true) != (-1)) return 0;
else if(strfind(pname,")",true) != (-1)) return 0;
else if(strfind(pname,"=",true) != (-1)) return 0;
else if(strfind(pname,"@",true) != (-1)) return 0;
else if(strfind(pname,"1",true) != (-1)) return 0;
else if(strfind(pname,"2",true) != (-1)) return 0;
else if(strfind(pname,"3",true) != (-1)) return 0;
else if(strfind(pname,"4",true) != (-1)) return 0;
else if(strfind(pname,"5",true) != (-1)) return 0;
else if(strfind(pname,"6",true) != (-1)) return 0;
else if(strfind(pname,"7",true) != (-1)) return 0;
else if(strfind(pname,"8",true) != (-1)) return 0;
else if(strfind(pname,"9",true) != (-1)) return 0;
else if(strfind(pname,".",true) != (-1)) return 0;
else if(strfind(pname,",",true) != (-1)) return 0;
else if(strfind(pname,"-",true) != (-1)) return 0;
new maxname = strlen(pname);
for(new i=0; i {
if(pname == '_') underline ++;
}
if(underline != 1) return 0;
pname = toupper(pname);
for(new x=1; x {
if(pname == '_') pname[x+1] = toupper(pname[x+1]);
else if(pname != '_' && pname[x-1] != '_') pname = tolower(pname);
}
return 1;
}
i onplayerconnect
if(!ProveraRPImena(playerid))
{
StatusKonekta(playerid, 2);
return 1;
}
Neke slike/video za lakse dobivanje pomoci(neobavezno): /