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
 

Robiin - zdjęcie

Robiin

Rejestracja: 26.12.2015
Aktualnie: Nieaktywny
Poza forum Ostatnio: dziś, 21:19
*****

#776880 Szukam kodu na topke

Napisane przez Robiin w 01.06.2023 12:19

Fajny kod. Na pewno długo ci zajęło jego napisanie :)


  • +
  • -
  • 1


#776871 TakeDamage_Pre - sprawdzenie funkcji

Napisane przez Robiin w 30.05.2023 15:57

Proponowałbym zrobić jakiś config do tego. Przykładowy syntax:

m4a1:
    head: 50.0
    generic: 25.0
    chest: 20.0
    stomach: 20.0
    left_arm: 15.0
    right_arm: 15.0
    left_leg: 15.0
    right_leg: 15.0
    shield: 0.0

I potem względem tego wybierać damage. W ten sposób masz ładną i przejrzystą konfigurację i nie musisz rekompilować pluginu za każdym razem kiedy chcesz zmienić którąś z wartości.

Dodatkowo, jeśli używasz amxxa >= 1.9, to IsPlayer może użyć stałej dostępnej we wszystkich pluginach, które używają include "amxmodx" (czyli w praktycznie każdym); MAX_PLAYERS:

#define IsPlayer(%1) (1 <= %1 <= MAX_PLAYERS)

Reszta wygląda solidnie, ale już nie pamiętam kiedy ostatni raz pisałem coś w amxxie, więc mogę po prostu krzywo patrzeć


  • +
  • -
  • 2


#776864 TakeDamage_Pre - sprawdzenie funkcji

Napisane przez Robiin w 28.05.2023 19:04

Czym są te floaty w hit_area?

Generalnie zamiast robić switcha to pewnie dałoby radę zrobić to z jednym ifem:

if(bitsDamageType & DMG_BULLET && get_pdata_int(id, m_iTeam, XTRA_OFS_PLAYER) != get_pdata_int(iAttacker, m_iTeam, XTRA_OFS_PLAYER))
    SetHamParamFloat(4, hit_area[hitbox][id_based_on_weapon_id]);

Zakładając, że id_based_on_weapon_id będzie jakoś sensownie wyznaczany.

No i jeszcze kwestia HE, bo tam pewnie jest DMG_* inne, więc nie złapałby go if.


  • +
  • -
  • 1


#776368 AmxxPro.pl - Paczki & Pluginy CS 1.6

Napisane przez Robiin w 07.02.2023 13:00

Reklamujcie się dalej w taki sposób, zbierajcie co raz to więcej wrogów przez pajacowanie w tematach i czyste podpierdzielanie pluginów, a w końcu się ktoś wk***i i wam skończy działność xD

Jeśli ktoś kupił jakikolwiek z ich pluginów i chciałby się podzielić pliczkiem .amxx lub .sma (które oczywiście usunę po sprawie), to chętnie sprawdzę jak dużo kodu jest podrąbane z pluginów moich, Pawła itd.

 

Autor misji, Smiguel, to wciąż zbanowany SSTeam.

Ponadto dwa z pluginów, które ktoś mi podesłał:

 

 

Plugin skinów broni jest edytowaną kopią pluginu Kamilovvskiego: https://amxx.pl/topi...ru-broni-skiny/, ale autor zmieniony na "mpN`"

Różnice w niektórych linijkach to skutek dekompilacji - jestem pewny, że sma wygląda 1:1.

Lewo - kod mpN

Prawo - kod oryginalny

 

Spoiler

 

 

Plugin mLogs jest kolejną kopią pluginu: https://forums.allie...p/t-157135.html, autor znów zmieniony na "mpN`":

Spoiler

 


  • +
  • -
  • 15


#776214 [ROZWIĄZANE] [Problem] Rangi - wczytuje rangę po pierwszym fragu

Napisane przez Robiin w 28.01.2023 15:31

Podejrzewam, że client_authorized trzeba zmienić na client_putinserver, żeby kodzik ładowania rangi ładował się później. A najlepiej byłoby zrobić nową funkcję, która ładowałaby dane tylko przy wejściu na serwer.

W załączniku daję moją próbę rozwiązania problemu, ale jeśli mam być szczery to po napisaniu tego pluginu, już kilku osobom go poprawiałem bo miał w sobie jakiś błąd, którego już nie pamiętam..

Dodatkowo jako, że nie piszę już w amxxie to nie sprawdzałem mojej wersji na serwerze, jedynie przy kompilacji.

Załączone pliki


  • +
  • -
  • 1


#776180 Nauka Javy

Napisane przez Robiin w 24.01.2023 02:40

Ostatnio robiłem laby dla znajomego na studia w javie. Niemalże pierwszy raz pisałem w tym języku, a po kilku prostych zadaniach (typowe klepanki pokroju linked list, sortowania, nowe kolekcje itd) ogarniam podstawy i czuję się dobrze syntaxowo.

