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
 

diablix - zdjęcie

diablix

Rejestracja: 22.01.2010
Aktualnie: Nieaktywny
Poza forum Ostatnio: 26.03.2020 17:08
****-

#300406 diablixowa graficzka

Napisane przez diablix w 25.09.2011 21:36

@Fili:P

Dołączona grafika

Co do reszty, wolę o podaną tematykę (chyba że chcecie abstrakcyjne jakieś ^^)
  • +
  • -
  • 1


#299786 Kod na.. ciemną mape, mgłe ?

Napisane przez diablix w 24.09.2011 20:29

Poprzez engine ustawiasz światło na mapie flagą. Jak chcesz zrobić ciemno to

set_lights("a");

  • +
  • -
  • 1


#299508 equali pytanie

Napisane przez diablix w 24.09.2011 10:33

http://amxx.pl/topic...taini-i-equali/
  • +
  • -
  • 1


#298076 diablixowa graficzka

Napisane przez diablix w 19.09.2011 22:41

W sumie nie miałem pomysłu.. Jak chcesz coś lepszego to podaj konkretną tematykę :)

Dołączona grafika
  • +
  • -
  • 1


#298072 Odegranie dźwięku podczas skoku. (RAZ!)

Napisane przez diablix w 19.09.2011 22:25


public plugin_init() {
register_forward(FM_CmdStart, "fwCmdStart");
}

public fwCmdStart(id, iHandle){
if(is_user_alive(id)){
new iButtons = get_uc(iHandle, UC_Buttons);
new iOldbuttons = pev(id, pev_oldbuttons);

if(pev(id, pev_flags) & FL_ONGROUND && iButtons & IN_JUMP && !(iOldbuttons & IN_JUMP)){
client_cmd(id, "spk misc/skok.wav");
}
}
}

  • +
  • -
  • 1


#297679 Problemy z cstrike

Napisane przez diablix w 18.09.2011 20:20

Dark, a może dlatego że 2500 powinno być zapisane jako float?


set_pev(index, pev_health, 2500.0);

  • +
  • -
  • 1


#297675 diablixowa graficzka

Napisane przez diablix w 18.09.2011 20:07

Dopiero zaczynam się w to bawić :D

Dołączona grafika
Dołączona grafika
Dołączona grafika
Dołączona grafika

Oczywiście jeżeli ktoś zechce to mu wykonam avatar :)
  • +
  • -
  • 1


#296026 get/set user flags - użycie

Napisane przez diablix w 13.09.2011 22:19

Przy dodawaniu więcej niż jednej flagi musisz skorzystać z sumy bitowej


set_user_flags(id, ADMIN_MENU|ADMIN_RESERVATION);

  • +
  • -
  • 1


#295526 podmiana klawisza

Napisane przez diablix w 12.09.2011 19:38

Bindowanie bez zgody i ingerowanie w pliki gracza na tym forum jest zabronione. Są takie kombinacje klawiszy jak

IN_USE
IN_RELOAD
IN_ATTACK


itd, poczytaj dokumentację
  • +
  • -
  • 1


#295482 Prośba o plugin pożegnalny

Napisane przez diablix w 12.09.2011 18:24


#include <amxmodx>

#define VERSION "1.0"

public plugin_init() {
register_plugin("Pozegnanie", VERSION, "diablix")
}

public plugin_end(){
new sNextMap[32];
get_cvar_string("amx_nextmap", sNextMap, sizeof sNextMap - 1);

client_print(0, 3, "***dzięki za gre, teraz idziemy na ^"%s^"", sNextMap);
client_print(0, 3, "***dzięki za gre, teraz idziemy na ^"%s^"", sNextMap);
client_print(0, 3, "***dzięki za gre, teraz idziemy na ^"%s^"", sNextMap);
}

  • +
  • -
  • 1


#294185 zmienna -= damage/2

Napisane przez diablix w 09.09.2011 19:11

if(pancerz[id]) fDamage *= 0.5;

if(energia[id]) energia[id] -= fDamage;


Wszystko w kanapce robisz, 4 parametr (obrazenia)
  • +
  • -
  • 1


#293997 Tablice dynamiczne dla początkujących

Napisane przez diablix w 08.09.2011 22:53

Już jest taki temat ale postanowiłem że opiszę to prościej, tak żeby początkujący mogli to szybciej zrozumieć :)

Spis
Wstęp o tablicach dynamicznych↵
Tworzenie dynamicznych tablic↵
Dodawanie elementów do tablicy↵
Sprawdzanie zawartości komórek↵
Usuwanie zawartości komórek↵
Czyszczenie tablic↵

Czym się różnią dynamiczne tablice od zwyczajnych ?
Możesz ustalić wielkość tablicy w kodzie, jednak nawet jeżeli jej komórki zostaną wypełnione, tablica zostanie dynamicznie "powiększona"
Tablice te oczywiście są globalne.

Tworzenie dynamicznych tablic
Powrót do spisu↵

Tworzymy nowy obiekt

new Array:gArray;


