#include maps\mp\zombies\_zm_clone; #include common_scripts\utility; #include maps\mp\_utility; #include maps\mp\zombies\_zm_utility; spawn_player_clone( player, origin = player.origin, forceweapon, forcemodel ) { primaryweapons = player getweaponslistprimaries(); if ( isdefined( forceweapon ) ) weapon = forceweapon; else if ( primaryweapons.size ) weapon = primaryweapons[0]; else weapon = player getcurrentweapon(); weaponmodel = getweaponmodel( weapon ); spawner = getent( "fake_player_spawner", "targetname" ); if ( isdefined( spawner ) ) { while ( getfreeactorcount() < 1 ) { wait 0.05; } clone = spawner spawnactor(); clone.origin = origin; clone.isactor = 1; } else { clone = spawn( "script_model", origin ); clone.isactor = 0; } if ( isdefined( forcemodel ) ) clone setmodel( forcemodel ); else { clone setmodel( self.model ); if ( isdefined( player.headmodel ) ) { clone.headmodel = player.headmodel; clone attach( clone.headmodel, "", 1 ); } } if ( weaponmodel != "" && weaponmodel != "none" ) clone attach( weaponmodel, "tag_weapon_right" ); clone.team = player.team; clone.is_inert = 1; clone.zombie_move_speed = "walk"; clone.script_noteworthy = "corpse_clone"; clone.actor_damage_func = ::clone_damage_func; return clone; }