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
 

G[o]Q - zdjęcie

G[o]Q

Rejestracja: 14.08.2009
Aktualnie: Nieaktywny
Poza forum Ostatnio: 26.03.2024 01:04
****-

#769610 Uważajcie OSZUST!

Napisane przez dasiek w 05.01.2021 18:51

najgorsze to nie robić nic :)

 

a potem żalić się w każdym możliwym temacie, w każdym możliwym miejscu, że "padło się ofiarom oszustffa, a te adminy z aemixa nic nie zrobili" co? 


  • +
  • -
  • 0


#722769 Tetris w javascript

Napisane przez grankee w 13.03.2016 22:31

No krócej za bardzo się nie dało. Tzn mogłem, ale patrząc w przyszłość wolałem to rozbudować, żeby później nie przerabiać jak przyjdą kolejne pomysły.

Można było 'animować' bez tych wszystkich obliczeń, wtedy byłoby mniej kodu, ale za to każdą klatkę animacji musiałbym obliczyć ręcznie, żeby nagle noga czy ręka nie wydłużyła się o 20%, a to oznacza w ciul kodu z kolei. Tak to ruch dzielę na 4 i pętlą robię animację. Mam gwarancję, że wszystkie części ciała zachowają swój rozmiar itd :P 

 

Muszę ogarnąć to requestAnimationFrame


  • +
  • -
  • 1


#714109 Gangi CS GO MOD

Napisane przez Marionetkaa w 02.11.2015 21:29

Jak w temacie zlecę plugin na klany\gangi na serwer CS GO MOD place 15zł przelewem
Kontakt gg :54037067
  • +
  • -
  • 5


#711300 Połączenie z jedną i dwiema bazami jednocześnie oraz wyświetlanie błędów

Napisane przez R1d4r w 01.09.2015 22:08

juz chyba nie powinno sie pisać poradników o mysql_*



a sprawdziłeś co się wyswietli np dla róznych id w zapytaniach?
 

 

Nie, pisałem od tak przy tworzeniu serwera. A pisałem to dlatego, że nie było to opisane. Nie wszędzie można znaleźć informacje o tym, a dla nowych może się przyda. ;)

 

 

$connectTWO

$zapytanie

za Polsko-Angielski kod powinno sie wieszac
 

 

A tam. Mi się wydaje że jest to lepiej, bardziej widoczne wtedy dla osób, które mają pierwszy raz z tym do czynienia. Myślałem nad tym i tak się rzuca w oczy. :D

 

 

tak samo jak za korzystanie z PHP :&

 

Korzystanie z PHP jest dobre, bo bez tego statystyki web by nie powstały. AmxBans'a by nie było i co za tym idzie trudniej zbanować takich uciekinierów czy też odbanowywać(tak, można też z konsoli serwera). :&


  • +
  • -
  • -1


#708536 [ROZWIĄZANE] wyszukanie w której tablicy (?[WymiarzexD?]) znajduje się string

Napisane przez MAGNET w 03.08.2015 23:08

public SzukajID(String:jakas_tablica[], iles_tam, String:szukany_tekst[])
{
 for(new i=0;i<iles_tam;i++)
 {
  if(StrEqual(jakas_tablica[i], szukany_tekst))
  return i
 }
 return 0;
}
new wynik = SzukajID(twoja_tablica, rozmiar, "Zielony");

0 - brak stringa
liczba nieujemna - element tablicy​


  • +
  • -
  • -1


#684096 Osoby Roku 2014 - Głosowanie

Napisane przez Onyke w 21.01.2015 16:36

Musisz wybrać odpowiedź w każdym pytaniu ankiety.

