Results 1 to 1 of 1

Thread: [scriptdump] Script-based teleporters

  1. #1
    Assadministrator IzNoGoD's Avatar
    Join Date
    Aug 2012
    Posts
    1,718
    Thanks
    17
    Thanked 1,068 Times in 674 Posts

    [scriptdump] Script-based teleporters

    Just wrote a script that allows script-based teleporters.
    Just call the init_teleporters() on map start and add some teleporters to it


    PHP Code:
    init_teleporters()
    {
        
    level.teleporters = [];

        
    level.teleporters[level.teleporters.size] = spawnstruct();
        
    level.teleporters[level.teleporters.size 1].origin = (000);
        
    level.teleporters[level.teleporters.size 1].radius 50;
        
    level.teleporters[level.teleporters.size 1].height 30;
        
    level.teleporters[level.teleporters.size 1].target = (101010);

        
    level.teleporters[level.teleporters.size] = spawnstruct();
        
    level.teleporters[level.teleporters.size 1].origin = (100100100);
        
    level.teleporters[level.teleporters.size 1].radius 50;
        
    level.teleporters[level.teleporters.size 1].height 30;
        
    level.teleporters[level.teleporters.size 1].target = (101010);

        
    thread waitforconnect();
    }

    waitforconnect()
    {
        while(
    true)
        {
            
    level waittill("connecting"p);
            
    p thread onconnect();
        }
    }

    onconnect()
    {
        while(
    isdefined(self))
        {
            while(
    isdefined(self.sessionstate) && self.sessionstate == "playing")
            {
                for(
    0level.teleporters.sizei++)
                {
                    if(
    self.origin[2] > level.teleporters[i].origin[2] && self.origin[2] < level.teleporters[i].origin[2] + level.teleporters[i].height)
                    {
                        if(
    distancesquared((self.origin[0], self.origin[1], 0), (level.teleporters[i].origin[0], level.teleporters[i].origin[1], 0)) < level.teleporters[i].radius level.teleporters[i].radius)
                        {
                            
    self setorigin(level.teleporters[i].target);
                        }
                    }
                }
                
    wait 0.05;
            }
            
    wait 0.05;
        }

    Edit changed the setorigin to the correct .target instead of the .origin
    Last edited by IzNoGoD; 13th March 2013 at 20:00.

  2. The Following 2 Users Say Thank You to IzNoGoD For This Useful Post:

    Jeplaa (14th March 2013),kung foo man (13th March 2013)

Posting Permissions

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