Problem(error/warning): Kako da napravim u skripti kao npr sto ima KickIgraca(id); da ima npr MuteIgraca(id); i de se to stavi da ga mutira npr kad ispama 4-5 puta.
Dio skripte: [ pawn ]//[ /pawn ]
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): [ code ]//[ /code ]
Slika/video ingame problema(obavezno ako je ingame problem): //
Mutiranje
530
pregleda
5
postova
20. Avg. 2018.
Najbolje ti je da uzmes Gettime() i lepo preko te funkcije npr
MutePlayer(playerid, min) {
pvarmute += gettime() + min * 60
}
i npr
onplayertext(playerid, text[])
{
kada ispamuje koristis gettickcount za tu proveru i
samostavis
MutePlayer(playerid, 5); bice mutiran 5 minuta.
20. Avg. 2018.
Živković je dao dobar primjer, ali jednostavno koristi sekunde koje ćeÅ¡ skidati kroz tajmer, jer sa gettime nećeÅ¡ niÅ¡ta pretjerano postići osim Å¡to ćeÅ¡ igraÄa mutirat na 5 sati i mute će mu maltene isteći i kad nije online. Ovako sa sekundama, skidaÅ¡ mu samo kada je online.
Funkcija:
U neki tajmer:
I provjera kad piše:
Funkcija:
MutePlayer(playerid, minuti = 1) {
pInfo = 60*minuti;
}U neki tajmer:
if(pInfo > 0) pInfo--;I provjera kad piše:
if(pInfo > 0) {
SendClientMessage(... ne mozes pisat mutiran si etc...
return 0;
}20. Avg. 2018.
Slade wrote on August 20, 2018, 9:38 pm:
Živković je dao dobar primjer, ali jednostavno koristi sekunde koje ćeÅ¡ skidati kroz tajmer, jer sa gettime nećeÅ¡ niÅ¡ta pretjerano postići osim Å¡to ćeÅ¡ igraÄa mutirat na 5 sati i mute će mu maltene isteći i kad nije online. Ovako sa sekundama, skidaÅ¡ mu samo kada je online.
Funkcija:
U neki tajmer:
I provjera kad piše:
Funkcija:
MutePlayer(playerid, minuti = 1) {
pInfo = 60*minuti;
}U neki tajmer:
if(pInfo > 0) pInfo--;I provjera kad piše:
if(pInfo > 0) {
SendClientMessage(... ne mozes pisat mutiran si etc...
return 0;
}Sve se moze srediti samo se ukljuci malo logike, pa da vam iznesem
new mute = -1; // -1 Ce oznacavati da nije mutiraj recimo
mutePlayer(playerid, time) { // time u minutama
mute = gettime() + time * 60;
return 1;
}
// OnPlayerDisconnect - pogledacemo koliko mu je jos sekundi ostalo da "odsluzi"
new ostalo_vremena = mute - gettime();
if (ostalo_vremena < 1) mute = -1; // Tip je slobodan
// Cuvamo u bazu ostalo_vremena
// OnPlayerConnect - getamo koliko mu je zadnji put ostalo da odsluzi i stavljamo mu novo vrijeme
mute // Getas u ovu varijablu koliko mu je vremena ostalo
mute += gettime(); // Povecavas tu varijablu za sadasni unix time
static isPlayerMuted(playerid) return (mute > gettime()) ? (1) : (0); // Cisto jedna olaksica za pisanje provjera xd
// OnPlayerText - provjeravamo da li je igrac mutiran
if (mute != -1 && isPlayerMuted(playerid)) // Ne moze pisati return 0; (mute != -1 je tu sa razlogom, kod mene se ispostavilo da ta funkcija jako sporo radi (weird))
else mute = -1; // Resetujemo mu varijablu mute na -1 Morate biti prijavljeni da biste odgovorili na ovu temu.
Prijava