Skocz do zawartości

Zablokowane #1 Uczymy sie pisac pluginy.


Play

Rekomendowane odpowiedzi

Witajcie,  dziś wam pokażę jak napisać prosty pluginy i jak się do tego zabrać.

 

 

1. Przygotowujemy środowisko pracy.

 

 

Pobieramy program "AMXX-Studio" do kompilacji, przerabiania i pisania własnych pluginów (można go pobrać z http://www.amxmodx.org/ , znajduje się w packu AMX Mod X Full Installer)

 

Tutaj opiszę jak skonfigurować program, aby można było kompilować pluginy:

 

1) Otwieramy AMXX-Studio

2) Klikamy "F12" lub wchodzimy w Compiler > Compiler Setings.

3) 

amxx.png

Kolor Niebieski - podajemy adres do naszego pliku (amxxpc.exe to kompilator znajdziecie go w AMXX-Studio >scripting

Kolor Zielony - Wybieramy miejsce gdzie ma się nam zapisywać skompilowane pluginy, klasy, perki, itp

 

 

 

Klikamy ok i od tej pory kompilowanie pluginów nie powinno stwarzać problemu tylko otwieramy i klikamy F9 lub compile.

#include <amxmodx>
#include <fun>
#include <cstrike>
  • Biblioteka, bez której nie wykonamy pewnych rzeczy.

NP:

#include <fun>
  • jest to moduł, który zawiera instrukcje związane z "zabawą" (zmienianiem HP oraz armor'a gracza, wyrzucaniem jego wszystkich broni, itp.).
  • Bez niej nie moglibyśmy skorzystać z  set_user_health
#include <cstrike>
  • zawiera instrukcje, które pozwalają nam np. na zmienianie ilości pieniędzy gracza oraz także na zmienianie jego armor'a (jak w fun'ie) z tym, że tutaj możemy dodatkowo określić rodzaj kamizelki (sama kamizelka czy z hełmem).
  • Zawiera dużo funkcji do wprowadzania zmian w grze.
#define PLUGIN "New Plugin"
#define VERSION "1.0"
#define AUTHOR "Play"
  • Rejestrujemy nasz plugin.

 

 

Robimy to w funkcji plugin_init() W funkcji ten deklarujemy wszystkie event'y,

 

Pod:


register_plugin(PLUGIN, VERSION, AUTHOR)

dopisujemy:

register_clcmd("/freehp","Zdrowie")
  • Umożliwia nam to instrukcja register_clcmd("jaką_komendę_musi_wpisać_gracz","którą_funkcję_wywołuje_wpisana_komenda")
  • /freehp jest to komenda, którą gracz musi wpisać w say'u. Owa komenda wywołuje funkcję hp. Musimy tą funkcję teraz stworzyć.
  • Za ostatnim nawiasem klamrowym w naszym pluginie (za nawiasem zamykającym funkcję plugin_init()) dopisujemy :
public Zdrowie(id)
{
  • Wartość id w nawiasie jest to unikalny identyfikator gracza.
if(!is_user_alive(id))
{
  • Sprawdza czy gracz jest żywy.
client_print(id,print_chat,"[CSowicze] Nie mozesz skorzystac z tej uslugi, bo nie zyjesz")
  • jeśli nie to wyświetli mu taki komunikat jak wyżej: nie możesz skorzystać
return PLUGIN_HANDLED
  • Jeżeli gracz nie żyje, plugin jest kontynuowany.
if(get_user_health(id)>=150)
  • Sprawdza czy gracz ma więcej lub tyle samo HP jak 150
client_print(id,print_chat, "[CSowicze] Juz skorzystales z tej uslugi!")
  • jeśli tak, otrzyma na sayu taki komunikat.
return PLUGIN_HANDLED
  • jeśli nie, plugin jest kontynuowany.
set_user_health(id,150) 
  • ustawia życie graczowi.
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <fun>
#include <cstrike>

#define PLUGIN "New Plugin"
#define VERSION "1.0"
#define AUTHOR "Play"


public plugin_init() {
	
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	register_clcmd("/freehp","Zdrowie")
} 

public Zdrowie(id)
{
	
	if(!is_user_alive(id))
	{
		
		return PLUGIN_HANDLED
	}
	
	if(get_user_health(id)>=200)
	{
		
		client_print(id,print_chat, "[CSowicze] Juz skorzystales z tej uslugi!")
		
		return PLUGIN_HANDLED
	}	
        set_user_health(id,200)
        return PLUGIN_HANDLED
}  

Mam nadzieję że ktoś zrozumiał co nieco, w następnych poradnikach przedstawię wam więcej rzeczy.

http:

 

Jeżeli jesteś w czymś dobry, nigdy nie rób tego za darmo!

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie