Hello guys lets start here agin
Hello guys lets start here agin
Last edited by Old Fox; March 25th, 2019 at 10:42 PM.
Use the same things i have give to Nene but change only this part to take only 2 nades on the controlnade thread:
On the top of the script
if(local.player.ng == 2)
{
local.player iprint "You cant get more than 2 grenades"
}
On the bottom of the script
if(local.player.ng == NIL)
{
local.player.ng = 1
}
else
{
local.player.ng++
}
DoubleKill I dont have the same scr i have another one
main:
level.spot[1] = ( 148 974 48 )
level.spot[2] = ( 1588 1191 242 )
level.spot[3] = ( -547 2416 424 )
level.spot[4] = ( 224 1728 386 )
level.spot[5] = ( -173 1604 384 )
//*********************************************************************//
level.grenades[max_spawns] = 10 // max concurrent spawns \\
level.grenades[spawn_duration] = 30 // how long they stay in seconds \\
level.grenades[respawn_delay] = 0 // 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 iprint "You picked up a grenade"
level.spot_used[local.spot_index] = 0
wait level.grenades[respawn_delay]
thread dm1ammo local.num
end
Why are you trying to fit 10 grenades in 5 spots?
But you can only fit 1 grenade per spot obviously... I even coded defensively as I suspected you'd try to do it, which means it is impossible. 5 of those grenades will never spawn.
And if you want 5 grenades to 5 spots some of the code is redundant as there was no need to randomise their spawns really.
Last edited by 1337Smithy; August 19th, 2018 at 01:55 AM.
I have made the changes to this one but you still need the mike_torso modification and remove_onegrenade_counter.scr scipt from Nene post:
main:
thread check_alive
level.spot[1] = ( 148 974 48 )
level.spot[2] = ( 1588 1191 242 )
level.spot[3] = ( -547 2416 424 )
level.spot[4] = ( 224 1728 386 )
level.spot[5] = ( -173 1604 384 )
//*********************************************************************//
level.grenades[max_spawns] = 10 // max concurrent spawns \\
level.grenades[spawn_duration] = 30 // how long they stay in seconds \\
level.grenades[respawn_delay] = 0 // 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:
if(local.player.ng == 2)
{
local.player iprint "You cant get more than 2 nades!"
}
else
{
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 iprint "You picked up a grenade"
if(local.player.ng == NIL)
{
local.playe.ng = 1
}
else
{
local.player.ng++
}
level.spot_used[local.spot_index] = 0
wait level.grenades[respawn_delay]
thread dm1ammo local.num
}
end
check_alive:
while(1)
{
wait 0.02
for(local.i = 1;local.i <= $player.size;local.i++)
{
local.player = $player[local.i]
if(local.player == NULL)
end
if(!isalive local.player)
{
local.player.ng = 0
}
}
}
end
Last edited by DoubleKill; August 19th, 2018 at 04:45 AM.
hey doublekill this scr make the server down and i still dont understand what i must do in mike_torso.scr
i must remove this line or what ? "exec/global/remove_onegrenade_counter.scr"
your .scr is
main:
thread check_alive
level.spot[1] = ( 549 -893 17 )
//*********************************************************************//
level.grenades[max_spawns] = 10 // max concurrent spawns \\
level.grenades[spawn_duration] = 30 // how long they stay in seconds \\
level.grenades[respawn_delay] = 0 // 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)
wait 1
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 iprint "You picked up a grenade"
if(local.player.ng == NIL)
{
local.playe.ng = 1
}
else
{
local.player.ng++
}
level.spot_used[local.spot_index] = 0
wait level.grenades[respawn_delay]
thread dm1ammo local.num
end
//*********************************************************************//
check_alive:
while(1)
{
wait 0.02
for(local.i = 1;local.i <= $player.size;local.i++)
{
local.player = $player[local.i]
if(local.player == NULL)
end
if(!isalive local.player)
{
local.player.ng = 0
}
}
end
Last edited by Old Fox; March 25th, 2019 at 10:45 PM.