Results 1 to 8 of 8

Thread: Triggers place...

  1. #1
    Private
    Join Date
    Aug 2012
    Posts
    78
    Thanks
    20
    Thanked 10 Times in 5 Posts

    Triggers place...

    Hey i have problem ,i write this script and if several items that trigger works only one.
    I use this table:

    PHP Code:
        level.burntriggers = [];
        
    level.burntriggers[0] = SpawnStruct();
        
    level.burntriggers[0].origin = (-2806,1874,25);
        
    level.burntriggers[0].radius 40;
        
    level.burntriggers[0].height 72;
        
        
    level.burntriggers[1] = SpawnStruct();
        
    level.burntriggers[1].origin = (-2950,1915,25);
        
    level.burntriggers[1].radius 40;
        
    level.burntriggers[1].height 72;
        
        
    level.burntriggers[2] = SpawnStruct();
        
    level.burntriggers[2].origin = (-2857,1880,25);
        
    level.burntriggers[2].radius 40;
        
    level.burntriggers[2].height 72;
        
        
    level.burntriggers[3] = SpawnStruct();
        
    level.burntriggers[3].origin = (-3020,1870,25);
        
    level.burntriggers[3].radius 40;
        
    level.burntriggers[3].height 72
    Work only one table... Please help me.

    PHP Code:
    placeTriggers()
    {
        for(
    0level.burntriggers.sizei++)
        {
            
    trig =  spawn("trigger_radius"level.burntriggers[i].origin0level.burntriggers[i].radiuslevel.burntriggers[i].height);
            
            while(
    1)
            {
                
    trig waittill("trigger"player);
                
                if(
    player istouching(trig))
                {
                    
    player iprintlnbold("1");
                }
            }
        }


  2. #2
    Assadministrator kung foo man's Avatar
    Join Date
    Jun 2012
    Location
    trailerpark
    Posts
    2,011
    Thanks
    2,102
    Thanked 1,084 Times in 753 Posts
    Did you tried it this way?

    Code:
    triggerThink()
    {
        player = self;
        player iprintlnbold("1");
    }
    
    placeTriggers()
    {
        for(i = 0; i < level.burntriggers.size; i++)
        {
            trig =  spawn("trigger_radius", level.burntriggers[i].origin, 0, level.burntriggers[i].radius, level.burntriggers[i].height);
            
            while(1)
            {
                trig waittill("trigger", player);
                player thread triggerThink();
            }
        }
    }
    (its a scripting question, so it belongs into the scripting section)
    timescale 0.01

  3. The Following User Says Thank You to kung foo man For This Useful Post:

    Moczulak (11th January 2013)

  4. #3
    Private
    Join Date
    Aug 2012
    Posts
    78
    Thanks
    20
    Thanked 10 Times in 5 Posts
    My problem is that the script reads the first table, one of the four tables, other tables are not loaded

  5. #4
    Assadministrator kung foo man's Avatar
    Join Date
    Jun 2012
    Location
    trailerpark
    Posts
    2,011
    Thanks
    2,102
    Thanked 1,084 Times in 753 Posts
    Ah, didnt understood first time:

    Code:
    triggerThink()
    {
            while(1)
            {
                trig waittill("trigger", player);
                player iprintlnbold("1");
            }
    }
    
    placeTriggers()
    {
        for(i = 0; i < level.burntriggers.size; i++)
        {
            trig =  spawn("trigger_radius", level.burntriggers[i].origin, 0,  level.burntriggers[i].radius, level.burntriggers[i].height);
            thread triggerThink();
        }
    }
    timescale 0.01

  6. The Following User Says Thank You to kung foo man For This Useful Post:

    Moczulak (11th January 2013)

  7. #5
    Private
    Join Date
    Aug 2012
    Posts
    78
    Thanks
    20
    Thanked 10 Times in 5 Posts
    It works ,thanks man!

  8. The Following User Says Thank You to Moczulak For This Useful Post:

    kung foo man (11th January 2013)

  9. #6
    Global Mossaderator Mitch's Avatar
    Join Date
    Nov 2012
    Posts
    654
    Thanks
    204
    Thanked 450 Times in 305 Posts
    Quote Originally Posted by Moczulak
    Hey i have problem ,i write this script and if several items that trigger works only one.
    I use this table:
    (see below)

    Work only one table... Please help me.
    Your script keeps waiting until it gets triggered and it also loops the first trigger. You need to add a thread after you spawn the trigger.

    PHP Code:
    placeTriggers()
    {
        for(
    0level.burntriggers.sizei++)
        {
            
    trig =  spawn("trigger_radius"level.burntriggers[i].origin0level.burntriggers[i].radiuslevel.burntriggers[i].height);
            
            while(
    1)
            {
                
    trig waittill("trigger"player);
                
                if(
    player istouching(trig))
                {
                    
    player iprintlnbold("1");
                }
            }

            
    // the script never comes here
            // so can never spawn the second trigger
        
    }

    Last edited by Mitch; 12th January 2013 at 18:43.

  10. #7
    Brigadier General
    Join Date
    Oct 2012
    Posts
    994
    Thanks
    20
    Thanked 588 Times in 388 Posts
    Quote Originally Posted by Mitch View Post
    Your script keeps waiting until it gets triggered and it also loops the first trigger. You need to add a thread after you spawn the trigger.

    PHP Code:
    placeTriggers()
    {
        for(
    0level.burntriggers.sizei++)
        {
            
    trig =  spawn("trigger_radius"level.burntriggers[i].origin0level.burntriggers[i].radiuslevel.burntriggers[i].height);
            
            while(
    1)
            {
                
    trig waittill("trigger"player);
                
                if(
    player istouching(trig))
                {
                    
    player iprintlnbold("1");
                }
            }

            
    // the script never comes here
            // so can never spawn the second trigger
        
    }

    Did you not see the reply Kung gave? It produced this result:

    Quote Originally Posted by Moczulak View Post
    It works ,thanks man!
    Try not to be redundant. Always strive to be relevant.

  11. #8
    Global Mossaderator Mitch's Avatar
    Join Date
    Nov 2012
    Posts
    654
    Thanks
    204
    Thanked 450 Times in 305 Posts
    Quote Originally Posted by Tally View Post
    Did you not see the reply Kung gave? It produced this result:



    Try not to be redundant. Always strive to be relevant.
    I saw it too late.

Posting Permissions

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