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

[ROZWIĄZANE] Problem Segmentation fault


  • Zamknięty Temat jest zamknięty
23 odpowiedzi w tym temacie

#1 Andrzejek

    Ucze się :]

  • Power User

Reputacja: 136
Zaawansowany

  • Postów:1 300
  • Imię:Andrzej
Offline

Napisano 31.07.2014 15:14

Witam, jest jakiś sposób na namierzenie Segmentation fault?? Nie chce namierzyć dokładnego pluginu, który powoduje ten błąd, ale może jaki trop mały, bo analize pluginów nie zrobię, równie dobrze bym mógł cały AMXMODX wyłączyć, bo pluginy są połączone natywami i forwardami, wiec ma ktoś jakiś sposób? Pisać.

 

Pozdrawiam


  • +
  • -
  • 0

Mam do sprzedania pluginy AMXX pod serwery typu, JB, ONLY DD2, ZOMBIE, COD MOD, DR i inne...

 

Jeżeli jesteś zainteresowany(a), napisz na PW lub GG 42384104


#2 BlackPerfum

    Pseudo interakcja??

  • Power User

Reputacja: 459
Wszechobecny

  • Postów:575
  • Lokalizacja:...
Offline

Napisano 31.07.2014 16:40

http://amxx.pl/topic...zukania-crashy/

Dodatkowo większość przypadków złapie coś takiego:
Załączony plik  WykrywaczBledow.sma   1,73 KB  138 Ilość pobrań
  WykrywaczBledow.amxx
  • +
  • -
  • 1
Chcesz napisać do mnie na PW to:
Spoiler

Mój tok myślenia jest błędny? Wskaż mi błąd zmienie to!

Aktualnie bije limit 32 graczy (łącze serwery) ale nadal są lagi przy zbyt dużym przesyłu informacji Dołączona grafika
Gra się płynnie do 40~50 graczy potem łącze pada i zamiast biegać ludzie się teleportują Dołączona grafika

#3 Andrzejek

    Ucze się :]

  • Autor tematu
  • Power User

Reputacja: 136
Zaawansowany

  • Postów:1 300
  • Imię:Andrzej
Offline

Napisano 31.07.2014 22:05

"Blad ogolny (nieznany badz niezdefiniowany) - no to sie wkopales"

xD

 

A np. sprawdzanie każdej funkcji, co by mi dało? tzn. daje log_to_file i co mi to da?

 

@edit. namierzyłem funkcje, która wykonywała się kilka razy na sekundę, sprawdzę czy to rozwiązało problem.


  • +
  • -
  • 0

Mam do sprzedania pluginy AMXX pod serwery typu, JB, ONLY DD2, ZOMBIE, COD MOD, DR i inne...

 

Jeżeli jesteś zainteresowany(a), napisz na PW lub GG 42384104


#4 Andrzejek

    Ucze się :]

  • Autor tematu
  • Power User

Reputacja: 136
Zaawansowany

  • Postów:1 300
  • Imię:Andrzej
Offline

Napisano 31.07.2014 22:52

Znalazłem drugą funkcję, którą głupio zrobiłem, bo dałem sprawdzanie graczy do client_PreThink, jak dałem debuga to mi cała konsole zaśmieciło, wiec jak proponujecie? dodać sprawdzanie do publicu rozłączenia gracza, oraz do publicu śmierć gracza ?


  • +
  • -
  • 0

Mam do sprzedania pluginy AMXX pod serwery typu, JB, ONLY DD2, ZOMBIE, COD MOD, DR i inne...

 

Jeżeli jesteś zainteresowany(a), napisz na PW lub GG 42384104


#5 BlackPerfum

    Pseudo interakcja??

  • Power User

Reputacja: 459
Wszechobecny

  • Postów:575
  • Lokalizacja:...
Offline

Napisano 31.07.2014 23:05

A np. sprawdzanie każdej funkcji, co by mi dało? tzn. daje log_to_file i co mi to da?

Chodzi ci o metodę "na diodę" ?? Jak tak to ona jest dobra tylko wtedy gdy wiemy w jakiej funkcji wydarza się błąd.

Znalazłem drugą funkcję, którą głupio zrobiłem, bo dałem sprawdzanie graczy do client_PreThink, jak dałem debuga to mi cała konsole zaśmieciło, wiec jak proponujecie? dodać sprawdzanie do publicu rozłączenia gracza, oraz do publicu śmierć gracza ?

Sprecyzuj żadnie
  • +
  • -
  • 0
Chcesz napisać do mnie na PW to:
Spoiler

Mój tok myślenia jest błędny? Wskaż mi błąd zmienie to!

