Jak zabrać komus kille :)
Frezzi
01.09.2014
Witam.
Mam pytanie jak po wybraniu opcji np : Zwiększ Hp +1 (koszt 15 killi) .
To jaki jest kod na zabranie tych kili?
Frezzi
01.09.2014
a mógłbyś dodać to tego , masz podane komendy , bo ja nie mam bladego pojęcia
/* Plugin generated by AMXX-Studio */ #include <amxmodx> #include <amxmisc> #define PLUGIN "Upgrade" #define VERSION "1.0" #define AUTHOR "Frezzi" public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_clcmd("say /upgrade", "upgrade");.. } public upgrade(id) { new menu = menu_create("UpGrade menu","by Frezzi") menu_additem(menu,"Zwiększ HP +1hp (koszt 15 killi)","1",0) menu_additem(menu,"Zwiększ Dmg +1hp (koszt 20 killi)","2",0) menu_additem(menu,"Zmiejsz Widoczność (koszt 30 killi)","3",0) menu_setprop(menu,MPROP_NUMBER_COLOR,"\r") menu_setprop(menu,MPROP_EXITNAME,"Wyjscie") menu_setprop(menu,MPROP_NEXTNAME,"Nastepne") menu_setprop(menu,MPROP_BACKNAME,"Wstecz") menu_display(id,menu,0) } public cos_tam2(id,menu,item) { if(item==MENU_EXIT) { menu_destroy(menu) } new data[6], iName[64] new access, callback menu_item_getinfo(menu, item, access, data,5, iName, 63, callback) new key = str_to_num(data) switch(key) { case 1 : { //opcja 1 } case 2: { //opcja 2 } case 3: { //opcja 3 } } }
radim
01.09.2014
Wielkie Jol
Może i zabierze kille ale nie będą widoczne w tablicy wyników, dlatego po ustawieniu fragów należy ją "odświeżyć".
Może i zabierze kille ale nie będą widoczne w tablicy wyników, dlatego po ustawieniu fragów należy ją "odświeżyć".
new gmsgScoreInfo gmsgScoreInfo = get_user_msgid("ScoreInfo") set_user_frags(id,get_user_frags(id)-ilosc_fragow) message_begin(MSG_ALL,gmsgScoreInfo) write_byte(user) write_short(frags) write_short(cs_get_user_deaths(id)) write_short(0) write_short(get_user_team(id)) message_end()get_user_msgid do plugin_init
radim
01.09.2014
A podałem nie cały kod, brakuje czegoś?
Zmienną 'gmsgScoreInfo' dodajesz na plugin_init, gmsgScoreInfo = get_user_msgid("ScoreInfo") dodajesz w plugin_init, a resztę kodu umieszczasz w odpowiednim case po wyborze opcji z menu.
radim
01.09.2014
/* Plugin generated by AMXX-Studio */ #include <amxmodx> #include <amxmisc> #define PLUGIN "Upgrade" #define VERSION "1.0" #define AUTHOR "Frezzi" new gmsgScoreInfo public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_plugin(PLUGIN, VERSION, AUTHOR) register_clcmd("say /upgrade", "upgrade") gmsgScoreInfo = get_user_msgid("ScoreInfo") } public upgrade(id) { new menu = menu_create("UpGrade menu","by Frezzi") menu_additem(menu,"Zwiększ HP +1hp (koszt 15 killi)","1",0) menu_additem(menu,"Zwiększ Dmg +1hp (koszt 20 killi)","2",0) menu_additem(menu,"Zmiejsz Widoczność (koszt 30 killi)","3",0) menu_setprop(menu,MPROP_NUMBER_COLOR,"\r") menu_setprop(menu,MPROP_EXITNAME,"Wyjscie") menu_setprop(menu,MPROP_NEXTNAME,"Nastepne") menu_setprop(menu,MPROP_BACKNAME,"Wstecz") menu_display(id,menu,0) } public cos_tam2(id,menu,item) { if(item==MENU_EXIT) { menu_destroy(menu) } new data[6], iName[64] new access, callback menu_item_getinfo(menu, item, access, data,5, iName, 63, callback) new key = str_to_num(data) switch(key) { case 1 : { new ilosc_fragow = 15 set_user_frags(id,get_user_frags(id)-ilosc_fragow) message_begin(MSG_ALL,gmsgScoreInfo) write_byte(id) write_short(frags) write_short(cs_get_user_deaths(id)) write_short(0) write_short(get_user_team(id)) message_end() } case 2: { //opcja 2 } case 3: { //opcja 3 } } }
Jeżeli jesteś zielony, nie bierz się od razu za tak 'zaawansowany' plugin skoro i tak nic w nim nie pojmujesz. Polecam zajrzeć do działu "Tutoriale" i tam się czegoś poduczyć
Frezzi
02.09.2014
Już trochę poczytałem , ale co ci da skoro ja chce aby 1. zabierało 15 kill 2. 30 a 3.50?
GoldenKill
02.09.2014
Sprawdź
public UTIL_Buyforkille(id,amount) { if (get_user_frags(id) >= amount) { set_user_frags(id,get_user_frags(id)-amount) message_begin(MSG_ALL,gmsgScoreInfo) write_byte(id) write_short(frags) write_short(cs_get_user_deaths(id)) write_short(0) write_short(get_user_team(id)) message_end() return true } else { client_print(id,print_chat,"Nie masz tyle killi !") return false } return false } Przykład case 1: { if (!UTIL_Buyforkille(id,15)) return PLUGIN_HANDLED Moc 1 return PLUGIN_HANDLED } case 2: { if (!UTIL_Buyforkille(id,30)) return PLUGIN_HANDLED Moc 2 return PLUGIN_HANDLED } case 3: { if (!UTIL_Buyforkille(id,50)) return PLUGIN_HANDLED Moc 3 return PLUGIN_HANDLED }
Frezzi
02.09.2014
errory przy kompilacji
pliki.sma(14) : error 029: invalid expression, assumed zero pliki.sma(15) : warning 217: loose indentation pliki.sma(17) : error 029: invalid expression, assumed zero pliki.sma(20) : error 029: invalid expression, assumed zero pliki.sma(20) : error 017: undefined symbol "upgrade" pliki.sma(30) : error 017: undefined symbol "id" pliki.sma(30) : warning 215: expression has no effect pliki.sma(30) : warning 215: expression has no effect pliki.sma(30) : error 001: expected token: ";", but found ")" pliki.sma(30) : error 029: invalid expression, assumed zero pliki.sma(30) : fatal error 107: too many error messages on one line
Kod wygląda tak:
/* Plugin generated by AMXX-Studio */ #include <amxmodx> #include <amxmisc> #define PLUGIN "Upgrade" #define VERSION "1.0" #define AUTHOR "Frezzi" public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_clcmd("say /upgrade", "upgrade");.. } public upgrade(id) { new menu = menu_create("UpGrade menu","by Frezzi") menu_additem(menu,"Zwiększ HP +1hp (koszt 15 killi)","1",0) menu_additem(menu,"Zwiększ Dmg +1hp (koszt 20 killi)","2",0) menu_additem(menu,"Zmiejsz Widoczność (koszt 30 killi)","3",0) menu_setprop(menu,MPROP_NUMBER_COLOR,"\r") menu_setprop(menu,MPROP_EXITNAME,"Wyjscie") menu_setprop(menu,MPROP_NEXTNAME,"Nastepne") menu_setprop(menu,MPROP_BACKNAME,"Wstecz") menu_display(id,menu,0) } public byFrezzi(id,menu,item) { if(item==MENU_EXIT) { menu_destroy(menu) } new data[6], iName[64] new access, callback menu_item_getinfo(menu, item, access, data,5, iName, 63, callback) new key = str_to_num(data) switch(key) { case 1: public UTIL_Buyforkille(id,amount) { if (get_user_frags(id) >= amount) { set_user_frags(id,get_user_frags(id)-amount) message_begin(MSG_ALL,gmsgScoreInfo) write_byte(id) write_short(frags) write_short(cs_get_user_deaths(id)) write_short(0) write_short(get_user_team(id)) message_end() return true } else { client_print(id,print_chat,"Nie masz tyle killi !") return false } return false } { if (!UTIL_Buyforkille(id,15)) return PLUGIN_HANDLED Moc 1 return PLUGIN_HANDLED } case 2: { if (!UTIL_Buyforkille(id,30)) return PLUGIN_HANDLED Moc 2 return PLUGIN_HANDLED } case 3: { if (!UTIL_Buyforkille(id,50)) return PLUGIN_HANDLED Moc 3 return PLUGIN_HANDLED }
GoldenKill
02.09.2014
/* Plugin generated by AMXX-Studio */ #include <amxmodx> #include <amxmisc> #include <cstrike> #include <fun> #define PLUGIN "Upgrade" #define VERSION "1.0" #define AUTHOR "Frezzi" new gmsgScoreInfo public plugin_init() { register_plugin(PLUGIN, VERSION, AUTHOR) register_plugin(PLUGIN, VERSION, AUTHOR) register_clcmd("say /upgrade", "upgrade") gmsgScoreInfo = get_user_msgid("ScoreInfo") } public UTIL_Buyforkille(id,amount) { if (get_user_frags(id) >= amount) { set_user_frags(id,get_user_frags(id)-amount) message_begin(MSG_ALL,gmsgScoreInfo) write_byte(id) write_short(frags) write_short(cs_get_user_deaths(id)) write_short(0) write_short(get_user_team(id)) message_end() return true } else { client_print(id,print_chat,"Nie masz tyle killi !") return false } return false } public upgrade(id) { new menu = menu_create("UpGrade menu","by Frezzi") menu_additem(menu,"Zwiększ HP +1hp (koszt 15 killi)","1",0) menu_additem(menu,"Zwiększ Dmg +1hp (koszt 20 killi)","2",0) menu_additem(menu,"Zmiejsz Widoczność (koszt 30 killi)","3",0) menu_setprop(menu,MPROP_NUMBER_COLOR,"\r") menu_setprop(menu,MPROP_EXITNAME,"Wyjscie") menu_setprop(menu,MPROP_NEXTNAME,"Nastepne") menu_setprop(menu,MPROP_BACKNAME,"Wstecz") menu_display(id,menu,0) } public cos_tam2(id,menu,item) { if(item==MENU_EXIT) { menu_destroy(menu) } new data[6], iName[64] new access, callback menu_item_getinfo(menu, item, access, data,5, iName, 63, callback) new key = str_to_num(data) switch(key) { case 1: { if (!UTIL_Buyforkille(id,15)) return PLUGIN_HANDLED Moc 1 return PLUGIN_HANDLED } case 2: { if (!UTIL_Buyforkille(id,30)) return PLUGIN_HANDLED Moc 2 return PLUGIN_HANDLED } case 3: { if (!UTIL_Buyforkille(id,50)) return PLUGIN_HANDLED Moc 3 return PLUGIN_HANDLED } } return PLUGIN_HANDLED }
Zamiast Moc 1/Moc 2/Moc 3 dajesz swoją moc