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
 

vBullet. - zdjęcie

vBullet.

Rejestracja: 11.07.2012
Aktualnie: Nieaktywny
Poza forum Ostatnio: 03.02.2013 08:49
-----

#430914 [ROZWIĄZANE] Pierwszy plugin.

Napisane przez Gość w 11.07.2012 16:02

Pierwszą funkcją, jaka się wykonuje, jest plugin_init()
W tej funkcji wykonujesz podstawowe czynności, t.j. zarejestrowanie pluginu, dodanie nasłuchiwaczy (np. nasłuchiwaczy śmierci) etc.
Pomijając niedomknięty nawias w set_hudmessage, nie możesz wykonać tych funkcji związanych w HUDzie w głównym ciele funkcji.
Tym bardziej, pierwszy parametr funkcji show_hudmessage (id) wskazuje na konkretną osobę, a plugin nie wie, komu tę wiadomość wyświetlić (kim jest id)
Tak samo, jak nie wie, kiedy tę wiadomość wyświetlić.

Weźmy sobie na początek prosty przykład:
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <cstrike>

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "vBullet."


public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)

register_logevent("logevent_round_end", 2, "1=Round_End")
}

public logevent_round_end(){
set_hudmessage(255, 0, 0, -1.0, 0.01);
show_hudmessage(0, "Koniec rundy");
}
W plugin_init (odpowiednik main() dla wielu języków programowania) zarejestrujemy zdarzenie, jakim jest koniec rundy.
W przypadku wystąpienia tego zdarzenia, wykonamy funkcję logevent_round_end(), którą definiujemy osobno.
Funkcja ta wyświetli wiadomość "Koniec rundy" do wszystkich graczy na serwerze (parametr pierwszy równy 0 wysyła wiadomość do wszystkich).

Polecam Ci zapoznać się z kilkoma podstawowymi tutorialami i na ich podstawie napisać parę prostych pluginów.