Page 3 of 6 FirstFirst 12345 ... LastLast
Results 21 to 30 of 59

Thread: Grenads

  1. #21

    Default

    Hello guys lets start here agin
    Last edited by Old Fox; March 25th, 2019 at 10:42 PM.

  2. #22

    Default

    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++

    }

  3. #23

    Default

    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

  4. #24

    Default

    Quote Originally Posted by Old Fox View Post
    DoubleKill I dont have the same scr i have another one
    aha thankx
    Last edited by Old Fox; March 25th, 2019 at 10:42 PM.

  5. #25

    Default

    Why are you trying to fit 10 grenades in 5 spots?

  6. #26

    Default

    Quote Originally Posted by 1337Smithy View Post
    Why are you trying to fit 10 grenades in 5 spots?
    Hey smithy WB
    after greeting I am a big server and always have about 20/30 player per map thats it
    Last edited by Old Fox; March 25th, 2019 at 10:43 PM.

  7. #27

    Default

    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.

  8. #28

    Default

    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.

  9. #29

    Default

    Quote Originally Posted by 1337Smithy View Post
    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.
    hey smithy btw its 50 position not 5 but i wrote 5 to make an exaple

  10. #30

    Default

    Quote Originally Posted by DoubleKill View Post
    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.grenades[max_spawns] = 10 // max concurrent spawns \\
    level.grenades[spawn_duration] = 30 // how long they stay in seconds \\

    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 \\
    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:

    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++
    }


    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

    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.

Posting Permissions

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