Witamy w Nieoficjalnym polskim support'cie AMX Mod X
Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
|
widoczność gracza w zależności od jego pingu
#1
Napisano 05.05.2012 00:16
Na wstępie powiem nie wiedziałem jak to ująć w słowa, oraz że nie potrafię tego na tym forum znaleźć, a wiem że gdzieś to tutaj było.
Szukam pluginu na serwer 4FUN, który ustawia widoczność gracza w zależności od jego pingu.
Za pomoc będzie +
#2
Napisano 06.05.2012 12:32
#3
Napisano 06.05.2012 13:23
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#include <engine>
#define PLUGIN "Widocznosc na ping"
#define VERSION "1.0"
#define AUTHOR "MasterOfGames"
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
}
public Ping(id)
{
new p, l
new ping = get_user_ping(id, p, l); //Pobiera ping gracza do zmiennej ping//
if(ping < 255) //sprawdza czy ping jest ponizej 255//
{
set_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, ping); //jesli tak to ustawia widocznosc na ping//
}
else if(ping > 255) //sprawdza czy ping jest powyzej 255//
{
set_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 255); //jesli tak to ustawia widocznosc na 255 (bo to jest max)//
}
}
Załączone pliki
#4
Napisano 06.05.2012 13:40
#include <amxmodx>
#include <amxmisc>
#include <engine>
#define PLUGIN "Widocznosc na ping"
#define VERSION "1.0"
#define AUTHOR "MasterOfGames"
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
}
public Ping(id)
{
new p, l
new ping = get_user_ping(id, p, l);
if(ping < 150)
set_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, floatround(ping/2.0)+150);
else
set_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 255);
}
#5
Napisano 06.05.2012 13:45
#6
Napisano 06.05.2012 13:53
bo moge wam w ciemno powiedzieć ze to nie zadziala xDD
Chcesz wysłać do mnie PW ? użyj nazwy GoQ zamiast G[o]Q
Chcesz Kupić moduł płatności via Pukawka,Tserwery, Gamesol, Zabijaka do mojego sklepu? napisz PW cena to tylko 10 zł/sztuka
GG:6022845 (nie pomagam za free osobom ponizej rangi MoD)
#7
Napisano 06.05.2012 14:00
#8
Napisano 06.05.2012 14:01
Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo
#9
Napisano 06.05.2012 14:37
#include <amxmodx>
#include <amxmisc>
#include <engine>
#define PLUGIN "Widocznosc na ping"
#define VERSION "1.1"
#define AUTHOR "Nakupenda."
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
set_task(5.0, "Ping",
}
public Ping(id)
{
new p, l
get_user_ping(id, p, l);
if(p < 150)
set_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, floatround(p/2.0)+150);
else
set_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 255);
}
?
Użytkownik Nakupenda. edytował ten post 06.05.2012 14:37
#10
Napisano 06.05.2012 15:07
set_task(5.0, "Ping",
jak już to by było:
set_task(5.0, "Ping", _, _, _, "b")
Hmm... ja bym myślał raczej żeby to nie sprawdzało bez przerwy, bo gracz co sekundę będzie miał inną widoczność, więc może niech sprawdzi powiedzmy 5 razy i zostawia? To by wyglądało chyba tak:
#include <amxmodx>
#include <amxmisc>
#include <engine>
#define PLUGIN "Widocznosc na ping"
#define VERSION "1.1"
#define AUTHOR "Nakupenda."
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
set_task(1.0, "Ping", _, _, _, "a", 5)
}
public Ping(id)
{
new p, l
get_user_ping(id, p, l);
if(p < 150)
set_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, floatround(p/2.0)+150);
else
set_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 255);
}
#12
Napisano 06.05.2012 17:42
Co do postu wyżej, to raczej robienie tego kilkadziesiąt razy na sekundę nie jest zbyt dobrym pomysłem, w zupełności wystarczyło by 10 razy na sekundę, wtedy też to będzie w miarę dobrze wyglądać.
#include <amxmodx>
#include <engine>
#define PLUGIN "Ping Render"
#define VERSION "0.1"
#define AUTHOR "Sebul"
#define DELAY_TIME 0.1
#define MIN_RENDER 100
new g_MaxPlayers;
new Float:g_TimeThink;
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR);
g_MaxPlayers = get_maxplayers();
}
public client_PostThink(id) {
static i, last_think, iPing, iLoss, Float:current_time;
if(last_think > id) {
current_time = get_gametime();
if(g_TimeThink < current_time) {
g_TimeThink = current_time+DELAY_TIME;
for(i=1; i<=g_MaxPlayers; ++i) {
if(is_user_alive(i)) {
get_user_ping(i, iPing, iLoss);
iPing = iPing/2 + MIN_RENDER;
set_rendering(i, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, (iPing > 255) ? 255 : iPing);
}
}
}
}
last_think = id;
}
Część kodu wyciągnięta z innego pluginu.
Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo
#13
Napisano 07.05.2012 14:24
Chcesz wysłać do mnie PW ? użyj nazwy GoQ zamiast G[o]Q
Chcesz Kupić moduł płatności via Pukawka,Tserwery, Gamesol, Zabijaka do mojego sklepu? napisz PW cena to tylko 10 zł/sztuka
GG:6022845 (nie pomagam za free osobom ponizej rangi MoD)
#14
Napisano 07.05.2012 14:38
Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo
#15
Napisano 07.05.2012 14:56
to chyba hardbot zrobil i nawet zmusil tym sebe do skomentowania xDD
task bedzie lepszy bo postthink wykonuje sie to 60+ razy na sekunde i sprawdza czas a to juz jest troche wieksze obciązenie niz task mimo ze pewnie obie funkcje są zrobione w podobny sposób na poziomie natywnym
Chcesz wysłać do mnie PW ? użyj nazwy GoQ zamiast G[o]Q
Chcesz Kupić moduł płatności via Pukawka,Tserwery, Gamesol, Zabijaka do mojego sklepu? napisz PW cena to tylko 10 zł/sztuka
GG:6022845 (nie pomagam za free osobom ponizej rangi MoD)
Użytkownicy przeglądający ten temat: 0
0 użytkowników, 0 gości, 0 anonimowych