Dzisiaj chciałbym przedstawić jak pisać pluginy do naszego kochanego Counter-Strike'a
Nie będę opisywał zbyt wiele, gdyż jestem już w innej sieci, no ale cóż. Zacznijmy!
Na początek powinniśmy opatrzyć się w kompilator
Nie będę tutaj opisywał konfiguracji i innych rzeczy, poszukajcie ich w internecie. Programy do kompilowania i pisania z kolorowaniem składni:
AMXX Studio lub
[b]Pawn Studio[/b]. Czym jest kompilator? Kompilator jest aplikacją, która przekonwertuje nasz kod źródłowy[to co zaraz pokaże, niektórzy w PAWN'ie (język pluginów CS) mowią na to "sma"(rozszerzenie pliku źródłowego)]
Teraz część kodowa
Teraz, gdy włączymy program(jeden z wymienionych powyżej)
zobaczymy coś takiego:
Kod PHP:
/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <amxmisc>
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "Kompek"
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
// Add your code here...
}
Postaram się to opisać :-)
Kod PHP:
#include <amxmodx>
#include <amxmisc>
Dodajemy tutaj moduły, w <> jest nazwa modułu. Przykładowo, jeśli chcemy zmienić życie gracza musimy dodać moduł fun.
Kod PHP:
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "Kompek"
W "" wpisujemy dane pluginu, jak widać pierwsze to nazwa, drugie wersja, trzecie autor.
To funkcja, jest wywoływana automatycznie podczas startu mapy.
Otwarcie funkcji(klamra otwierajaca), przykladowo w delphi(nie jestem pewien) jest to begin.
Kod PHP:
register_plugin(PLUGIN, VERSION, AUTHOR)
Plugin tutaj rejestruje się do menu pluginów w AMXX'ie. Jak widać w nawiasach mamy nazwy naszych dyrektyw(#define).
Komentarz krótki(kompilator tego nie skompiluje, ale w kodzie zostanie)
długi to /* i kończy się */
Zakończenie działania funkcji(klamra zamykająca) :-) (w delphi end).
Jeśli mniej więcej rozumiecie o co chodzi zajdziemy troszkę dalej.
Dodajcie moduł
fun (jeśli czytaliście uważnie będziecie wiedzieli jak
)
Do funkcji plugin_init (po klamrze otwierajacej!!!) wpisujemy
Kod PHP:
register_clcmd("say /heal","hil")
Jak widać ta funkcja ma 2 paramerty, pierwszy to komenda którą trzeba wpisać (bez "say" trzeba wpisywać w konsole), a druga to nazwa funkcji która zostanie wywołana po wpisaniu(tu /heal). Teraz tworzymy funkcję
hil Zrobię to za Was, abyście nie mieli z tym problemów.
Kod PHP:
public hil(id)
{
set_user_health(id, 130)
}
Nasza funkcja ma tylko jeden parametr, id (czyli index gracza, 0=serwer, 1-32 to gracze). Tutaj id jest pobierane od gracza który wpisał komendę.
Odpowiada za zmienienie życia gracza, wpisujemy index i po przecinku ilość życia.
!!!UWAGA!!! Funkcja zmienia ilość życia, a nie dodaje je!!!
Ostatecznie plugin wygląda tak:
Kod PHP:
#include <amxmodx>
#include <amxmisc>
#include <fun>
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "Kompek"
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_clcmd("say /heal","hil")
}
public hil(id)
{
set_user_health(id, 130)
}
ENJOY! !PROSZĘ O NIE KOPIOWANIE!