Nice work!
My only complaint (and it's not really a complaint at all) is that there is no liberation version. The layout looks like it would lend itself very well to liberation-style gameplay.
Moderator: Moderators


I'm really pressed for time right now but I'm interested in seeing how a Wave map dynamic would work... So send it to me, but I cant promise you anything at all.[MOH]GreenMan wrote:Bjarne BZR, Wave objective sounds interesting. Would you be interested in scripting it? If so I could send you my map file.
Code: Select all
// FACTORY WAVE OBJECTIVE
// BY BJARNE GR?NNEVIK
main:
level waittill prespawn
exec global/DMprecache.scr
$world farplane 7500
$world farplane_color (0.675 0.663 0.651)
level.script = maps/obj/obj_factory_wave.scr
exec global/ambient.scr obj_team5
setcvar "g_obj_alliedtext1" "[ ]Front spawn taken"
setcvar "g_obj_alliedtext2" "[ ]Middle spawn taken"
setcvar "g_obj_alliedtext3" "[ ]Rear spawn taken"
setcvar "g_obj_axistext1" "[ ]Front spawn taken"
setcvar "g_obj_axistext2" "[ ]Middle spawn taken"
setcvar "g_obj_axistext3" "[ ]Rear spawn taken"
setcvar "g_scoreboardpic" "obj_factory_wave"
waitthread spawn_setup
level waittill spawn
// level waittill roundstart
thread axis_win_test
thread allies_win_test
end
spawn_setup:
level.spawn_count = 0
level.dmroundlimit = 10 // round time limit in minutes
level.clockside = kills // set to axis, allies, kills, or draw
thread spawn_controller
$spawn_allied_front_axis disablespawn
$spawn_allied_middle_axis disablespawn
$spawn_allied_back_axis disablespawn
$spawn_allied_front_allied enablespawn
$spawn_allied_middle_allied enablespawn
$spawn_allied_back_allied enablespawn
$spawn_allied_front_trigger.taken_by_enemy = 0
$spawn_allied_middle_trigger.taken_by_enemy = 0
$spawn_allied_back_trigger.taken_by_enemy = 0
$spawn_allied_front_marker light 0.0 0.0 1.0 300
$spawn_allied_middle_marker light 0.0 0.0 1.0 300
$spawn_allied_back_marker light 0.0 0.0 1.0 300
$spawn_allied_front_marker lightOn
$spawn_allied_middle_marker lightOn
$spawn_allied_back_marker lightOn
thread allied_back_spawn_check
thread allied_middle_spawn_check
thread allied_front_spawn_check
$spawn_axis_front_allied disablespawn
$spawn_axis_middle_allied disablespawn
$spawn_axis_back_allied disablespawn
$spawn_axis_front_axis enablespawn
$spawn_axis_middle_axis enablespawn
$spawn_axis_back_axis enablespawn
$spawn_axis_front_trigger.taken_by_enemy = 0
$spawn_axis_middle_trigger.taken_by_enemy = 0
$spawn_axis_back_trigger.taken_by_enemy = 0
$spawn_axis_front_marker light 1.0 0.0 0.0 300
$spawn_axis_middle_marker light 1.0 0.0 0.0 300
$spawn_axis_back_marker light 1.0 0.0 0.0 300
$spawn_axis_front_marker lightOn
$spawn_axis_middle_marker lightOn
$spawn_axis_back_marker lightOn
thread axis_back_spawn_check
thread axis_middle_spawn_check
thread axis_front_spawn_check
end
spawn_controller:
level.dmrespawning = 0
level waittill roundstart
while(1) {
wait 30
level.dmrespawning = 1
wait 10
level.dmrespawning = 0
}
end
axis_win_test:
while(level.spawn_count > 3) {
waitframe // protection
}
iprintlnbold_noloc "The axis has gained complete control of the factory!"
teamwin axis
end
allies_win_test:
while(level.spawn_count < 3) {
waitframe // protection
}
iprintlnbold_noloc "The allies has gained complete control of the factory!"
teamwin allies
end
allied_back_spawn_check:
while(1) {
$spawn_allied_back_trigger waittill trigger
if(parm.other.dmteam != allies) {
if($spawn_allied_back_trigger.taken_by_enemy) {
parm.other iprint "You already control this entrance." 1
continue
} else {
waitthread allied_back_spawn_change
}
} else {
if($spawn_allied_back_trigger.taken_by_enemy) {
waitthread allied_back_spawn_change
} else {
parm.other iprint "You already control this entrance." 1
continue
}
}
waitframe // protection
}
end
allied_back_spawn_change:
$spawn_allied_back_trigger playsound convert_spawn
if($spawn_allied_back_trigger.taken_by_enemy) {
level.spawn_count ++
$spawn_allied_back_trigger.taken_by_enemy = 0
$spawn_allied_back_marker lightOff
$spawn_allied_back_marker light 0.0 0.0 1.0 300
$spawn_allied_back_marker lightOn
$spawn_allied_back_axis disablespawn
$spawn_allied_back_allied enablespawn
// $spawn_allied_back_switch anim disable // disable is just a guess
iprintlnbold_noloc "The allies controls their rear entrance again!"
setcvar "g_obj_axistext3" "[ ]Rear spawn taken"
} else {
level.spawn_count --
$spawn_allied_back_trigger.taken_by_enemy = 1
$spawn_allied_back_marker lightOff
$spawn_allied_back_marker light 1.0 0.0 0.0 300
$spawn_allied_back_marker lightOn
$spawn_allied_back_axis enablespawn
$spawn_allied_back_allied disablespawn
// $spawn_allied_back_switch anim enable // enable is just a guess
iprintlnbold_noloc "The axis controls the rear allied entrance!"
setcvar "g_obj_axistext3" "[X]Rear spawn taken"
}
end
allied_middle_spawn_check:
while(1) {
$spawn_allied_middle_trigger waittill trigger
if(parm.other.dmteam != allies) {
if($spawn_allied_middle_trigger.taken_by_enemy) {
parm.other iprint "You already control this entrance." 1
continue
} else {
waitthread allied_middle_spawn_change
}
} else {
if($spawn_allied_middle_trigger.taken_by_enemy) {
waitthread allied_middle_spawn_change
} else {
parm.other iprint "You already control this entrance." 1
continue
}
}
waitframe // protection
}
end
allied_middle_spawn_change:
$spawn_allied_middle_trigger playsound convert_spawn
if($spawn_allied_middle_trigger.taken_by_enemy) {
level.spawn_count ++
$spawn_allied_middle_trigger.taken_by_enemy = 0
$spawn_allied_middle_marker lightOff
$spawn_allied_middle_marker light 0.0 0.0 1.0 300
$spawn_allied_middle_marker lightOn
$spawn_allied_middle_axis disablespawn
$spawn_allied_middle_allied enablespawn
// $spawn_allied_middle_switch anim disable // disable is just a guess
iprintlnbold_noloc "The allies controls their middle entrance again!"
setcvar "g_obj_axistext2" "[ ]Middle spawn taken"
} else {
level.spawn_count --
$spawn_allied_middle_trigger.taken_by_enemy = 1
$spawn_allied_middle_marker lightOff
$spawn_allied_middle_marker light 1.0 0.0 0.0 300
$spawn_allied_middle_marker lightOn
$spawn_allied_middle_axis enablespawn
$spawn_allied_middle_allied disablespawn
// $spawn_allied_back_switch anim enable // enable is just a guess
iprintlnbold_noloc "The axis controls the middle allied entrance!"
setcvar "g_obj_axistext2" "[X]Middle spawn taken"
}
end
allied_front_spawn_check:
while(1) {
$spawn_allied_front_trigger waittill trigger
if(parm.other.dmteam != allies) {
if($spawn_allied_front_trigger.taken_by_enemy) {
parm.other iprint "You already control this entrance." 1
continue
} else {
waitthread allied_front_spawn_change
}
} else {
if($spawn_allied_front_trigger.taken_by_enemy) {
waitthread allied_front_spawn_change
} else {
parm.other iprint "You already control this entrance." 1
continue
}
}
waitframe // protection
}
end
allied_front_spawn_change:
$spawn_allied_front_trigger playsound convert_spawn
if($spawn_allied_front_trigger.taken_by_enemy) {
level.spawn_count ++
$spawn_allied_front_trigger.taken_by_enemy = 0
$spawn_allied_front_marker lightOff
$spawn_allied_front_marker light 0.0 0.0 1.0 300
$spawn_allied_front_marker lightOn
$spawn_allied_front_axis disablespawn
$spawn_allied_front_allied enablespawn
// $spawn_allied_front_switch anim disable // disable is just a guess
iprintlnbold_noloc "The allies controls their front entrance again!"
setcvar "g_obj_axistext1" "[ ]Front spawn taken"
} else {
level.spawn_count --
$spawn_allied_front_trigger.taken_by_enemy = 1
$spawn_allied_front_marker lightOff
$spawn_allied_front_marker light 1.0 0.0 0.0 300
$spawn_allied_front_marker lightOn
$spawn_allied_front_axis enablespawn
$spawn_allied_front_allied disablespawn
// $spawn_allied_front_switch anim enable // enable is just a guess
iprintlnbold_noloc "The axis controls the front allied entrance!"
setcvar "g_obj_axistext1" "[X]Front spawn taken"
}
end
axis_back_spawn_check:
while(1) {
$spawn_axis_back_trigger waittill trigger
if(parm.other.dmteam != axis) {
if($spawn_axis_back_trigger.taken_by_enemy) {
parm.other iprint "You already control this entrance." 1
continue
} else {
waitthread axis_back_spawn_change
}
} else {
if($spawn_axis_back_trigger.taken_by_enemy) {
waitthread axis_back_spawn_change
} else {
parm.other iprint "You already control this entrance." 1
continue
}
}
waitframe // protection
}
end
axis_back_spawn_change:
$spawn_axis_back_trigger playsound convert_spawn
if($spawn_axis_back_trigger.taken_by_enemy) {
level.spawn_count --
$spawn_axis_back_trigger.taken_by_enemy = 0
$spawn_axis_back_marker lightOff
$spawn_axis_back_marker light 1.0 0.0 0.0 300
$spawn_axis_back_marker lightOn
$spawn_axis_back_axis disablespawn
$spawn_axis_back_allied enablespawn
// $spawn_axis_back_switch anim disable // disable is just a guess
iprintlnbold_noloc "The axis controls their rear entrance again!"
setcvar "g_obj_alliestext3" "[ ]Rear spawn taken"
} else {
level.spawn_count ++
$spawn_axis_back_trigger.taken_by_enemy = 1
$spawn_axis_back_marker lightOff
$spawn_axis_back_marker light 0.0 0.0 1.0 300
$spawn_axis_back_marker lightOn
$spawn_axis_back_axis enablespawn
$spawn_axis_back_allied disablespawn
// $spawn_axis_back_switch anim enable // enable is just a guess
iprintlnbold_noloc "The allies controls the rear axis entrance!"
setcvar "g_obj_alliestext3" "[X]Rear spawn taken"
}
end
axis_middle_spawn_check:
while(1) {
$spawn_axis_middle_trigger waittill trigger
if(parm.other.dmteam != axis) {
if($spawn_axis_middle_trigger.taken_by_enemy) {
parm.other iprint "You already control this entrance." 1
continue
} else {
waitthread axis_middle_spawn_change
}
} else {
if($spawn_axis_middle_trigger.taken_by_enemy) {
waitthread axis_middle_spawn_change
} else {
parm.other iprint "You already control this entrance." 1
continue
}
}
waitframe // protection
}
end
axis_middle_spawn_change:
$spawn_axis_middle_trigger playsound convert_spawn
if($spawn_axis_middle_trigger.taken_by_enemy) {
level.spawn_count --
$spawn_axis_middle_trigger.taken_by_enemy = 0
$spawn_axis_middle_marker lightOff
$spawn_axis_middle_marker light 1.0 0.0 0.0 300
$spawn_axis_middle_marker lightOn
$spawn_axis_middle_axis disablespawn
$spawn_axis_middle_allied enablespawn
// $spawn_axis_middle_switch anim disable // disable is just a guess
iprintlnbold_noloc "The axis controls their middle entrance again!"
setcvar "g_obj_alliestext2" "[ ]Middle spawn taken"
} else {
level.spawn_count ++
$spawn_axis_middle_trigger.taken_by_enemy = 1
$spawn_axis_middle_marker lightOff
$spawn_axis_middle_marker light 0.0 0.0 1.0 300
$spawn_axis_middle_marker lightOn
$spawn_axis_middle_axis enablespawn
$spawn_axis_middle_allied disablespawn
// $spawn_axis_middle_switch anim enable // enable is just a guess
iprintlnbold_noloc "The allies controls the middle axis entrance!"
setcvar "g_obj_alliestext2" "[X]Middle spawn taken"
}
end
axis_front_spawn_check:
while(1) {
$spawn_axis_front_trigger waittill trigger
if(parm.other.dmteam != axis) {
if($spawn_axis_front_trigger.taken_by_enemy) {
parm.other iprint "You already control this entrance." 1
continue
} else {
waitthread axis_front_spawn_change
}
} else {
if($spawn_axis_front_trigger.taken_by_enemy) {
waitthread axis_front_spawn_change
} else {
parm.other iprint "You already control this entrance." 1
continue
}
}
waitframe // protection
}
end
axis_front_spawn_change:
$spawn_axis_front_trigger playsound convert_spawn
if($spawn_axis_front_trigger.taken_by_enemy) {
level.spawn_count --
$spawn_axis_front_trigger.taken_by_enemy = 0
$spawn_axis_front_marker lightOff
$spawn_axis_front_marker light 1.0 0.0 0.0 300
$spawn_axis_front_marker lightOn
$spawn_axis_front_axis disablespawn
$spawn_axis_front_allied enablespawn
// $spawn_axis_front_switch anim disable // disable is just a guess
iprintlnbold_noloc "The axis controls their front entrance again!"
setcvar "g_obj_alliestext1" "[ ]Front spawn taken"
} else {
level.spawn_count ++
$spawn_axis_front_trigger.taken_by_enemy = 1
$spawn_axis_front_marker lightOff
$spawn_axis_front_marker light 0.0 0.0 1.0 300
$spawn_axis_front_marker lightOn
$spawn_axis_front_axis enablespawn
$spawn_axis_front_allied disablespawn
// $spawn_axis_front_switch anim enable // enable is just a guess
iprintlnbold_noloc "The allies controls the front axis entrance!"
setcvar "g_obj_alliestext2" "[X]Front spawn taken"
}
end