Сделать свой класс оружия и изменить его параметры под свое настроение .
Поищи здесь.
Цитата
Нужно сделать замораживающий луч МОАРа не замораживающим, как это сделать?
Код |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
void CFreezingBeam::Hit(ray_hit &hit, const Vec3 &dir) { if (gEnv->bMultiplayer) if (CActor *pActor=m_pWeapon->GetOwnerActor()) if (pActor && !pActor->IsClient()) return; IEntity *pEntity = gEnv->pEntitySystem->GetEntityFromPhysics(hit.pCollider); float frost = m_freezeparams.freeze_speed>0.0f?m_freezeparams.freeze_speed*m_beamparams.tick:1.0f; int type=hit.pCollider->GetType(); if (pEntity && (type==PE_RIGID || type==PE_ARTICULATED || type==PE_LIVING || type==PE_WHEELEDVEHICLE || (type==PE_STATIC && g_pGame->GetWeaponSystem()->GetProjectile(pEntity->GetId())))) // static projectiles are allowed to be frozen { SimpleHitInfo info(m_pWeapon->GetOwnerId(), pEntity->GetId(), m_pWeapon->GetEntityId(), 0xe); info.value=frost; g_pGame->GetGameRules()->ClientSimpleHit(info); } } |
Код |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<firemode name="MOAR" type="FreezingBeam" enabled="0"> <fire> <param name="clip_size" value="-1" /> <param name="helper_tp" value="weapon_term" /> <param name="ammo_type" value="acmo" /> <param name="offset" value="0.15" /> <param name="spin_up_time" value="1" /> <param name="damage" value="0" /> <param name="reload_time" value="3.8" /> <param name="hit_type" value="frost" /> <param name="helper_tp" value="weapon_term_moar" /> <param name="helper_fp" value="weapon_term" /> </fire> |
Код |
|
1 |
<param name="hit_type" value="frost" /> |
Код |
|
1 2 3 4 5 6 7 8 |
<beam> <param name="hit_decal" value="materials/decals/alien_hunter_freeze.mtl" /> <param name="hit_decal_size" value="1.0" /> <param name="hit_decal_size_min" value="0.80" /> <param name="hit_decal_lifetime" value="20" /> <param name="hit_effect" value="bullet.hit_MOAR.a" /> <param name="hit_effect_scale" value="1" /> </beam> |
Код |
|
1 |
<param name="hit_effect" value="bullet.hit_MOAR.a" /> |
Код |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
<accessory name="MOARAttach" switchToFireMode="MOAR" exclusive="1"> <attach helper="attachment_front" layer="moar" /> <detach /> <params> <firemodes> <firemode name="MOAR"> <actions> <param name="spin_up" value="spin_up_moar" /> <param name="spin_down" value="spin_down_moar" /> <param name="blast" value="blast_moar" /> <param name="fire" value="fire_moar" /> </actions> <freeze> <param name="freeze_speed" value="0" /> </freeze> </firemode> </firemodes> </params> </accessory> |
Код |
|
1 |
<param name="freeze_speed" value="0" /> |
Код |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
void CFreezingBeam::Hit(ray_hit &hit, const Vec3 &dir) { /*if (gEnv->bMultiplayer) if (CActor *pActor=m_pWeapon->GetOwnerActor()) if (pActor && !pActor->IsClient()) return; IEntity *pEntity = gEnv->pEntitySystem->GetEntityFromPhysics(hit.pCollider); float frost = m_freezeparams.freeze_speed>0.0f?m_freezeparams.freeze_speed*m_beamparams.tick:1.0f; int type=hit.pCollider->GetType(); if (pEntity && (type==PE_RIGID || type==PE_ARTICULATED || type==PE_LIVING || type==PE_WHEELEDVEHICLE || (type==PE_STATIC && g_pGame->GetWeaponSystem()->GetProjectile(pEntity->GetId())))) // static projectiles are allowed to be frozen { SimpleHitInfo info(m_pWeapon->GetOwnerId(), pEntity->GetId(), m_pWeapon->GetEntityId(), 0xe); info.value=frost; g_pGame->GetGameRules()->ClientSimpleHit(info); }*/ } |