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: Przegląda stronę główną
Poza forum Ostatnio: dziś, 08:25
*****

#777190 Dziwne błędy, diablo mod

Napisane przez Robiin w 26.08.2023 22:44

Każde "[]" to kolejny wymiar tablicy. Napis jest tablicą. Przechowujesz tablicę napisów - czyli dwa wymiary. Określanie wielkości tablicy odgórnie jest zbędne, jeśli nie jest wykorzystywane później do niczego innego - jeśli jest, to po prostu popraw "[ILE_KLAS]" na "[ILE_KLAS + 1]" (bo zakładam, że rozmiar się nie zgadza przez to, że masz tam jeszcze "Brak").

 

Więc

new Race[ILE_KLAS + 1][] = { "Brak", "Czarodziej", "Druid", "Paladyn", "Zabojca", "Nekromanta", "Wojownik", "Ninja", "Lowca"} 

lub

new Race[][] = { "Brak", "Czarodziej", "Druid", "Paladyn", "Zabojca", "Nekromanta", "Wojownik", "Ninja", "Lowca"} 

  • +
  • -
  • 1


#777181 Dziwne błędy, diablo mod

Napisane przez Robiin w 24.08.2023 18:31

Bo wciąż źle używasz funkcji format. Przeczytaj co jest napisane, policz do 4 i dopiero pisz kod - inaczej jesteś w błędnym kole.


  • +
  • -
  • 1


#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  24 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