Aktualnie bije limit 32 graczy (łącze serwery) ale nadal są lagi przy zbyt dużym przesyłu informacji Dołączona grafika
Gra się płynnie do 40~50 graczy potem łącze pada i zamiast biegać ludzie się teleportują Dołączona grafika

#6 Andrzejek

    Ucze się :]

  • Autor tematu
  • Power User

Reputacja: 136
Zaawansowany

  • Postów:1 300
  • Imię:Andrzej
Offline

Napisano 31.07.2014 23:07

Bo ja pod client_PreThink dodałem sprawdzanie graczy, czyli zostanie ostatni gracz z TT i coś się tam robi, to pomyślałem żeby zamiast robić tego w client_PreThink może by dodać do client_disconnect oraz i eventu DeathMsg, i to na pewno by wpłynęło na działanie serwera. Zgadza się ?

 

I jeszcze jedno pytanko, jak zarejestrować event(np. CurWeapon) i message? Bo ja np. odrodzenie gracza rejestruje tak:

//jest włączone
if(!hOdrodzenieGracza) {

            hOdrodzenieGracza = RegisterHam(Ham_Spawn, "player", "OdrodzenieGracza", 1);

        }

        else {

            EnableHamForward(hOdrodzenieGracza);

        }
//jest wyłączone
if(hOdrodzenieGracza) {

            DisableHamForward(hOdrodzenieGracza);

        }

  • +
  • -
  • 0

Mam do sprzedania pluginy AMXX pod serwery typu, JB, ONLY DD2, ZOMBIE, COD MOD, DR i inne...

 

Jeżeli jesteś zainteresowany(a), napisz na PW lub GG 42384104


#7 BlackPerfum

    Pseudo interakcja??

  • Power User

Reputacja: 459
Wszechobecny

  • Postów:575
  • Lokalizacja:...
Offline

Napisano 31.07.2014 23:39

Thinka najlepiej nie używaj do niczego. Niestety przez niedopracowanie silnika trzeba łapać przyciski w thinku, także przetwarzać niestandardowe animacje. Nic innego nie ma prawa bytu w nim być.

Bo ja pod client_PreThink dodałem sprawdzanie graczy, czyli zostanie ostatni gracz z TT i coś się tam robi, to pomyślałem żeby zamiast robić tego w client_PreThink może by dodać do client_disconnect oraz i eventu DeathMsg, i to na pewno by wpłynęło na działanie serwera. Zgadza się ?

Zależy co dokładnie robisz. Połowa modułów (np. csx, engine) uzywają thinków by poprawnie działać (zazwyczaj thinka serwera) i nie wpływa to na działanie serwera. Nadmierne działanie w thinku skutkuje lagami gdyż robimy coś nie potrzebnie (czasem wystarczy dużo rzadziej coś robić). ZAWSZE szukaj innego wyjścia niż think!!!


I jeszcze jedno pytanko, jak zarejestrować event(np. CurWeapon) i message? Bo ja np. odrodzenie gracza rejestruje tak:

Event CurWeapon jest niewydajny i nie ważne co chcesz w nim robic mozna użyć innego bardziej optymalnego eventu ale i tak pokażę jak można go zarejestrować (jeśli chodziło ci o wiadomość do klienta):
register_message(get_user_msgid("CurWeapon"),"CurWeapon")
I łapiemy ten event w publicznej funkcji CurWeapon
  • +
  • -
  • 0
Chcesz napisać do mnie na PW to:
Spoiler

Mój tok myślenia jest błędny? Wskaż mi błąd zmienie to!

Aktualnie bije limit 32 graczy (łącze serwery) ale nadal są lagi przy zbyt dużym przesyłu informacji Dołączona grafika
Gra się płynnie do 40~50 graczy potem łącze pada i zamiast biegać ludzie się teleportują Dołączona grafika

#8 Andrzejek

    Ucze się :]

  • Autor tematu
  • Power User

Reputacja: 136
Zaawansowany

  • Postów:1 300
  • Imię:Andrzej
Offline

Napisano 01.08.2014 00:19

 

I jeszcze jedno pytanko, jak zarejestrować event(np. CurWeapon) i message? Bo ja np. odrodzenie gracza rejestruje tak:

Event CurWeapon jest niewydajny i nie ważne co chcesz w nim robic mozna użyć innego bardziej optymalnego eventu ale i tak pokażę jak można go zarejestrować (jeśli chodziło ci o wiadomość do klienta):
register_message(get_user_msgid("CurWeapon"),"CurWeapon")
I łapiemy ten event w publicznej funkcji CurWeapon

 

 

A dało by jakoś to wyłączyć, gdy tego nie potrzebujemy ??

 

 

