Wieksza ilosc ammo dla danej klasy
slowly 26.08.2010
Witam.
Mam pytanko. Jak zrobić, że przy danej klasie mamy większą ilość ammo do wystrzelenia? Przykładowo:
Standardowo w ak47 jest 30 naboi. Ja chce, aby osoba posiadająca tą klasę miała na przykład 50.
Za all odpowiedzi bardzo dziękuję. Z góry pozdro, Slowly
Edited by slowly, 27.08.2010 09:45.
Mam pytanko. Jak zrobić, że przy danej klasie mamy większą ilość ammo do wystrzelenia? Przykładowo:
Standardowo w ak47 jest 30 naboi. Ja chce, aby osoba posiadająca tą klasę miała na przykład 50.
Za all odpowiedzi bardzo dziękuję. Z góry pozdro, Slowly
Edited by slowly, 27.08.2010 09:45.
DarkGL
28.08.2010
event zmiany broni
Edited by DarkGL, 28.08.2010 12:10.
register_event("CurWeapon","CurWeapon","be", "1=1") public CurWeapon(id) { new wid = read_data(2) // Id broni if(wid == CSW_XM1014 || wid == CSW_C4 || wid == CSW_FLASHBANG || wid == CSW_HEGRENADE || wid == CSW_KNIFE || wid == CSW_SMOKEGRENADE || klasa_gracza[id] != jakas_klasa){ return PLUGIN_CONTINUE; } if(wid != stare_id_broni[id]){ ile_dodac_magazynek[id] = ile_ammo_wiecej stare_id_broni[id] = wid; return PLUGIN_CONTINUE; } new ammo = read_data(3) // liczba naboi w magazynku if(ammo > stare_ammo[id]){ ile_dodac_magazynek[id] = ile_ammo_wiecej stare_ammo[id] = ammo; return PLUGIN_CONTINUE; } if(ile_dodac_magazynek[id] == 0){ return PLUGIN_CONTINUE; } new ent = fm_get_user_weapon_entity(id); if(ent){ cs_set_weapon_ammo(ent, ammo+1); ile_dodac_magazynek[id]--; } return PLUGIN_CONTINUE; } stock fm_get_user_weapon_entity(id, wid = 0) { new weap = wid, clip, ammo if (!weap && !(weap = get_user_weapon(id, clip, ammo))) return 0 new class[32] get_weaponname(weap, class, sizeof class - 1) return fm_find_ent_by_owner(-1, class, id) }globalne
new ile_dodac_magazynek[33] new stare_id_broni[33] new stare_ammo[33];
Edited by DarkGL, 28.08.2010 12:10.
slowly 28.08.2010
Błędy przy kompilacji wyskakują...:
Welcome to the AMX Mod X 1.8.1-300 Compiler. Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team dbmod.sma(1338) : warning 217: loose indentation dbmod.sma(1338) : error 029: invalid expression, assumed zero dbmod.sma(1338) : error 001: expected token: ";", but found "{" dbmod.sma(1350) : warning 225: unreachable code dbmod.sma(1350) : warning 217: loose indentation dbmod.sma(1429) : warning 217: loose indentation dbmod.sma(1436) : warning 217: loose indentation dbmod.sma(1440) : error 017: undefined symbol "ile_ammo_wiecej" dbmod.sma(1442) : warning 217: loose indentation dbmod.sma(1444) : error 021: symbol already defined: "ammo" dbmod.sma(1446) : error 017: undefined symbol "ile_ammo_wiecej" dbmod.sma(1448) : warning 217: loose indentation dbmod.sma(1462) : error 054: unmatched closing brace dbmod.sma(1718) : warning 217: loose indentation dbmod.sma(9502) : warning 217: loose indentation dbmod.sma(9510) : warning 217: loose indentation dbmod.sma(9518) : warning 217: loose indentation dbmod.sma(9528) : warning 217: loose indentation dbmod.sma(9538) : warning 217: loose indentation dbmod.sma(9548) : warning 217: loose indentation 6 Errors. Could not locate output file dbmod.amxx (compile failed).
slowly 28.08.2010
Podsyłam mój public curweapon:
@@EDIT:
Odpowie ktoś?
Edited by slowly, 30.08.2010 13:05.
public CurWeapon(id) { after_bullet[id]=1 new clip,ammo new weapon=get_user_weapon(id,clip,ammo) invisible_cast[id]=0 if(weapon == CSW_KNIFE) on_knife[id]=1 else on_knife[id]=0 if ((weapon != CSW_C4 ) && !on_knife[id] && (player_class[id] == Ninja || player_b_onlyknife[id]>0)) { client_cmd(id,"weapon_knife") engclient_cmd(id,"weapon_knife") on_knife[id]=1 } if (is_user_connected(id)) { if(player_class[id]==Paladyn && on_knife[id] && JumpsLeft[id]>0){ fm_set_user_longjump(id,true,true) } else{ fm_set_user_longjump(id,false,true) } //if (player_item_id[id] == 17 || player_b_usingwind[id] == 1)// engclient_cmd(id,"weapon_knife") if(player_sword[id] == 1) { if(on_knife[id]){ entity_set_string(id, EV_SZ_viewmodel, SWORD_VIEW) entity_set_string(id, EV_SZ_weaponmodel, SWORD_PLAYER) } if(weapon == CSW_C4){ entity_set_string(id, EV_SZ_viewmodel, C4_VIEW) entity_set_string(id, EV_SZ_weaponmodel, C4_PLAYER) } if(weapon == CSW_HEGRENADE){ entity_set_string(id, EV_SZ_viewmodel, HE_VIEW) entity_set_string(id, EV_SZ_weaponmodel, HE_PLAYER) } if(weapon == CSW_FLASHBANG){ entity_set_string(id, EV_SZ_viewmodel, FL_VIEW) entity_set_string(id, EV_SZ_weaponmodel, FL_PLAYER) } if(weapon == CSW_SMOKEGRENADE){ entity_set_string(id, EV_SZ_viewmodel, SE_VIEW) entity_set_string(id, EV_SZ_weaponmodel, SE_PLAYER) } } if(player_sword[id] == 0) { if(on_knife[id]){ entity_set_string(id, EV_SZ_viewmodel, KNIFE_VIEW) entity_set_string(id, EV_SZ_weaponmodel, KNIFE_PLAYER) } if(weapon == CSW_C4){ entity_set_string(id, EV_SZ_viewmodel, C4_VIEW) entity_set_string(id, EV_SZ_weaponmodel, C4_PLAYER) } if(weapon == CSW_HEGRENADE){ entity_set_string(id, EV_SZ_viewmodel, HE_VIEW) entity_set_string(id, EV_SZ_weaponmodel, HE_PLAYER) } if(weapon == CSW_FLASHBANG){ entity_set_string(id, EV_SZ_viewmodel, FL_VIEW) entity_set_string(id, EV_SZ_weaponmodel, FL_PLAYER) } if(weapon == CSW_SMOKEGRENADE){ entity_set_string(id, EV_SZ_viewmodel, SE_VIEW) entity_set_string(id, EV_SZ_weaponmodel, SE_PLAYER) } } if(bow[id]==1) { bow[id]=0 if(on_knife[id]) { entity_set_string(id, EV_SZ_viewmodel, KNIFE_VIEW) entity_set_string(id, EV_SZ_weaponmodel, KNIFE_PLAYER) } } set_gravitychange(id) set_speedchange(id) set_renderchange(id) if(player_class[id] == Nekromanta) g_haskit[id] = true else g_haskit[id] = false write_hud(id) } }Prosiłbym Ciebie DarkGL o przerobienie tego kodu tak, aby mnich miał +10 ammo na każdej broni.
@@EDIT:
Odpowie ktoś?
Edited by slowly, 30.08.2010 13:05.
DarkGL
31.08.2010
public CurWeapon(id) { after_bullet[id]=1 new clip,ammo new weapon=get_user_weapon(id,clip,ammo) invisible_cast[id]=0 if(weapon == CSW_KNIFE) on_knife[id]=1 else on_knife[id]=0 if ((weapon != CSW_C4 ) && !on_knife[id] && (player_class[id] == Ninja || player_b_onlyknife[id]>0)) { client_cmd(id,"weapon_knife") engclient_cmd(id,"weapon_knife") on_knife[id]=1 } if (is_user_connected(id)) { if(player_class[id]==Paladyn && on_knife[id] && JumpsLeft[id]>0){ fm_set_user_longjump(id,true,true) } else{ fm_set_user_longjump(id,false,true) } //if (player_item_id[id] == 17 || player_b_usingwind[id] == 1)// engclient_cmd(id,"weapon_knife") if(player_sword[id] == 1) { if(on_knife[id]){ entity_set_string(id, EV_SZ_viewmodel, SWORD_VIEW) entity_set_string(id, EV_SZ_weaponmodel, SWORD_PLAYER) } if(weapon == CSW_C4){ entity_set_string(id, EV_SZ_viewmodel, C4_VIEW) entity_set_string(id, EV_SZ_weaponmodel, C4_PLAYER) } if(weapon == CSW_HEGRENADE){ entity_set_string(id, EV_SZ_viewmodel, HE_VIEW) entity_set_string(id, EV_SZ_weaponmodel, HE_PLAYER) } if(weapon == CSW_FLASHBANG){ entity_set_string(id, EV_SZ_viewmodel, FL_VIEW) entity_set_string(id, EV_SZ_weaponmodel, FL_PLAYER) } if(weapon == CSW_SMOKEGRENADE){ entity_set_string(id, EV_SZ_viewmodel, SE_VIEW) entity_set_string(id, EV_SZ_weaponmodel, SE_PLAYER) } } if(player_sword[id] == 0) { if(on_knife[id]){ entity_set_string(id, EV_SZ_viewmodel, KNIFE_VIEW) entity_set_string(id, EV_SZ_weaponmodel, KNIFE_PLAYER) } if(weapon == CSW_C4){ entity_set_string(id, EV_SZ_viewmodel, C4_VIEW) entity_set_string(id, EV_SZ_weaponmodel, C4_PLAYER) } if(weapon == CSW_HEGRENADE){ entity_set_string(id, EV_SZ_viewmodel, HE_VIEW) entity_set_string(id, EV_SZ_weaponmodel, HE_PLAYER) } if(weapon == CSW_FLASHBANG){ entity_set_string(id, EV_SZ_viewmodel, FL_VIEW) entity_set_string(id, EV_SZ_weaponmodel, FL_PLAYER) } if(weapon == CSW_SMOKEGRENADE){ entity_set_string(id, EV_SZ_viewmodel, SE_VIEW) entity_set_string(id, EV_SZ_weaponmodel, SE_PLAYER) } } if(bow[id]==1) { bow[id]=0 if(on_knife[id]) { entity_set_string(id, EV_SZ_viewmodel, KNIFE_VIEW) entity_set_string(id, EV_SZ_weaponmodel, KNIFE_PLAYER) } } set_gravitychange(id) set_speedchange(id) set_renderchange(id) if(player_class[id] == Nekromanta) g_haskit[id] = true else g_haskit[id] = false write_hud(id) new wid = read_data(2) // Id broni if(wid == CSW_XM1014 || wid == CSW_C4 || wid == CSW_FLASHBANG || wid == CSW_HEGRENADE || wid == CSW_KNIFE || wid == CSW_SMOKEGRENADE || player_class[id] != Mnich ){ return PLUGIN_CONTINUE; } if(wid != stare_id_broni[id]){ ile_dodac_magazynek[id] = ile_ammo_wiecej stare_id_broni[id] = wid; return PLUGIN_CONTINUE; } new ammo = read_data(3) // liczba naboi w magazynku if(ammo > stare_ammo[id]){ ile_dodac_magazynek[id] = ile_ammo_wiecej stare_ammo[id] = ammo; return PLUGIN_CONTINUE; } if(ile_dodac_magazynek[id] == 0){ return PLUGIN_CONTINUE; } new ent = fm_get_user_weapon_entity(id); if(ent){ cs_set_weapon_ammo(ent, ammo+1); ile_dodac_magazynek[id]--; } return PLUGIN_CONTINUE; } }pisane na forum
slowly 31.08.2010
Po dodaniu tego jest błąd przy kompilacji:
Welcome to the AMX Mod X 1.8.1-300 Compiler. Copyright (c) 1997-2006 ITB CompuPhase, AMX Mod X Team dbmod.sma(1451) : warning 209: function "CurWeapon" should return a value Header size: 10104 bytes Code size: 331836 bytes Data size: 227676 bytes Stack/heap size: 16384 bytes; max. usage is unknown, due to recursion Total requirements: 586000 bytes 1 Warning. Done.
DarkGL
31.08.2010
ja nie widzę tam nigdzie error
no i zapomniałem zmienić
ile_ammo_wiecej na 10 ale to już sam zrobisz
daj na samym końcu
return PLUGIN_CONTINUE
Edited by DarkGL, 31.08.2010 12:40.
no i zapomniałem zmienić
ile_ammo_wiecej na 10 ale to już sam zrobisz
daj na samym końcu
return PLUGIN_CONTINUE
Edited by DarkGL, 31.08.2010 12:40.
slowly 31.08.2010
Działa, a jak zmienić żeby to było widoczne w prawym dolnym rogu ekranu, bo pokazuje się standardowa ilość...