tricky teleporter
Moderator: Core Staff
tricky teleporter
i know i ask alot, but you guys are the only ones who actually post helpful replys.
Alright heres my question, I have 6 hidden items on my map. after a person have pressed hes use button on all thoose items, he shoulld be teleported to another place thats unreachable otherwise. is this possible and if it is, how do i make it happen?
Alright heres my question, I have 6 hidden items on my map. after a person have pressed hes use button on all thoose items, he shoulld be teleported to another place thats unreachable otherwise. is this possible and if it is, how do i make it happen?
-
- Core Staff
- Posts: 13315
- Joined: April 13th, 2005, 8:22 pm
- Location: UK, London
Re: tricky teleporter
Code: Select all
main()
{
thread grabconnectedplayers();
thread trigger1();
thread trigger2();
thread trigger3();
thread trigger4();
thread trigger5();
thread trigger6();
}
grabconnectedplayers()
{
while(1)
{
level waittill("connected", player);
player thread triggers();
}
}
triggers()
{
self.triggers = [];
self.triggers[1] = false;
self.triggers[2] = false;
self.triggers[3] = false;
self.triggers[4] = false;
self.triggers[5] = false;
self.triggers[6] = false;
self thread count();
}
trigger1()
{
trig = getent("triggername","targetname");
while(1)
{
trig waittill("trigger",user);
if(!isDefined(user.triggers[1]) || (user.triggers[1] != true))
{
user.triggers[1] = true;
user.trigcount += 1;
}
}
}
trigger2()
{
trig = getent("triggername","targetname");
while(1)
{
trig waittill("trigger",user);
if(!isDefined(user.triggers[2]) || (user.triggers[2] != true))
{
user.triggers[2] = true;
user.trigcount += 1;
}
}
}
etc - to 6.
count()
{
while(self.trigcount != 6)
wait 0.1;
//TELEPORT HERE
}
It can be further simplified using entity arrays, but this should work fine.

