Results 1 to 9 of 9

Thread: Player dies --> Spawn ammo box [Spearhead]

  1. #1
    Senior Member nene81's Avatar
    Join Date
    Nov 2014
    Location
    Seville, SPAIN
    Posts
    193

    Default Player dies --> Spawn ammo box [Spearhead]

    Hi everyone,

    I've typed a new script which spawns a Rifle_ammo_box when player dies (I have deactivated droppable).

    Code:
    main:
    	level.actual = 0
    	level.boxes = 0
    
    	thread check_players
    
    end
    
    
    check_players:
    
    	while (1)
    	{	
    		for (local.i = 1; local.i <= $player.size; local.i++)
    		{
    			local.player = $player[local.i]
    
    			if ( local.player != NULL && local.player != NIL && isAlive(local.player) )
    			{
    				//do nothing
    			}
    			else
    			{
    				if ( level.actual != local.player )
    				{
    					waitThread SpawnAmmo local.player
    				}
    			}
    		}
    		wait 0.2
    	}
    end
    
    
    SpawnAmmo local.player:
    
    	local.X = level.boxes
    
    	local.BulletBox[local.X] = spawn models/items/item_rifle_ammobox.tik
    	local.BulletBox[local.X].origin = local.player.origin
    	local.BulletBox[local.X].angles = ( 0 0 0 )
    	local.BulletBox[local.X].scale = 1
    	local.BulletBox[local.X] light 0 1 1 050
    	local.BulletBox[local.X] set_respawn_time 6000 // respawn time
    		
    	level.boxes++
    	level.actual = local.player
    end
    When Ammobox spawns and some player picks up it, the Ammobox respawns in the same position after a few seconds.

    I'm trying to avoid with red line (6000 seconds) (possible server overload?, when there are a lot of spawns positions...)
    It might have a lot of deaths = spawn positions...

    I wouldn like to make it by other way... Some idea?

  2. #2
    Developer RyBack's Avatar
    Join Date
    Apr 2014
    Location
    In Front of the screen
    Posts
    1,603

    Default

    there is a cvar , sv_drophealth or something like that , i can't remember

  3. #3
    Developer Sor's Avatar
    Join Date
    Aug 2010
    Location
    The Medieval City of Bruges
    Posts
    747

    Default

    If you want to disable respawning altogether, just use:

    local.BulletBox[local.X] set_respawn 0
    Morpheus Script (MoH) => You try to shoot yourself in the foot only to discover that MorpheusScript already shot your foot for you.

  4. #4
    Developer RyBack's Avatar
    Join Date
    Apr 2014
    Location
    In Front of the screen
    Posts
    1,603

    Default

    oh i just noticed ur talkin about ammos

    so

    here's a fixed version of ur script , it has some flaws


    main:

    while (1)
    {
    for (local.i = 1; local.i <= $player.size; local.i++)
    {
    local.player = $player[local.i]

    if !( local.player != NULL && local.player != NIL && isAlive(local.player) && !local.player.ammodroped) //use the not (!) operator
    {
    waitThread SpawnAmmo local.player

    }
    }
    wait 0.2
    }
    end


    SpawnAmmo local.player:

    //this array (local.bulletbox) won't work as u want it , the variable is removed/deleted once the thread reaches it's end command , it'll be filled with NILs and the last element will be current local.bulletbox , so you need to make it normal variable or level variable
    local.BulletBox = spawn models/items/item_rifle_ammobox.tik
    local.BulletBox.origin = local.player.origin
    local.BulletBox.angles = ( 0 0 0 )
    local.BulletBox.scale = 1
    local.BulletBox light 0 1 1 050
    local.player.ammodroped = bool 1
    wait 10 // ten sec's are enough ?
    local.BulletBox remove
    local.BulletBox = NULL
    local.player.ammodroped == bool 0
    end
    Last edited by RyBack; January 18th, 2015 at 10:32 AM.

  5. #5
    Senior Member nene81's Avatar
    Join Date
    Nov 2014
    Location
    Seville, SPAIN
    Posts
    193

    Default

    this doesn´t work:

    Code:
    SpawnAmmo local.player:
    
    	local.X = level.boxes
    
    	local.BulletBox[local.X] = spawn models/items/item_rifle_ammobox.tik
    	local.BulletBox[local.X].origin = local.player.origin
    	local.BulletBox[local.X].angles = ( 0 0 0 )
    	local.BulletBox[local.X].scale = 1
    	local.BulletBox[local.X] light 0 1 1 030
    	local.BulletBox[local.X] set_respawn_time 6000 // Tiempo de reaparición
    
    	if ( local.X >= 3 )
    	{
    
    		local.DEL = local.X - 3
    
    		local.BulletBox[local.DEL] remove
    		local.BulletBox[local.DEL] = NULL
    		
    	}
    		
    	level.boxes++
    	level.actual = local.player
    end
    "remove & NULL" doesn't delete previous spawn positions...(0,1,2,3...)

  6. #6
    Senior Member nene81's Avatar
    Join Date
    Nov 2014
    Location
    Seville, SPAIN
    Posts
    193

    Default

    I have tested:

    local.BulletBox[local.DEL] delete
    but nothing, spawn position reappears.

    How could I delete it?

    If I type

    local.BulletBox[local.X] set_respawn_time 0
    means BulletBox stays forever.

  7. #7
    Senior Member nene81's Avatar
    Join Date
    Nov 2014
    Location
    Seville, SPAIN
    Posts
    193

    Default

    Definitely, I can't delete a spawn object during the match.

    Is there any way to make it dissapear?

    A greeting!

  8. #8
    Developer RyBack's Avatar
    Join Date
    Apr 2014
    Location
    In Front of the screen
    Posts
    1,603

    Default


    local.object delete

    or

    local.object remove

    or

    local.object immediateremove


    but i'd prefer the second one

  9. #9
    Developer RyBack's Avatar
    Join Date
    Apr 2014
    Location
    In Front of the screen
    Posts
    1,603

    Default

    or if you want to hide it and show it later in the match


    local.object hide
    local.object notsolid


    and

    local.object show
    local.object solid

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •