[TuT] /report u dijalogu i tajmerom

Započeo Obrisan korisnik
2. Okt. 2012. Zaključano
2,535
pregleda
15
postova
Deleted User
Obrisan korisnik
2. Okt. 2012.

Pozdrav.

Odlučio sam napraviti ovaj mali tut jer me nekoliko ljudi pitalo kako to odraditi. Vrlo je jednostavno a dobro. Da ne duljim počinjemo.

Za početak će vam trebati ukoliko već nemate include ZCMD i foreach.

Prvo negdje pri vrhu skripte definirajte ID dijaloga i varijabilu koji će nam biti potrebni.
new reportovo;
#define DIALOG_REPORT 19245
Ukoliko nemate žutu boju u modu a ovo ubacujete, definirajte i nju kako ne bi bilo errora koji bi vas zbunili.
#define Zuta 0xFFFF00C8


Na publicu OnPlayerConnect stavljamo igračevu varijabilu na 0. Zašto? Čisto iz sigurnosti da ne bi bilo bugova. Dakle to treba biti ovako.
public OnPlayerConnect(playerid)
{
reportovo = 0;
return 1;
}


Idemo sa komandom.
CMD:report(playerid, params[])
{
if(reportovo == 1) return SendClientMessage(playerid, -1, "Sacekajte malo, tek ste poslali report.");
ShowPlayerDialog(playerid, DIALOG_REPORT, DIALOG_STYLE_INPUT, "REPORT|", "Unesite vase pitanje te sacekajte za odgovor admina.","Unesi","Odustani");
return 1;
}
Komanda je jednostavna, kao što vidite postoji provjera ako igrač ima varijabilu "reportovo" na 1 neće moći da piše, a to je zbog tajmera. I takođe prikazivanje običnog dijaloga.

Idemo da napravimo dešavanja u dijalogu. Potražite u svom modu public OnDialogResponse. Kada ga nađete napravite šta treba a to izgleda ovako, bar bi trebalo.
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
new string;
new sendername;
GetPlayerName(playerid, sendername, sizeof(sendername));
if(dialogid == DIALOG_REPORT)
{
reportovo = 1;
format(string, sizeof(string), "REPORT | %s treba pomoc> %s", sendername, inputtext);
SendAdminMessage(Zuta, string);
SendClientMessage(playerid, Zuta, "Poslali ste report.");
SetTimerEx("UnReport", 30000, 1,"i",playerid);
}
return 1;
}

if(dialogid == DIALOG_REPORT)
{
Uzimamo ID dijaloga sa kojim radimo.
reportovo = 1; 
Stavljamo igračevu varijabilu na 1 što znači da je napisao report.
format(string, sizeof(string), "REPORT | %s treba pomoc> %s", sendername, inputtext);
SendAdminMessage(Zuta, string);
Formatiramo igračevu poruku te uzimamo njegovo ime i šta je napisao, te adminima šaljemo poruku.
SendClientMessage(playerid, Zuta, "Poslali ste report.");
Šaljemo igraču poruku da je poslao report.
SetTimerEx("UnReport", 30000, 1,"i",playerid);
}
Pokrećemo stock UnReport koji će se završiti za 30 sekundi, te završavamo radnju sa dijalogom. SetTimerEx se koristi za pojedinog igrača.

Mnogi će se zapitati šta je UnReport. To je jedan mali stock koji igračevu varijabilu za report postavlja na 0 te on može opet pisati.
stock UnReport(playerid)
{
reportovo = 0;
SendClientMessage(playerid, Zuta, "Sada mozete opet pisati report.");
}


Na kraju ubacujete stock za slanje poruke adminima, taj stock već svi dobro poznaju iz GF modova tako da ga nema potrebe objašnjavati.
stock SendAdminMessage(color, string[])
{
foreach (Player, i)
{
if(PlayerInfo >= 1)
{
SendClientMessage(i, color, string);
}
}
}
NickFalcone
4
Made Man
2. Okt. 2012.
Good,Job 😄 svaka cast... 😄
Deleted User
Obrisan korisnik
2. Okt. 2012.
Hvala, lako je ovo.. 🙂
pllopen
4
Enforcer
2. Okt. 2012.
Dobar je tut. Samo mi se nesvida tvoj nacin pisanja. Koristi TAB jer lijepse ce izgledat i lakse je se za snaci.
eQ| Cubee
5
Kingpin
2. Okt. 2012.
Svaka čast brate 😄
kocho
5
Underboss
2. Okt. 2012.
10/10 krajnje profesionalno ahahahaha 😄 😄
mile12345
5
Underboss
2. Okt. 2012.
dobar 😄
Deleted User
Obrisan korisnik
2. Okt. 2012.
Hvala vam 🙂 ..

pllopen wrote on October 2, 2012, 10:04 am:
Dobar je tut. Samo mi se nesvida tvoj nacin pisanja. Koristi TAB jer lijepse ce izgledat i lakse je se za snaci.
Meni je ljepÅ¡te ovako.. 🙂
The Woozie
5
Kingpin
3. Okt. 2012.
odlicno  😉
aleluja
5
Godfather
3. Okt. 2012.
Nešto prejednostavno, al dobro.
lijep tut
Samo,

pllopen wrote on October 2, 2012, 10:04 am:
Dobar je tut. Samo mi se nesvida tvoj nacin pisanja. Koristi TAB jer lijepse ce izgledat i lakse je se za snaci.

😉
[Pawno | MTA] Muhamed
4
Enforcer
3. Okt. 2012.
Ma nemaÅ¡ ti pojma  😠

Zajebajem se , odličan tut.
Dr.Nino
5
Underboss
3. Okt. 2012.
ljep tutorial
nista posebno ali dobro objasnjeno
Deleted User
Obrisan korisnik
3. Okt. 2012.
Naravno da je lagano, uradio sam za 2/3 minuta, ali malo viÅ¡e je trebalo da sve objasnim. Hvala 🙂
Deleted User
Obrisan korisnik
8. Okt. 2012.
Hvala.
EuroGaming
5
Underboss
24. Nov. 2012.
Dobar tut !

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava

© 2026 SmartShark. All rights reserved.

Powered by Momentum|v2026.3.001 Alpha