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
 

TekLak - zdjęcie

TekLak

Rejestracja: 05.10.2016
Aktualnie: Nieaktywny
Poza forum Ostatnio: 24.04.2025 23:04
-----

#779639 Zapis pev_flTimeStepSound

Napisane przez K@MILOVVSKY w 02.03.2025 21:42

Nie wiem czy do końca czaję, ALE: jak dokładnie rejestrujesz moment wyrzucenia tego specjalnego granatu? Nie możesz w momencie eventu dla wyrzutu wygenerować napis manualnie? Trochę kodu by się przydało. 

register_message(get_user_msgid("TextMsg"), "message_text") przechwytuje wiadomości systemowe (TextMsg), np. "Fire in the Hole!". Jeśli twój granat nie generuje tej wiadomości, to message_text się w ogóle nie wywoła.

 


  • +
  • -
  • 2


#775551 Problem z is_user_bot

Napisane przez rzeznik9871 w 30.11.2022 12:15

To ci nie działa bo te warunku sa kompletnie bez sensu

if(is_user_bot(attacker) || victim == attacker || inflictor != attacker || !is_user_connected(attacker) || !zp_get_user_zombie(attacker))

pierwszy warunek sprawdza czy gracz jest botem - i tu jest wszysko ok 

ale po pierwszym warunku juz mamy błąd uzywasz || ktore oznacza  "albo" zamiast && ktore oznacza "oraz"

drugi warunek mowi: Jezeli ofiara jest atakujacym - ten warunek spelni sie jedynie kiedy rzucasz HE samemu sobie pod nogi, wtedy jestes ofiara jak i atakujacym

trzeci warunek mówi: jeżeli byt zadajacy obrazenia NIE jest atakujacym - ten warunek znow spelni sie tylko kiedy obrazenia beda obrazeniami od HE bo atakujacym jest gracz a bytem zadającym jest granat

czwarty warunek mowi: jezeli atakujacy nie jest polaczony - no boty sa imitacja gracza ktora jest polaczona wiec ten warunek nigdy sie nie spelni

piaty jest ok: jezeli atakujacym nie jest zombie

 

na moje to powinno wygladac tak:

if(is_user_connected(attacker) && is_user_bot(attacker) && !zp_get_user_zombie(attacker))

caly warunek spelni sie jezeli:

atakujacy jest polaczony ORAZ atakujacy jest botem ORAZ atakujacy NIE jest zombie

 

jak bredze to niech mnie ktos poprawi

 

EDIT:

Jeszcze wypadaloby pod

SetHamParamFloat(4, damage * get_pcvar_float(cvar_dmgmultiplier))

dodac 

return HAM_HANDLED

  • +
  • -
  • 1


#760517 Natywy - zrozumienie API w amxxie

Napisane przez Robiin w 09.08.2019 15:46

Poprzedni tutorial napisany w tym temacie przez R3X był nieco pomieszany i moim zdaniem skupiał sie na niepotrzebnych elementach.
 
Czym są natywy?
 
Kluczowym elementem programowania jest API, którym w AMXXie są natywy.
Natywy to sposób komunikacji pomiędzy dwoma pluginami.
 
Pluginy podzielę na dwa typy:

  • Plugin źródłowy - ten, w którym tworzymy natywy i ich działanie
  • Plugin docelowy - ten, w którym będziemy używać natywów

Dzięki natywom możemy z pluginu źródłowego pobrać dane w pluginie docelowym lub je dowolnie modyfikować.
Przykładem idealnie odwzorowującym zasadę działania natywów jest exp mod.
Plugin exp moda może mieć w sobie zmienne pokroju

  • userExp - zmienna, która przechowuje ilość expa, którą dany gracz posiada
  • userLevel - zmienna, która przechowuje poziom gracza

Co jeśli chcemy wiedzieć jaki poziom ma gracz, lub ile ma expa?
Nie ma najmniejszego problemu w pluginie exp moda - w końcu mamy zmienne userExp i userLevel, ale co jeśli chcemy wiedzieć ile gracz ma expa i potrzebujemy tych danych w innym pluginie?
 
Z odpowiedzią przychodzą natywy - jak już wcześniej wspomniałem, pozwalają nam na komunikacje między pluginami.
 
 
Jak wykorzystać natywy?
 
Mimo, że w tutorialu rexa wydawało się to bardzo skomplikowane, natywy są bardzo proste w swojej zasadzie działania.
 
Prosty przykład, jak pobrać jakąś wartość z innego pluginu:
 
Plugin źródłowy:

#include <amxmodx>

#define AUTHOR "aSior - amxx.pl/user/60210-asiorr/"

new const jakasWartosc = 7;

public plugin_init()
{
	register_plugin("x", "v0.1", AUTHOR);
}

// Natywy musza byc rejestrowane w plugin_natives za pomocą register_native.
public plugin_natives()
{
	// Rejestracja natywu o nazwie "pobierzWartosc", który wykona funkcję "publicNatywuPobierzWartosc".
	register_native("pobierzWartosc", "publicNatywuPobierzWartosc");
}

