Skocz do zawartości

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.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie

widoczność gracza w zależności od jego pingu


  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
14 odpowiedzi w tym temacie

#1 Grzegorz93

    Wszechpomocny

  • Użytkownik

Reputacja: 63
Pomocny

  • Postów:311
  • GG:
  • Imię:Grzegorz
  • Lokalizacja:Śląsk
Offline

Napisano 05.05.2012 00:16

Cześć.
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 + ;)
  • +
  • -
  • 0

#2 Grzegorz93

    Wszechpomocny

  • Autor tematu
  • Użytkownik

Reputacja: 63
Pomocny

  • Postów:311
  • GG:
  • Imię:Grzegorz
  • Lokalizacja:Śląsk
Offline

Napisano 06.05.2012 12:32

odświeżam
  • +
  • -
  • 0

#3 MasterOfGames

    Zaawansowany

  • Zbanowany

Reputacja: 33
Życzliwy

  • Postów:125
  • Lokalizacja:Wierzchucin
Offline

Napisano 06.05.2012 13:23

Zrobiłem taki plugin. Myślę że wszystko powinno działać, ale proszę żeby ktoś jednak to sprawdził.

/* 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 Nakupenda.

    Not yet YODA

  • Użytkownik

Reputacja: 137
Zaawansowany

  • Postów:451
  • Imię:Paweł
  • Lokalizacja:Warszawa
Offline

Napisano 06.05.2012 13:40

troche bardziej ogarniete liczby, zeby typ z pingiem 30 nie byl niewidzialny



#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);
}

  • +
  • -
  • 0

#5 MasterOfGames

    Zaawansowany

  • Zbanowany

Reputacja: 33
Życzliwy

  • Postów:125
  • Lokalizacja:Wierzchucin
Offline

Napisano 06.05.2012 13:45

Znaczy się ja zrobiłem dokładnie to co chciał autor, no ale rzeczywiście, masz rację, bo prawie każdy by był niewidzialny (prawie), tylko laggerzy byliby widoczni

#6 G[o]Q

    I'm G[o]Q

  • Przyjaciel

Reputacja: 1 344
Godlike

  • Postów:3 563
  • Steam:steam
  • Imię:Krzysiek
  • Lokalizacja:C: / program Files / Valve / Cstrike / G[o]Q.dem
Offline

Napisano 06.05.2012 13:53

a testowaliscie to ?

bo moge wam w ciemno powiedzieć ze to nie zadziala xDD
  • +
  • -
  • 0
Manual ponad wszystko, konsola ponad manual :D :&

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) :D

#7 KariiO

    Super Hero

  • Power User

Reputacja: 396
Wszechpomocny

  • Postów:1 133
  • GG:
  • Imię:Korneliusz
  • Lokalizacja:Cieszyn
Offline

Napisano 06.05.2012 14:00

nigdzie nie użyli funkcji Ping ale dobra :D
  • +
  • -
  • 0

#8 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

  • Postów:5 411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 06.05.2012 14:01

Nie ma nigdzie zarejestrowanej funkcji "Ping", no i funkcja get_user_ping trochę inaczej działa. Do tego ping gracza trzeba by sprawdzać powiedzmy co 1 sek. żeby to jakoś wyglądało.
  • +
  • -
  • 0

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo


#9 Nakupenda.

    Not yet YODA

  • Użytkownik

Reputacja: 137
Zaawansowany

  • Postów:451
  • Imię:Paweł
  • Lokalizacja:Warszawa
Offline

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", B)
}
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

  • +
  • -
  • 0

#10 MasterOfGames

    Zaawansowany

  • Zbanowany

Reputacja: 33
Życzliwy

  • Postów:125
  • Lokalizacja:Wierzchucin
Offline

Napisano 06.05.2012 15:07

Nakupenda masz błąd.
set_task(5.0, "Ping", B)

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);
}


#11 radim

    Godlike

  • Moderator

Reputacja: 939
Master

  • Postów:2 725
  • Steam:steam
  • Imię:Arkadiusz
  • Lokalizacja:Janów Lub.
Offline

Napisano 06.05.2012 16:32

Nie lepiej to zrobić w prethinku, gdzie funkcja wywoływana jest kilka/kilkadziesiąt razy na sekundę ?
  • +
  • -
  • 0

Chcąc napisać do mnie prywatną wiadomość, wpierw zapoznaj się ze stroną "O mnie" w moim profilu użytkownika [ radim ] !


#12 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

  • Postów:5 411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 06.05.2012 17:42

A ja się pytam, gdzie w tamtych kodach w tasku macie id gracza...
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.
  • +
  • -
  • 0

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo


#13 G[o]Q

    I'm G[o]Q

  • Przyjaciel

Reputacja: 1 344
Godlike

  • Postów:3 563
  • Steam:steam
  • Imię:Krzysiek
  • Lokalizacja:C: / program Files / Valve / Cstrike / G[o]Q.dem
Offline

Napisano 07.05.2012 14:24

sebul lepszym pomyslem bylby task przy spawnie a najlepsze wyjscie wg mnie to pobieranie pingu po spawnie i robienie sredniej pingu co spawn i na podstawie tego ustawianie renderingu zeby nie bylo skoków bo zdarza sie mieć ping 60 potem 100 i znow 60
  • +
  • -
  • 0
Manual ponad wszystko, konsola ponad manual :D :&

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) :D

#14 sebul

    Godlike

  • Przyjaciel

Reputacja: 2 035
Godlike

  • Postów:5 411
  • Steam:steam
  • Imię:Sebastian
  • Lokalizacja:Ostrołęka
Offline

Napisano 07.05.2012 14:38

Nie wiem czy lepszy będzie task, może i tak. A co do średniej to nie wiem czy udało by się osiągnąć taki efekt, że gracz ciągle zmienia swoją widoczność, bo mi o to właśnie chodziło, mniej więcej tak jak to gdzieś chyba tutaj na forum ktoś zrobił, że gracz wyglądał jak hologram, w zależności też od tego jaki miał ping.
  • +
  • -
  • 0

Posiadam TBM (inaczej PTB), które działa dużo lepiej niż zwykłe PTB, nawet na modach z lvlami. Zainteresowany? Proszę bardzo


#15 G[o]Q

    I'm G[o]Q

  • Przyjaciel

Reputacja: 1 344
Godlike

  • Postów:3 563
  • Steam:steam
  • Imię:Krzysiek
  • Lokalizacja:C: / program Files / Valve / Cstrike / G[o]Q.dem
Offline

Napisano 07.05.2012 14:56

wlasnie mi chodzi o to zeby nie bylo takich skoków :D

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 :D
  • +
  • -
  • 0
Manual ponad wszystko, konsola ponad manual :D :&

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) :D




Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych