[Pomoć] Area Sistem


Započeo [NG | RP] Almir, Januar 07, 2013, 22:21:04 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Skripta: CLRP
Problem: Ovako. Jail sistem na CLRPU nije dobar, tj izbacio sam ga skroz ne valja, jel mi moze neko dat jail sistem tj. samo ono /zatvori [vrijeme] /oslobodi i ono pod onplayer spawn i onplayerconnect sta ide....
Slike
Dio skipte

Dodaj u Enum od Player Info ako ga koristis ili nesto tako ja cu ovako dodat
na vrh skripte ako neces sa enumom
new Zatvoren[MAX_PLAYERS];
new ZatvorenVrijeme[MAX_PLAYERS];


Eh sada bi ti trebao pod OnPlayerDisconnect spremati tu varijablu ovisi sve kakav system spremanja koristiš...Isto tako loadati varijablu kad se igrać spoji...

OnPlayerSpawn (Ovo dodaj poslje spawna igraca znaci nakon sto ga stvori na kolodvoru, u kuci ili gdje vec)
if(Zatvoren[playerid] == 1)
{
SendClientMessage(playerid,-1,"{FF0000}*Niste odradili kaznu, vratili smo vas u areju!");
SetTimerEx("ZatvorTimer", 1000,false,"i",playerid);
SetPlayerPos(playerid,X,Y,Z); // Dodaj kordinate od areje

}

Public
forward ZatvorTimer(playerid);
public ZatvorTimer(playerid)
{
if(Zatvoren[playerid] == 1)
{
ZatvorenVrijeme[playerid]  -= 1000;
SetTimerEx("ZatvorTimer", 1000,false,"i",playerid);
}
if(ZatvorenVrijeme[playerid] == 0)
{
Zatvoren[playerid] = 0;
SendClientMessage(playerid,-1,"Oslobodjeni ste iz areje");
SetPlayerPos(playerid,X,Y,Z); // stavi kordinate gdje ga treba stavit kad izadje iz areje
}
return 1;
}

Komanda za zatvoriti (sscanf+zcmd)
CMD:zatvori(playerid,params[])
{
new Razlog[250];
new IDKojegZatvaras;
new Vrijeme;
if(sscanf(params, "uds",IDKojegZatvaras,Vrijeme,Razlog)) return SendClientMessage(playerid, -1, "Koristi: /zatvori [ID] [Vrijeme] [Razlog]");
else
{
new Poruka[350];
new ImeAdmina[24];
GetPlayerName(playerid,ImeAdmina,sizeof(ImeAdmina));
new ImeIgraca[24];
GetPlayerName(IDKojegZatvaras,ImeIgraca,sizeof(ImeIgraca));
format(Poruka,sizeof(Poruka),"Zatvoreni ste u areu od admina %s na %d minuta razlog:%s",ImeAdmina,Vrijeme,Razlog);
SendClientMessage(IDKojegZatvaras,-1,Poruka);
format(Poruka,sizeof(Poruka),"Zatvorili ste %s u aeru na %d zbog %s",ImeIgraca,Vrijeme,Razlog);
SendClientMessage(playerid,-1,Poruka);
Zatvoren[playerid] = 1;
new VrijemeZatvora = Vrijeme*1000;
ZatvorenVrijeme[playerid] = VrijemeZatvora;
SetPlayerPos(playerid,0,0,0); // Kordinate areje opet vamo


}

return 1;
}


Ako ga zelis izvadit samo ga zatvori na 0 min i to je to ;)
Nadam se da radi...
Poslednja Izmena: Januar 08, 2013, 00:18:01 PRE PODNE od Fico62

Jojjjjjjjjj hvala ti punoooooooooooooooooooooo :D

Javlja mi error "params"

if(!strcmp(cmdtext, "/zatvorii", true))
{
new Razlog[250];
new IDKojegZatvaras;
new Vrijeme;
if(sscanf(params, "uds",IDKojegZatvaras,Vrijeme,Razlog)) return SendClientMessage(playerid, -1, "Koristi: /zatvori [ID] [Vrijeme] [Razlog]");
else
{
new Poruka[350];
new ImeAdmina[24];
GetPlayerName(playerid,ImeAdmina,sizeof(ImeAdmina));
new ImeIgraca[24];
GetPlayerName(IDKojegZatvaras,ImeIgraca,sizeof(ImeIgraca));
format(Poruka,sizeof(Poruka),"Zatvoreni ste u areu od admina %s na %d minuta razlog:%s",ImeAdmina,Vrijeme,Razlog);
SendClientMessage(IDKojegZatvaras,-1,Poruka);
format(Poruka,sizeof(Poruka),"Zatvorili ste %s u aeru na %d zbog %s",ImeIgraca,Vrijeme,Razlog);
SendClientMessage(playerid,-1,Poruka);
Zatvoren[playerid] = 1;
new VrijemeZatvora = Vrijeme*1000;
ZatvorenVrijeme[playerid] = VrijemeZatvora;
SetPlayerPos(playerid,1031.9622803,-1472.8709717,12.5529537); // Kordinate areje opet vamo


}

Poslednja Izmena: Januar 08, 2013, 10:03:00 PRE PODNE od BC Aldin Delic

Jbg, jel mozes ti prebacit, molim te :D

Jbg... Aj ako neko zna bilo bi dobro :)




2 errora