Następnie go deklarujemy

Składnia funkcji ArrayCreate

ArrayCreate(cellsize = 1, reserved = 32)


cellsize - oznacza wielkość komórek pamięci.
Dla przechowywania obiektów typu string podajemy długość tekstu.
Dla obiektów int/float jest to jeden.

reserved - ile komórek pamięci ma zarezerwować, gdy podamy 5 będzie to 5. Czym się to różni od zwyczajnych tablic?
W tablicach dynamicznych ilość komórek jest przydzielana nawet w trakcie, gdy plugin już jest zainstalowany na serwerze, np gdy jej zabraknie.

public plugin_init() {
gArray = ArrayCreate(32, get_maxplayers());
}


Jak widzisz nasza tablica będzie przechowywać łańcuchy o maksymalnej długości 32.

Zarezerwowaliśmy ilość komórek równą maksymalnej ilości graczy, powiedzmy że będziemy
przechowywać imiona graczy.

Dodawanie elementów do tablicy
Powrót do spisu↵

Dla obiektów typu string
Mamy dwie opcje do wyboru

ArraySetString(Array:which, item, const input[]);


lub

ArrayPushString(Array:which, const input[]);


Czym się różnią te dwie funkcje?
  • Pierwsza funkcja zmienia wartość tekstową wskazanego elementu tablicy.
  • Druga natomiast dodaje do pierwszej wolnej komórki (Nie używanej, czyli zazwyczaj po ostatnim dodanym elemencie).
W naszym wypadku lepiej będzie zastosować tą pierwszą funkcję.



Dla obiektów typu int/float
Również mamy dwie opcję do wyboru

ArraySetCell(Array:which, item, any:input]);


lub

ArrayPushCell(Array:which, any:input);


Funkcje te działają tak samo jak dla obiektów string

Pierwsza funkcja zmienia zawartość danej komórki pamięci
Druga natomiast dodaje do pierwszej wolnej komórki (Nie używanej, czyli zazwyczaj po ostatnim dodanym elemencie).


Nasza pierwsza funkcja z użyciem tablic dynamicznych mogła by wyglądać tak

public dodajImieDoTablicy(id){
new sName[32];
get_user_name(id, sName, sizeof sName - 1);

if(ArraySize(gArray)){
new sTempName[32];

for(new i = 0 ; i < ArraySize(gArray) ; i ++){
ArrayGetString(gArray, i, sTempName, sizeof sTempName - 1);

if(equal(sTempName, sName)){
log_amx("Error! Juz istnieje element o tej samej zawartosci (tablica gArray)");
return;
}
}
}
ArraySetString(gArray, id, sName);

client_print(id, 3, "Twoje imie to : ^"%s^"", sName);
}


Funkcja zmieni(nie mylić z doda) wartość elementu tablicy równego id, jeżeli jeszcze nie ma takiej wartośći w danej tablicy.


Sprawdzanie zawartości komórek
Powrót do spisu↵

Jak już zauważyłeś punkt wyżej, żeby sprawdzić zawartość komórki która mieści obiekt typu string potrzebna jest nam pętla for
Tak samo jest w momencie gdy chcemy sprawdzić tablicę która mieści obiekty typu int
tylko że zamiast funkcją equal, sprawdzamy normalnym operatorem

==


for(new i = 0; i < ArraySize(gArray) ; i++){
if(id_gracza == ArrayGetCell(gArray, i)){
client_print(0, 3, "Zgadza sie!");
}
}


Usuwanie zawartości komórek
Powrót do spisu↵

Składnia funkcji

ArrayDeleteItem(Array:which, item)


which - uchwyt tablicy zwracany poprzez ArrayCreate
item - numer(index) elementu

Dla przykładu, jeżeli chcemy "wyczyścić" drugą komórkę, zrobimy to tak

ArrayDeleteItem(gArray, 2);


Czyszczenie tablic
Powrót do spisu↵

ArrayClear(Array:which)


Jak zwykle pisałem późno, więc pewnie coś pomyliłem. Opinie mile widziane ;)
  • +
  • -
  • 11


#293384 Switch

Napisane przez diablix w 06.09.2011 19:52

Dlatego najlepiej ubezpieczać się dodając

default: client_print(0, 3, "Standardowo!");

  • +
  • -
  • 1


#292871 Jeśli gracz stoi na ziemi

Napisane przez diablix w 05.09.2011 13:58

if(pev(id, pev_flags) & FL_ONGROUND){
//Gracz stoi na "czymś"
}


Jak chcesz sprawdzić czy stoi na danym bycie to w touchu

if(pev(id, pev_flags) & FL_ONGROUND && pev(id, pev_groundentity) == ent){
//Gracz stoi na bycie
}

  • +
  • -
  • 2


#292866 Crashe

Napisane przez diablix w 05.09.2011 13:51

Plugin jest dobry, jak dla mnie kwestia bazy sql (mi nie raz crashowało na niektórych hostingach), lub innego pluginu bądź poprostu hostingu serwera.
  • +
  • -
  • 1