Virgin Media 20Mb Broadband:
"Perfect for families going online at the same time, downloading movies, online gaming and more."
Borked internet since: 22-07-2010
Re: tricky teleporter
got another lovley error, can be seen in screenshot. heres my code :
main()
{
thread grabconnectedplayers();
thread trigger1();
thread trigger2();
thread trigger3();
thread trigger4();
thread trigger5();
thread trigger6();
}
grabconnectedplayers()
{
while(1)
{
level waittill("connected", player);
player thread triggers();
}
}
triggers()
{
self.triggers = [];
self.triggers[1] = false;
self.triggers[2] = false;
self.triggers[3] = false;
self.triggers[4] = false;
self.triggers[5] = false;
self.triggers[6] = false;
self thread count();
}
trigger1()
{
trig = getent("ak47","targetname");
while(1)
{
trig waittill("trigger",user);
if(!isDefined(user.triggers[1]) || (user.triggers[1] != true))
{
user.triggers[1] = true;
user.trigcount += 1;
}
}
}
trigger2()
{
trig = getent("miniuzi","targetname");
while(1)
{
trig waittill("trigger",user);
if(!isDefined(user.triggers[2]) || (user.triggers[2] != true))
{
user.triggers[2] = true;
user.trigcount += 1;
}
}
}
trigger3()
{
trig = getent("lmg","targetname");
while(1)
{
trig waittill("trigger",user);
if(!isDefined(user.triggers[3]) || (user.triggers[3] != true))
{
user.triggers[3] = true;
user.trigcount += 1;
}
}
}
trigger4()
{
trig = getent("m1014","targetname");
while(1)
{
trig waittill("trigger",user);
if(!isDefined(user.triggers[4]) || (user.triggers[4] != true))
{
user.triggers[4] = true;
user.trigcount += 1;
}
}
}
trigger5()
{
trig = getent("dragunov","targetname");
while(1)
{
trig waittill("trigger",user);
if(!isDefined(user.triggers[5]) || (user.triggers[5] != true))
{
user.triggers[5] = true;
user.trigcount += 1;
}
}
}
trigger6()
{
trig = getent("de","targetname");
while(1)
{
trig waittill("trigger",user);
if(!isDefined(user.triggers[6]) || (user.triggers[6] != true))
{
user.triggers[6] = true;
user.trigcount += 1;
}
}
}
count()
{
while(self.trigcount != 6)
wait 0.1;
thread Transporter();
}
Transporter()
{
while(true)
{
self waittill("trigger",other);
entTarget = getent(self.target, "targetname");
wait(0.10);
other setorigin(entTarget.origin);
other setplayerangles(entTarget.angles);
wait(0.10);
}
}
I really dont know how to combine a teleporter with the code you sent me, its probably my try to mix them together that fucked it up
main()
{
thread grabconnectedplayers();
thread trigger1();
thread trigger2();
thread trigger3();
thread trigger4();
thread trigger5();
thread trigger6();
}
grabconnectedplayers()
{
while(1)
{
level waittill("connected", player);
player thread triggers();
}
}
triggers()
{
self.triggers = [];
self.triggers[1] = false;
self.triggers[2] = false;
self.triggers[3] = false;
self.triggers[4] = false;
self.triggers[5] = false;
self.triggers[6] = false;
self thread count();
}
trigger1()
{
trig = getent("ak47","targetname");
while(1)
{
trig waittill("trigger",user);
if(!isDefined(user.triggers[1]) || (user.triggers[1] != true))
{
user.triggers[1] = true;
user.trigcount += 1;
}
}
}
trigger2()
{
trig = getent("miniuzi","targetname");
while(1)
{
trig waittill("trigger",user);
if(!isDefined(user.triggers[2]) || (user.triggers[2] != true))
{
user.triggers[2] = true;
user.trigcount += 1;
}
}
}
trigger3()
{
trig = getent("lmg","targetname");
while(1)
{
trig waittill("trigger",user);
if(!isDefined(user.triggers[3]) || (user.triggers[3] != true))
{
user.triggers[3] = true;
user.trigcount += 1;
}
}
}
trigger4()
{
trig = getent("m1014","targetname");
while(1)
{
trig waittill("trigger",user);
if(!isDefined(user.triggers[4]) || (user.triggers[4] != true))
{
user.triggers[4] = true;
user.trigcount += 1;
}
}
}
trigger5()
{
trig = getent("dragunov","targetname");
while(1)
{
trig waittill("trigger",user);
if(!isDefined(user.triggers[5]) || (user.triggers[5] != true))
{
user.triggers[5] = true;
user.trigcount += 1;
}
}
}
trigger6()
{
trig = getent("de","targetname");
while(1)
{
trig waittill("trigger",user);
if(!isDefined(user.triggers[6]) || (user.triggers[6] != true))
{
user.triggers[6] = true;
user.trigcount += 1;
}
}
}
count()
{
while(self.trigcount != 6)
wait 0.1;
thread Transporter();
}
Transporter()
{
while(true)
{
self waittill("trigger",other);
entTarget = getent(self.target, "targetname");
wait(0.10);
other setorigin(entTarget.origin);
other setplayerangles(entTarget.angles);
wait(0.10);
}
}
I really dont know how to combine a teleporter with the code you sent me, its probably my try to mix them together that fucked it up
You do not have the required permissions to view the files attached to this post.
Last edited by TTTT on February 14th, 2010, 4:01 am, edited 1 time in total.
-
- Core Staff
- Posts: 2030
- Joined: July 24th, 2006, 11:21 am
- Location: Cramped in a small cubicle/making another jump map
Re: tricky teleporter
What screenshot?
Drofder2004: Drofder's rules for reviewing a map
[...]
#5 If your name is Rezil, minimum 5/5.
---
<LT>YosemiteSam[NL]:
I heard somewhere that the best way to start is juggling 2 balls with one hand, so you will get a feel for it.
[...]
#5 If your name is Rezil, minimum 5/5.
---
<LT>YosemiteSam[NL]:
I heard somewhere that the best way to start is juggling 2 balls with one hand, so you will get a feel for it.
Re: tricky teleporter
sorry i forgot to post the image xD well it is on my last reply now
-
- Core Staff
- Posts: 2030
- Joined: July 24th, 2006, 11:21 am
- Location: Cramped in a small cubicle/making another jump map
Re: tricky teleporter
Hm, not sure about the error but the script wouldn't achieve what he wanted Drof, since he wants the teleport to happen after all six triggers are triggered, so:
should in fact be:
Also, try adding self.trigcount = 0; in the triggers() thread.
Code: Select all
count()
{
while(self.trigcount != 6)
wait 0.1;
thread Transporter();
}
Code: Select all
count()
{
while(self.trigcount == 6)
wait 0.1;
thread Transporter();
}
Drofder2004: Drofder's rules for reviewing a map
[...]
#5 If your name is Rezil, minimum 5/5.
---
<LT>YosemiteSam[NL]:
I heard somewhere that the best way to start is juggling 2 balls with one hand, so you will get a feel for it.
[...]
#5 If your name is Rezil, minimum 5/5.
---
<LT>YosemiteSam[NL]:
I heard somewhere that the best way to start is juggling 2 balls with one hand, so you will get a feel for it.
-
- Core Staff
- Posts: 13315
- Joined: April 13th, 2005, 8:22 pm
- Location: UK, London
Re: tricky teleporter
Code: Select all
triggers()
{
self.triggers = [];
self.triggers[1] = false;
self.triggers[2] = false;
self.triggers[3] = false;
self.triggers[4] = false;
self.triggers[5] = false;
self.triggers[6] = false;
self.trigcount = 6; // Add this line
self thread count();
}
Because I did not include the curly brackets { } to enclose the while loop, the loop will ONLY read the first line (wait 0.1;) and will only move passed this line, once the while loop parameters have become false.
Once the player has been teleported once, the thread will end. If you want the player to be able to use all the triggers again, and be able to teleport again, simply add the line:
Code: Select all
self thread triggers();

