Mutiranje

Započeo Claus
7. Avg. 2018. Zaključano
530
pregleda
5
postova
TIMIC
4
Enforcer
7. Avg. 2018.
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): //
Gagule
4
Made Man
20. Avg. 2018.
Sto bi to radio. Ne kontam. Samo dodeli vrednost promenljivoj i zavrsena prica. Ovako ce ti biti playerid zauvek mutiran.
PlayerInfo[ playerid ][ xMute ] = 1;
Dzoni Zivkovic
5
Underboss
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.
Danisoni
5
Godfather
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:
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;
}
Rax_King
5
Godfather
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:
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

© 2026 SmartShark. All rights reserved.

Powered by Momentum|v2026.3.001 Alpha