Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: Ermin. poslato Novembar 02, 2013, 16:11:29 POSLE PODNE

Naslov: [POMOC] ne izvrsava funkcije po redu :S
Poruka od: Ermin. poslato Novembar 02, 2013, 16:11:29 POSLE PODNE
Skripta koju koristim: 0
Detaljan opis problema: pa ovako, kod /ban komande,
u skripti mi ide ovakim redosledom:

- Var BANOVAN[plaerid] = 1
- SCM igracu formatiran string, u kojem je datum,razlog i Ime admina!
- SCM Adminu formatiran string u kojem je IP,Ime,Datum i razlog bana Igraca
- SCM svima formatiran string u kojem pise Ime igraca koji je banovan i razlog
- Kick(igrac);   // tj da tek onda kicka igraca koji je banovan

Eh tu je problem, kad odem ig Kucam /Ban (sam sebe),
pise Server Closed Connection, otvori Fajl zapise "Banovan" na 1,
znaci Kicka me prije neg mi posalje String sa informacijama bana, iako u skripti prvo to ide, vjerovatno se da rijesit sa tajmerom al nigdje veze da za svaku gl. imam timer :S

*btw moguce da je do lagga, ali kako da rijesim XD?

Dio skripte: Ako treba /ban dat cu al mislim da znate svi sta je i kako je
Neke slike/video za lakse dobivanje pomoci(neobavezno):
Naslov: Odg: [POMOC] ne izvrsava funkcije po redu :S
Poruka od: Inklud poslato Novembar 02, 2013, 16:19:17 POSLE PODNE
Postavi komandu cijelu
Naslov: Odg: [POMOC] ne izvrsava funkcije po redu :S
Poruka od: Ermin. poslato Novembar 02, 2013, 16:27:57 POSLE PODNE

YCMD:ban(playerid, params[], help)
{
#pragma unused help
new igrac, string[128], banstring[128], razlog[128], imebanovanog[MAX_PLAYER_NAME];
GetPlayerName(igrac, imebanovanog, sizeof(imebanovanog));
if(!IsPlayerAdmin(playerid) && PlayerInfo[playerid][pAdmin] < 1)
    return SCM(playerid, CRVENA, "(ODBIJENO) Samo admini mogu koristiti ovu komandu!");
else if(sscanf(params, "us[128]", igrac, razlog))
    return SCM(playerid, SIVA, "Koristi: /ban [id] [razlog]");
else if(!IsPlayerConnected(igrac))
    return SCM(playerid, SIVA, "*Nepostojeci ID");
else if(PlayerInfo[igrac][pAdmin] > 1 && PlayerInfo[playerid][pAdmin] < 1338)
return SCM(playerid, CRVENA, "(Odbijeno) "siva"Nisi ovlasten da banujes admina!");
else if(PlayerInfo[igrac][pAdmin] >= 1337 && !IsPlayerAdmin(playerid))
    return SCM(playerid, CRVENA, "(Odbijeno) "siva"Nisi ovlasten da banujes HeadAdmina/1337 (rcon samo)!");
format(banstring, sizeof(banstring), "%s", razlog);
strmid(PlayerInfo[igrac][pRazlogBana], banstring, 0, strlen(banstring));
PlayerInfo[igrac][pBanovan] = 1;
SCM(igrac, TAMNOCRVENA, "________________________________________ %%:RP _______________________________________");
format(string, sizeof(string), "- %s(ID:%d) Dobili ste trajan BAN!", RPname(igrac), igrac);
SCM(igrac, BIJELA, string);
format(string, sizeof(string), "- Razlog: %s", razlog);
SCM(igrac, BIJELA, string);
        SCM(igrac, ZUTA, "______________________________________________________________________________________");

new ip[16];
GetPlayerIp(igrac, ip, sizeof(ip));
format(string, sizeof(string), "Informacije o banovanom igracu | Nick: %s, Level: %d, IP: %s", RPname(igrac), PlayerInfo[igrac][pLevel], ip);
SCM(playerid, NARANCASTA2, string);
format(string, sizeof(string), "Ukoliko zelits banovati ip adresu > /banip [ip]");
SCM(playerid, NARANCASTA2, string);
SCM(playerid, ZUTA, "IP Adresa nije banovana!");

    format(string, sizeof(string), "%s je dobio ban, Admin: %s, Razlog bana: %s", RPname(igrac), RPname(playerid), razlog);
SendClientMessageToAll(NARANCASTA, string);
Kick(igrac);
return 1;
}
Naslov: Odg: [POMOC] ne izvrsava funkcije po redu :S
Poruka od: xyzcod2 poslato Novembar 02, 2013, 16:47:57 POSLE PODNE
nemozes tako.