Także tak jak kolega wyżej napisał: jakiś projekcik i do przodu.

Jeśli umiesz już programować, to szkoda czasu na czytanie 15-minutowych artykułów po to, żeby dowiedzieć się jakiejś jednej małej rzeczy.

 

Polecam też skorzystać np. z ChatGPT, będzie (prawie) idealnym do tego narzędziem. Lub podejrzeć jakieś repo na githubie.


  • +
  • -
  • 2


#775999 [ROZWIĄZANE] Reset statystyk - blokowanie komendy po reconnecie

Napisane przez Robiin w 11.01.2023 18:23

Ano, bo źle komendy zarejestrowałem.

new const Commands[][] =
{
	"/rs",
	"/reset",
	"/resetscore"
};

na

new const Commands[][] =
{
	"say /rs",
	"say /reset",
	"say /resetscore"
};

  • +
  • -
  • 1


#775990 [ROZWIĄZANE] Reset statystyk - blokowanie komendy po reconnecie

Napisane przez Robiin w 11.01.2023 01:17


Nvault i sql jest zbędny. 

Nie, bo napisał, że ma się resetować po zmianie mapy. Brak snu robi swoje :)

 

 

Nie potrzebujesz ani sql ani nvaulta. Jeśli ma się wszystko resetować po zmianie mapy to wystarczy przechowywać nazwę gracza i ilość użyć. Zmiana mapy sama wyzeruje kolekcję. Polecam użyć hashmapy (Trie), gdzie kluczem będzie nick gracza a wartością aktualna ilość użyć komendy.

A jak już chcesz iść w tym kierunku @Boski, to polecam poczytać o Array (dynamiczne tablice).

 

Poprawna wersja w załączniku - ale nie testowałem.

Załączone pliki


  • +
  • -
  • 4


#775556 [ROZWIĄZANE] Players models - nie podmienia modelu urban

Napisane przez Robiin w 30.11.2022 19:13

Raczej nie, może być tak, że wystarczy zmienić skina modelu. Jak dla mnie to i tak jest wszystko takim dziwnym sposobem zrobione, że jak za miesiąc będziesz chciał coś zmienić to nie będziesz pamiętać o co tak właściwie chodzi.

 

https://amxx.pl/pevresearch#pev_skin


  • +
  • -
  • 1


#775194 zapis nvault

Napisane przez Robiin w 06.11.2022 22:45

Jeśli jest tylko jeden skin dla każdej broni, to:

Załączony plik  skins.sma   2,32 KB  22 Ilość pobrań
  skins.amxx

 

Ale ostrzegam, że nie testowałem tego, bo nie mam aktualnie kompilatora i jestem pod wpływem  :pije:


  • +
  • -
  • 1


#774747 ERROR : Mod_LoadModel

Napisane przez Robiin w 06.09.2022 06:59

Niektóre modele potrzebują też drugiego pliku, który ma taką samą nazwę z końcówką "T"
  • +
  • -
  • 1


#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


#774555 [ROZWIĄZANE] tablice wielowymiarowe

Napisane przez Robiin w 07.08.2022 16:58

Napis jest tablicą. Więc masz tablicę, która przechowuję tablicę tablic - czyli trójwymiarową. A zadeklarowałeś 2 wymiary ([][]).
Dlatego deklarację "models" zmień na:

new const models[][][] = {
	{"guerilla", "Zwykly Model"},
	{"gign", "Zwykly Model"},
	{"vendetta", "Vendetta"},
	{"MechaGerman", "Mecha German"}
}

 
Dla testu możesz sobie wypisać pewne dane:

log_amx("Model pierwszy, Nazwa: %s, Plik: %s", models[0][0], models[0][1]);

 
Dla ułatwienia możesz użyć enuma:

enum _: (+= 1)
{
    MODEL_FILE,
    MODEL_NAME
};

Wtedy użycie "models":

log_amx("Model pierwszy, Nazwa: %s, Plik: %s", models[0][MODEL_NAME], models[0][MODEL_FILE]);

  • +
  • -
  • 5


#774406 Jakaś funkcja do sprawdzania daty?

Napisane przez Robiin w 10.07.2022 12:53

Nigdy nie powinno się zapisywać do bazy danych sformatowanej daty - jest to niewygodne i nikomu nie służy (a w mysqlu nawet przeszkadza, bo wydaje mi się, że nie da się wtedy użyć tej wartości jako timestamp). Dlatego od razu zmień to na zapis unixowy.

Do sprawdzenia aktualnego czasu na serwerze użyj funkcji get_systime.

Później formatowanie to kwestia użycia np. funkcji z tegotematu.


  • +
  • -
  • 2


#774272 Free Car Mechanic Simulator 2018

Napisane przez Robiin w 28.06.2022 19:33

https://store.epicga...-simulator-2018


  • +
  • -
  • 3