Thinka najlepiej nie używaj do niczego. Niestety przez niedopracowanie silnika trzeba łapać przyciski w thinku, także przetwarzać niestandardowe animacje. Nic innego nie ma prawa bytu w nim być.
 

Bo ja pod client_PreThink dodałem sprawdzanie graczy, czyli zostanie ostatni gracz z TT i coś się tam robi, to pomyślałem żeby zamiast robić tego w client_PreThink może by dodać do client_disconnect oraz i eventu DeathMsg, i to na pewno by wpłynęło na działanie serwera. Zgadza się ?

Zależy co dokładnie robisz. Połowa modułów (np. csx, engine) uzywają thinków by poprawnie działać (zazwyczaj thinka serwera) i nie wpływa to na działanie serwera. Nadmierne działanie w thinku skutkuje lagami gdyż robimy coś nie potrzebnie (czasem wystarczy dużo rzadziej coś robić). ZAWSZE szukaj innego wyjścia niż think!!!

 

 

np. task ?, bo ja mam zrobione tak ze mam taska hud, który jest odświeżany co 1 sek, wiec to by było rozwiązanie ??


  • +
  • -
  • 0

Mam do sprzedania pluginy AMXX pod serwery typu, JB, ONLY DD2, ZOMBIE, COD MOD, DR i inne...

 

Jeżeli jesteś zainteresowany(a), napisz na PW lub GG 42384104


#9 BlackPerfum

    Pseudo interakcja??

  • Power User

Reputacja: 459
Wszechobecny

  • Postów:575
  • Lokalizacja:...
Offline

Napisano 01.08.2014 09:58

A dało by jakoś to wyłączyć, gdy tego nie potrzebujemy ??

register_message + unregister_message

np. task ?, bo ja mam zrobione tak ze mam taska hud, który jest odświeżany co 1 sek, wiec to by było rozwiązanie ??

Task'u powinno się uzywać TYLKO gdy chcemy by coś sie stało za określony czas i nie zawsze podczas inego zdarzenia

Poszukaj sobie eventy który będzi ci najbardziej pasował bo jeszcze nie powiedziałeś co dokładnie chcesz w nim robić:
http://amxx.pl/dokum.../fakemeta-const (Te z przedrostkiem FM_)
http://amxx.pl/dokum...a/i73/ham-const
https://wiki.alliedm...e_1_Game_Events
  • +
  • -
  • 0
Chcesz napisać do mnie na PW to:
Spoiler

Mój tok myślenia jest błędny? Wskaż mi błąd zmienie to!

Aktualnie bije limit 32 graczy (łącze serwery) ale nadal są lagi przy zbyt dużym przesyłu informacji Dołączona grafika
Gra się płynnie do 40~50 graczy potem łącze pada i zamiast biegać ludzie się teleportują Dołączona grafika

#10 Andrzejek

    Ucze się :]

  • Autor tematu
  • Power User

Reputacja: 136
Zaawansowany

  • Postów:1 300
  • Imię:Andrzej
Offline

Napisano 01.08.2014 14:40

 

np. task ?, bo ja mam zrobione tak ze mam taska hud, który jest odświeżany co 1 sek, wiec to by było rozwiązanie ??

Task'u powinno się uzywać TYLKO gdy chcemy by coś sie stało za określony czas i nie zawsze podczas inego zdarzenia

Poszukaj sobie eventy który będzi ci najbardziej pasował bo jeszcze nie powiedziałeś co dokładnie chcesz w nim robić:
http://amxx.pl/dokum.../fakemeta-const (Te z przedrostkiem FM_)
http://amxx.pl/dokum...a/i73/ham-const
https://wiki.alliedm...e_1_Game_Events

 

 

Pisałem wyżej, ale napisze jeszcze raz, potrzebuje go do tego żeby co 1 sek lub nawet mniej, sprawdzać funkcje, w której się znajdują warunki odpowiednie warunki, którymi sprawdzam ilość graczy, bo np. od iluś graczy może dopiero plugin działać, dwa gdy zostanie ostatni TT włącza się odpowiednia funkcja, trzy sprawdzanie graczy na zabawach, tzn. ostatni gracz, jeżeli się ktoś odrodzi będzie dwóch i się resetuje, zabija tego jednego TT i zostaje ostatni wiezień, nie wiem czy jest dobrze zrozumiale napisane ;x


  • +
  • -
  • 0

Mam do sprzedania pluginy AMXX pod serwery typu, JB, ONLY DD2, ZOMBIE, COD MOD, DR i inne...

 

Jeżeli jesteś zainteresowany(a), napisz na PW lub GG 42384104


