-
Sziasztok!
Készítettem nektek egy Ping határ FilterScriptet!Ami annyit csinál hogyha valakinek magasabb a pingje pl: 250-nél azt kickeli a rendszer!
Elkészítési idõ: 5 perc.
Most éppen akinek 250-nél nagyobb a pingje azt rúgja ki.De ha át szeretnéd állítani a szkript elején van hogy \"#define MAX_PING 250\" a 250-et írd át amennyire szeretnéd!
Kód:
#define FILTERSCRIPT
#include <a_samp>
#define piros 0xFF0000C8
#define MAX_PING 250
public OnPlayerUpdate(playerid)
{
new string[256];
new nev[MAX_PLAYER_NAME];
GetPlayerName(playerid, nev, sizeof(nev));
if(GetPlayerPing(playerid) >= MAX_PING)
{
format(string, sizeof(string), \"%s ki lett rúgva a rendszer által!Indok: Magas ping: %d MAX: 250\", nev, MAX_PING);
SendClientMessageToAll(piros, string);
Kick(playerid);
}
return 1;
}
Link:
PWN: http://www.mediafire.com/?0g1olcy06hyh5w2
AMX: http://www.mediafire.com/?taxf1nlw55t53z9
Remélem hasznotokra válik! :D
-
Csak nekem tünt fel hogy kiiratod hogy ki lett rúgva, és azt is kiiratod hogy mennyi volt a pingje és hogy mennyi a max ping? Csak hogy nem kérdezted le a pingjét.
#define FILTERSCRIPT
#include <a_samp>
#define piros 0xFF0000C8
#define MAX_PING 250
public OnPlayerUpdate(playerid)
{
new string[256];
new nev[MAX_PLAYER_NAME];
new ping;
GetPlayerName(playerid, nev, sizeof(nev));
GetPlayerPing(playerid, ping);
if(GetPlayerPing(playerid) >= MAX_PING)
{
format(string, sizeof(string), \"%s ki lett rúgva a rendszer által!Indok: Magas ping: %d MAX: 250\", nev, ping, MAX_PING);
SendClientMessageToAll(piros, string);
Kick(playerid);
}
return 1;
}
Nem teszteltem! Remélem mûködik!
-
<-\" post=\"381844\" timestamp=\"1357390824\"]
Csak nekem tünt fel hogy kiiratod hogy ki lett rúgva, és azt is kiiratod hogy mennyi volt a pingje és hogy mennyi a max ping? Csak hogy nem kérdezted le a pingjét.
#define FILTERSCRIPT
#include <a_samp>
#define piros 0xFF0000C8
#define MAX_PING 250
public OnPlayerUpdate(playerid)
{
new string[256];
new nev[MAX_PLAYER_NAME];
new ping;
GetPlayerName(playerid, nev, sizeof(nev));
GetPlayerPing(playerid, ping);
if(GetPlayerPing(playerid) >= MAX_PING)
{
format(string, sizeof(string), \"%s ki lett rúgva a rendszer által!Indok: Magas ping: %d MAX: 250\", nev, ping, MAX_PING);
SendClientMessageToAll(piros, string);
Kick(playerid);
}
return 1;
}
Nem teszteltem! Remélem mûködik!
[/quote]
Hát, alapból nem fog mûködni, mivel már átfordításnál argumentum hibát fog kiírni. Ezen felül nem találom jó ötletnek létrehozni a változót olyan helyen, ami meghívódik másodpercenként (átlagban) 14x.
-
Mint ahogy DrAkE is mondta, eléggé pazarolt.
#include <a_samp>
#define FILTERSCRIPT
#define piros 0xFF0000C8
#define MAX_PING 250
new ping;
public OnPlayerUpdate(playerid)
{
ping = GetPlayerPing(playerid);
if(ping >= MAX_PING)
{
new string[256], nev[MAX_PLAYER_NAME];
GetPlayerName(playerid, nev, sizeof(nev));
format(string, sizeof(string), \"%s ki lett rúgva a rendszer által! Indok: Magas ping. Ping: %d. Maximum ping: %d.\", nev, ping, MAX_PING);
SendClientMessageToAll(piros, string);
Kick(playerid);
}
return 1;
}
-
Szerintem ez így nem teljesen jó.
Így azt a pinget nézi ami abban a pillanatban van.
Mivel hogyha 20-30 az átlag pinged és felugrik egyszer a max ping fölé, kickel a szerver.
Úgy az igazi ( szerintem ), hogyha átlagot számolsz és a-szerint fut le a többi kód.
-
Grat hozzá. ;) Szép Lett.
-
Szerintem ez így nem teljesen jó.
Így azt a pinget nézi ami abban a pillanatban van.
Mivel hogyha 20-30 az átlag pinged és felugrik egyszer a max ping fölé, kickel a szerver.
Úgy az igazi ( szerintem ), hogyha átlagot számolsz és a-szerint fut le a többi kód.
#include <a_samp>
#define FILTERSCRIPT
#define piros 0xFF0000C8
#define MAX_PING 250 //Mennyi ping után dobja ki
#define MAX_CHECKS 10 //Mennyi mérést átlagoljon
new Ping[MAX_PLAYERS][MAX_CHECKS], Last[MAX_PLAYERS]=0;
public OnPlayerUpdate(playerid)
{
new last=Last[playerid];
Ping[playerid][last] = GetPlayerPing(playerid);
Last[playerid]++;
new ping;
for(new i; i<MAX_CHECKS; i++)
{
ping+=Ping[playerid]; //Összeadja a pingeket
}
ping/=MAX_CHECKS;
if(ping >= MAX_PING)
{
new string[256], nev[MAX_PLAYER_NAME];
GetPlayerName(playerid, nev, sizeof(nev));
format(string, sizeof(string), \"%s ki lett rúgva a rendszer által! Indok: Magas ping. Ping: %d. Maximum ping: %d.\", nev, ping, MAX_PING);
SendClientMessageToAll(piros, string);
Kick(playerid);
}
return 1;
}
Dupla hozzászólás automatikusan összefûzve. ( 2013. február 03. - 00:49:03 )
De nem teszteltem, lehet, hogy valami nem jó.
Dupla hozzászólás automatikusan összefûzve. ( 2013. február 03. - 01:04:14 )
Jé, most már alapból kékkel irja a \"Dupla hozzászólás...\" szöveget? :o