YCMD:ban(playerid, params[], help)
{
#pragma unused help
new igrac, string[128], banstring[128], razlog[128], imebanovanog[MAX_PLAYER_NAME];
GetPlayerName(igrac, imebanovanog, sizeof(imebanovanog));
if(!IsPlayerAdmin(playerid) && PlayerInfo[playerid][pAdmin] < 1)
    return SCM(playerid, CRVENA, "(ODBIJENO) Samo admini mogu koristiti ovu komandu!");
else if(sscanf(params, "us[128]", igrac, razlog))
    return SCM(playerid, SIVA, "Koristi: /ban [id] [razlog]");
else if(!IsPlayerConnected(igrac))
    return SCM(playerid, SIVA, "*Nepostojeci ID");
else if(PlayerInfo[igrac][pAdmin] > 1 && PlayerInfo[playerid][pAdmin] < 1338)
return SCM(playerid, CRVENA, "(Odbijeno) "siva"Nisi ovlasten da banujes admina!");
else if(PlayerInfo[igrac][pAdmin] >= 1337 && !IsPlayerAdmin(playerid))
    return SCM(playerid, CRVENA, "(Odbijeno) "siva"Nisi ovlasten da banujes HeadAdmina/1337 (rcon samo)!");
format(banstring, sizeof(banstring), "%s", razlog);
strmid(PlayerInfo[igrac][pRazlogBana], banstring, 0, strlen(banstring));
PlayerInfo[igrac][pBanovan] = 1;
SCM(igrac, TAMNOCRVENA, "________________________________________ %%:RP _______________________________________");
format(string, sizeof(string), "- %s(ID:%d) Dobili ste trajan BAN!", RPname(igrac), igrac);
SCM(igrac, BIJELA, string);
format(string, sizeof(string), "- Razlog: %s", razlog);
SCM(igrac, BIJELA, string);
        SCM(igrac, ZUTA, "______________________________________________________________________________________");

new ip[16];
GetPlayerIp(igrac, ip, sizeof(ip));
format(string, sizeof(string), "Informacije o banovanom igracu | Nick: %s, Level: %d, IP: %s", RPname(igrac), PlayerInfo[igrac][pLevel], ip);
SCM(playerid, NARANCASTA2, string);
format(string, sizeof(string), "Ukoliko zelits banovati ip adresu > /banip [ip]");
SCM(playerid, NARANCASTA2, string);
SCM(playerid, ZUTA, "IP Adresa nije banovana!");

    format(string, sizeof(string), "%s je dobio ban, Admin: %s, Razlog bana: %s", RPname(igrac), RPname(playerid), razlog);
SendClientMessageToAll(NARANCASTA, string);
SetTimerEx("KickIgraca",  100, false, "i",  igrac);
return 1;
}

forward KickIgraca(playerid);
public KickIgraca(igrac)
{
       Kick(playerid);
       return 1;
}
Naslov: Odg: [POMOC] ne izvrsava funkcije po redu :S
Poruka od: Ermin. poslato Novembar 02, 2013, 16:59:03 POSLE PODNE
Ma ajd lock, stavit cu Timer uteraj mu ga .D