CMD:zatvori(playerid, params[])
{

stavi ovako

if(!strcmp(cmdtext, "/zatvorii", true))
{
new Razlog[250];
new IDKojegZatvaras;
new Vrijeme;
if(sscanf(cmdtext, "uds",IDKojegZatvaras,Vrijeme,Razlog)) return SendClientMessage(playerid, -1, "Koristi: /zatvori [ID] [Vrijeme] [Razlog]");
else
{
new Poruka[350];
new ImeAdmina[24];
GetPlayerName(playerid,ImeAdmina,sizeof(ImeAdmina));
new ImeIgraca[24];
GetPlayerName(IDKojegZatvaras,ImeIgraca,sizeof(ImeIgraca));
format(Poruka,sizeof(Poruka),"Zatvoreni ste u areu od admina %s na %d minuta razlog:%s",ImeAdmina,Vrijeme,Razlog);
SendClientMessage(IDKojegZatvaras,-1,Poruka);
format(Poruka,sizeof(Poruka),"Zatvorili ste %s u aeru na %d zbog %s",ImeIgraca,Vrijeme,Razlog);
SendClientMessage(playerid,-1,Poruka);
Zatvoren[playerid] = 1;
new VrijemeZatvora = Vrijeme*1000;
ZatvorenVrijeme[playerid] = VrijemeZatvora;
SetPlayerPos(playerid,1031.9622803,-1472.8709717,12.5529537); // Kordinate areje opet vamo


}
return 1;
}
Poslednja Izmena: Januar 08, 2013, 14:44:35 POSLE PODNE od Fico62

Nece, udjem u igricu kucam /zatvorii i dodje mi poruka "zatvori id igraca vrijeme razlog " i onda kad ukucam /zatvori 0 10 javlja da komanda ne posotji tj da komanda /zatvori nije poznata


to je komanda /zatvorii ne /zatvori xD
probaj /zatvorii 0 1 test
ako nece sa onim starim kodom probaj ovaj

:
if(!strcmp(cmdtext, "/zatvorii", true))
{
new Razlog[250];
new IDKojegZatvaras;
new Vrijeme;
if(sscanf(cmdtext, "udz",IDKojegZatvaras,Vrijeme,Razlog)) return SendClientMessage(playerid, -1, "Koristi: /zatvori [ID] [Vrijeme] [Razlog]");
else
{
new Poruka[350];
new ImeAdmina[24];
GetPlayerName(playerid,ImeAdmina,sizeof(ImeAdmina));
new ImeIgraca[24];
GetPlayerName(IDKojegZatvaras,ImeIgraca,sizeof(ImeIgraca));
format(Poruka,sizeof(Poruka),"Zatvoreni ste u areu od admina %s na %d minuta razlog:%s",ImeAdmina,Vrijeme,Razlog);
SendClientMessage(IDKojegZatvaras,-1,Poruka);
format(Poruka,sizeof(Poruka),"Zatvorili ste %s u aeru na %d zbog %s",ImeIgraca,Vrijeme,Razlog);
SendClientMessage(playerid,-1,Poruka);
Zatvoren[playerid] = 1;
new VrijemeZatvora = Vrijeme*1000;
ZatvorenVrijeme[playerid] = VrijemeZatvora;
SetPlayerPos(playerid,1031.9622803,-1472.8709717,12.5529537); // Kordinate areje opet vamo


}
return 1;
}
Poslednja Izmena: Januar 08, 2013, 17:26:17 POSLE PODNE od Fico62

i jesam isao /zatvorii samo nisam tu napisao.
Aj sad cu tu probat


Neznam onda meni sve radi u ZCMD-u kako treba ....
Znaci u ZCMD-u radi...
Usput neide vrijeme*1000 vec *6000, zabunio sam se :)
CMD:zatvori(playerid,params[])
{
new Razlog[250];
new IDKojegZatvaras;
new Vrijeme;
if(sscanf(params, "uds",IDKojegZatvaras,Vrijeme,Razlog)) return SendClientMessage(playerid, -1, "Koristi: /zatvori [ID] [Vrijeme] [Razlog]");
else
{
new Poruka[350];
new ImeAdmina[24];
GetPlayerName(playerid,ImeAdmina,sizeof(ImeAdmina));
new ImeIgraca[24];
GetPlayerName(IDKojegZatvaras,ImeIgraca,sizeof(ImeIgraca));
format(Poruka,sizeof(Poruka),"Zatvoreni ste u areu od admina %s na %d minuta razlog:%s",ImeAdmina,Vrijeme,Razlog);
SendClientMessage(IDKojegZatvaras,-1,Poruka);
format(Poruka,sizeof(Poruka),"Zatvorili ste %s u aeru na %d zbog %s",ImeIgraca,Vrijeme,Razlog);
SendClientMessage(playerid,-1,Poruka);
Zatvoren[playerid] = 1;
new VrijemeZatvora = Vrijeme*6000;
ZatvorenVrijeme[playerid] = VrijemeZatvora;
SetPlayerPos(playerid,0,0,0); // Kordinate areje opet vamo
SetTimerEx("ZatvorTimer", 1000,false,"i",playerid);
}

return 1;
}
Poslednja Izmena: Januar 08, 2013, 17:45:12 POSLE PODNE od Fico62

Eo kako mi bude u cmd

Zatvorili ste igraca 49 zbog 3, eto samo to pise nista nije jasno jbt stahor