// Co się wykona, kiedy w innym pluginie zostanie użyte pobierzWartosc.
public publicNatywuPobierzWartosc()
{
	return jakasWartosc;
}

 
Plugin docelowy:

#include <amxmodx>

#define AUTHOR "aSior - amxx.pl/user/60210-asiorr/"

native pobierzWartosc();

public plugin_init()
{
	register_plugin("x", "v0.1", AUTHOR);

	new wartosc = pobierzWartosc();

	log_amx("Wartosc = %i", wartosc); // "Wartosc = 7"
}

 
 
Pliki .inc
 
Pliki z roszerzeniem 'inc' to nic innego jak pliki tekstowe, które zawierają zbiór natywów (i nie tylko).
Jak wygląda plik .inc w pluginie dodającym nową walutę:

#if defined _moneySystem_included
	#endinput
#endif

#define _moneySystem_included

native SetMoney(id, value);
native GetMoney(id);
native AddMoney(id, value);

Po krótce: pliki .inc są używane po to, żeby za każdym razem nie pisać 15 linijek z "native SetMoney(id, value);" i całą resztą natywów.

 

Na co pozwalają natywy

 

Dzięki nim wiemy jaki gracz ma poziom, exp, ile ma AP, JBPacków czy jaką ma klasę. To tylko powierzchowne przykłady, a natywy mogą zostać wykorzystane na tak wiele sposobów, że kiedy je lepiej poznamy, otwierają nam się drzwi na tak wiele opcji zaprogramowania pluginu, że ogranicza nas już tylko wyobraźnia.

 

 

 

Co dalej?

 

Jeśli dopiero nauczyłeś się czym są natywy - idź spróbuj sam. Oczywiście po przeczytaniu tego nie masz prawa zrozumieć wszystkiego ot tak, ale z drugiej strony nikt nie będzie Cię trzymał za rączkę.

Podrzucam parę tematów, z których można wyciągnąć informacje o tym, jak natywy zostały użyte w praktyce:

Cod mod

Jailbreak

Zombie

 

 

Po przeczytaniu różnych kodów nadejdzie czas na zapoznanie się z takimi rzeczami jak:

  • Style natywów
  • Typy danych zwracane przez natywy
  • Formatowanie napisów / działanie na tablicach w natywach

 

Do podglądu zostawiam również stronę dokumentacji: register_native.


  • +
  • -
  • 14


#774722 Free Tomb Raider i Mafia

Napisane przez Robiin w 01.09.2022 18:57

Tomb Raider - https://store.epicga...the-tomb-raider

Mafia - https://store.steamp...pp/40990/Mafia/


  • +
  • -
  • 6


#768330 Pytanie o wersje Zombie Mod'a

Napisane przez Robiin w 23.09.2020 13:54

Wszystkie biohazard są do bani pepelaugh-emote.png


  • +
  • -
  • 2


#768327 Pytanie o wersje Zombie Mod'a

Napisane przez Robiin w 23.09.2020 10:58

4.3 - silnik, precache resource, rejestracja itemów i klas, wszystko w jednym pliku, z dalszym podziałem na osobne pliki klas, itemów i addonów.

5.0 - wszystkie pliki odosobnione, większe rozdrobnienie, sporo bugfixów, łatwiejsze dodawanie nowych modów, wbudowany assasin & sniper, kompatybilność z 4.3

 

Jeśli nie masz dobrego powodu, żeby zostać na 4.3 (np. zależności w pluginach), a do tego masz czas na upgrade, to moim zdaniem warto go zrobić.

Jednak z doświadczenia wiem, że często portowanie 4.3 -> 5.0 kończy się reworkiem części z pluginów. Może okazać się łatwiejsze stworzenie serwera od nowa na 5.0, z manualnym dogrywaniem kolejno pluginów, które masz na wersji aktualnej - czyli de facto stworzenie serwera od zera, z tym wyjątkiem, że niemalże wszystkie pluginy już masz zlistowane na aktualnym serwerze.

 

Pamiętaj, że istnieje również takia wersja jak 9.0 i oczywiście wersje pośredniczące, ale są to fan-made paczki.  


  • +
  • -
  • 1


#768322 Pytanie o wersje Zombie Mod'a

Napisane przez viper367 w 22.09.2020 21:39

Jesli znasz lepiej 4.3 oraz sam nie wiesz jaka jest między nimi różnica to moim zdaniem to pytanie jest bez sensu, ino 4.3 chyba że masz większy powód  do zmiany silnika, tak to tylko dodajesz sobie pracy


  • +
  • -
  • 2


#764518 vip

Napisane przez Rivit w 07.02.2020 09:39

Używasz prawdopodobnie starszego kompilatora. Musisz zamienić:

