Need help?
Create a topic in the appropriate section
Don't write everything in the chat!Take a look at the marketplace
There you can buy
everything related to game serversDon't want a ban?
Please read our rules
Don't disturb the order!Sell or buy?
Use services of the guarantor
We will make your deal safe
- 0
-
Our picks
Собственно вопрос. Думаю многим будет интересено.
В скрипте "удары от зомби" прописано, что при ударе с шансом, даёт рану. При этом с шансом даёт заразу... Но, проблема в том, что заразу даёт вне зависимости, повесил ли зомби рану или нет.. Можете подсказать, что не так...
override void ProcessHit(float damage, EntityAI source, int component, string zone, string ammo, vector modelPos) { float dmg_max = m_Player.GetMaxHealth(zone, "Blood"); float dmg = damage; float bleed_threshold = GetGame().ConfigGetFloat( "CfgAmmo " + ammo + " DamageApplied " + "bleedThreshold" ); bool is_source_animal = false; bool is_source_wildanimal = false; bleed_threshold = Math.Clamp(bleed_threshold,0,1); foreach(string animal : m_InfectedAnimals) { if (source.IsKindOf(animal)) { is_source_animal = true; break; } } foreach(string wildanimal : m_WildAnimals) { if (source.IsKindOf(wildanimal)) { is_source_wildanimal = true; break; } } if (source.IsZombie()) { float chance = (float)MAGlobals.Get().g_ZombieBleedChance / 100; if (Math.RandomFloat01() < chance) { AttemptAddBleedingSource(component); if (Math.RandomFloat01() < 0.40) { m_Player.InsertAgent(eAgents.WOUND_AGENT, 100); } if (Math.RandomFloat01() < 0.05) { m_Player.InsertAgent(eAgents.BRAIN, 20); } if (Math.RandomFloat01() < 0.40) { m_Player.InsertAgent(RE_Agents.RAGEVIRUS, 20); } } } else if (is_source_animal) { float chance1 = 0.5; if (Math.RandomFloat01() < chance1) { AttemptAddBleedingSource(component); if (Math.RandomFloat01() < 0.30) { m_Player.InsertAgent(RE_Agents.RAGEVIRUS, 20); } if (Math.RandomFloat01() < 0.10) { m_Player.InsertAgent(eAgents.BRAIN, 20); } } } }
Share this post
Link to post
Share on other sites