Jak zrobić bezlik ammo z wybranej broni.
Danio7
22.01.2014
Jak w temacie prosiłbym o rozpisanie w postaci includów rejestru i kodu.
Halucyn
22.01.2014
Bilioteki:
#include <amxmodx> #include <amxmisc> #include <cstrike>
Zmienna:
new CSW_MAXAMMO[33]= {-2, 52, 0, 90, 1, 32, 1, 100, 90, 1, 120, 100, 100, 90, 90, 90, 100, 120, 30, 120, 200, 32, 90, 120, 90, 2, 35, 90, 90, 0, 100, -1, -1}
W plugin_init()
register_event("CurWeapon", "event_curweapon", "be", "1=1")
A na dole tworzysz nową funkcję publiczną:
public event_curweapon(id) { if(!is_user_alive(id)) return PLUGIN_CONTINUE; new weaponID= read_data(2) if(weaponID==CSW_C4 || weaponID==CSW_KNIFE || weaponID==CSW_HEGRENADE || weaponID==CSW_SMOKEGRENADE || weaponID==CSW_FLASHBANG) return PLUGIN_CONTINUE; if(cs_get_user_bpammo(id, weaponID)!=CSW_MAXAMMO[weaponID]) cs_set_user_bpammo(id, weaponID, CSW_MAXAMMO[weaponID]) return PLUGIN_CONTINUE; }
Danio7
22.01.2014
if(weaponID==CSW_C4 || weaponID==CSW_KNIFE || weaponID==CSW_HEGRENADE || weaponID==CSW_SMOKEGRENADE || weaponID==CSW_FLASHBANG) return PLUGIN_CONTINUE;
a jak to ma wyglądąć na jedną broń np. XM 1014
Halucyn
22.01.2014
Nie nie to działa inaczej. Chodzi o to, że nie można mieć bezliku w tych przedmiotach o których napisałeś. Np powielać C4.
Bezlik będziesz miał we wszystkich broniach (bonie dodajesz normalnie do klasy) oprócz tych właśnie tam wymienionych.
Czyli jeśli wstawisz do klasy, która ma XM1014 ten kod będzie ona również miała bezlik na tej broni.
Użytkownik Halucyn edytował ten post 22.01.2014 12:33
Danio7
22.01.2014
można close
Jednak nie może ktoś z tym pomóc jak mieć bezlik z jednej broni?
Jednak nie może ktoś z tym pomóc jak mieć bezlik z jednej broni?
Halucyn
22.01.2014
Zrób tak:
Usuń to:
if(weaponID==CSW_C4 || weaponID==CSW_KNIFE || weaponID==CSW_HEGRENADE || weaponID==CSW_SMOKEGRENADE || weaponID==CSW_FLASHBANG)
return PLUGIN_CONTINUE;
I ostatni if zamień na:
if(weaponID==CSW_XM1014 && cs_get_user_bpammo(id,weaponID)!=CSW_MAXAMMO[weaponID])
cs_set_user_bpammo(id, weaponID, CSW_MAXAMMO[weaponID])
Jak chcesz zmienić broń, zmieniasz nazwę tam gdzie xm1014. Kod bez code i może go troche rozstrzelić, bo na komórce jestem.
Użytkownik Halucyn edytował ten post 22.01.2014 19:44
Usuń to:
if(weaponID==CSW_C4 || weaponID==CSW_KNIFE || weaponID==CSW_HEGRENADE || weaponID==CSW_SMOKEGRENADE || weaponID==CSW_FLASHBANG)
return PLUGIN_CONTINUE;
I ostatni if zamień na:
if(weaponID==CSW_XM1014 && cs_get_user_bpammo(id,weaponID)!=CSW_MAXAMMO[weaponID])
cs_set_user_bpammo(id, weaponID, CSW_MAXAMMO[weaponID])
Jak chcesz zmienić broń, zmieniasz nazwę tam gdzie xm1014. Kod bez code i może go troche rozstrzelić, bo na komórce jestem.
Użytkownik Halucyn edytował ten post 22.01.2014 19:44
RasiaQ
22.01.2014
new weaponID= read_data(2) if(weaponID==CSW_C4 || weaponID==CSW_KNIFE || weaponID==CSW_HEGRENADE || weaponID==CSW_SMOKEGRENADE || weaponID==CSW_FLASHBANG) return PLUGIN_CONTINUE;
na to:
new weaponID= read_data(2) if(weaponID==CSW_BRON) return PLUGIN_CONTINUE;
Spróbuj
Halucyn
22.01.2014
RasiaQ a to nie będzie tak, że plugin będzie dalej wykonywany?
Popatrz: Jeśli ma broń to będzie kontynuowało, a jeśli nie ma tej broni to pominie ifa i dalej będzie wykonywało.
To co napiałaś nie zadziała. Lepiej tak jak ja napisałem dodać warunek do drugiego if.
Popatrz: Jeśli ma broń to będzie kontynuowało, a jeśli nie ma tej broni to pominie ifa i dalej będzie wykonywało.
To co napiałaś nie zadziała. Lepiej tak jak ja napisałem dodać warunek do drugiego if.
Halucyn
23.01.2014
Musiałeś coś źle zrobić... Klasa się skompilowała?
#include <amxmodx> #include <amxmisc> #include <cstrike> #include <codmod> new const nazwa[] = "bezlik z xm1014"; new const opis[] = "Brak"; new const bronie = 1<<CSW_XM1014; new const zdrowie = 0; new const kondycja = 0; new const inteligencja = 0; new const wytrzymalosc = 0; new CSW_MAXAMMO[33]= {-2, 52, 0, 90, 1, 32, 1, 100, 90, 1, 120, 100, 100, 90, 90, 90, 100, 120, 30, 120, 200, 32, 90, 120, 90, 2, 35, 90, 90, 0, 100, -1, -1} public plugin_init() { cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc); register_event("CurWeapon", "event_curweapon", "be", "1=1") } public event_curweapon(id) { if(!is_user_alive(id)) return PLUGIN_CONTINUE; new weaponID= read_data(2) if(weaponID==CSW_XM1014 && cs_get_user_bpammo(id, weaponID)!=CSW_MAXAMMO[weaponID]) { cs_set_user_bpammo(id, weaponID, CSW_MAXAMMO[weaponID]) } return PLUGIN_CONTINUE; }
Takie coś masz?