1. i need a gravity switch, thats not the one from massassi. that one only works for the host. i need a surface (preferably) or thing to be activated and can set the gravity on low, medium, and high. low gravity is slow motion like, medium is default and thats how it should start out when u start the game, and high makes you jump really fast because theres a lot of force pushing u down. if you made 3 individual switches, that would be even better. just make sure that it works for host and others.
2. when i made my forcefield, i used two cogs. i dont know if you need both, or which one you want, so ill give you both of them. i need the forcefield to be turned off when u enter the game if thats possible. in jed, you make the surface hard and stuff, so i dont know if its possible. heres the cogs:
&
if you can tell me if i need one or the other, or both, it would be nice, cause using 2 cogs seems unordinary.
THX!
------------------
Your Owners Clan Leaader,
_yo_wasup_
2. when i made my forcefield, i used two cogs. i dont know if you need both, or which one you want, so ill give you both of them. i need the forcefield to be turned off when u enter the game if thats possible. in jed, you make the surface hard and stuff, so i dont know if its possible. heres the cogs:
Code:
# Jedi Knight Cog Script
#
# M2_FFieldSwitch.cog
#
# This script operates a forcefield surface that damages
# the player.
# It also sets this surface to be nomove and translucent.
#
# [SC]
#
# 8/8/97 - YB - Fixed sleep() problem by using timers.
#
# (C) 1997 LucasArts Entertainment Co. All Rights Reserved
# ========================================================================================
symbols
message startup
message damaged
message activated
message touched
message timer
sound poweroff=activate04.wav local
sound poweron=activate01.wav local
sound hitsurf=ForceFieldHit01.wav local
surface switch linkid=1
surface switch1 linkid=1
surface damsurf linkid=3 mask=0x448
surface damsurf2 linkid=3 mask=0x448
flex maxdamage=10.0
flex mindamage=5.0
flex damage=0.0 local
flex interval=0.25 local
int damaging=1 local
int garbage=0 local
int garbage2=0 local
thing victim local
template sparks=+heavysmoke local
end
# ========================================================================================
code
startup:
SetWallCel(switch,0); //on
ClearAdjoinFlags(damsurf,2); //no move
ClearAdjoinFlags(damsurf2,2);
SetFaceGeoMode(damsurf,0); //translucent
SetFaceGeoMode(damsurf2,0);
SetSurfaceFlags(damsurf,16384); //magsealed
SetSurfaceFlags(damsurf2,16384);
SurfaceLightAnim(damsurf, 0.4, 1.0, 0.5); // animate surface
SurfaceLightAnim(damsurf2, 0.4, 1.0, 0.5);
return;
# ........................................................................................
activated:
if ((GetWallCel(switch) == 0) && (GetSenderId() == 1))
{
PlaySoundPos(poweroff, SurfaceCenter(switch), 1.0, -1, -1, 0 );
PlaySoundPos(poweroff, SurfaceCenter(switch1), 1.0, -1, -1, 0);
SetWallCel(switch,1);
SetWallCel(switch1,1); //off
SetAdjoinFlags(damsurf,2); //move
SetAdjoinFlags(damsurf2,2);
}
else if ((GetWallCel(switch) == 1) && (GetSenderId() == 1))
{
PlaySoundPos(poweron, SurfaceCenter(switch), 1.0, -1, -1, 0 );
PlaySoundPos(poweron, SurfaceCenter(switch1), 1.0, -1, -1, 0);
SetWallCel(switch,0);
SetWallCel(switch1,0); //on
ClearAdjoinFlags(damsurf,2); //no move
ClearAdjoinFlags(damsurf2,2);
}
return;
# ........................................................................................
touched:
if ((GetSenderID() == 3) && (damaging == 1))
{
PlaySoundPos(hitsurf, SurfaceCenter(damsurf), 1.0, -1, -1, 0 );
victim = GetSourceRef();
damage = (Rand()*(maxdamage - mindamage))+mindamage;
DamageThing(victim,damage,0x2,victim);
if(!IsMulti()) CreateThing(sparks, GetSourceRef());
damaging=0;
SetTimerEx(interval, 1, 0, 0);
}
else return;
# ........................................................................................
damaged:
victim = GetThingParent(GetSourceRef());
if((GetParam(1) == 1) && (GetThingType(victim) == 10))
{
damage = (Rand()*(maxdamage - mindamage))+mindamage;
DamageThing(victim, damage, 0x1, victim);
if(!IsMulti()) CreateThing(sparks, GetSourceRef());
PlaySoundPos(hitsurf, SurfaceCenter(damsurf), 1.0, -1, -1, 0 );
SetFaceGeoMode(damsurf,3);
SetFaceGeoMode(damsurf2,3);
KillTimerEx(2);
SetTimerEx(0.5, 2, 0, 0);
}
else
{
PlaySoundPos(hitsurf, SurfaceCenter(damsurf), 1.0, -1, -1, 0 );
SetFaceGeoMode(damsurf,3);
SetFaceGeoMode(damsurf2,3);
KillTimerEx(2);
SetTimerEx(0.5, 2, 0, 0);
}
return;
# ........................................................................................
timer:
if(GetSenderId() == 1)
{
damaging=1;
}
if(GetSenderId() == 2)
{
SetFaceGeoMode(damsurf,0);
SetFaceGeoMode(damsurf2,0);
}
return;
end&
Code:
# ForceFieldSwitch
# Jedi Knight Cog Script
#
# 10_FFieldSwitch.cog
#
# this script activates a forcefield that damages a player on touch.
# also sets this surface to be nomove and translucent.
# Shooting or activating switch will turn it off.
# Adapted from Steve's level 18 script
#
# [DB]
#
# (C) 1997 LucasArts Entertainment Co. All Rights Reserved
symbols
message startup
message damaged
message activated
message touched
message timer
surface switch linkid=1 mask=0x448
surface damsurf mask=0x448
surface damsurf2 mask=0x448
flex maxdamage=10.0
flex mindamage=5.0
flex damage=0.0 local
sound powerup=ForceFieldOn01.wav local
sound powerdown=ForceFieldOff01.wav local
sound wav0=ForceFieldHum01.wav local
sound wav1=ForceFieldHit01.wav local
int garbage=0 local
thing victim local
end
code
startup:
SetWallCel(switch,0); //on
ClearAdjoinFlags(damsurf,10); //no move
ClearAdjoinFlags(damsurf2,10);
SetFaceGeoMode(damsurf,0); //translucent
SetFaceGeoMode(damsurf2,0);
SetSurfaceFlags(damsurf,16384); //magsealed
SetSurfaceFlags(damsurf2,16384);
PlaySoundPos(wav0, GetSurfaceCenter(damsurf), 1.0, 1, 10, 0x1);
return;
activated:
if (GetSenderID() != 1) return;
if (GetWallCel(switch) == 0)
{
SetWallCel(switch,1); //off
PlaySoundLocal(powerdown, 1, 0, 0);
SetAdjoinFlags(damsurf,10); //move
SetAdjoinFlags(damsurf2,10);
}
else if (GetWallCel(switch) == 1)
{
SetWallCel(switch,0); //on
PlaySoundLocal(powerup, 1, 0, 0);
ClearAdjoinFlags(damsurf,10); //no move
ClearAdjoinFlags(damsurf2,10);
}
return;
touched:
if ((GetSenderRef() == damsurf) || (GetSenderRef() == damsurf2))
{
victim = GetSourceRef();
damage = (Rand()*(maxdamage - mindamage))+mindamage;
garbage = DamageThing(victim, damage, 0x4, victim);
PlaySoundPos(wav1, GetSurfaceCenter(damsurf), 0.5, 1, 10, 0);
call fieldflash;
}
Return;
damaged:
if (GetSenderID() == 1)
{
call activated;
}
else
{
call fieldflash;
}
return;
timer:
SetFaceGeoMode(damsurf,0);
SetFaceGeoMode(damsurf2,0);
Return;
fieldflash:
SetFaceGeoMode(damsurf,4);
SetFaceGeoMode(damsurf2,4);
KillTimerEx(1);
SetTimerEx(0.5, 1, 0, 0);
return;
end
if you can tell me if i need one or the other, or both, it would be nice, cause using 2 cogs seems unordinary.
THX!
------------------
Your Owners Clan Leaader,
_yo_wasup_
-=__/¯¯l¤¥Ø¤l¯¯\__\/\/ª≤uÞ_=-
http://www.TeamYo.org
http://www.TeamYo.org
![http://forums.massassi.net/html/smile.gif [http://forums.massassi.net/html/smile.gif]](http://forums.massassi.net/html/smile.gif)
) force-field cog script, that I wrote a while back:![http://forums.massassi.net/html/biggrin.gif [http://forums.massassi.net/html/biggrin.gif]](http://forums.massassi.net/html/biggrin.gif)