Virgin Media 20Mb Broadband:
"Perfect for families going online at the same time, downloading movies, online gaming and more."
Borked internet since: 22-07-2010
Re: tricky teleporter
yeah well thanks for that but i have no idea how to make a teleporter
-
- Core Staff
- Posts: 13315
- Joined: April 13th, 2005, 8:22 pm
- Location: UK, London
Re: tricky teleporter
Code: Select all
count()
{
while(self.trigcount != 6)
wait 0.1;
self thread transporter();
}
Code: Select all
transporter()
{
org = (0,0,0);
self setorigin(org);
//self thread triggers();
//If you want the triggers & count to be reset so a player can reactivate the teleporter, remove the // above
}

Virgin Media 20Mb Broadband:
"Perfect for families going online at the same time, downloading movies, online gaming and more."
Borked internet since: 22-07-2010
Re: tricky teleporter
alright, no errors, but with this code nothing happens after i presses all 6 triggers.
main()
{
thread grabconnectedplayers();
thread trigger1();
thread trigger2();
thread trigger3();
thread trigger4();
thread trigger5();
thread trigger6();
}
grabconnectedplayers()
{
while(1)
{
level waittill("connected", player);
player thread triggers();
}
}
triggers()
{
self.triggers = [];
self.triggers[1] = false;
self.triggers[2] = false;
self.triggers[3] = false;
self.triggers[4] = false;
self.triggers[5] = false;
self.triggers[6] = false;
self.trigcount = 6;
self thread count();
}
trigger1()
{
trig = getent("ak47","targetname");
while(1)
{
trig waittill("trigger",user);
if(!isDefined(user.triggers[1]) || (user.triggers[1] != true))
{
user.triggers[1] = true;
user.trigcount += 1;
}
}
}
trigger2()
{
trig = getent("m1014","targetname");
while(1)
{
trig waittill("trigger",user);
if(!isDefined(user.triggers[2]) || (user.triggers[2] != true))
{
user.triggers[2] = true;
user.trigcount += 1;
}
}
}
trigger3()
{
trig = getent("lmg","targetname");
while(1)
{
trig waittill("trigger",user);
if(!isDefined(user.triggers[3]) || (user.triggers[3] != true))
{
user.triggers[3] = true;
user.trigcount += 1;
}
}
}
trigger4()
{
trig = getent("de","targetname");
while(1)
{
trig waittill("trigger",user);
if(!isDefined(user.triggers[4]) || (user.triggers[4] != true))
{
user.triggers[4] = true;
user.trigcount += 1;
}
}
}
trigger5()
{
trig = getent("dragunov","targetname");
while(1)
{
trig waittill("trigger",user);
if(!isDefined(user.triggers[5]) || (user.triggers[5] != true))
{
user.triggers[5] = true;
user.trigcount += 1;
}
}
}
trigger6()
{
trig = getent("miniuzi","targetname");
while(1)
{
trig waittill("trigger",user);
if(!isDefined(user.triggers[6]) || (user.triggers[6] != true))
{
user.triggers[6] = true;
user.trigcount += 1;
}
}
}
count()
{
while(self.trigcount != 6)
wait 0.1;
thread transporter();
}
transporter()
{
org = (0,0,0);
self setorigin(org);
self thread triggers();
}
Is there any radiant work included to make this work expect making 6 trigger_use on all 6 guns with targetname ?
main()
{
thread grabconnectedplayers();
thread trigger1();
thread trigger2();
thread trigger3();
thread trigger4();
thread trigger5();
thread trigger6();
}
grabconnectedplayers()
{
while(1)
{
level waittill("connected", player);
player thread triggers();
}
}
triggers()
{
self.triggers = [];
self.triggers[1] = false;
self.triggers[2] = false;
self.triggers[3] = false;
self.triggers[4] = false;
self.triggers[5] = false;
self.triggers[6] = false;
self.trigcount = 6;
self thread count();
}
trigger1()
{
trig = getent("ak47","targetname");
while(1)
{
trig waittill("trigger",user);
if(!isDefined(user.triggers[1]) || (user.triggers[1] != true))
{
user.triggers[1] = true;
user.trigcount += 1;
}
}
}
trigger2()
{
trig = getent("m1014","targetname");
while(1)
{
trig waittill("trigger",user);
if(!isDefined(user.triggers[2]) || (user.triggers[2] != true))
{
user.triggers[2] = true;
user.trigcount += 1;
}
}
}
trigger3()
{
trig = getent("lmg","targetname");
while(1)
{
trig waittill("trigger",user);
if(!isDefined(user.triggers[3]) || (user.triggers[3] != true))
{
user.triggers[3] = true;
user.trigcount += 1;
}
}
}
trigger4()
{
trig = getent("de","targetname");
while(1)
{
trig waittill("trigger",user);
if(!isDefined(user.triggers[4]) || (user.triggers[4] != true))
{
user.triggers[4] = true;
user.trigcount += 1;
}
}
}
trigger5()
{
trig = getent("dragunov","targetname");
while(1)
{
trig waittill("trigger",user);
if(!isDefined(user.triggers[5]) || (user.triggers[5] != true))
{
user.triggers[5] = true;
user.trigcount += 1;
}
}
}
trigger6()
{
trig = getent("miniuzi","targetname");
while(1)
{
trig waittill("trigger",user);
if(!isDefined(user.triggers[6]) || (user.triggers[6] != true))
{
user.triggers[6] = true;
user.trigcount += 1;
}
}
}
count()
{
while(self.trigcount != 6)
wait 0.1;
thread transporter();
}
transporter()
{
org = (0,0,0);
self setorigin(org);
self thread triggers();
}
Is there any radiant work included to make this work expect making 6 trigger_use on all 6 guns with targetname ?
-
- Core Staff
- Posts: 13315
- Joined: April 13th, 2005, 8:22 pm
- Location: UK, London
Re: tricky teleporter
Added some print commands. Test the map using this GSC and then let me know which messages appear.
Code: Select all
main()
{
thread grabconnectedplayers();
thread trigger1();
thread trigger2();
thread trigger3();
thread trigger4();
thread trigger5();
thread trigger6();
}
grabconnectedplayers()
{
while(1)
{
level waittill("connected", player);
player thread triggers();
}
}
triggers()
{
self.triggers = [];
self.triggers[1] = false;
self.triggers[2] = false;
self.triggers[3] = false;
self.triggers[4] = false;
self.triggers[5] = false;
self.triggers[6] = false;
self.trigcount = 6;
self thread count();
}
trigger1()
{
trig = getent("ak47","targetname");
while(1)
{
trig waittill("trigger",user);
iprintln("Trigger: ^1AK47");
if(!isDefined(user.triggers[1]) || (user.triggers[1] != true))
{
user.triggers[1] = true;
user.trigcount += 1;
iprintln("Trigcount = ^2" + user.trigcount);
}
}
}
trigger2()
{
trig = getent("m1014","targetname");
while(1)
{
trig waittill("trigger",user);
iprintln("Trigger: ^1M1014");
if(!isDefined(user.triggers[2]) || (user.triggers[2] != true))
{
user.triggers[2] = true;
user.trigcount += 1;
iprintln("Trigcount = ^2" + user.trigcount);
}
}
}
trigger3()
{
trig = getent("lmg","targetname");
while(1)
{
trig waittill("trigger",user);
iprintln("Trigger: ^1M1014");
if(!isDefined(user.triggers[3]) || (user.triggers[3] != true))
{
user.triggers[3] = true;
user.trigcount += 1;
iprintln("Trigcount = ^2" + user.trigcount);
}
}
}
trigger4()
{
trig = getent("de","targetname");
while(1)
{
trig waittill("trigger",user);
iprintln("Trigger: ^1DE");
if(!isDefined(user.triggers[4]) || (user.triggers[4] != true))
{
user.triggers[4] = true;
user.trigcount += 1;
iprintln("Trigcount = ^2" + user.trigcount);
}
}
}
trigger5()
{
trig = getent("dragunov","targetname");
while(1)
{
trig waittill("trigger",user);
iprintln("Trigger: ^1Dragunov");
if(!isDefined(user.triggers[5]) || (user.triggers[5] != true))
{
user.triggers[5] = true;
user.trigcount += 1;
iprintln("Trigcount = ^2" + user.trigcount);
}
}
}
trigger6()
{
trig = getent("miniuzi","targetname");
while(1)
{
trig waittill("trigger",user);
iprintln("Trigger: ^1Miniuzi");
if(!isDefined(user.triggers[6]) || (user.triggers[6] != true))
{
user.triggers[6] = true;
user.trigcount += 1;
iprintln("Trigcount = ^2" + user.trigcount);
}
}
}
count()
{
while(self.trigcount != 6)
wait 0.1;
self thread transporter();
}
transporter()
{
iprintln("Transporter: ^2Start");
org = (0,0,0);
self setorigin(org);
self thread triggers();
}

