Code: Select all
#RequireContext CSmAction
#Include "TextLib" as TextLib
#Setting C_Cooldown 300
#Setting C_EnergyCost 1600
#Setting C_EnergyMax 6400
#Setting C_EnergyReload True
#Const C_LaserName1 "Beam 1"
#Const C_ProjectileName1 "Projectile 1"
#Const C_AnimName "Anim1"
Cooldown = C_Cooldown;
EnergyMax = C_EnergyMax;
EnergyCost = C_EnergyCost;
EnergyReload = C_EnergyReload;
declare AnimId0 = Anim_GetModelId(C_AnimName);
// MP3 - declare AnimId0 = GetAnimModelId(C_AnimName);
declare LaserId1 = Projectile_GetModelId(C_LaserName1);
declare ProjectileId1 = Projectile_GetModelId(C_ProjectileName1);
// MP3 - declare LaserId1 = GetProjectileModelId(C_LaserName1);
// MP3 - declare ProjectileId1 = GetProjectileModelId(C_ProjectileName1);
while (True) {
foreach (Event in PendingEvents) {
switch (Event.Type) {
case CSmActionEvent::EType::OnHitPlayer : {
// MP3 - SendRulesEvent("damage", [TextLib::ToText(Event.Damage)], Owner, Event.Player);
SendRulesEvent("damage", [TextLib::ToText(Event.Damage)], Owner, Event.Victim);
}
}
}
if (Owner != Null && Owner.SpawnStatus == CSmPlayer::ESpawnStatus::Spawned && IsActive && (Energy >= EnergyCost) && Cooldown_IsReady() && !Owner.IsOnTechNoWeapon && !Owner.IsInWater ) {
Cooldown_Start();
// MP3 if (Owner.SpawnStatus == CSmPlayer::ESpawnStatus::Spawned && IsActive && (Energy >= EnergyCost) && Cooldown_IsReady(Now) && !Owner.IsOnTechNoWeapon && !Owner.IsInWater ) {
Cooldown_Start();
Energy -= EnergyCost;
declare Anim0 = Anim_PlayOnPlayer(AnimId0, Owner);
// MP 3-PlayAnimOnPlayer(AnimId0, Owner);
declare Laser1 = Projectile_CreateOnPlayer(LaserId1, Owner);
// MP3 -CreateShoot(Owner, LaserId1);
declare Proj1 = Projectile_CreateOnPlayer(ProjectileId1, Owner);
// MP3 -CreateShoot(Owner, ProjectileId1);
SendRulesEvent("fire", [], Owner, Null);
}
yield;
}
After removing yield:Error [48,8] 'yield' is not allowed in this script. Script compilation failed
This script is using too many resources. This script should call yield more often