#11 Andrzejek

    Ucze się :]

  • Autor tematu
  • Power User

Reputacja: 136
Zaawansowany

  • Postów:1 300
  • Imię:Andrzej
Offline

Napisano 01.08.2014 15:54

Teraz mam taki problem, że wyskakuje mi to:

 

error 017: undefined symbol "unregister_message"

 

Ale dopisałem bibliotekę wiec o co chodzi ?

 

@Edit, miałem nie aktualną wersje ;x


  • +
  • -
  • 0

Mam do sprzedania pluginy AMXX pod serwery typu, JB, ONLY DD2, ZOMBIE, COD MOD, DR i inne...

 

Jeżeli jesteś zainteresowany(a), napisz na PW lub GG 42384104


#12 BlackPerfum

    Pseudo interakcja??

  • Power User

Reputacja: 459
Wszechobecny

  • Postów:575
  • Lokalizacja:...
Offline

Napisano 01.08.2014 16:28

Mam dla ciebie parę uwag:
1. Po co:

co 1 sek lub nawet mniej, sprawdzać funkcje, w której się znajdują warunki odpowiednie warunki, którymi sprawdzam ilość graczy

?? Najgorsze możliwe rozwiązanie... Łap Ham_Killed/DeathMsg/client_death lub coś podobnego. Do czegoś takiego nie wolno używac thinków!!!

2. Twój poprzedni opis sytuacji nie był dokładny. I tak na wszelki wypadek zarzuc kodem

3. Zazwyczaj nie opłaca się odrejestrowywać eventów. Kolejny powód byś pokazał kod
  • +
  • -
  • 0
Chcesz napisać do mnie na PW to:
Spoiler

Mój tok myślenia jest błędny? Wskaż mi błąd zmienie to!

Aktualnie bije limit 32 graczy (łącze serwery) ale nadal są lagi przy zbyt dużym przesyłu informacji Dołączona grafika
Gra się płynnie do 40~50 graczy potem łącze pada i zamiast biegać ludzie się teleportują Dołączona grafika

#13 Andrzejek

    Ucze się :]

  • Autor tematu
  • Power User

Reputacja: 136
Zaawansowany

  • Postów:1 300
  • Imię:Andrzej
Offline

Napisano 01.08.2014 16:59

Wiesz, ja mam moda JB zrobionego tak, że zabawy, życzenie, menu to osobny plugin, nie mówię o JB Cypisa, bo ja zrobiłem swojego Moda. Ale co do sprawdzania, już mam pomysł jak to zrobić, ale co do Thinków, czy mogę sprawdzić a potem zablokować dalsze sprawdzanie(tzn. mam tak zrobione, tylko się pytam czy mogę tak używać) lub lepiej użyć taska ?


  • +
  • -
  • 0

Mam do sprzedania pluginy AMXX pod serwery typu, JB, ONLY DD2, ZOMBIE, COD MOD, DR i inne...

 

Jeżeli jesteś zainteresowany(a), napisz na PW lub GG 42384104


#14 BlackPerfum

    Pseudo interakcja??

  • Power User

Reputacja: 459
Wszechobecny

  • Postów:575
  • Lokalizacja:...
Offline

Napisano 01.08.2014 17:14

ale co do Thinków, czy mogę sprawdzić a potem zablokować dalsze sprawdzanie(tzn. mam tak zrobione, tylko się pytam czy mogę tak używać) lub lepiej użyć taska ?

Thinka najlepiej nie używaj do niczego. Niestety przez niedopracowanie silnika trzeba łapać przyciski w thinku, także przetwarzać niestandardowe animacje. Nic innego nie ma prawa bytu w nim być.

A ty chcesz robić z taska think...
  • +
  • -
  • 0
Chcesz napisać do mnie na PW to:
Spoiler

Mój tok myślenia jest błędny? Wskaż mi błąd zmienie to!

Aktualnie bije limit 32 graczy (łącze serwery) ale nadal są lagi przy zbyt dużym przesyłu informacji Dołączona grafika
Gra się płynnie do 40~50 graczy potem łącze pada i zamiast biegać ludzie się teleportują Dołączona grafika

#15 Andrzejek

    Ucze się :]

  • Autor tematu
  • Power User

Reputacja: 136
Zaawansowany

  • Postów:1 300
  • Imię:Andrzej
Offline

Napisano 01.08.2014 17:23

Czego mam użyć do jedno razowego sprawdzania(blokada może się wyłączyć kilka razy na mapę)? client_PreThink czy set_task(0.1, "Sprawdzanie", _, _, _, "b"); w plugin_init()


  • +
  • -
  • 0

