the mod running very will in my mod serverside thankx.
main:
level.spot[1] = ( 549 -893 17 )
level.spot[2] = ( -232 -1008 17 )
level.spot[3] = ( 616 480 49 )
level.spot[4] = ( 311 1111 49 )
level.spot[5] = ( -596 335 -15 )
//*********************************************************************//
level.grenades[max_spawns] = 5 // max concurrent spawns \\
level.grenades[spawn_duration] = 30 // how long they stay in seconds \\
level.grenades[respawn_delay] = 60 // how long till they come back in seconds \\
level.grenades[axis_model] = "models/weapons/steilhandgranate.tik"
level.grenades[allies_model] = "models/weapons/m2frag_grenade.tik"
thread spawn_grenades
end
spawn_grenades:
for (local.i = 1; local.i <= level.grenades[max_spawns]; local.i++)
thread dm1ammo local.i
end
dm1ammo local.num:
if (local.num > level.spot.size)
{
println "*********** removing grenade spawn - not enough spots!"
end
}
while (1)
{
local.random = randomint (level.spot.size) + 1
if (level.spot_used[local.random])
{
waitframe // spot already taken - try again \\
}
else
{
break // free spot found - spawn the grenade \\
}
}
level.spot_used[local.random] = 1
spawn script_model "targetname" ("steilhandgranate" + local.num)
local.grenade = $("steilhandgranate" + local.num)
local.grenade model level.grenades[axis_model]
local.grenade.origin = level.spot[local.random]
local.grenade light 0.00 1.50 0.00 50
local.grenade solid
spawn trigger_use "targetname" ("ammotrigger" + local.num)
local.trigger = $("ammotrigger" + local.num)
local.trigger.origin = local.grenade.origin
local.trigger setsize ( -20 -20 0 ) ( 20 20 80 )
local.trigger.grenade = local.grenade
local.trigger.id = local.num
local.trigger.spot_index = local.random
local.trigger setthread gotammo
//*********************************************************************//
// wait for the spawn duration //
for (local.i = 0; local.i <= level.grenades[spawn_duration]; local.i++)
{
wait 1
if (!local.grenade) end // grenade picked up by player, stop here
}
// player didn't pick it up, remove and respawn //
local.grenade delete
local.trigger delete
level.spot_used[local.random] = 0
// do you want them to respawn instantly somewhere else if you haven't picked them up? \\
wait 1
// if you want them to respawn here after a delay remove above wait and add below: \\
//wait level.grenades[respawn_delay]
thread dm1ammo local.num
end
//*********************************************************************//
gotammo:
local.trigger = self
local.num = local.trigger.id
local.spot_index = local.trigger.spot_index
local.grenade = local.trigger.grenade
local.grenade delete
local.trigger delete
local.player = parm.other
local.team = local.player.dmteam
if ( local.team == "allies" )
{
local.player give level.grenades[allies_model]
}
else
{
local.player give level.grenades[axis_model]
}
local.player ammo grenade 1
local.player stufftext "say You picked a grenade!"
level.spot_used[local.spot_index] = 0
wait level.grenades[respawn_delay]
thread dm1ammo local.num
end