public client_authorized(id , const authid[]){

->

public client_authorized(id){

oraz

public amxbans_admin_connect(id){
	client_authorized(id,"");
}

->

public amxbans_admin_connect(id){
	client_authorized(id);
}

  • +
  • -
  • 2


#763935 Nie działa mi vip z generatora - co robić?

Napisane przez Rivit w 11.01.2020 12:40

1. O czym mowa?

No dobra, wygenerowałem sobie vipa z generatora, wgrywam na serwer i NIE DZIAŁA!!!!

 

2. Jak naprawić?

Dobra, zamiast spamić zaraz na forum to najpierw spróbuj sam coś wykminić.
Są dwa główne problemy.
  • niekompatybilność wersji AMXX, vip z generatora jest robiony pod AMXX 1.9, na niższych nie ruszy, bądź będzie błąd
  • problem z kompilacją, jak wyżej, bo jak użyjesz kompilatora w wersji niższej niż 1.9 to się nie skompiluje

 

No to jazda. Zaczynamy od problemów typu 1, czyli wgrywasz na serwer i nie działa.

Co musisz sprawdzić? Wpisz w konsole serwera: 'amxx plugins' i dostaniesz listę pluginów, które działają na serwerze. Szukasz tam swojego vipa i patrzysz jaki ma status.

Przykładowy wycinek:

Spoiler

 

i widzimy na koncu listy naszego vipa. Ma status 'bad load', a poniżej (czyli na końcu listy) widzimy jaki błąd wystąpił

Błąd jest popularny i co z nim zrobić jest opisane tutaj: https://amxx.pl/topi...mat-or-version/ , ale będziesz musiał zrobić dodatkowy krok, który opiszę poniżej.

 

 

Problemy typu 2, czyli problem z kompilacją lokalną vipa z generatora (pamiętaj, żeby użyć kompilatora w wersji zgodnej z twoją wersją AMXX na serwerze - opisane w linku powyżej). Jak już mówiłem - vip z generatora jest pod AMXX 1.9, ale to nie problem przerobić go na niższe.

Najpopularniejszym błędem kompilacji jest:

//// vip.sma
// D:\Compiler_zlecenia\vip.sma(43) : error 025: function heading differs from prototype
// D:\Compiler_zlecenia\vip.sma(527) : error 088: number of arguments does not match definition
//
// 2 Errors.
// Could not locate output file compiled\vip.amx (compile failed).
//
// Compilation Time: 0.41 sec
// ----------------------------------------

najważniejsze informacje z tego płynące to: vip.sma(43) i vip.sma(527)

Rozwiązanie problemu:

Spoiler

 

Jak będą jakieś inne błędy, które są proste w naprawie to postaram się je załączyć tutaj, póki co tyle ode mnie, pozdrawiam serderznie ;)

Załączam przykładowy plik vip.sma, który był użyty do tutoriala.

Załączone pliki


  • +
  • -
  • 12


#763766 Cziterzy

Napisane przez DarkGL w 07.01.2020 07:30

Serwer only steam  ;)


  • +
  • -
  • 3


#763450 Time cycle, plugin sterujący oświetleniem.

Napisane przez Robiin w 27.12.2019 19:51

opis

Plugin steruje oświetleniem korzystając z set_lights z engine. Przeznaczenie na zombie moda, gdzie klasy zombie będą mogły dostać bonus, jeśli jest noc.

 

konfiguracja

Cvary:

dc_lighting_levels "bcdefghijklmnopqrs" // "a" - darkest, "z" - lightest. Cannot be mixed.
dc_lighting_interval "60.0" // Determines how often the lights change.
dc_lighting_default_level "k" // What level of light server starts with.
dc_lighting_night_start "k" // When does the night start.
dc_lighting_cycles_per_map "5" // How many day/night cycles there will be if interval is -1.0

download

https://github.com/W...hive/master.zip

Kod źródłowy : https://github.com/Wwicked/day-cycle


  • +
  • -
  • 4


#763273 HUD

Napisane przez One ShooT w 20.12.2019 04:14

Samemu możesz masz poradnik

https://amxx.pl/topi...owy-wygląd-hud/
  • +
  • -
  • 1


#763270 silnik

Napisane przez Robiin w 19.12.2019 20:00

Naprawić. Mam nadzieję, że pomogłem.

 

Jeśli wiesz czym jest błąd, to nie rozumiem czemu zadałeś pytanie w ten sposób.

Jeśli nie wiesz, pokaż zawartość wszystkich tych tablic.


  • +
  • -
  • 1


#763099 Problem z kompilacja lokalna rang

Napisane przez Robiin w 14.12.2019 16:40

znalazłem temat ale nie moge w nim proszę o informacje


  • +
  • -
  • 1


#763086 Windows 8.1 nie wykrywa mikrofonu

Napisane przez vanillah w 14.12.2019 03:27

wypierdol to ***** i sciagnij w10 z łajby pirackiej


  • +
  • -
  • 0