Virgin Media 20Mb Broadband:
"Perfect for families going online at the same time, downloading movies, online gaming and more."
Borked internet since: 22-07-2010
Re: tricky teleporter
at the botteom left corner messages come up each time i presses a gun, but the triggercount starts from 6. becouse when i started the map and pressed use on the first gun it said "trigger: ak47, triggercount 7" the triggercount goes up to 12 after i pressed all guns.
Re: tricky teleporter
i got it to work :DD insted of
triggers()
{
self.triggers = [];
self.triggers[1] = false;
self.triggers[2] = false;
self.triggers[3] = false;
self.triggers[4] = false;
self.triggers[5] = false;
self.triggers[6] = false;
self.trigcount = 6;
self thread count();
}
i did
triggers()
{
self.triggers = [];
self.triggers[1] = false;
self.triggers[2] = false;
self.triggers[3] = false;
self.triggers[4] = false;
self.triggers[5] = false;
self.triggers[6] = false;
self.trigcount = 0;
self thread count();
}
and now it works
thx man
triggers()
{
self.triggers = [];
self.triggers[1] = false;
self.triggers[2] = false;
self.triggers[3] = false;
self.triggers[4] = false;
self.triggers[5] = false;
self.triggers[6] = false;
self.trigcount = 6;
self thread count();
}
i did
triggers()
{
self.triggers = [];
self.triggers[1] = false;
self.triggers[2] = false;
self.triggers[3] = false;
self.triggers[4] = false;
self.triggers[5] = false;
self.triggers[6] = false;
self.trigcount = 0;
self thread count();
}
and now it works

Who is online
Users browsing this forum: No registered users and 2 guests