←  Nowości

AMXX.pl: Support AMX Mod X i SourceMod

»

CoD Nowy
Call of Duty Mod (by O'Zone)

  • +
  • -
O'Zone - zdjęcie O'Zone 30.01.2019

dwaidek951, patrząc po logach, pluginy próbują użyć natywów z silnika - cod_mod.amxx.

Przydałby się wycinek z zwykłego dziennego logu, bo zapewne tam znajdzie się informacja, dlaczego sam silnik nie działa.

Odpowiedz

  • +
  • -
O'Zone - zdjęcie O'Zone 02.02.2019

Wydano wersję oznaczoną numerem 1.2.0.

Lista zmian:

  • Zaimplementowano wojny klanów (wymagane jest usunięcie tabeli cod_clans z bazy danych lub dodanie do niej pola wins z typem int w przypadku przejścia z wersji 1.1.x).
  • Zaimplementowano wersję lite ikon przełączaną przez flagę #define LITE w kodzie źródłowym pluginu ikon.
  • Zaimplementowano plugin admin menu (opcjonalny - domyślnie wyłączony).
  • Przerobiono honor na jedyną używalną walutę (zastępuje pieniądze nawet w HUD).
  • Dodano nowe cvary do pluginu klanów i zaimplementowano związaną z nimi logikę: cod_clans_create_fee i cod_clans_join_fee.
  • Dodano nowe cvary do głównego pluginu i zaimplementowano związaną z nimi logikę: cod_night_exp_multiplier, cod_points_per_level i cod_points_limit.
  • Dodano nowe cvary do pluginu statystyk i zaimplementowano logikę z nimi związaną: cod_revenge_enabled, cod_revenge_honor i cod_revenge_exp.
  • Dodano cvar cod_honor_kill_first do pluginu honoru i zaimplementowano logikę z nim związaną.
  • Dodano w głównym pluginie test bezpieczeństwa zmiennej przechowującej exp na możliwość wystąpienia błędu typu integer overflow.
  • Zmieniono sposób sprawdzania flag w pluginie statystyk i vipie.
  • Usprawniono wykonywanie zapytań typu non-threaded w klanach.
  • Zmieniono domyślną wartość parametru value w natywie cod_set_user_item na RANDOM.
  • Poprawiono usuwanie klanów z bazy danych po rozwiązaniu.
  • Poprawiono czas top15 i status admina w pluginie statystyk.
  • Naprawiono błąd resetowania punktów statystyk, gdy gracz stracił poziomy.
  • Poprawiono możliwość zakupu naprawy przedmiotu bez konieczności jego posiadania.
  • Naprawiono błąd z symbolem procentu w wiadomościach w głównym pluginie.
  • Wiele innych drobnych zmian.

Dziękuję także osobom, które zgłosiły mi kilka wykrytych błędów i których poprawki mogłem zawrzeć w tej wersji.


Użytkownik O'Zone edytował ten post 03.02.2019 00:09
Odpowiedz

  • +
  • -
O'Zone - zdjęcie O'Zone 04.02.2019

Znacznie wcześniej, niż sam bym się tego spodziewał, wydano wersję 1.2.1.

Lista zmian:

  • Zaimplementowano wiele nowych multiforwardów: cod_team_assign, cod_bomb_planting, cod_bomb_planted, cod_bomb_defusing, cod_bomb_defused, cod_bomb_explode, cod_bomb_dropped, cod_bomb_picked, cod_hostage_killed, cod_hostage_rescued, cod_hostages_rescued, cod_restart_round, cod_win_round.
  • Zaktualizowano bibliotekę cod.inc.
  • Uaktualniono pluginy, aby używały nowych forwardów.
  • Zaktualizowano wykorzystanie funkcji SQL_ReadResult, aby używać wraz z nią SQL_FieldNameToNum zamiast hard-codowanych liczb.
  • Usunięto bonus pieniężny dla VIP-ów.
  • Poprawiono pusty rekord klanu pokazujący się po zwróceniu danych przez zapytania w menu deklaracji wojennych i top15 klanów.
  • Poprawiono automatyczne resetowanie statystyk klasy, gdy jedna ze statystyk osiągnęła limit.
Odpowiedz

  • +
  • -
Eryk172 - zdjęcie Eryk172 05.02.2019

Zaktualizuj Sklep-SMS jeśli chcesz, już nie trzeba dodawać VERSION, i zmieniło się parę innych drobnych rzeczy


Użytkownik Eryk172 edytował ten post 05.02.2019 18:46
Odpowiedz

  • +
  • -
Eryk172 - zdjęcie Eryk172 06.02.2019

Posiadasz jakiś pomysł jak do Twojego CoDa dodać spadochron?

Klawisz E już jest zajęty, myślałem żeby przerobić skill klasy pod klawisz od radia( radio1, radio2, radio3) a spadochron zostawić pod E. Co o tym myślisz?

Odpowiedz

  • +
  • -
Eryk172 - zdjęcie Eryk172 06.02.2019

P.S 

Mókłbyś powiedzieć dlaczego use_item zwraca  PLUGIN_HANDLED; a use_class(id) PLUGIN_CONTINUE;?

Odpowiedz

  • +
  • -
Eryk172 - zdjęcie Eryk172 07.02.2019

L 02/07/2019 - 01:06:34: Info (map "cs_assault_1337") (file "addons/amxmodx/logs/error_20190207.log")
L 02/07/2019 - 01:06:34: [FAKEMETA] Invalid entity 1 (no private data)
L 02/07/2019 - 01:06:34: [AMXX] Displaying debug trace (plugin "cod_honor.amxx", version "1.2.1")
L 02/07/2019 - 01:06:34: [AMXX] Run time error 10: native error (native "set_pdata_int")
L 02/07/2019 - 01:06:34: [AMXX]    [0] cod_honor.sma::update_hud (line 329)
L 02/07/2019 - 01:06:34: [AMXX]    [1] cod_honor.sma::client_putinserver (line 71)
L 02/07/2019 - 01:09:08: Start of error session.
L 02/07/2019 - 01:09:08: Info (map "cs_assault_1337") (file "addons/amxmodx/logs/error_20190207.log")
L 02/07/2019 - 01:09:08: [FAKEMETA] Invalid entity 1 (no private data)
L 02/07/2019 - 01:09:08: [AMXX] Displaying debug trace (plugin "cod_honor.amxx", version "1.2.1")
L 02/07/2019 - 01:09:08: [AMXX] Run time error 10: native error (native "set_pdata_int")
L 02/07/2019 - 01:09:08: [AMXX]    [0] cod_honor.sma::update_hud (line 329)
L 02/07/2019 - 01:09:08: [AMXX]    [1] cod_honor.sma::client_putinserver (line 71)

Taki błąd po aktualizacji się pojawił

 

 

Edit: naprawiłem

cod_honor.sma

 

public client_putinserver(id)
{
	playerHonor[id] = 0;
	playerHonorGained[id] = 0;

	rem_bit(id, dataLoaded);

	if (is_user_bot(id) || is_user_hltv(id)) return;
	
	update_hud(id);

	get_user_name(id, playerName[id], charsmax(playerName[]));

	cod_sql_string(playerName[id], playerName[id], charsmax(playerName[]));

	set_task(0.1, "load_honor", id + TASK_LOAD);
}

Użytkownik Eryk172 edytował ten post 07.02.2019 01:16
Odpowiedz

  • +
  • -
Eryk172 - zdjęcie Eryk172 07.02.2019

W załączniku zapodaje poprawiony sklep-sms, wraz z .inc

Załączony plik  SCRIPTING - Sklep_SMS O'Zone.rar   4,62 KB   194 Ilość pobrań

Odpowiedz

  • +
  • -
O'Zone - zdjęcie O'Zone 07.02.2019

Posiadasz jakiś pomysł jak do Twojego CoDa dodać spadochron?

Klawisz E już jest zajęty, myślałem żeby przerobić skill klasy pod klawisz od radia( radio1, radio2, radio3) a spadochron zostawić pod E. Co o tym myślisz?

Skill klasy jest wywoływany zarówno jako +use, czyli domyślnie E (wychwytywany w sound_emit jako dźwięk "common/wpn_denyselect.wav"), jak i bind +class.

Jeśli koniecznie chcesz dodać spadochron, może usunąć wywoływanie przez +use i dać graczom możliwość samodzielnego zbindowania tejże mocy.

Możesz także wywoływać je tak jak chcesz pod radio - to już zależy od ciebie.
Mój CoD jest jedynie bazą do wykorzystania, więc dostosowanie go pod siebie przez własne modyfikacje jest wręcz rekomendowane.

 

P.S 

Mókłbyś powiedzieć dlaczego use_item zwraca  PLUGIN_HANDLED; a use_class(id) PLUGIN_CONTINUE;?

Skill itemu domyślnie impulse100 (domyślnie klawisz F), który jest też oczywiście używany do włączania/wyłączania latarki.

Zwrócenie wartości PLUGIN_HANDLED blokuje przy okazji użycie latarki.

 

L 02/07/2019 - 01:06:34: Info (map "cs_assault_1337") (file "addons/amxmodx/logs/error_20190207.log")
L 02/07/2019 - 01:06:34: [FAKEMETA] Invalid entity 1 (no private data)
L 02/07/2019 - 01:06:34: [AMXX] Displaying debug trace (plugin "cod_honor.amxx", version "1.2.1")
L 02/07/2019 - 01:06:34: [AMXX] Run time error 10: native error (native "set_pdata_int")

Błąd został zgłoszony i poprawiony jeszcze zanim napisałeś tego posta.

 

W załączniku zapodaje poprawiony sklep-sms, wraz z .inc

attachicon.gifSCRIPTING - Sklep_SMS O'Zone.rar

Nawet kiedy ja pisałem te pluginy shop_sms_const.inc zawierało VERSION, co nie znaczy,

że same pluginy usług nie mogą mieć własnych, do ich niezależnego wersjonowania.

Nie rozumiem także po co dorzuciłeś standardowe pluginy usług vip'a i rezerwacji slota,

które znajdują się w paczce pobieranej razem z SklepemSMS - tutaj są wyłącznie pluginy dodatkowe.

Btw, SklepSMS ma dwa pliki .inc, shop_sms.inc i shop_sms_const.inc.

 

Jeśli chcesz dorzucić swoje poprawki do CoD'a, możesz wziąć pod uwagę powyższe uwagi,

zrobić fork'a repozytorium, wprowadzić zmiany i następnie otworzyć pull request.

W przypadku, gdy nie wiesz o co mi chodzi, "google it", doczytaj i wtedy zrób wszystko po kolei

- gwarantuję, że podstawy Git'a i GitFlow na pewno ci się kiedyś przydadzą ;)

Odpowiedz

  • +
  • -
Robiin - zdjęcie Robiin 07.02.2019

Posiadasz jakiś pomysł jak do Twojego CoDa dodać spadochron?

Klawisz E już jest zajęty, myślałem żeby przerobić skill klasy pod klawisz od radia( radio1, radio2, radio3) a spadochron zostawić pod E. Co o tym myślisz?

 

Możesz sprawdzać, czy gracz jest w danej odległości od podłoża, jeśli tak - otwierać spadochron, jednocześnie blokować wykonywanie się umiejętności klasy, przez co 'przewidujesz' (co prawda niedokładnie, ale jednak) zamiary gracza.

Odpowiedz

  • +
  • -
Eryk172 - zdjęcie Eryk172 08.02.2019

Dokładnie, na wszystkie pytania znałem w sumie odpowiedzi.. ale :wstyd:

Odpowiedz

  • +
  • -
Eryk172 - zdjęcie Eryk172 08.02.2019

Propozycja odnośnie klanów oraz misji, może wspólne misje dla członków klanów?

Zabicie 500 graczy wspólnie? itd...

Odpowiedz

  • +
  • -
Rivit - zdjęcie Rivit 12.02.2019

Czy mi się wydaje czy 

userConnected

nigdzie nie jest używane?

public client_death(killer, victim, weaponId, hitPlace, teamKill)
{
	if (!is_user_connected(killer) || !is_user_connected(victim) || !is_user_alive(killer) || get_user_team(victim) == get_user_team(killer)) return PLUGIN_CONTINUE;

Redundantny warunek masz :D

Tak sobie czytałem do obiadku, projekt supcio śledze na bieżąco :D

Odpowiedz

  • +
  • -
HUNT123 - zdjęcie HUNT123 14.02.2019

error.png

Odpowiedz

  • +
  • -
DarkGL - zdjęcie DarkGL 14.02.2019

Sprobuj skompilować kompilatorem 1.8.3

Odpowiedz

  • +
  • -
Paweł. - zdjęcie Paweł. 14.02.2019

Kompilatorem 1.9 spróbuj, powinno zadziałać.

Odpowiedz

  • +
  • -
O'Zone - zdjęcie O'Zone 15.02.2019

Propozycja odnośnie klanów oraz misji, może wspólne misje dla członków klanów?

Zabicie 500 graczy wspólnie? itd...

Pomysł wspólnych misji bardzo fajny, ale sensowna implementacja na pewno nieco czasochłonna.

Dodam tą koncepcję jako nowy issue na GitHubie, ale z labelem help-wanted, bo nie wiem,

czy sam będę miał na to wystarczająco dużo czasu w najbliższej przyszłości.

 

Czy mi się wydaje czy 

userConnected

nigdzie nie jest używane?

public client_death(killer, victim, weaponId, hitPlace, teamKill)
{
	if (!is_user_connected(killer) || !is_user_connected(victim) || !is_user_alive(killer) || get_user_team(victim) == get_user_team(killer)) return PLUGIN_CONTINUE;

Redundantny warunek masz :D

Tak sobie czytałem do obiadku, projekt supcio śledze na bieżąco :D

userConnected jest używane jako flaga ustawiana graczowi dopiero po faktycznym wejściu na serwer (w client_putinserver),

żeby zmienną playersNum zmniejszać w client_disconnected, tylko jeśli była zwiększona w client_putinserver.

Takie lekkie skomplikowanie prostej rzeczy, bo chciałem tutaj bardzo konkretny sposób działania :D

 

O, faktycznie. Powiedziałbym, że !is_user_alive(killer) może działać tutaj na szkodę, np. przy zabiciu granatem już po śmierci.

Odpowiedz

  • +
  • -
Rivit - zdjęcie Rivit 16.02.2019

A czym się rozni playersNum od get_playersnum? Nie ufasz temu natywowi?

 

 

+ bardziej chodziło mi, że is_user_alive sprawdza is_user_connected, więc bez sensu sprawdzać oba


Użytkownik TibacK edytował ten post 16.02.2019 15:21
Odpowiedz

  • +
  • -
O'Zone - zdjęcie O'Zone 16.02.2019

A czym się rozni playersNum od get_playersnum? Nie ufasz temu natywowi?

 

 

+ bardziej chodziło mi, że is_user_alive sprawdza is_user_connected, więc bez sensu sprawdzać oba

 

Bardzo dobre pytanie, na które odpowiedź brzmi: niczym :D Była to na pewno decyzja budząca wątpliwości.

get_playersnum jest zresztą także wykorzystywany w silniku, jak i pluginach misji i honoru.

Także dla pozbycia się tej niekonsekwencji, pozbędę się playersNum.

 

Tak, jak najbardziej zdaję sobie z tego sprawę. Aczkolwiek w tym konkretnym wypadku usunięcie sprawdzania is_user_connected

i pozostawienie is_user_alive nie jest dobrą decyzją, z powodu o którym wspomniałem wcześniej.
 

Odpowiedz

  • +
  • -
SecretARczi - zdjęcie SecretARczi 19.02.2019

[AMXX] Plugin "cod_mod.amxx" failed to load: Plugin uses an unknown function (name "cod_get_user_time_text") - check your modules.ini. 

Odpowiedz