Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: Stiki Iki poslato Jun 09, 2013, 15:51:36 POSLE PODNE

Naslov: [Pomoc] /upit ili /pomoc & /report
Poruka od: Stiki Iki poslato Jun 09, 2013, 15:51:36 POSLE PODNE
Skripta koju koristim: Ne bitno.
Detaljan opis problema: Ne znam da napravim ovo.
Npr. drug i ja smo na serveru.I sad ja posaljem,upit,pomoc,report,i onda on hoce da ukuca i da mu pise da je preostalo jos toliko sekundi,dakle da moze stici samo jedan upit,pomoc,report na serveru u minuti,a ne vise njih i ne od jednog igraca vec od svih igraca.Ako jedan posalje report itd,da ostali ne mogu za jos 1 min.Znaci trebam postaviti tajmer za sve igrace,ali kako,nadam se da ste me razumjeli..
Dio skripte: /
Neke slike:
Naslov: Odg: [Pomoc] /upit ili /pomoc & /report
Poruka od: Stiki Iki poslato Jun 09, 2013, 15:56:36 POSLE PODNE
Citat: Viktor_ poslato Jun 09, 2013, 15:54:30 POSLE PODNE
Report
CMD:report(playerid, params[])
{
    new text[80];
    /*if(PlayerInfo[playerid][Utisan] == 1)
    {
    new string[128];
    format(string, sizeof(string), "ClioX | Vi ste utisani! | Sekundi koliko ste jos utisani: %d", PlayerInfo[playerid][UtisanVreme], (PlayerInfo[playerid][UtisanVreme]/60));
    SendClientMessage(playerid, COLOR_YELLOW, string);
    return 1;
    }*/
    if(IgracLogovan[playerid] == 0)
{
SendClientMessage(playerid, COLOR_MUTERED, "(WorldAc) {CCCCCC}Nisi logiran!");
return 1;
}
if(sscanf(params, "s[80]", text)) return Koristi(playerid, "/report [text]");
for(new i; i < strlen(text); i++)
{
    if(!strcmp(text[i], "{")) text[i] = '[';
    if(!strcmp(text[i], "}")) text[i] = ']';
}
new string[129];
new Ime[MAX_PLAYER_NAME];
GetPlayerName(playerid, Ime, sizeof(Ime));
format(string,256," |R| %s[%d]: %s",Ime,playerid,text);
  SendAdminMessage(COLOR_ORANGE, string);
  format(string, sizeof(string), "*Vas report glasi: %s", text);
SendClientMessage(playerid,COLOR_WHITE, string);
SendClientMessage(playerid,COLOR_YELLOW,"*Vegas Gaming FreeRoam: Hvala na upitu,admini ce odgovoriti u najkracem roku!");
return 1;
}


pomoc

CMD:pomoc(playerid, params[])
{
    new text[80];
    /*if(PlayerInfo[playerid][Utisan] == 1)
    {
    new string[128];
    format(string, sizeof(string), "ClioX | Vi ste utisani! | Sekundi koliko ste jos utisani: %d", PlayerInfo[playerid][UtisanVreme], (PlayerInfo[playerid][UtisanVreme]/60));
    SendClientMessage(playerid, COLOR_YELLOW, string);
    return 1;
    }*/
    if(IgracLogovan[playerid] == 0)
{
SendClientMessage(playerid, COLOR_MUTERED, "(WorldAc) {CCCCCC}Nisi logiran!");
return 1;
}
if(sscanf(params, "s[80]", text)) return Koristi(playerid, "/pomoc [text]");
for(new i; i < strlen(text); i++)
{
    if(!strcmp(text[i], "{")) text[i] = '[';
    if(!strcmp(text[i], "}")) text[i] = ']';
}
new string[129];
new Ime[MAX_PLAYER_NAME];
GetPlayerName(playerid, Ime, sizeof(Ime));
format(string,256," |P| %s[%d]: %s",Ime,playerid,text);
  SendGSMessage(COLOR_ORANGE, string);
  format(string, sizeof(string), "*Vasa pomoc glasi: %s", text);
SendClientMessage(playerid,COLOR_WHITE, string);
SendClientMessage(playerid,COLOR_YELLOW,"*Vegas Gaming FreeRoam: Hvala na upitu,gamesageovi ce odgovoriti u najkracem roku!");
return 1;
}

Imam komande!
Ali treba mi ono samo kad posalje drug upit,i da niko ne moze poslati vise upit i to dok ne prodje jedan minut.Sad ste me valjda razumeli!
Naslov: Odg: [Pomoc] /upit ili /pomoc & /report
Poruka od: pax95 poslato Jun 09, 2013, 15:58:39 POSLE PODNE
//Nova promenljiva
new bool:PoslatReport = false;


//Uslov u komandi:
if(PoslatReport) return SendClientMessage(playerid,-1,"Ne mozete sada slati report");

//u komandu:
PoslatReport = true;
SetTimer("ReportTimer",60000,false);//Mislim da je to minut...

//Funkcija
forward ReportTimer();
public ReportTimer()
{
PoslatReport = false;
return 1;
}


EDIT:
@Viktor_
Ne treba samo vaditi komande iz modova i lepiti ih po forumu...
Naslov: Odg: [Pomoc] /upit ili /pomoc & /report
Poruka od: pax95 poslato Jun 09, 2013, 16:05:25 POSLE PODNE
Citat: Viktor_ poslato Jun 09, 2013, 16:02:00 POSLE PODNE
new Report[MAX_PLAYERS]; - definisi na vrh

pod ongamemodeinit:

Report[playerid] = 0;

if(gettime() < Report[playerid]) return SCM(playerid, GRAD2, "Ovu komandu možete koristiti svakih 60 sekundi!");
Report[playerid] = gettime() + 60;
pod komandu
To je opet uslov za sve igrace, njemu treba da samo jedan report od svih igraca u jednoj minuti moze dobiti, ali dobra je ideja za sistem to mi se svidja. A sto se tice onog iznad nisam ni rekao da si ukrao komande samo sam rekao nema koristi on od toga da uzima tudje komande sa tudjim promenljivima...
Naslov: Odg: [Pomoc] /upit ili /pomoc & /report
Poruka od: Stiki Iki poslato Jun 09, 2013, 16:10:54 POSLE PODNE
Kako za /upit sada?
Naslov: Odg: [Pomoc] /upit ili /pomoc & /report
Poruka od: [UG]Cile poslato Jun 10, 2013, 13:16:57 POSLE PODNE
Nemoj pametovat covjeku nego mu pokazi da sljedeci put zna

//Nova promenljiva
new bool:PoslatUpit = false;


//Uslov u komandi:
if(PoslatUpit) return SendClientMessage(playerid,-1,"Ne mozete sada slati upit");

//u komandu:
PoslatUpit = true;
SetTimer("UpitTimer",60000,false);//Mislim da je to minut...

//Funkcija
forward UpitTimer();
public UpitTimer()
{
PoslatUpit = false;
return 1;
}


ovako druze, uzeo sam od gagija isto je znaci samo upit
Naslov: Odg: [Pomoc] /upit ili /pomoc & /report
Poruka od: Stiki Iki poslato Jun 14, 2013, 11:34:46 PRE PODNE
Viktore,nemoj da mi pametujes,pocetnik sam,umjesto da lepo pojasnis da sledeci put znam ti tu zezaš nešto.
P.S LOCK ovo moderatori.