Forward jest wywolywany gdy następuje jakaś zmiana w naszym portfelu natomiast natywy mają na celu dodanie mozliwosci zlapania zmiany podczas uzycia cs_set_user_money.
Nie będe szczegółowo opisywać natywów i forwardu bo jest to zrobione w inc'u ale dam wam 2 przyklady:
przyklad nr1 pokazuje on rozróznienie kasy od silnika i z innych pluginów co moze się przydać.
/* Plugin generated by AMXX-Studio */ #include <amxmodx> #include <amxmisc> #include <money> #define PLUGIN "TesT MoneyApi" #define VERSION "1.0" #define AUTHOR "G[o]Q" public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_clcmd("dajkase","dodaj_kase"); register_clcmd("ustaw_kase","ustaw_kase"); } public dodaj_kase(id) add_user_money(id,100,1,0); public ustaw_kase(id) set_user_money(id,1000,1); public MoneyAddToPlayer(id,ilosc,premia,zrodlo){ if(premia>0) if(zrodlo==ENGINE) client_print(id,print_chat,"Dostales od silnika %d kasy i masz jej teraz:%d",premia,ilosc); else client_print(id,print_chat,"Dostales z nieznanego zrodla %d kasy i masz jej teraz:%d",premia,ilosc); else if(zrodlo==ENGINE) client_print(id,print_chat,"Straciles na rzecz silnika %d kasy i masz jej teraz:%d",premia,ilosc); else client_print(id,print_chat,"Przez nieznane zródlo straciles %d kasy i masz jej teraz:%d",premia,ilosc); }
przyklad nr2 zmniejsza on kasę którą dostajemy o 50%
/* Plugin generated by AMXX-Studio */ #include <amxmodx> #include <amxmisc> #include <Money> #define PLUGIN "TestAPI2" #define VERSION "1.0" #define AUTHOR "G[o]Q" public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_clcmd("dajkase","dodaj_kase"); register_clcmd("ustaw_kase","ustaw_kase"); } public dodaj_kase(id) add_user_money(id,100,1,0); public ustaw_kase(id) set_user_money(id,1000,1); public MoneyAddToPlayer(id,ilosc,premia,zrodlo){ new percent=50; new kasa=ilosc-premia+(premia/(100/percent)); if(premia>0){ client_print(id,print_chat,"Rząd zabral ci %d%s podatku VAT.",percent,"%%") client_print(id,print_chat,"Wiec zarobiles tylko %d i stan twojego konta to:%d.",premia/(100/percent),kasa) }else{ client_print(id,print_chat,"Dostales mandat w wysokosci:%d,ale Pan policjant dal ci znizke: %d%s",premia,percent,"%%") client_print(id,print_chat,"Wiec straciles tylko %d i stan twojego konta to:%d.",premia/(100/percent),kasa) } set_user_money_silent(id,kasa,0); }