smierdzi mi tu zwykla reklama .. luxycostam....
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.
|
_McHappy
Rejestracja: 26.06.2016Aktualnie: Nieaktywny
Poza forum Ostatnio: 02.03.2023 23:14





Statystyki
- Grupa: Support Team
- Całość postów: 501
- Odwiedzin: 13 709
- Tytuł: Wszechwiedzący
- Wiek: Wiek nie został ustalony
- Urodziny: Data urodzin nie została podana
-
Imię
Radek
-
Płeć
Mężczyzna
-
Lokalizacja
Tak
-
Zainteresowania
◢◤ [*]
Narzędzia użytkownika
Ostatnio byli
#757636 Specjal serwer - jak sobie radzicie z pozyskaniem pieniędzy na ten cel?
Napisane przez undee_beatz
w 08.03.2019 13:18
#418815 Diablo Mod by Stachu
Napisane przez Nakupenda.
w 08.06.2012 09:17
A Ci bardziej doświadczeni bedą mieli dużo większy orzech do zgryzienia, jak wymyśleć coś jeszcze bardziej "innego" i innowacyjnego, bo zaraz każdy będzie miał artefakty i gildie.
Jżeeli o mnie chodzi to sory ale minus.
#754413 Propozycje zmian w generatorze vip
Napisane przez G[o]Q
w 24.12.2018 01:59
Zamiana bool'a g_Vip na bity
To jest spoko ale zamiast macrodefinicji imho lepiej zrobić poprostu 4 funkcje które zrobią te same operacje bitowe na globalnej zmiennej i będą mogły sobie pobrać ilość slotów przy użyciu get_maxplayers -> zmiana w macro i kompilowanie jest słabe jak chcemy mieć jednego vipa na x serverów. Natomiast czy jest sens to robić? Nie - nie osiągnie się tym większego performacne a tylko skomplikuje się kod dla ludzi którzy nie koniecznie umieją programować
jednocześnie unikając rozdzielania tego na dwie funkcje (które szczerze nie wiem dlaczego w ogóle się tam znalazły?).
Akurat funkcji powinno być jak najwięcej bo to poprawia czytelność kodu oraz łatwiej się tak zamyka logikę zamiast pisać wszystko w jednej funkcji robimy n mniejszych atomowych które potem używamy
usunąć zbędne przechodzenie do osobnych funkcji, usunąć brackety przy jednoliniowych funkcjach
Niby post sensowny a na końcu taka głupota - brackety powinny być zawsze, w szczególności przy jednolinijkowcach
#754222 Propozycje zmian w generatorze vip
Napisane przez Robiin
w 16.12.2018 02:20
Zbieżność nazw była przypadkowa, nie odnosiłem się do tej stałej z wersji 1.8.3. Tak po prostu zawsze nazywam tę makrodefinicję. Btw. o ile się orientuję to #define może być zmieniony podczas pracy programu, ale kompilator wyrzuci warning, że "warning 201: redefinition of constant/macro (symbol "MAX_PLAYERS")".
To prawda, menu też są jedną wielką katastrofą.
#753730 Segmentation fault ustalenie miejsca problemu
Napisane przez DarkGL
w 30.11.2018 02:29
Dlaczego Segmentation fault występuje ?
Błędy typu Segmentation fault mogą wystąpić z kilku powodów
- Poprzez przeciążenie serwera hlds/rehlds pluginami i innego rodzaju dodatkami.
- Nieprzypisanie odpowiednich zasobów do poprawnego działania serwera.
- Pisania po pamięci przez wirtualną maszynę amxx'a niedostępną dla niej lub pluginu.
- Upewnij się że korzystasz z najnowszej wersji:
- HLDS/ReHLDS
- Metamoda i jego dodatków
- AMXX i jego modułów
- Upewnij się że pluginy na serwerze są skompilowane tą samą wersją kompilatora amxx którego używasz na serwerze.
- Wyłącz zbędne pluginy których nie używasz a mimo to są ładowane jako działające pluginy.
- Wyłączaj po kolei pluginy w celu ustalenia który powoduje problemy na serwerze. Polecam wyłączać pluginy sposobem 1/2 (wyłączasz połowę, włączasz serwer. Problem występuje -> zmniejszasz o kolejną połowę. Problem ustał -> zawęziłeś okres poszukiwań o 50% w jednym resecie). Zazwyczaj w modach takich jak Zombie, Jailbreak, CSGO czy pokrewnych winowajcą są główne silniki.
- Dopisz debug na liście pluginów który powoduje problem. Jeśli chcesz debugować wszystkie pluginy zamiast jednego ustaw cvar amx_debug 2.
// Plugin Debug mode // 0 - No debugging (garbage line numbers) // 1 - Plugins with "debug" option in plugins.ini are put into debug mode // 2 - All plugins are put in debug mode // Note - debug mode will affect JIT performance // // Default value: 1 amx_debug 2
- Sprawdź logi serwera i amxx ( znajdziesz je w cstrike/addons/amxmodx/logs ) w celu ustalenia miejsca występowania problemu w pluginie ( konkretne miejsce nigdy nie będzie podane ale możesz znaleźć tam inne błędy które też mogą wpływać na działanie serwera ).
- Sprawdź kod sma pluginu w celu ustalenia miejsca i naprawy problemu jeśli umiesz to zrobić sam.
- Jeśli nie umiesz programować załóż odpowiedni temat na forum podając:
- Używane wersje hlds , metamoda i amxx
- Logi serwera oraz logi amxx ( znajdziesz je w cstrike/addons/amxmodx/logs )
- Pełen kod pluginu jako załącznik
#752168 Co tak właściwie robi param_convert()
Napisane przez DarkGL
w 12.09.2018 12:11
#751709 Public_paint_splat Pb Mod
Napisane przez Ekspedytor
w 11.08.2018 18:17
No niestety, ale wiedza z metod numerycznych umyka po północy
Zapomniałem o nawiasach w linijce z obliczeniami mnoznika dystansu.
Poprawiona funkcja:
Spoilerpublic paint_fire(id, num) { new a, ent; while (a++ < g_pbcount - 1 && !ent) if (g_pbstatus[a] == 0) ent = g_pbstatus[a] = g_paintballs[a]; if (!ent) while (a-- > 1 && !ent) if (g_pbstatus[a] == 2) ent = g_pbstatus[a] = g_paintballs[a]; if (pev_valid(ent) && is_user_alive(id)) { new Float:vangles[3], Float:nvelocity[3], Float:voriginf[3], vorigin[3], clr; set_pev(ent, pev_owner, id); new my_pbgun = user_has_pbgun(id); set_pev(ent, pev_classname, "pbBullet"); engfunc(EngFunc_SetModel, ent, "models/w_paintball.mdl"); if (my_pbgun == PB_SNIPER) //make them smaller to avoid creation collisions engfunc(EngFunc_SetSize, ent, Float:{0.0, 0.0, 0.0}, Float:{1.0, 1.0, 1.0}); else engfunc(EngFunc_SetSize, ent, Float:{-1.0, -1.0, -1.0}, Float:{1.0, 1.0, 1.0}); switch (get_pcvar_num(color)) { case 2: clr = (get_user_team(id) == 1) ? 0 : 1; case 3: clr = (get_user_team(id) == 1) ? 4 : 3; case 4: clr = (get_user_team(id) == 1) ? 2 : 5; default: clr = random_num(0, 6); } set_pev(ent, pev_skin, clr); set_pev(ent, pev_gravity, 0.5); vangles[0] = random_float(-180.0, 360.0); vangles[1] = random_float(-180.0, 360.0); set_pev(ent, pev_angles, vangles); pev(id, pev_v_angle, vangles); set_pev(ent, pev_v_angle, vangles); get_user_origin(id, vorigin, 1); IVecFVec(vorigin, voriginf); if (my_pbgun == PB_SNIPER) { new Float:vresult[3], Float:fDistance, Float:fDistanceStep = 20.0; fDistance = power(-1, num)*((num+1)/2)*fDistanceStep; // obliczenie mnoznika dystansu wzgledem srodkowej kulki if(fDistance != 0.0) { angle_vector(vangles, ANGLEVECTOR_RIGHT, vresult) xs_vec_mul_scalar(vresult, fDistance, vresult); xs_vec_add(voriginf, vresult, voriginf); } } engfunc(EngFunc_SetOrigin, ent, voriginf); pev(id, pev_view_ofs, vangles); set_pev(ent, pev_view_ofs, vangles); new veloc; if (get_pcvar_num(gravity)) set_pev(ent, pev_movetype, MOVETYPE_BOUNCE); else set_pev(ent, pev_movetype, MOVETYPE_FLY); set_pev(ent, pev_solid, 2); //Different guns shoot at different speeds switch (my_pbgun) { case PB_MARKER: veloc = get_pcvar_num(speed_marker); case PB_GLOCK: veloc = get_pcvar_num(speed_pistol); case PB_USP: veloc = get_pcvar_num(speed_pistol); case PB_SNIPER: veloc = get_pcvar_num(speed_sniper); case PB_SUPERMARKER: veloc = get_pcvar_num(speed_smarker); default: veloc = get_pcvar_num(speed_pistol); } velocity_by_aim(id, veloc, nvelocity); //Fix aim for bots if (is_user_bot(id)) switch (my_pbgun) { case PB_MARKER: nvelocity[2] += (get_pcvar_num(gravity))? 150 : 0; case PB_GLOCK: nvelocity[2] += (get_pcvar_num(gravity))? 200 : 0; case PB_USP: nvelocity[2] += (get_pcvar_num(gravity))? 200 : 0; case PB_SNIPER: nvelocity[2] += (get_pcvar_num(gravity))? 35 : 0; case PB_SUPERMARKER: nvelocity[2] += (get_pcvar_num(gravity))? 100 : 0; default: nvelocity[2] += (get_pcvar_num(gravity))? 150 : 0; } //Recoil!!! if (cs_get_user_zoom(id)== CS_SET_NO_ZOOM){ //the sniper will shoot terribly bad without a scope new modifier = (my_pbgun != PB_SNIPER)? 1 : 5; new buttons = pev(id, pev_button); if (my_pbgun == PB_SNIPER) modifier = 2; else //shoot worse while moving if (buttons & IN_JUMP || buttons & IN_FORWARD || buttons & IN_BACK || buttons & IN_MOVELEFT || buttons & IN_MOVERIGHT) modifier *= 2; new disp = get_pcvar_num(dispersion); nvelocity[0] += (random(disp)-disp/2) * modifier; nvelocity[1] += (random(disp)-disp/2) * modifier; nvelocity[2] += (random(disp)-disp/2) * modifier; } set_pev(ent, pev_velocity, nvelocity); set_pev(ent, pev_effects, pev(ent, pev_effects) & ~EF_NODRAW); //glow set_task(0.1, "paint_glow", ent); set_task(15.0 , "paint_reset", ent+TASK_PB_RESET); } return ent; }
Umyka?? Człowieku za**bisty jesteś.. Wykorzystałeś wiedzę i poświęciłeś swój czas... Dzięki WIELKIE 5!!! dla Ciebie.! Temat do zamknięcia... A ty mordeczko możesz na pw wysłać mi adres to wyśle ci pół litra...
#751689 [ROZWIĄZANE] Najskuteczniejszy sposób na unieruchomienie
Napisane przez vanillah
w 09.08.2018 13:46
#751621 7 darmowych gier steam
Napisane przez Rivit
w 07.08.2018 14:03
#751376 [ROZWIĄZANE] Dodanie podsadzania się
Napisane przez DarkGL
w 29.07.2018 14:13
#750133 Tanie paczki AMXX ! - Pluginy-AMXX.pl
Napisane przez
Ces't La Vie
w 12.06.2018 14:39
Bardzo ważne i zasadnicze pytanie - dlaczego tak bardzo się wzorujesz a wręcz kopiujesz od DarkGL?
Co ty chrzanisz człowieku? jakie wzorowanie a co najgorsze kopiowanie? Ktos tu ma widze ostry dobry bol d*py..
Jeżeli Ci sie nudzi życie i nie masz co robić to znajdz sobie jakies zajecie.. nie wiem.. zbieranie znaczkow może czy cos w te desen? Mhm..? Akurat może w koncu przestaniesz takie glupoty ludziom w tematach wypisywac..
Robie to co wiem i na tyle ile umiem nikomu przy tym nie wadząc i ludzie sa zadowoleni (tak mysle).
#749774 Rozkręcenie serwera cs 1.6
Napisane przez Legion.
w 31.05.2018 00:18
to jest jakaś paranoja zeby tyle płacic za reklame, nawet w ogóle żeby płacić no ale ok kupisz reklame i co bedziesz miał? bandę dzieciaków co morde będą darli do mikrofonu i mase cziterów. Ale mi się wydaje że to nie są gracze tylko jakieś k**wy z tego cssetti bo to jest nie możliwe żeby gra która ma ponad 15 lat tak się stoczyła. Niestety prawda bolesna lecz prawdziwa
#684081 Podmiana dźwięków broni.
Napisane przez psilocybe
w 21.01.2015 14:38
Witam, dziś opiszę proces podmiany dźwięków w modelach, na potrzeby serwerów Counter Strike 1.6.
Spora część użytkowników ma problem z tym zagadnieniem więc postanowiłem w końcu opisać to dokładniej.
Jest to mój pierwszy poradnik.
Będzie nam potrzebne:
Halflife Model Viewer 1.3 (w paczce)
GUI Studio (w paczce)
MDL Decompiler (w paczce)
Notepad++ (Do pobrania z oficjalnej strony: link)
HLMV13+decompiler.rar 609,59 KB 280 Ilość pobrań
1. Rozpakuj archiwum z załącznika.
2. Uruchom hlmv.exe (folder ../hlmv13_setup/hlmv.exe)
3. Wchodzimy w Menu > Tools > Configure Tools
Pokaże nam się okienko, gdzie podajemy ścieżki do kompilatora i dekompilatora (folder ../GUI StudioMDL 1.0/)
Wskazujemy pliki, klikamy OK i możemy przystąpić do dekompilacji modelu.
Uwaga: Przed dekompilacją modelu, warto stworzyć osobny folder dla każdego przerabianego modelu ponieważ dekompilator tworzy sporo plików, nie chcemy bałaganu.
Np. Tworzymy folder Ak47 i kopiujemy do niego model który będziemy dekompilować.
4. Wchodzimy w Menu > Tools > Decompile Model...
Wyskoczy okienko gdzie wskazujemy nasz model, pamiętajcie że zawsze będzie to model v_, ja wybrałem orygianlny v_ak47.mdl
Klikamy OK, po chwili w folderze obok v_ak47.mdl pokaże się sporo plików
Nas interesuje tylko jeden plik, ten z rozszerzeniem *.qc - w tym przypadku będzie to v_ak47.qc
5. Otwieramy plik *.qc programem Notepad++ - teraz następuje właściwa edycja dźwięków przypisanych do danego modelu.
Odnajdujemy w pliku *.qc (z reguły na końcu) fragment z sekwencjami, w moim przypadku wygląda on tak:
// 6 animation sequence(s) $sequence "idle1" "idle1" fps 30 $sequence "reload" "reload" fps 37 { event 5004 13 "weapons/ak47_clipout.wav" } { event 5004 57 "weapons/ak47_clipin.wav" } $sequence "draw" "draw" fps 30 { event 5004 11 "weapons/ak47_boltpull.wav" } $sequence "shoot1" "shoot1" fps 20 { event 5001 0 "22" } $sequence "shoot2" "shoot2" fps 20 { event 5001 0 "22" } $sequence "shoot3" "shoot3" fps 20 { event 5001 0 "22" }
Uwaga: Treść pliku *.qc może znacznie różnić się od przykładu, szczególnie w przypadku niestandardowych modeli, jednak zasada edycji pozostaje taka sama.
Zajmiemy się dźwiękami strzałów, ponieważ jak widać do sekwencji "shoot1" "shoot2" i "shoot3" nie ma przypisanych dźwięków "po ścieżce", zamiast tego mamy tajemnicze "22"
Zmieniamy:
$sequence "shoot1" "shoot1" fps 20 { event 5001 0 "22" } $sequence "shoot2" "shoot2" fps 20 { event 5001 0 "22" } $sequence "shoot3" "shoot3" fps 20 { event 5001 0 "22" }
Na:
$sequence "shoot1" "shoot1" fps 20 { event 5004 0 "weapons/new_sounds/ak47_strzal.wav" } $sequence "shoot2" "shoot2" fps 20 { event 5004 0 "weapons/new_sounds/ak47_strzal.wav" } $sequence "shoot3" "shoot3" fps 20 { event 5004 0 "weapons/new_sounds/ak47_strzal.wav" }
Co zmieniliśmy? Poza podaniem ścieżki do *.wav zamiast "22", zmieniamy event 5001 na 5004
Uwagi: -W przypadku sekwencji 'event 5004' czyli np. "draw", gdzie mamy podaną ścieżkę do dźwięku, zmieniamy tylko ścieżkę
-Liczba pomiędzy event 5004 a ścieżką to opóźnienie odegrania dźwięku w ms, nie polecam zmieniać
-Nowe dźwięki warto umieszczać w podfolderze np. cstrike/sound/weapons/new_sounds/..
6. Po zakończeniu edycji pliku *.qc zapisujemy zmiany i wracamy do Half-life Model Viewer
Wchodzimy w Menu > Tools > Compile Model... i wskazujemy nasz edytowany plik *.qc
Pokaże się okienko kompilatora:
Jeżeli wszystko jest w porządku zobaczymy tekst:
[Opening QC file - C:\Users\amxx\Desktop\v_ak47\v_ak47.qc] [QC loaded O.K!]
Klikamy przycisk Compile
Jeżeli wszystko jest ok to po chwili na dole zobaczymy tekst:
[Compiler execution completed]
Co oznacza że model skompilował się poprawnie, a w folderze którym był plik *.qc mamy swój nowy plik *.mdl (poprzedni został nadpisany)
7. Instalacja nowego modelu i dźwięków.
Do podmiany modeli na serwerach polecam plugin GHW Weapon Replacement
Przykładowy model z podmienionymi dźwiękami oraz instrukcją: M4A1 z dźwiękami CS:GO
Uwagi:
-Pamiętajcie że nowe dźwięki muszą być w formacie *.wav oraz odpowiednio zresamplowane:
Channel(s) : 1 channel Sampling rate : 22.05 KHz Bit depth : 8 bits
-Warto zachować porządek w folderach, nowe modele wrzucajcie np. do /cstrike/models/new_models/.. dźwięki do /cstrike/sound/weapons/new_sounds/..
-Podmienione dźwięki będziemy słyszeć poprawnie ale inni gracze nasze strzały usłyszą już normalne (nie da się tego obejść w żaden sposób jeżeli chodzi o HLDS)
Jeżeli czegoś brakuje, proszę pisać. Pozdrawiam i powodzenia w edycji.
#749102 Ukradzione konto steam, włamy na sieci, kradzieże paczek - wyjaśnienie sytuacji
Napisane przez plx211
w 01.05.2018 20:40
@plx211
Może Ty wiesz co oznacza w lysis decompiler to "phi removed"?
Jak spojrzysz w kod lysisa to tam jeden z typ danych stworzonych przez autora, ma nazwe phi.
Używałem starej kompilacji, w nowej może już tego nie być

Jak kto nikt nie narzekał?Krwiopijca też miał kilka swoich smaczków w swoim modzie, czy ktoś narzekał?
Backdoor w każdej postaci to zło!
edit
@firemachine nie zgodze sie z toba, mowimy tutaj o GPL wiec nie powinno byc zamknietego kodu jesli rozprzestrzenia sie
- AMXX.pl: Support AMX Mod X i SourceMod
- → Przeglądanie profilu: Reputacja: _McHappy
- Regulamin