←  Pytania

AMXX.pl: Support AMX Mod X i SourceMod

»

Problem Z CurWeapon i dodatkowe ammo

Zablokowany

  • +
  • -
Muzzi - zdjęcie Muzzi 30.01.2011

Witam wszystkich. Mam pewien problem. Mianowicie znalazłem funkcje/event



register_event("CurWeapon","Event_CurWeapon", "b")


I w kodzie curweapon jest :

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){
return PLUGIN_CONTINUE;
}
if(wid != stare_id_broni[id]){
ile_dodac_magazynek[id] = magazynek[id]/2;
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] = magazynek[id]/2;
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;

}

Zmienne

new magazynek[33];
new ile_dodac_magazynek[33]
new stare_id_broni[33]


I chodzi oto ze gdy dodam do zmiennej magazynek[id]+10 to powinien zwiększyć się magazynek u danego gracza. Niestety Ta funkcja nie działa. Byłbym bardzo wdzięczny gdyby ktoś zapodał mi gotową funkcje co dodaje ammo do magazynka lub poprawił tą oto tutaj.
Kto kolwiek pomoże dostanie +
Pozdrawiam.
Muzzzi.
Odpowiedz

GoldeN - zdjęcie GoldeN 31.01.2011

Ta funkcja działa. Tylko nie widać po prawej stronie na dole zmienionej liczby, ale jak zaczniesz strzelać, to zobaczysz, że nie za każdym razem ubywa ammo. ;x Widać jak sprawdzałeś.
Odpowiedz

  • +
  • -
Muzzi - zdjęcie Muzzi 31.01.2011

Ale właśnie chodzi mi oto żeby na dole też się zmieniło. Ma ktoś jakiś pomysł jak to zrobić ?
Odpowiedz

  • +
  • -
DarkGL - zdjęcie DarkGL 31.01.2011


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){
return PLUGIN_CONTINUE;
}
if(wid != stare_id_broni[id]){
ile_dodac_magazynek[id] = magazynek[id]/2;
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] = magazynek[id]/2;
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]--;
message_begin(MSG_ONE,get_user_msgid("AmmoPickup"),_,id);
write_byte(wid);
write_byte(ammo+1);
message_end();

}
return PLUGIN_CONTINUE;

}
Odpowiedz

  • +
  • -
Muzzi - zdjęcie Muzzi 03.02.2011

OK, działa. Dzięki za pomoc.
Temat do zamknięcia.
Odpowiedz
Zablokowany