
Jeżeli będzie to umieszczone w OnHeartBeat kilkunastu postaci, to sądzę, że obciąży to nieźle system, jeżeli ma co ileś sekund sprawdzać dla każdej postaci, czy aktualnie jest noc. Dodatkowo doliczając do tego inne skrypty, animacje itd.
#include "nw_i0_generic"<br /> void main()<br /> {<br /> if (GetAILevel() == AI_LEVEL_VERY_LOW) return;<br /> if(GetSpawnInCondition(NW_FLAG_FAST_BUFF_ENEMY))<br /> {<br /> if(TalentAdvancedBuff(40.0))<br /> {<br /> SetSpawnInCondition(NW_FLAG_FAST_BUFF_ENEMY, FALSE);<br /> return;<br /> }<br /> }<br /> if(GetHasEffect(EFFECT_TYPE_SLEEP))<br /> {<br /> if(GetSpawnInCondition(NW_FLAG_SLEEPING_AT_NIGHT))<br /> {<br /> effect eVis = EffectVisualEffect(VFX_IMP_SLEEP);<br /> if(d10() > 6)<br /> {<br /> ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, OBJECT_SELF);<br /> }<br /> }<br /> }<br /> else if ( GetWalkCondition(NW_WALK_FLAG_CONSTANT) )<br /> {<br /> WalkWayPoints();<br /> }<br /> else if ( !GetIsObjectValid(GetAttemptedAttackTarget())<br /> && !GetIsObjectValid(GetAttemptedSpellTarget())<br /> && !GetIsObjectValid(GetNearestSeenEnemy()))<br /> {<br /> if (GetBehaviorState(NW_FLAG_BEHAVIOR_SPECIAL) || GetBehaviorState(NW_FLAG_BEHAVIOR_OMNIVORE) ||<br /> GetBehaviorState(NW_FLAG_BEHAVIOR_HERBIVORE))<br /> {<br /> DetermineSpecialBehavior();<br /> }<br /> else if (!IsInConversation(OBJECT_SELF))<br /> {<br /> if (GetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS)<br /> || GetSpawnInCondition(NW_FLAG_AMBIENT_ANIMATIONS_AVIAN)<br /> || GetIsEncounterCreature())<br /> {<br /> PlayMobileAmbientAnimations();<br /> }<br /> else if (GetSpawnInCondition(NW_FLAG_IMMOBILE_AMBIENT_ANIMATIONS))<br /> {<br /> PlayImmobileAmbientAnimations();<br /> }<br /> }<br /> }<br /> if(GetSpawnInCondition(NW_FLAG_HEARTBEAT_EVENT))<br /> {<br /> SignalEvent(OBJECT_SELF, EventUserDefined(EVENT_HEARTBEAT));<br /> }<br /> }
if (GetAILevel() == AI_LEVEL_VERY_LOW) return;
void main()<br /> {<br /> if(!GetIsNight()) return;<br /> }