Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- spawn_ghosts(org)
- {
- ghost = spawnStruct();
- ghost.model = spawn("script_model", org.origin);
- ghost.model.angle(org.origin);
- ghost.model setModel("ghost_model");
- ghost.damagePer = 1;
- ghost.maxDealtDamage = 10;
- ghost.damageDealt = 0;
- ghost thread handleDamage();
- }
- handleDamage() {
- while( true ) {
- if( !isDefined(self.model) )
- return;
- if( distance(self.model.origin, closestPlayer) < 10 ) {
- closestPlayer doDamage(self.damagePer);
- self.damageDealt += self.damagePer;
- }
- if( self.damageDealt > self.maxDealtDamage ) {
- self.model delete();
- return;
- }
- }
- }
- playersAlive()
- {
- players = getentarray("player", "classname");
- level.ghost_spawns = 0;
- for(i=0;i<players.size;i++)
- {
- level.ghost_spawns++;
- player[i] thread player_death();
- }
- wait 0.05;
- }
- player_death()
- {
- self waittill("death");
- level.ghost_spawns--;
- }
- ghosts_script()
- {
- org1=getent("trap1_org1","targetname");
- org2=getent("trap1_org2","targetname");
- org3=getent("trap1_org3","targetname");
- org_numb = RandomIntRange( 1, 3 );
- for(level.ghost_spawns)
- {
- thread spawn_ghosts("org"+org_numb);
- wait 0.8;
- }
- wait 0.5;
- }
- spawn_ghosts(org)
- {
- model = spawn("script_model", org.origin);
- model.angle(org.origin);
- model setModel("ghost_model");
- model thread moveToPlayer();
- model thread rotateToPlayer();
- model thread damageToPlayer();
- model thread modelHealth();
- }
- moveToPlayer()
- {
- self endon( "ghost_death" );
- for(;;)
- {
- self MoveTo( closestPlayer, 0.8 );
- wait 0.8;
- }
- wait 0,05;
- }
- rotateToPlayer()
- {
- self endon( "ghost_death" );
- for(;;)
- {
- self RotateTo( closestPlayer, 0.8 );
- wait 0.8;
- }
- wait 0,05;
- }
- damageToPlayer()
- {
- self endon( "ghost_death" );
- RadiusDamage( model.origin, 50, 25, 25, attacker );
- }
- modelHealth()
- {
- tank doDamage( self.health + 10, (0,0,0) );
- self notify("ghost_death");
- self delete();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement