Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: [NG | RP] Almir poslato Januar 07, 2013, 22:21:04 POSLE PODNE

Naslov: [Pomoć] Area Sistem
Poruka od: [NG | RP] Almir poslato Januar 07, 2013, 22:21:04 POSLE PODNE
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
Naslov: Odg: [Pomoć] Area Sistem
Poruka od: Fichoâ„¢ poslato Januar 08, 2013, 00:09:47 PRE PODNE
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...
Naslov: Odg: [Pomoć] Area Sistem
Poruka od: [NG | RP] Almir poslato Januar 08, 2013, 09:50:46 PRE PODNE
Jojjjjjjjjj hvala ti punoooooooooooooooooooooo :D
Naslov: Odg: [Pomoć] Area Sistem
Poruka od: [NG | RP] Almir poslato Januar 08, 2013, 10:02:41 PRE PODNE
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


}

Naslov: Odg: [Pomoć] Area Sistem
Poruka od: [NG | RP] Almir poslato Januar 08, 2013, 10:06:19 PRE PODNE
Jbg, jel mozes ti prebacit, molim te :D
Naslov: Odg: [Pomoć] Area Sistem
Poruka od: [NG | RP] Almir poslato Januar 08, 2013, 10:16:33 PRE PODNE
Jbg... Aj ako neko zna bilo bi dobro :)
Naslov: Odg: [Pomoć] Area Sistem
Poruka od: [NG | RP] Almir poslato Januar 08, 2013, 10:54:52 PRE PODNE
Meni treba cmd u strmpc :)
Naslov: Odg: [Pomoć] Area Sistem
Poruka od: [NG | RP] Almir poslato Januar 08, 2013, 11:06:26 PRE PODNE


2 errora

CMD:zatvori(playerid, params[])
{
Naslov: Odg: [Pomoć] Area Sistem
Poruka od: Fichoâ„¢ poslato Januar 08, 2013, 14:44:22 POSLE PODNE
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;
}
Naslov: Odg: [Pomoć] Area Sistem
Poruka od: [NG | RP] Almir poslato Januar 08, 2013, 16:35:33 POSLE PODNE
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
Naslov: Odg: [Pomoć] Area Sistem
Poruka od: Fichoâ„¢ poslato Januar 08, 2013, 17:24:59 POSLE PODNE

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;
}
Naslov: Odg: [Pomoć] Area Sistem
Poruka od: [NG | RP] Almir poslato Januar 08, 2013, 17:27:05 POSLE PODNE
i jesam isao /zatvorii samo nisam tu napisao.
Aj sad cu tu probat
Naslov: Odg: [Pomoć] Area Sistem
Poruka od: [NG | RP] Almir poslato Januar 08, 2013, 17:34:06 POSLE PODNE
nece o5
Naslov: Odg: [Pomoć] Area Sistem
Poruka od: Fichoâ„¢ poslato Januar 08, 2013, 17:44:32 POSLE PODNE
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;
}
Naslov: Odg: [Pomoć] Area Sistem
Poruka od: [NG | RP] Almir poslato Januar 08, 2013, 17:45:14 POSLE PODNE
Eo kako mi bude u cmd

Zatvorili ste igraca 49 zbog 3, eto samo to pise nista nije jasno jbt stahor
Naslov: Odg: [Pomoć] Area Sistem
Poruka od: Fichoâ„¢ poslato Januar 08, 2013, 17:53:18 POSLE PODNE
Citat: BC Aldin Delic poslato Januar 08, 2013, 17:45:14 POSLE PODNE
Eo kako mi bude u cmd

Zatvorili ste igraca 49 zbog 3, eto samo to pise nista nije jasno jbt stahor
Probaj novi include za sscanf i plugin skinut novi...
Naslov: Odg: [Pomoć] Area Sistem
Poruka od: [NG | RP] Almir poslato Januar 08, 2013, 17:53:46 POSLE PODNE
Ne znam bas i nac to, a iako nadjem nezz hocul znat ubacit o.O :D
Naslov: Odg: [Pomoć] Area Sistem
Poruka od: xXxPored poslato Januar 08, 2013, 18:33:28 POSLE PODNE
Ako ces u STRCMP samo umjesto

params

stavi ovo i radi bez problema :)

