scoreboard messages
Posted: Wed May 14, 2003 1:35 pm
How do I edit my script so when an objective is cleared it indicates as much with a message on the screen and changes the text on the right of the scoreboard??
Code: Select all
setcvar "g_obj_alliedtext3" ("Allies points: "+ level.allies_points) // when player hits tab
setcvar "g_obj_axistext3" ("Axis points: "+ level.axis_points) // when player hits tab I have three objectives, two are exploders and one is a document. Can someone write the script for me please?main:
// set scoreboard messages
setcvar "g_obj_alliedtext1" "Blow the fuel farm"
setcvar "g_obj_alliedtext2" "Steal the plans"
setcvar "g_obj_alliedtext3" "Blow the test stand"
setcvar "g_obj_axistext1" "Protect the fuel farm"
setcvar "g_obj_axistext2" "Secure the plans"
setcvar "g_obj_axistext3" "Defend the test stand"
script:
main:
// set scoreboard messages
setcvar "g_obj_alliedtext1" "Blow the fuel farm"
setcvar "g_obj_alliedtext2" "Steal the plans"
setcvar "g_obj_alliedtext3" "Blow the test stand"
setcvar "g_obj_axistext1" "Protect the fuel farm"
setcvar "g_obj_axistext2" "Secure the plans"
setcvar "g_obj_axistext3" "Defend the test stand"
setcvar "g_scoreboardpic" "none
level waittill prespawn
//hangar door timing
$hangardoor1 time 4 // travel time in seconds
$hangardoor2 time 4
$hangardoor3 time 4
$hangardoor4 time 4
thread hanger_doors
//stop timing
//***Precache Dm Stuff
exec global/DMprecache.scr
level.script=maps/obj/cust_obj_test.scr
exec global/ambient.scr m1l3a
thread global/exploder.scr::main
level waittill spawn
//obj setup
level.defusing_team = "axis" // Axis like the bombs unplanted
level.planting_team = "allies" // Allies will try to plant the bombs
level.targets_to_destroy = 3 // Number of targets in this map
level.bomb_damage = 200 // Default damage of the bomb
level.bomb_explosion_radius = 2048 // Default radius of bomb blast
// Set the parameters for round based match
level.dmrespawning = 0 // 1 or 0 (0=no respawn)
level.dmroundlimit = 5 // round time limit in minutes
level.clockside = axis // set to axis, allies, kills, or draw
// level waittill roundstart // Comment out this line using '//' before it to be able to set the bomb when alone on the map ( just for testing )
$panel_bomb thread global/obj_dm.scr::bomb_thinker // "panel_bomb" is the targetname set on the bomb in MOHRadiant
$stand_bomb thread global/obj_dm.scr::bomb_thinker
thread desk_document_check
thread allies_win_bomb // Start the win check thread for allies
thread axis_win_timer // Start the win check thread for axis
end
// Allied victory test
allies_win_bomb:
while(level.targets_destroyed < level.targets_to_destroy) // While undestroyed objectives left
waitframe // chill out
teamwin allies // No objectives left allies win
end
// Axis victory test
axis_win_timer:
level waittill axiswin // At the end Axis win
end // end axis victory test
//------------------------------
// Document thread
//------------------------------
desk_document_check:
$documents_trigger waittill trigger // waits until triggered
local.player = parm.other
if (local.player.dmteam == axis)
{
goto desk_document_check
}
if (local.player.dmteam == allies)
{
$documents playsound snd_papers
wait .2
$documents hide // Make the document disappear
level.targets_destroyed ++ // adds 1 to the number of targets destroyed
}
end
//------------------------------
// Hanger doors thread
//------------------------------
hanger_doors:
$hangardoor_trigger waittill trigger
$hangardoor_trigger remove
$hangardoor_switch anim turn
$hangardoor_switch playsound alarm_switch
$hangardoor1 loopsound lighthouse_run
$hangardoor4 loopsound lighthouse_run
$hangardoor2 moveWest 336
$hangardoor2 move
$hangardoor3 moveEast 336
$hangardoor3 move
wait 4
$hangardoor2 moveWest 336
$hangardoor2 move
$hangardoor3 moveEast 336
$hangardoor3 move
$hangardoor1 moveWEst 336
$hangardoor1 move
$hangardoor4 moveEast 336
$hangardoor4 waitmove
$hangardoor1 loopsound lighthouse_run wait
$hangardoor4 loopsound lighthouse_run wait
end
Code: Select all
level waittill prespawn:
thread bomb1_exploded $bomb1
thread bomb2_exploded $bomb2
end
// --------------------------------------------
// "Bomb 1 Exploded"
// --------------------------------------------
bomb1_exploded local.bomb1:
while (local.bomb1.exploded != 1) // (!) means "is not"
wait .1
iprintlnbold_noloc "Axis have destroyed the Sherman tank!"
$exploder1smashed show // homemade extra exploder stuff
$exploder1fire anim start // exploder is set off in the map, not here
end
// --------------------------------------------
// "Bomb 2 Exploded"
// --------------------------------------------
bomb2_exploded local.bomb2:
while (local.bomb2.exploded != 1)
wait .1
thread global/exploder.scr::explode 1 // explodes #set 1
$well_speaker playsound explode_water2
iprintlnbold_noloc "Axis have renewed their water supply!!"
end
So, where did I go wrong?? Is there anything I have to do with the .map file itself?? I wouldn't think so. I would think this can be done with just scripting but who knows?main:
// set scoreboard messages
setcvar "g_obj_alliedtext1" "[ ]Blow up the fuel farm"
setcvar "g_obj_alliedtext2" "[ ]Steal the plans"
setcvar "g_obj_alliedtext3" "[ ]Blow up the test stand"
setcvar "g_obj_axistext1" "Protect the fuel farm"
setcvar "g_obj_axistext2" "Secure the plans"
setcvar "g_obj_axistext3" "Defend the test stand"
setcvar "g_scoreboardpic" "none
level waittill prespawn
//***Precache Dm Stuff
exec global/DMprecache.scr
level.script=maps/obj/cust_obj_test.scr
exec global/ambient.scr m1l3a
thread global/exploder.scr::main
//------------------EDITED LINES--------------------
thread panelbomb_exploded $panel_bomb
thread standbomb_exploded $stand_bomb
end
//------------------CLOSE EDITED LINES---------------
level waittill spawn
//obj setup
level.defusing_team = "axis" // Axis like the bombs unplanted
level.planting_team = "allies" // Allies will try to plant the bombs
level.targets_to_destroy = 3 // Number of targets in this map
level.bomb_damage = 200 // Default damage of the bomb
level.bomb_explosion_radius = 2048 // Default radius of bomb blast
// Set the parameters for round based match
level.dmrespawning = 0 // 1 or 0 (0=no respawn)
level.dmroundlimit = 5 // round time limit in minutes
level.clockside = axis // set to axis, allies, kills, or draw
// level waittill roundstart // Comment out this line using '//' before it to be able to set the bomb when alone on the map ( just for testing )
$panel_bomb thread global/obj_dm.scr::bomb_thinker // "panel_bomb" is the targetname set on the bomb in MOHRadiant
$stand_bomb thread global/obj_dm.scr::bomb_thinker
thread desk_document_check
thread allies_win_bomb // Start the win check thread for allies
thread axis_win_timer // Start the win check thread for axis
end
//----------------------EDITED LINES-------------------
//panelbomb exploded
panelbomb_exploded local.panel_bomb:
while (local.panel_bomb.exploded != 1)
wait .1
iprintlnbold_noloc "Allies have destroyed the Fuel Farm!"
setcvar "g_obj_alliedtext1" "[X]Blow up the Fuel Farm"
setcvar "g_obj_axistext1" "Fuel Farm is destroyed"
end
//standbomb exploded
standbomb_exploded local.stand_bomb:
while (local.stand_bomb.exploded != 1)
wait .1
iprintlnbold_noloc "Allies have destroyed the Test Stand!"
setcvar "g_obj_alliedtext3" "[X]Blow up the Test Stand"
setcvar "g_obj_axistext3" "Test Stand is destroyed"
end
//----------------------CLOSE EDITED LINES--------------
// Allied victory test
allies_win_bomb:
while(level.targets_destroyed < level.targets_to_destroy) // While undestroyed objectives left
waitframe // chill out
teamwin allies // No objectives left allies win
end
// Axis victory test
axis_win_timer:
level waittill axiswin // At the end Axis win
end // end axis victory test
//------------------------------
// Document thread
//------------------------------
desk_document_check:
$documents_trigger waittill trigger // waits until triggered
local.player = parm.other
if (local.player.dmteam == allies)
{
$documents playsound snd_papers
wait .2
$documents hide // Make the document disappear
setcvar "g_obj_alliedtext2" "[x]Steal the Plans"
setcvar "g_obj_axistext2" "You've lost the plans"
level.targets_destroyed ++ // adds 1 to the number of targets destroyed
}
end