Skripta koju koristim: Optizone Gaming (od nule)
Opis problema: Pa ovako, pod OnPlayerConnect sam uradio ovakvu proveru...:
[pawn]// Provera za ime
new name[24];
GetPlayerName(playerid, name, sizeof(name));
new ime = strfind(name, "_", true);
if(ime == -1)
{
//SendClientMessage(playerid, -1, "Vase ime nije u validnom formatu !");
//SendClientMessage(playerid, -1, "Primer dobrog imena: Test_Test");
Kick(playerid);
}[/pawn]
Kada sam stavio ovu proveru, onda je samo imenima koji nisu u dobrom formatu, izbacivalo ovaj kod da ime nije u dobrom formatu itd, a onim imenima koja su u dobrom formatu nije htelo da cita dalje, znaci samo je stojalo tu tj na OnPlayerConnectu na defaultnoj kameri pri konektu...
Znaci nece da mi cita dalje kod ako je ime u validnom formatu, a ako je nevalidnom formatu onda radi ova provera...
Problem je u tome sto ja i kada obrisem ovu proveru iz koda, i tada nece da mi cita ostatak koda ako je ime u validnom formatu...
new name[24];
GetPlayerName(playerid, name, 24);
if(strfind(name, "_", true) != -1) {
//sve ok
} else {
//kick, ime treba sadrzavati _
}
samo dodaj
else
showplayerdialog
@Ino42O Opet isto, samo mi stoji kamera na konektu,
(http://i.imgur.com/12XRw7u.jpg)
A ovako sam stavio:
[pawn]new name[24];
GetPlayerName(playerid, name, sizeof(name));
if(strfind(name, "_", true) != -1)
{
PostaviRandomCamere[playerid] = SetTimerEx("RandomCamere", 2000, false, "i", playerid);
TogglePlayerSpectating(playerid, 1);
ObrisiObjekte(playerid);
SetPlayerColor(playerid, -1);
KreirajPlayerTD(playerid);
//==============================================================================
IzabranaLozinka[playerid] = 0; IzabraneGodine[playerid] = 0; IzabranPol[playerid] = 0; IzabranaDrzava[playerid] = 0; IzabranSpawn[playerid] = 0;
IgracevoRentVozilo[playerid] = -1; VehVozilo[playerid] = -1; KreiraPosao[playerid] = 0; UzeoOpremu[playerid] = -1;
}
else
{
TogglePlayerSpectating(playerid, 1);
SCM(playerid, -1, "# Vase ime nije u validnom formatu.");
SCM(playerid, -1, "# Primer dobrog imena: Pera_Peric.");
}[/pawn]
Problem nije u strfind taj je kod OK, pokusaj ovo uraditi
new name[24];
GetPlayerName(playerid, name, sizeof(name));
if(strfind(name, "_", true) != -1)
{
SendClientMessage(playerid, -1, "Ime je ured");
}
else
{
SCM(playerid, -1, "# Primer dobrog imena: Pera_Peric.");
}
samo za provjeru
Hmmm to radi, znaci nije problem tu, problem je u tajmeru, i to bas ovde:
Slika onplayerConnect-a:
(http://i.imgur.com/I68uuV0.png)
Slika Timera "RandomCamere":
(http://i.imgur.com/NBaOfbl.png)
Prestaje da cita kod tu...
Evo u konzoli debug:
(http://i.imgur.com/mpKJONI.png)
Znaci ne ucitava mi ovo: print("Ucitana pesma i SCM");
Zato jer ti je predugacak string u SCMF
do like this
new str[256];
format(str, 256, "tekst", arg, arg.. etc..);
SendClientMessage(playerid, -1, str);