cmdtext
Naslov: Odg: [Pomoć] Area Sistem
Poruka od: [NG | RP] Almir poslato Januar 08, 2013, 19:02:03 POSLE PODNE
Ma teze mi je to nego........ Jel moze neko napravit cmd strmpc al' da radi one nesto stekaju :)
Naslov: Odg: [Pomoć] Area Sistem
Poruka od: Rossâ„¢ =] poslato Januar 08, 2013, 19:32:22 POSLE PODNE
Ma nevalja cmd eo vidite sta meni izbacuje.

C:\Users\PC\Desktop\DD-Derby by Alen\gamemodes\dl-rp.pwn(955) : error 010: invalid function or declaration
C:\Users\PC\Desktop\DD-Derby by Alen\gamemodes\dl-rp.pwn(961) : error 054: unmatched closing brace ("}")
C:\Users\PC\Desktop\DD-Derby by Alen\gamemodes\dl-rp.pwn(974) : error 017: undefined symbol "X"
C:\Users\PC\Desktop\DD-Derby by Alen\gamemodes\dl-rp.pwn(1003) : error 030: compound statement not closed at the end of file (started at line 980)
Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase


4 Errors.
Naslov: Odg: [Pomoć] Area Sistem
Poruka od: [NG | RP] Almir poslato Januar 08, 2013, 22:30:48 POSLE PODNE
Stavi umjesto X,Y,Z stavi koordinate gdje ce te zatvorit
Naslov: Odg: [Pomoć] Area Sistem
Poruka od: [NG | RP] Almir poslato Januar 09, 2013, 10:56:20 PRE PODNE
Uradio sam nekako komandu al' nece me sad oslobodit tj. stavim na 1 min i cekam 1 min nista, onda idem /zatvori 0 0 , i opet nece tj nece me oslobodit kad istekne vrijeme

if(strcmp(cmd, "/zatvori", true) == 0)
{
    if(IsPlayerConnected(playerid))
    {
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "{33FF81}BC {ffffff}| {33F1FF}Pomoc:{ffffff} /mute [ID Igraca/Dio Imena] [vrijeme] [razlog]");
return 1;
}
new playa;
new time;
playa = ReturnUser(tmp);
tmp = strtok(cmdtext, idx);
time = strval(tmp);
if (PlayerInfo[playerid][pAdmin] >= 1 || PlayerInfo[playerid][pGameSage] >= 1)
{
    if(IsPlayerConnected(playa))
    {
        if(playa != INVALID_PLAYER_ID)
        {
        GetPlayerName(playa, giveplayer, sizeof(giveplayer));
GetPlayerName(playerid, sendername, sizeof(sendername));
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[128];
new Vrijeme;
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, COLOR_GRAD2, "{33FF81}BC {ffffff}| {33F1FF}Pomoc:{ffffff} /mute [ID Igraca/Dio Imena] [vrijeme] [razlog]");
return 1;
}
format(string, sizeof(string), "{ffffff}[BC]:"svpl" Admin %s vas je zatvorio u areu na %d minuta. Razlog: %s",sendername,time,(result));
SendClientMessage(playa, SVETLOPLAVA, string);
format(string, sizeof(string), "{e5ed91}Zatvorio si "svpl"%s-a{e5ed91} u areu na"svpl" %d{e5ed91} min. Razlog: %s", giveplayer, time, (result));
SendClientMessage(playerid, WHITE, string);
format(string, sizeof(string), "{aa00f7}Adm | Area: Igrac %s | Admin: %s | Vrijeme: %d | Razlog: %s",giveplayer ,sendername,time,(result));
ABroadCast(WHITE,string,1);
                            Zatvoren[playerid] = 1;
                            new VrijemeZatvora = Vrijeme*1000;
                            ZatvorenVrijeme[playerid] = VrijemeZatvora;
                            SetPlayerPos(playerid,1031.9622803,-1472.8709717,12.5529537);
}
}
}
else
{
SendClientMessage(playerid, WHITE, "{ffffff}[BC]: {ffff00}Niste ovlasteni za upotrebu te komande!");
}
}
return 1;
}
Naslov: Odg: [Pomoć] Area Sistem
Poruka od: [NG | RP] Almir poslato Januar 09, 2013, 11:22:42 PRE PODNE
Jel mozes ti prebaciti? :)
Naslov: Odg: [Pomoć] Area Sistem
Poruka od: [NG | RP] Almir poslato Januar 09, 2013, 11:42:07 PRE PODNE
Ok. hvala :)
Naslov: Odg: [Pomoć] Area Sistem
Poruka od: [NG | RP] Almir poslato Januar 09, 2013, 22:11:37 POSLE PODNE
? :)