Uczę się pisać pluginy - czy to działa
Emru
26.12.2014
Witam. Stworzyłem na podstawie tutoriala z tego forum własny plugin (a raczej 5). Chciałbym wiedzieć, czy to zadziała. Ma graczowi za 6000 kasy dać tarcze.
/* Plugin generated by AMXX-Studio */ #include <amxmodx> #include <amxmisc> #include <fun> #include <cstrike> #define PLUGIN "Tarcza" #define VERSION "1.0" #define AUTHOR "Emru" new tarcza_koszt public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_cvar("tarcza_koszt","8000") register_clcmd("/say tarcza","shi") } public shi(id){ if(!is_user_alive(id)){ client_print(id,print_chat,"[Tarcza] Jestes trupem") return PLUGIN_HANDLED } if(cs_get_user_money(id)<get_pcvar_num(tarcza_koszt)){ client_print(id,print_chat,"[Tarcza] Nie stac Cie...") return PLUGIN_HANDLED } give_item(id, "weapon_shield") cs_set_user_money(id,cs_get_user_money(id)-get_pcvar_num(tarcza_koszt)) return PLUGIN_HANDLED }
he1st
26.12.2014
Moim zdaniem powinno być tak, ale zawsze mogę się mylić
/* Plugin generated by AMXX-Studio */ #include <amxmodx> #include <amxmisc> #include <fun> #include <cstrike> #define PLUGIN "Tarcza" #define VERSION "1.0" #define AUTHOR "Emru" new tarcza_koszt public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) tarcza_koszt = register_cvar("tarcza_koszt","8000") register_clcmd("/say tarcza","shi") } public shi(id) { if(!is_user_alive(id)) { client_print(id,print_chat,"[Tarcza] Jestes trupem") return PLUGIN_HANDLED } if(cs_get_user_money(id)<get_pcvar_num(tarcza_koszt)) { client_print(id,print_chat,"[Tarcza] Nie stac Cie...") return PLUGIN_HANDLED } give_item(id, "weapon_shield") cs_set_user_money(id,cs_get_user_money(id)-get_pcvar_num(tarcza_koszt)) return PLUGIN_HANDLED; }
Użytkownik MS.Zer0. edytował ten post 26.12.2014 18:12
NieWiemMamMac@
26.12.2014
#include <amxmodx> #include <amxmisc> #include <fun> #include <cstrike> #define PLUGIN "Tarcza" #define VERSION "1.0" #define AUTHOR "Emru" public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_clcmd("say /tarcza","shi") } public shi(id) { if(!is_user_alive(id)) { client_print(id,print_chat,"[Tarcza] Jestes trupem") } if(cs_get_user_money(id) >= 8000) { cs_set_user_money(id, cs_get_user_money(id)-8000); give_item(id, "weapon_shield") client_print(id,print_chat,"[Tarcza] Dostales Tarcze!") } else client_print(id,print_chat,"[Tarcza] Nie stac Cie...") }
Jeśli robisz to na serwer COD MOD to nie zadziała ..
Wtedy musiałbyś użyć
cod_set_user_shield(id, 1);
he1st
26.12.2014
#include <amxmodx> #include <amxmisc> #include <fun> #include <cstrike> #define PLUGIN "Tarcza" #define VERSION "1.0" #define AUTHOR "Emru" public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_clcmd("say /tarcza","shi") } public shi(id) { if(!is_user_alive(id)) { client_print(id,print_chat,"[Tarcza] Jestes trupem") } if(cs_get_user_money(id) >= 8000) { cs_set_user_money(id, cs_get_user_money(id)-8000); give_item(id, "weapon_shield") client_print(id,print_chat,"[Tarcza] Dostales Tarcze!") } else client_print(id,print_chat,"[Tarcza] Nie stac Cie...") }Jeśli robisz to na serwer COD MOD to nie zadziała ..
Wtedy musiałbyś użyć
cod_set_user_shield(id, 1);
Wszystko fajnie tylko nie podał takich informacji. Ogólnie wydaje mi się, że kod, który podałem jest ok. tym bardziej, że zawsze może sobie cenę tarczy ustawić cvarem, a nie edytować i kompilować za każdym razem, gdy chce zmienić cenę. Niemniej rzeczywiście na COD nie zadziała ten sposób, który podał/em i trzeba byłoby użyć cod_set_user_shield
NieWiemMamMac@
26.12.2014
Ogólnie wydaje mi się, że kod, który podałem jest ok
Mogę się mylić ale :
return PLUGIN_HANDLED;
Zatrzyma dalsze działanie...
No i oczywiscie przy użyciu :
cod_set_user_shield(id, wartosc);
Będzie trzeba dać event nowej rundy by zabierało tarcze
Użytkownik NieWiemMamMac@ edytował ten post 26.12.2014 20:14
Emru
26.12.2014
Rivit
26.12.2014
Można dać samo return lub return PLUGIN_*
Pytałem się o to na tym forum, wystarczy poszukać
Emru
26.12.2014
Dziękuje za pomoc. Jeszcze taka prośba. Czy te pluginy są poprawne? Wszystki są prawie takie same.
Załączone pliki
grankee
27.12.2014
ms zero, podales ten sam kod czy ja jestem taki zmeczony?
plugin jest napisany w działający sposób.
return PLUGIN_HANDLED w tym przypadku sprawi jedynie, że napis nie zostanie pokazany na czacie ani żadne kolejne pluginy go nie będą w stanie przechwycić.
Użytkownik grankee edytował ten post 27.12.2014 05:36
he1st
27.12.2014
ms zero, podales ten sam kod czy ja jestem taki zmeczony?
plugin jest napisany w działający sposób.
return PLUGIN_HANDLED w tym przypadku sprawi jedynie, że napis nie zostanie pokazany na czacie ani żadne kolejne pluginy go nie będą w stanie przechwycić.
Jesteś zmęczony Jak widzisz nie przypisał
tarcza_kosztwartości cvaru
register_cvar("tarcza_koszt","8000")
Więc zrobiłem to za niego
tarcza_koszt = register_cvar("tarcza_koszt","8000")