Posted: Thu Mar 12, 2009 5:49 pm
doesn't work 
Code: Select all
if ( (vector_within local.centre local.player.origin 50) == 1)Code: Select all
local.o = vector_within local.centre local.player.origin 50Code: Select all
local.trig = spawn trigger_multiple
local.trig.origin = ( 2921 3266 969 )
local.trig setsize ( -21704 -1 -10000 ) ( 21704 1 10000 )
local.trig setthread Trigger1
local.trig message "NO CROSS!"
local.trig wait 0
local.trig delay 0
Trigger1:
local.player=parm.other
if (local.player.isTrigger1==1)
local.player.isTrigger1=1
local.player respawn
local.player.isTrigger1=0
endCode: Select all
while (1)
{
for (local.i = 1; local.i <= $player.size; local.i++)
{
if ($player[local.i].origin[1] > 3266 || $player[local.i].origin[1] < -2116 )
{
if ($player[local.i].dmteam == "axis")
{
self iprint "NO CROSS"
$player[local.i] tele local.gavutu_ax_sp[(randomint 4)]
}
}
if ($player[local.i].origin[1] < 3266)
{
if ($player[local.i].dmteam == "allies")
{
self iprint "NO CROSS"
$player[local.i] tele local.gavutu_al_sp[(randomint 4)]
}
}
}
wait 0.3
}
endCode: Select all
main:
// teleport dest. arrays
local.gavutu_ax_sp[0] = ( 4495.99 -247.81 391.78 )
local.gavutu_ax_sp[1] = ( 5699.76 1006.68 408.69 )
local.gavutu_ax_sp[2] = ( 5954.04 -706.98 399.67 )
local.gavutu_ax_sp[3] = ( 5981.32 1048.26 408.69 )
local.gavutu_al_sp[0] = ( 632.23 7154.51 555.71 )
local.gavutu_al_sp[1] = ( 416.08 3397.52 441.27 )
local.gavutu_al_sp[2] = ( -427.86 6841.89 479.13 )
local.gavutu_al_sp[3] = ( 1823.51 5273 359.19 )
// magic number
local.rand_int = randomint 4
// Switcher
if (local.rand_int == 0)
{
if ($player.origin[1] > 3266 || $player.origin[1] < -2116 )
{
if ($player.dmteam == "axis")
{
$player tele local.gavutu_ax_sp[0]
}
}
if ($player.origin[1] < 3266)
{
if ($player.dmteam == "allies")
{
$player tele local.gavutu_al_sp[0]
}
}
}
if (local.rand_int == 1)
{
if ($player.origin[1] > 3266 || $player.origin[1] < -2116 )
{
if ($player.dmteam == "axis")
{
$player tele local.gavutu_ax_sp[1]
}
}
if ($player.origin[1] < 3266)
{
if ($player.dmteam == "allies")
{
$player tele local.gavutu_al_sp[1]
}
}
}
if (local.rand_int == 2)
{
if ($player.origin[1] > 3266 || $player.origin[1] < -2116 )
{
if ($player.dmteam == "axis")
{
$player tele local.gavutu_ax_sp[2]
}
}
if ($player.origin[1] < 3266)
{
if ($player.dmteam == "allies")
{
$player tele local.gavutu_al_sp[2]
}
}
}
if (local.rand_int == 3)
{
if ($player.origin[1] > 3266 || $player.origin[1] < -2116 )
{
if ($player.dmteam == "axis")
{
$player tele local.gavutu_ax_sp[3]
}
}
if ($player.origin[1] < 3266)
{
if ($player.dmteam == "allies")
{
$player tele local.gavutu_al_sp[3]
}
}
}
end
If 2 players cross origin = 3266 at the same time..they will be teleported exectly in the same place..if this happend they will get stuck!! How can I prevent this problem?while (1)
{
for (local.i = 1; local.i <= $player.size; local.i++)
{
if ($player[local.i].origin[1] > 3266 || $player[local.i].origin[1] < -2116 )
{
if ($player[local.i].dmteam == "axis")
{
self iprint "NO CROSS"
$player[local.i] tele local.gavutu_ax_sp[(randomint 4)]
}
}
if ($player[local.i].origin[1] < 3266)
{
if ($player[local.i].dmteam == "allies")
{
self iprint "NO CROSS"
$player[local.i] tele local.gavutu_al_sp[(randomint 4)]
}
}
}
wait 0.3
}
end
Code: Select all
main:
// teleport dest. arrays
local.gavutu_ax_sp[0] = ( 4495.99 -247.81 391.78 )
local.gavutu_ax_sp[1] = ( 5699.76 1006.68 408.69 )
local.gavutu_ax_sp[2] = ( 5954.04 -706.98 399.67 )
local.gavutu_ax_sp[3] = ( 5981.32 1048.26 408.69 )
local.gavutu_al_sp[0] = ( 632.23 7154.51 555.71 )
local.gavutu_al_sp[1] = ( 416.08 3397.52 441.27 )
local.gavutu_al_sp[2] = ( -427.86 6841.89 479.13 )
local.gavutu_al_sp[3] = ( 1823.51 5273 359.19 )
// magic number
local.rand_int = randomint 4
// Switcher
if (local.rand_int == 0)
{
if ($player.origin[1] > 3266 || $player.origin[1] < -2116 )
{
if ($player.dmteam == "axis")
{
$player tele local.gavutu_ax_sp[0]
}
}
if ($player.origin[1] < 3266)
{
if ($player.dmteam == "allies")
{
$player tele local.gavutu_al_sp[0]
}
}
}
if (local.rand_int == 1)
{
if ($player.origin[1] > 3266 || $player.origin[1] < -2116 )
{
if ($player.dmteam == "axis")
{
$player tele local.gavutu_ax_sp[1]
}
}
if ($player.origin[1] < 3266)
{
if ($player.dmteam == "allies")
{
$player tele local.gavutu_al_sp[1]
}
}
}
if (local.rand_int == 2)
{
if ($player.origin[1] > 3266 || $player.origin[1] < -2116 )
{
if ($player.dmteam == "axis")
{
$player tele local.gavutu_ax_sp[2]
}
}
if ($player.origin[1] < 3266)
{
if ($player.dmteam == "allies")
{
$player tele local.gavutu_al_sp[2]
}
}
}
if (local.rand_int == 3)
{
if ($player.origin[1] > 3266 || $player.origin[1] < -2116 )
{
if ($player.dmteam == "axis")
{
$player tele local.gavutu_ax_sp[3]
}
}
if ($player.origin[1] < 3266)
{
if ($player.dmteam == "allies")
{
$player tele local.gavutu_al_sp[3]
}
}
}
end
Code: Select all
while (1)
{
for (local.i = 1; local.i <= $player.size; local.i++)
{
if ($player[local.i].origin[1] > 3266 || $player[local.i].origin[1] < -2116 )
{
if ($player[local.i].dmteam == "axis")
{
self iprint "NO CROSS"
$player[local.i] tele local.gavutu_ax_sp[(randomint 4)]
}
}
if ($player[local.i].origin[1] < 3266)
{
if ($player[local.i].dmteam == "allies")
{
self iprint "NO CROSS"
$player[local.i] tele local.gavutu_al_sp[(randomint 4)]
}
}
}
wait 0.3
}
endCode: Select all
while (1)
{
for (local.i = 1; local.i = $player.size; local.i++)
{
for (local.e = 1; local.e = $player.size; local.e++)
{
if ($player[local.i] != $player[local.e]
{
if ($player[local.i].origin[1] > 3266 || $player[local.i].origin[1] < -2116 || $player[local.e].origin[1] > 3266 || $player[local.e].origin[1] < -2116 )
{
if ($player[local.i].dmteam == "axis" || if ($player[local.e].dmteam == "axis")
{
$player[local.i] tele local.gavutu_ax_sp[(randomint 4)]
$player[local.e] tele local.gavutu_ax_sp[(randomint 4)]
}
}
if ($player[local.i].origin[1] < 3266 || $player[local.e].origin[1] < 3266)
{
if ($player[local.i].dmteam == "allies" || $player[local.e].dmteam == "allies")
{
$player[local.i] tele local.gavutu_al_sp[(randomint 4)]
$player[local.e] tele local.gavutu_al_sp[(randomint 4)]
}
}
}
}
}
wait 0.2
}
endCode: Select all
while (1)
{
for (local.i = 1; local.i <= $player.size; local.i++)
{
if ($player[local.i].origin[1] > 3266 || $player[local.i].origin[1] < -2116 )
{
if ($player[local.i].dmteam == "axis" && s$player[local.i].being_tele != 1)
{
thread telep $player[local.i] local.gavutu_ax_sp
}
}
if ($player[local.i].origin[1] < 3266)
{
if ($player[local.i].dmteam == "allies" && s$player[local.i].being_tele != 1)
{
thread telep $player[local.i] local.gavutu_al_sp
}
}
}
wait 0.3
}
end
telep local.p local.dest:
local.p.being_tele = 1
for (local.i = 1; local.i <= local.dest.size; local.i++)
{
for (local.o = 1; local.o <= $player.size; local.o++)
{
if ( (vector_within local.dest[local.i] $player[local.o].origin 10) != 1)
{
local.p.being_tele = NIL
local.p iprint "NO CROSS"
local.p tele local.dest[local.i]
}
}
}
local.p.being_tele = NIL
end
Code: Select all
thread telep $player[local.i] local.gavutu_al_sp