Post your scripting questions / solutions here
Moderator: Moderators
pshyco
Private
Posts: 8 Joined: Thu Dec 04, 2003 8:15 pm
Post
by pshyco » Sat Dec 13, 2003 1:30 pm
is there any way to get "Multi Objectives" for both teams like both teams have to steal some documents then once there stolern bomb 1 becomes useable? not in tow mode but obj? heres what i got so far:
Code: Select all
// Objective Farm Assult
// [69th]<-=*PsHyCo*=->
main:
setcvar "g_obj_alliedtext1" "Get The Plans"
setcvar "g_obj_alliedtext2" "&"
setcvar "g_obj_alliedtext3" "Destroy the Tank"
setcvar "g_obj_axistext1" "Get The Plans"
setcvar "g_obj_axistext2" "&"
setcvar "g_obj_axistext3" "Destroy the Barn"
setcvar "g_scoreboardpic" "none"
level waittill prespawn
//*** Precache Dm Stuff
exec global/DMprecache.scr
//***Ambient sounds
level.script = maps/obj/obj_farm_assult.scr
exec global/ambient.scr obj_farm_assult
//***Initializes the exploder subsystem
thread global/exploder.scr::main
level waittill spawn
level.defusing_team = "axis"
level.planting_team = "allies"
level.targets_to_destroy = 4
level.bomb_damage = 200
level.bomb_explosion_radius = 2048
// set the parameters for round based match
level.dmrespawning = 1
level.dmroundlimit = 15
level.clockside = kills
level waittill roundstart
$panel_bomb thread global/obj_dm.scr::bomb_thinker
$wall_document_trigger thread documentaxis_check
$desk_document_trigger thread documentallies_check
thread allies_win_bomb
thread axis_win_bomb
end
//*** --------------------------------------------
//*** "Allies Victory"
//*** --------------------------------------------
allies_win_bomb:
while(level.targets_destroyed < level.targets_to_destroy)
waitframe
teamwin allies
end
//*** --------------------------------------------
//*** "Axis Victory"
//*** --------------------------------------------
axis_win_bomb:
while(level.targets_destroyed < level.targets_to_destroy)
waitframe
teamwin axis
end
documentaxis_check:
while(1) {
self waittill trigger
if(parm.other.dmteam == axis) {
self.target hide
level.targets_destroyed ++
break }
waitframe
}
end
documentallies_check:
while(1) {
self waittill trigger
if(parm.other.dmteam == allies) {
self.target hide
level.targets_destroyed ++
break }
waitframe
}
end
tltrude
Chuck Norris
Posts: 4774 Joined: Sun Jul 07, 2002 4:03 am
Location: Oklahoma, USA
Contact:
Post
by tltrude » Sat Dec 13, 2003 6:49 pm
You can add new variables like:
level.controlling_team
level.allied_targets_to_destroy = 2
level.axis_targets_destroyed ++
Use any names you like. You should also set the objectives up so only one team or the other can use the triggers. You can use "if" statements for that.
You will need new "planting" and "defusing" lines too and that may require a modification of the obj_dm.scr script.
Tom Trude,
pshyco
Private
Posts: 8 Joined: Thu Dec 04, 2003 8:15 pm
Post
by pshyco » Sat Dec 13, 2003 7:30 pm
i dont understand were to place
Code: Select all
level.controlling_team
level.allied_targets_to_destroy = 2
level.axis_targets_destroyed ++
in my new scirpt and also would it be easyer to be a tug of war match.
here is my scirpt could you try and help me by putting it in here?
Code: Select all
// Objective Farm Assult
// [69th]<-=*PsHyCo*=->
main:
setcvar "g_obj_alliedtext1" "Get The Plans"
setcvar "g_obj_alliedtext2" "PROTECT YOUR SAFE"
setcvar "g_obj_alliedtext3" ""
setcvar "g_obj_axistext1" "Destroy the Safe"
setcvar "g_obj_axistext2" "PROTECT YOUR PLANS"
setcvar "g_obj_axistext3" ""
setcvar "g_scoreboardpic" "none"
level waittill prespawn
//*** Precache Dm Stuff
exec global/DMprecache.scr
//***Ambient sounds
level.script = maps/obj/obj_farm_assult.scr
exec global/ambient.scr obj_farm_assult
//***Initializes the exploder subsystem
thread global/exploder.scr::main
level waittill spawn
//i added it heredunno if its in the right place?
// level.controlling_team
// level.allied_targets_to_destroy = 2
// level.axis_targets_destroyed ++
level.defusing_team = "axis"
level.planting_team = "allies"
level.targets_to_destroy = 4
level.bomb_damage = 200
level.bomb_explosion_radius = 2048
// set the parameters for round based match
level.dmrespawning = 1
level.dmroundlimit = 15
level.clockside = kills
level waittill roundstart
$tank_trigger_1 thread global/obj_dm.scr::bomb_thinker
$safe_trigger_2 thread global/obj_dm.scr::bomb_thinker
$document_trigger_axis thread documentaxis_check
$document_trigger thread documentallies_check
thread allies_win_bomb
thread axis_win_bomb
end
//*** --------------------------------------------
//*** "Allies Victory"
//*** --------------------------------------------
allies_win_bomb:
while(level.targets_destroyed < level.targets_to_destroy)
waitframe
teamwin allies
end
//*** --------------------------------------------
//*** "Axis Victory"
//*** --------------------------------------------
axis_win_bomb:
while(level.targets_destroyed < level.targets_to_destroy)
waitframe
teamwin axis
end
documentaxis_check:
while(1) {
self waittill trigger
if(parm.other.dmteam == axis) {
self.target hide
level.targets_destroyed ++
break }
waitframe
}
end
documentallies_check:
while(1) {
self waittill trigger
if(parm.other.dmteam == allies) {
self.target hide
level.targets_destroyed ++
break }
waitframe
}
end
//------------------------------------------------------->
// Water Trigger Messages To Stop Under Water Snipers
//------------------------------------------------------->
Water_Trigger:
self waittill trigger
local.player=parm.other
if (local.player.isTrigger1==1)
end
local.player.isTrigger1=1
wait 2.0
iprintln ("Warning")
wait 2.0
iprintln ("To Anyone")
wait 2.0
iprintln ("In The")
wait 2.0
iprintln ("Water")
wait 2.0
iprintln ("4 4 4")
wait 2.0
iprintln ("3 3 3")
wait 2.0
iprintln ("2 2 2")
wait 2.0
iprintln ("1 1 1")
wait 2.0
iprintln ("0 0 0")
local.player respawn
local.player.stufftext ?say :-( I Was In The Water Swimming?
local.player.stufftext ?say :-( But I Drowned?
local.player.isTrigger1=0
end
//------------------------------------------------------->
// EXPLOSIVE CRATE
//------------------------------------------------------->
boomcrate1:
$crate_trigger1 waittill trigger
spawn "animate/fx_explosion_mine" targetname "explode_crate1" angle "-1" origin local.crate1.origin
$explode_crate1 anim start
radiusdamage $killspot1 250 256
local.crate1 hide
$crate_trigger1 remove
$killspot1 remove
wait 20
$explode_crate1 remove
local.crate1 show
local.crate1 remove
thread boomcrate1
end
tltrude
Chuck Norris
Posts: 4774 Joined: Sun Jul 07, 2002 4:03 am
Location: Oklahoma, USA
Contact:
Post
by tltrude » Sat Dec 13, 2003 9:31 pm
You should study a Tow script. I don't have Spearhead, so I can't help. Those lines were just examples of things you can add.
Tom Trude,
nuggets
General
Posts: 1006 Joined: Fri Feb 28, 2003 2:57 am
Location: U-england-K (england in the UK) :P
Contact:
Post
by nuggets » Tue Dec 16, 2003 3:37 pm
have
key: targetname
value: allies_object
key: setthread
value: allies_win
on the plans trigger
and
key: targetname
value: axis_object
key: setthread
value: axis_win
on the safe trigger
then
in the script after...
main:
//...
//etc...
end
allies_win:
teamwin allies
end
axis_win:
teamwin axis
end
hope this helps, prob not cos it's all foreign 2 me :-/
pshyco
Private
Posts: 8 Joined: Thu Dec 04, 2003 8:15 pm
Post
by pshyco » Fri Dec 19, 2003 10:14 pm
ah thanks that what i needed.