Mam do sprzedania pluginy AMXX pod serwery typu, JB, ONLY DD2, ZOMBIE, COD MOD, DR i inne...

 

Jeżeli jesteś zainteresowany(a), napisz na PW lub GG 42384104


#16 BlackPerfum

    Pseudo interakcja??

  • Power User

Reputacja: 459
Wszechobecny

  • Postów:575
  • Lokalizacja:...
Offline

Napisano 01.08.2014 17:38

client_PreThink czy set_task(0.1, "Sprawdzanie", _, _, _, "b"); w plugin_init()

Podałeś dwa thinki (twój sposób korzystania z tasku sprawia że jest nie udolnym thinkiem) zarazem podałeś dwie najgorsze możliwości. Nadal nie opisałeś dokładnie kiedy chcesz by zdarzenie się wykonało a poza tym:
• jesli chodzi ci o ilośc żywych graczy to:

Ham_Killed/DeathMsg/client_death

• ilośc graczy client_putinserver

Najlepiej pokaż kod+nadmiernie opisz co chcesz osiągnać a pokażę jak to zrobić
  • +
  • -
  • 1
Chcesz napisać do mnie na PW to:
Spoiler

Mój tok myślenia jest błędny? Wskaż mi błąd zmienie to!

Aktualnie bije limit 32 graczy (łącze serwery) ale nadal są lagi przy zbyt dużym przesyłu informacji Dołączona grafika
Gra się płynnie do 40~50 graczy potem łącze pada i zamiast biegać ludzie się teleportują Dołączona grafika

#17 Andrzejek

    Ucze się :]

  • Autor tematu
  • Power User

Reputacja: 136
Zaawansowany

  • Postów:1 300
  • Imię:Andrzej
Offline

Napisano 01.08.2014 18:12

Co do sprawdzania ostatniego gracza, zastosowałem to co mi wyżej napisałeś, czyli sprawdzanie ilości przy śmierci gracza rtc.

A taska potrzebuje po to, żeby sprawdzić czy jest wymagana ilość graczy na serwerze, żeby plugin zaczął pracować. Rozumiesz ?


  • +
  • -
  • 0

Mam do sprzedania pluginy AMXX pod serwery typu, JB, ONLY DD2, ZOMBIE, COD MOD, DR i inne...

 

Jeżeli jesteś zainteresowany(a), napisz na PW lub GG 42384104


#18 GwynBleidD

    Godlike

  • Przyjaciel

Reputacja: 1 869
Godlike

  • Postów:3 066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 01.08.2014 18:42

client_connect / client_putinserver + client_disconnect?

Przecież gracz Ci się nie pojawi "nagle" na serwerze, zawsze towarzyszy mu wywołanie kilku forwardów. Tak samo nie zniknie nagle, wywoła się client_disconnect...

W zależności od tego, co według Ciebie oznacza gracz będący na serwerze (zakończył łączenie z serwerem, rozpoczął łączenie z serwerem, wszedł do teamu, zostało mu przyznane steamid). Tak samo przy rozłączaniu, możesz nie tylko śledzić client_disconnect ale też to, czy gracz nie opuścił teamu...

Zawsze jeśli chcesz sprawdzać, czy jakiś warunek jest spełniony, pomyśl kiedy może się on zmienić i tylko w tych miejscach, gdy się zmienia, go badaj.
  • +
  • -
  • 0

NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark


#19 Andrzejek

    Ucze się :]

  • Autor tematu
  • Power User

Reputacja: 136
Zaawansowany

  • Postów:1 300
  • Imię:Andrzej
Offline

Napisano 01.08.2014 19:51

Dokładnie mi chodzi "co według Ciebie oznacza gracz będący na serwerze" wszedł do teamu


  • +
  • -
  • 0

Mam do sprzedania pluginy AMXX pod serwery typu, JB, ONLY DD2, ZOMBIE, COD MOD, DR i inne...

 

Jeżeli jesteś zainteresowany(a), napisz na PW lub GG 42384104


#20 GwynBleidD

    Godlike

  • Przyjaciel

Reputacja: 1 869
Godlike

  • Postów:3 066
  • Steam:steam
  • Lokalizacja:Przemyśl
Offline

Napisano 01.08.2014 21:49

Wysłów się proszę zrozumiale...
  • +
  • -
  • 0

NIE pomagam na PW. Nie trudź się, na zlecenia nie odpiszę... Od pomagania jest forum.
NIE zaglądam w tematy wysłane na PW. Jeśli są na forum to prędzej czy później je przeczytam. Jeśli mam co w nich odpisać, to odpiszę.
 
1988650.png?theme=dark





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

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