read_data a Wpływanie na obrażenia
Eustachy8
27.09.2012
zrobiłem to tak:
if (ma_g36c[this])
ten warunek na pewno przechodzi, ponieważ w innej funkcji podmienia dobrze broń
RegisterHam(Ham_TakeDamage, "player", "Fw_HamPlayerTakeDamage", 0) (...) public Fw_HamPlayerTakeDamage(this, idinflictor, idattacker, Float:damage, damagebits) { if (ma_g36c[this]) { new iWeapon = read_data(2); if(iWeapon == CSW_P90) { SetHamParamFloat(4, damage*2) //Wszystkie obrażenia są zmienione na 1 obojętnie od miejsca trafienia i broni } } }a dmg się nie zmienia ;<
if (ma_g36c[this])
ten warunek na pewno przechodzi, ponieważ w innej funkcji podmienia dobrze broń
Fili:P
27.09.2012
new iWeapon = read_data(2);
if(iWeapon == CSW_P90)
{
read_data tu nie zadziała użyj get_user_weapon( this );
Gość_21977_* 27.09.2012
Eustachy8
30.09.2012
jest tak:
public Fw_HamPlayerTakeDamage(this, idinflictor, idattacker, Float:damage, damagebits) { if (ma_g36c[this]) { new iWeapon=get_user_weapon( this ); if(iWeapon == CSW_P90) { ExecuteHam(Ham_TakeDamage, idinflictor, this, this, damage*2, (1<<31) | damagebits); } } }i zdarza się, że jak ktoś mnie zabije, sam również ginie
Gość_21977_* 14.10.2012
Nie bardzo rozumiem, co chcesz tutaj uzyskać.
Jeśli ofiara ataku ma g36c i jej obecna broń to CSW_P90,
to bytowi zadającemu obrażenia, ofiara sama z siebie zadaje dwukrotnie większe obrażenia od otrzymanych.
Nic dziwnego, że atakujący czasem ginie, ale chyba jest coś źle,
bo nie sądzę, żebyś chciał bytowi zadawać obrażenia (np. granatowi czy ścianie)
Sprecyzuj jeszcze raz, dokładnie, na czym Ci zależy (co chcesz osiągnąć).
Jeśli ofiara ataku ma g36c i jej obecna broń to CSW_P90,
to bytowi zadającemu obrażenia, ofiara sama z siebie zadaje dwukrotnie większe obrażenia od otrzymanych.
Nic dziwnego, że atakujący czasem ginie, ale chyba jest coś źle,
bo nie sądzę, żebyś chciał bytowi zadawać obrażenia (np. granatowi czy ścianie)
Sprecyzuj jeszcze raz, dokładnie, na czym Ci zależy (co chcesz osiągnąć).
Eustachy8
21.10.2012
kupuje g36c i zadaje 2x obrażenia przeciwnikom. Jak standardowo strzał p90 w noge zabiera np. 15dmg to ma 2x15
Gość_21977_* 21.10.2012
public Fw_HamPlayerTakeDamage(this, idinflictor, idattacker, Float:damage, damagebits){
if(ma_g36c[idattacker] && get_user_weapon(idattacker)==CSW_P90){
SetHamParamFloat(4, damage*2);
}
}
Użytkownik benio101 edytował ten post 23.10.2012 01:11
Poprawiłem kod pod HamSandwich
Jak się nazwać
23.10.2012
A co gdy rzucimy granat i szybko zmienimy na P90 ?public Fw_HamPlayerTakeDamage(this, idinflictor, idattacker, Float:damage, damagebits){
if(ma_g36c[idattacker] && get_user_weapon(idattacker)==CSW_P90){
SetHamParamFloat(4, damage*2);
}
}
K!113r
23.10.2012
Można zawsze poszukać podobnego problemu, np. w cod starym był właśnie taki bug z HE + Awp Sniper, wystarczy w dziale z łatkami coda poszukać.