Dodajcie opcje do każdego głosowania, że nie głosujesz na nikogo :(

 


  • +
  • -
  • 1


#683385 atrakcyjny laptop do gier [700PLN]

Napisane przez smieszny w 17.01.2015 18:19

Takimi żartami, to mój dziadek konie płoszył.

Przestań proszę Cię bo naprawdę irytujesz sam siebie swoimi pseudo żartami tak jak na GHT. 

Zachowujesz się poniżej wieku intelektualnego 13-latka  z myślą zjedzenia wszystkich rozumów. Tak możliwe, lecz raczej kurzych rozumów. Nie masz nic do powiedzenia w kwestii treści wątku to proszę zamilcz  :facepalm:  Paniczu przez małe [p].


  • +
  • -
  • 2


#683356 atrakcyjny laptop do gier [700PLN]

Napisane przez smieszny w 17.01.2015 17:07

"atrakcyjny laptop do gier [700PLN]" - Twój nick jest adekwatny do tytułu tematu  :^D

Czy tu mowa o laptopie z kosmosu wartego 20 tyś PLN? 

Tu mowa o laptopie używanym pod gry do 700 PLN. 

Widziałem takie na allegro, lecz chciałbym się doradzić jaki jest możliwy sprzęt do gier. 

 

 

Twój nick jest adekwatny do tytułu tematu   :^D

Twój proszę Ciebie jest adekwatny do rozmiaru twego mózgu oraz bicepsa. O który nie chciałbym tu wspominać. 


  • +
  • -
  • 7


#678934 CS:GO w CS:1.6 ?

Napisane przez Onyke w 30.12.2014 11:28


dalo by sie zrobic gomod do cs 1.6

Co to jest ten gomod?

 


  • +
  • -
  • 2


#675579 Reklama Sieci w pluginie (SourceMod) #2

Napisane przez mastah7991 w 17.12.2014 20:13

Witam 

proszę o połączenie tego z pierwszym postem 

fora są konkurencyjne to wiemy jednak jeśli tak myślimy proszę o ukaranie np 

Sebula 

http://amxx.pl/topic...86-log-players/

http://amxx.pl/topic...nts-06-tag-you/

 

może nie jego ale reklamy są

tak samo w większości pluginów sourcemod DLATEGO zaznaczyłem że biega o sourcemoda

 

pozdrawiam 

 

 

//p.s proszę o przejrzenie tematu przez czerwonych bo to jest całkiem inna sytuacja :)


  • +
  • -
  • 5


#674624 Laptop do kwoty 3600 zł

Napisane przez Gibon97 w 11.12.2014 13:48


I jeszcze i5 czy i7 ?

 

Oczywiście i7. Oczywiście nie polecam windows 8 najgorsze "gów***" mam i jestem strasznie zawiedziony ponieważ nie które gry, programy mi nie działają ale jest jeden plus, że mam dużo fps w cs'ie.


  • +
  • -
  • -1


#674401 Tworzenie i modyfikacja entity

Napisane przez grankee w 09.12.2014 15:20

Witam. Postanowiłem trochę się rozpisać o entitach. Poradnik ten z założenia ma być długi i obszerny, a mój system pracy nie sprzyja więc czego nie skończę dziś, dopiszę jutro.
 
Entity to nic innego jak byty na mapie. Mapa (widzialna i namacalna bryła, wewnątrz której toczymy rozgrywkę wraz z jej wszystkimi elementami, które nie są odrębnymi bytami) sama w sobie też jest bytem o numerze 0.
Każde entity ma swój unikalny numer, raz nadany podczas tworzenia entity nigdy nie ulega zmianie. Oczywiście jeśli dany ent zostanie usunięty to jego numer zostaje "zwolniony" i może zostać on nadany kolejnemu entowi podczas jego tworzenia.
 
Entity posiada wiele właściwości, które z grubsza postaram się objaśnić. Podstawową sprawą jest, że ma kształt prostopadłościanu i jakiś model, czyli jakoś wygląda, ale model nie musi wcale się pokrywać z kształtem i wymiarami bytu. Do tworzenia lub modyfikacji tych właściwości możemy używać dwóch modułów - <engine> oraz <fakemeta>, jednak w tym tutorialu skupię się na tym pierwszym z prostego powodu - jest łatwiejszy i bardziej przejrzysty. Na koniec postaram się nie zapomnieć przedstawić przykładów użycia fakemety z tym samym skutkiem.
 
Do ustawiania właściwości entity używamy funkcji:
 
entity_set_byte(index,klucz,wartość)
entity_set_edict(index,klucz,wartość)
entity_set_float(index,klucz,Float:wartość)
entity_set_int(index,klucz,wartość)
entity_set_string(index,klucz,const wartość[])//tablica string
entity_set_vector(index,klucz,wartość)
 
 
ponadto:
 
entity_set_model(index,const sciezka_do_modelu[])
entity_set_origin(index,const Float:fNewOrigin[3])
entity_set_size(index,const Float:mins[3],const Float:maxs[3])
 
 
Te 3 ostatnie różnią się tym, że aktualizują zmienione dane w silniku gry. Koniecznie trzeba ich użyć, aby poprawnie stworzyć entity.
 
 
Pobierać te właściwości można funkcjami:
 
entity_get_byte(index,klucz)//zwraca returnem wartość typu int
entity_get_edict(index,klucz)//zwraca returnem wartość typu int
entity_get_float(index,klucz)//zwraca returnem wartość typu float
entity_get_int(index,klucz)//zwraca returnem wartość typu int
entity_get_string(index,klucz,tablica_znakow[],dlugosc_tablicy_znakow)//zwrot przez referencję do tablicy znaków podanej jako argument
entity_get_vector(index,klucz,tablica_float[3])//zwrot przez referencję do tablicy trójelementowej typu float
 
 
No dobra, ale co to jest ten klucz?
Jest to liczba całkowita określająca, którą właściwość chcemy sprawdzić/zmienić. Dla ułatwienia skorzystajmy z przygotowanych do tego elementów typu wyliczeniowego, dzięki czemu będziemy wiedzieli z grubsza co dany klucz nam zmieni. 
Każda funkcja ma przygotowany dla siebie typ wyliczeniowy, osobny dla byte,edict,float,int,string i vector(postaram się uzupełniać, może ktoś coś podpowie):
Spoiler
 
 
 
 
Podzielmy entity ze względu na klasę.
Pierwsza podstawowa klasa bez jakiej gra nie zainstnieje to
player
Więcej o graczu:
Spoiler
Dalej mamy najczęściej spotykane byty:
info_player_start - miejsce spawnu CT
info_player_deathmatch- miejsce spawnu Terro
func_buyzone - w jego wnętrzu można kupować
func_bomb_target - w jego wnętrzu można podkładać pakę
weapon_usp, weapon_glock i cała reszta broni - broń posiadana przez gracza
func_wall - ściana, ale nie tylko, paradoksalnie chyba żadna ściana nie jest bytem tej klasy tylko częścią mapy. Praktycznie każdy obiekt może być tej klasy(np. skrzynka, barierka...), są to obiekty nie pełniące żadnej roli specjalnej a jedynie mają być i istnieć.
func_breakable - obiekt, który da się zniszczyć np. szyba, kratka do wentylacji, skrzynki niszczone wybuchem bomby i wiele innych
func_illusionary - ma model, czyli jakoś wygląda, ale nie zatrzymuje pocisków, nie blokuje ruchu.
trigger_multiple - byt o solidzie 1 czyli SOLID_TRIGGER, jego dotknięcie alarmuje go, ale nie blokuje ruchu, zwykle alarmuje inny byt do wykonania thinku, czyli jakiejś czynności, np drzwi do otwarcia się na de_prodigy.
func_door - drzwi
func_door_rotating - drzwi obrotowe
func_ladder - drabina
trigger_hurt - rani po dotknięciu go
 
 
Postaram się coś jeszcze dopisać.
 
 
 
No to trochę teorii za nami, teraz pora stworzyć nasze entity:
Załóżmy, że potrzebna nam ściana, której ścieżka do modelu to "models/wall/wall.mdl"
new byt=create_entity("func_wall")//funkcja tworzy byt klasy func_wall, zwracając numer powstałego entity, który przypisujemy zmiennej 'byt'
entity_set_model(ent,"models/wall/wall.mdl")
new Float:mins[3],Float:maxs[3]//aby powstał prostopadłościan (takiego kształtu jest entity) musimy rozciągnąć go w przestrzeni za przeciwległe rogi i to właśnie odległości od originu do tych rogów
//odpowiednio do rogu najbardziej wysuniętego w kierunku ujemnym
mins[0]=-112.0//oś x
mins[1]=-113.0//oś y
mins[2]=-1.0//oś z (góra-dół)
//oraz najbardziej wysniętego w kierunku dodatnim
maxs[0]=115.0
maxs[1]=116.0
maxs[2]=117.0
entity_set_size(ent,mins,maxs)//ustawia w/w odległości-czyli po prostu rozmiar
new Float:origin[3]
entity_get_vector(id,EV_VEC_origin,origin)//tu pobieram położenie gracza, aby z grubsza wiedzieć gdzie to entity umieścić, jeśli mam własne dane co do położenia, 
//a nie interesuje nas położenie gracza, to przypisujemy dane do zmiennej origin[3]
origin[0]+=350.0//tu zmieniam położenie względem jednej z osi, żeby byt nie został stworzony na mnie (graczu) tylko w pobliżu
entity_set_origin(ent,origin)//ustawiam położenie bytu. Należy uważać, aby byt nie został stworzony w mapie, tzn jego część nie była schowana w podłodze, bo byt zacznie nam opadać powoli w dół aż zniknie całkowicie z pola widzenia. Dobrze ustawiony origin poskutkuje pojawieniem się nieruchomego bytu, ew pojawieniem się bytu i opadnięciem na ziemie.


entity_set_int(ent,EV_INT_solid,SOLID_BBOX)//ustawiamy dotykalność bytu (bez ustawionego movetype ( MOVETYPE_NONE ) nie przynosi efektu)
entity_set_int(ent,EV_INT_movetype,MOVETYPE_TOSS)//ustawiamy sposób poruszania się bytu, wybrany tutaj to po prostu kolidowanie z entitami, grawitacja
 
ważne, model musimy precachować:
public plugin_precache()
{
precache_model("models/wall/wall.mdl") 
}
Możliwe SOLIDy:
#define SOLID_NOT 0 /* Brak interakcji z obiektami */
#define SOLID_TRIGGER 1 /* Tworzy dotyk (alarmując funkcje), ale nie blokuje (można przez niego przejść) */
#define SOLID_BBOX 2 /* Tworzy dotyk (alarmując funkcje), blokuje */
#define SOLID_SLIDEBOX 3 /* Tworzy dotyk, ale nie na ziemi(nie czaje o co chodzi:P-nie testowałem) */
#define SOLID_BSP 4 /* Część mapy, tworzy dotyk (alarmując funkcje), blokuje */
Możliwe movetype'y:
#define MOVETYPE_NONE 0 /* nie porusza się */
#define MOVETYPE_ANGLENOCLIP 1 /* nie mam pojęcia - crashuje serwer jak ustawię */
#define MOVETYPE_ANGLECLIP 2 /* nie porusza się */
#define MOVETYPE_WALK 3 /* Tylko gracz tego używa - chodzenie po ziemi - ustawisz innemu entity=crash */
#define MOVETYPE_STEP 4 /* gravity, special edge handling -- monsters use this */
#define MOVETYPE_FLY 5 /* Koliduje z elementami mapy/entami, ale nie działa nań grawitacja */
#define MOVETYPE_TOSS 6 /* Koliduje z elementami mapy/entami, działa nań grawitacja */
#define MOVETYPE_PUSH 7 /* no clip to world, push and crush - nie testowałem, ale entity z solid_bsp mają ten movetype */
#define MOVETYPE_NOCLIP 8 /* Może posiadać prędkość tzn poruszać się, ale nie koliduje i nie działa nań grawitacja */
#define MOVETYPE_FLYMISSILE 9 /* extra size to monsters */
#define MOVETYPE_BOUNCE 10 /* Tak jak TOSS, ale odbija się od wszystkiego */
#define MOVETYPE_BOUNCEMISSILE 11 /* Odbija się, ale nie działa nań grawitacja */
#define MOVETYPE_FOLLOW 12 /* Śledzi ruchy celu (EV_ENT_aiment ?) */
#define MOVETYPE_PUSHSTEP 13 /* BSP model that needs physics/world collisions (uses nearest hull for world collision) */
 
Na koniec przełożenie na fakemete, np:
entity_set_int(id,EV_ENT_owner,1)
set_pev(id,pev_owner,1)
to jest to samo w działaniu, albo
entity_get_int(id,EV_ENT_owner)
pev(id,pev_owner)
albo
new classname[32]
entity_get_string(id,EV_SZ_classname,classname,31)
pev(id,pev_classname,classname,31)
 
 
 

 

Teraz już wiecie jak stworzyć swoje entity. Postaram się uzupełniać w wolnych chwilach, a także po waszych sugestiach i uwagach, na które bardzo liczę. Jak zbierzemy do kupy wiedzę paru osób to może powstać z tego na prawdę dobry poradnik.

  • +
  • -
  • 16


#672960 Przełącznik w menu.

Napisane przez oeN. w 01.12.2014 20:45

Wiedziałem... Kolego, nie chcę Cie obrażać ale czytaj ze zrozumieniem.

Ktoś bardziej myślący pomoże?


  • +
  • -
  • 1


#673822 Pytanie do formatex - czy mogę jako zmienną dać tablicę, którą aktualnie form...

Napisane przez NoLiFeR w 05.12.2014 20:51

Jest na to sposób.

 

Tworzysz nową zmienną, kopiujesz do niej tekst, i używasz w formatowaniu orginału z formatex jako jeden z parametrów, lecz nie jest to  wydajny sposób, lepiej używać format


  • +
  • -
  • -2


#673378 Dwa razy plugin_precache

Napisane przez ^Szeregowy^ w 03.12.2014 23:26

Wpadłem na jeszcze 1 pomysł moim zdaniem najlepszy :) pobieranie z pliku.ini 
 

 
/*
* AMXMODX script
* simple precaching script
* depends on amxmodx/configs/precache.ini
*/
 
#include <amxmodx>
#include <engine>
#include <amxmisc>
 
 
public plugin_init()
{
    register_plugin("precache", "1.0", "Nie Znajomy :)")
}
 
public plugin_precache()
{
new conffile[200]
new configdir[200]
 
get_configsdir(configdir,199)
format(conffile,199,"%s/precache.ini",configdir)
if(!file_exists(conffile))
{
log_amx("amxmodx/configs/precache.ini is missing!")
return 0
}
 
new lines = file_size(conffile,1)
new file[1024], len
for(new i=0;i<=lines;i++)
{
read_file(conffile,i,file,1023,len)
if(equal(file,"")) continue;
if(!equal(file,";",1)) precache_generic(file);
} 
return PLUGIN_HANDLED
}
 
 
 
Plik ten uzupełniamy nazwami(wraz z folderami) potrzebnych plików, po jednym w linijce.

sound/misc/sound.wav
sound/misc/sound.wav
models/model/model.mdl

Jeżeli chcemy wyłączyć pobieranie któregoś pliku to stawiamy średnik ";" jako pierwszy znak w linijce:

sound/misc/sound.wav
;sound/misc/sound.wav <= ten dźwięk jest wyłączony
models/model/model.mdl
 
itp :D