[ROZWIĄZANE] Obrazenia dla druzyny TT - do...
Best Answer dasiek 06.11.2014 13:37
taki zapis
if(damagebits & DMG_BULLET) { if(get_user_team(id)== 1) { SetHamParamFloat(4, damage*2) } } if(damagebits & DMG_HE) { if(get_user_team(id)==1) { SetHamParamFloat(4, damage*2) } }
możesz bez problemu zastąpić
if(get_user_team(id)==1){ if(damagebits & DMG_BULLET || damagebits & DMG_HE){ SetHamParamFloat(4, damage*2) } }
(miejsce klamer nie ma znaczenia)
Dlaczego?
-Mniej ifów.
-Obecnie kod wykonuje się dla konkretnych obrażeń , sprawdzenia obrażeń wykonują się nawet, kiedy jest się w CT. W założeniach jest żeby działało dla VIP'a (co się wykonuje) oraz dla TT. myślę że mój zapis jest swojego rodzaju "optymalizacją".
Taka uwaga dot. samego algorytmu.
Go to the full post
Dziobak?
06.11.2014
Chciałbym się zapytać czy ten kod jest poprawnie napisany. Ten kod ma za zadanie:
- szansa 2/10 na większe obrażenia dla drużyny TT (VIP)
- szansa 2/10 na większe obrażenia z HE dla drużyny TT (VIP)
#define DMG_HE (1<<24) #define DMG_BULLET (1<<1)
RegisterHam(Ham_TakeDamage, "player", "fwTakeDamage");
public fwTakeDamage(id, this, idinflictor, idattacker, Float:damage, damagebits) { if(!is_user_connected(idattacker) && !Vip[idattacker]) return HAM_IGNORED; if(random_num(2, 10)!=1) return HAM_IGNORED; if(damagebits & DMG_BULLET) { if(get_user_team(id)== 1) { SetHamParamFloat(4, damage*2) } } if(damagebits & DMG_HE) { if(get_user_team(id)==1) { SetHamParamFloat(4, damage*2) } } return HAM_IGNORED; }
Jeżeli ktoś uważa że źle napisany, nie będzie działać to proszę o napisanie co byście jak napisali swoim zdaniem.
Best Answer
dasiek
06.11.2014
taki zapis
if(damagebits & DMG_BULLET) { if(get_user_team(id)== 1) { SetHamParamFloat(4, damage*2) } } if(damagebits & DMG_HE) { if(get_user_team(id)==1) { SetHamParamFloat(4, damage*2) } }
możesz bez problemu zastąpić
if(get_user_team(id)==1){ if(damagebits & DMG_BULLET || damagebits & DMG_HE){ SetHamParamFloat(4, damage*2) } }
(miejsce klamer nie ma znaczenia)
Dlaczego?
-Mniej ifów.
-Obecnie kod wykonuje się dla konkretnych obrażeń , sprawdzenia obrażeń wykonują się nawet, kiedy jest się w CT. W założeniach jest żeby działało dla VIP'a (co się wykonuje) oraz dla TT. myślę że mój zapis jest swojego rodzaju "optymalizacją".
Taka uwaga dot. samego algorytmu.