GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => A témát indította: SSK - 2013. január 04. - 19:03:28

Cím: Ping határ.
Írta: SSK - 2013. január 04. - 19:03:28
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
Cím: Ping határ.
Írta: KDDomi - 2013. január 05. - 14:00:24
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!
Cím: Ping határ.
Írta: DrAkE - 2013. január 05. - 14:49:10
<-\" 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.
Cím: Ping határ.
Írta: CANNONN - 2013. január 05. - 14:51:58
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;
    }
Cím: Ping határ.
Írta: Amf - 2013. február 01. - 16:53:11
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.
Cím: Ping határ.
Írta: ZyZu. - 2013. február 01. - 18:07:11
Grat hozzá.  ;) Szép Lett.
Cím: Ping határ.
Írta: Hun_Norberto - 2013. február 03. - 00:45:43
Idézetet írta: AmF date=1359733991\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"31944\" data-ipsquote-contentclass=\"forums_Topic
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