Jump to content
主视角中国

Recommended Posts

Posted

Thanks to everyones help on the other post, Now gonna use ya brains and my brain.. to answer the question Of How to convert SP Maps to TDM (Or DM)

Weeeeeeeeeeeeeeeel peeople

normally we try and try to convert a SP map to a multi, And we suceed, With one player... More than 1, Well the game crashes!!!

The Simple Fix to that is to set the gametype of either 1 or 2, The standard gametype is 0, Single player which only expects 1 player to join the map!, Which in SP.. is correct

YOU MUST SET A g_gametype TO EITHER 1 OR 2 IN ORDER FOR YOU MAP TO NOT CRASH WHEN CLIENTS LOAD!!!

The easiest way to test this, is to start a dedicated server, Type in g_gametype 2

then

Map MAPNAME

then load up the game, ANd type Connect 127.0.0.1 (IF HOSTING DEDICATED ON YOUR OWN PC, Otherwise, goto lan lobby)

THe next issue is the sounds, Not all missions have all guns on it, So you need to grab a copy of Ubersound.scr

once you have gained a copy of this, you need to search for the weapons that dont have sound (There Clearly Labled!!!), and at the end of the alias are map names, OR dm moh obj and so on

At the end of it, add your map name, Example. If you chose the STG44 fire, that dont work, and your map name is m4l0 then do this:

aliascache mp44_snd_fire1 sound/weapons/fire/MP44Fire1.wav soundparms 1.3 0.05 0.95 0.1 400 8000 weapon loaded maps "m5l1b m6l1c m6l2a m6l2b m6l3a m6l3b m6l3c m6l3 dm moh obj m4l0 "
Notice the m4l0 added at the end of the line, Here are the loaded maps that contain this sound, Thus the sound will work on this map! well thats the sounds fixed, so now the spawn points If you have a DM game, you need to add info_player_deathmatch spawn points... YOU MUST DO THIS BEFORE Level WaitTill Prespawn (For Saftey) YOu can add spawn points like this:
local.deathmatch = spawn info_player_deathmatch
local.deathmatch.angles = ( x y z )
local.deathmatch.origin = ( x y z )[/code] note: it might not be info player deathmatch, Check with the mohaa mapeditor, Or ne other way u know of IF you have a Team Death Match setup, you need to spawn info_player_axis and info_player_allies Here is the code:
[code]local.allied = spawn info_player_allied
local.allied.angle = 42
local.allied.origin = ( -2272 2600 -64 )

local.axis = spawn info_player_axis
local.axis.angle = 0
local.axis.origin = ( -4288.29 -6729.40 -135.88 )
that will spawn 1 axis, and 1 allied spawn I recomend you spawn enough spawn points for the amount of player slots on the server, 15-20 aside will do fine, 10 is to little (Teams could be unbalenced) "Ooh ! i have AI in my map!! Help!!! how do i remove them!" weeeeeeeeel thats simple enough you can remove all the AI in the map by doin this:
removeclass actor
NOTE: I HAVENT TESTED THIS CODE!!! I have tested this tho: Grab the Moh BSP to Map Converer, DOwnload it, DOwnload the mohmapper.. Open the map file and find the AI on the map.. Select an AI player, Press 'N' and grab their targetnames, and in the script do this:
$TARGETNAME remove

This has been tested (As this is what i do) and it works :D

Posted

BTW. Its going to be more than all that he just posted. If it had been just that it would have been done long time ago!!! As you already notice lots of the modders have stayed away from them cuz of the work involved in getting the mod to run server side. I ll be nice and post one map script currently running online.

Of course the one on the server has a few more tricks but this will allow you to play.

main:

setcvar "g_obj_alliedtext1" ""

setcvar "g_obj_alliedtext2" "The Nebelwerfer Hunt"

setcvar "g_obj_alliedtext3" "Church Infiltration"

setcvar "g_obj_axistext1" ""

setcvar "g_obj_axistext2" "Modded by"

setcvar "g_obj_axistext3" "WarTech"

setcvar "g_scoreboardpic" "objdm1"

level.script = "maps/m3l3.scr"

//allied spawns

local.allied = spawn info_player_allied origin "5446 -982 -328" angle -90

local.allied = spawn info_player_allied origin "5573 -2677 -347" angle 112

local.allied = spawn info_player_allied origin "5615 -2247 -334" angle -173

local.allied = spawn info_player_allied origin "5568 -1821 -353" angle 175

local.allied = spawn info_player_allied origin "4869 -474 -265" angle -27

local.allied = spawn info_player_allied origin "2175 -713 -244" angle -122

local.allied = spawn info_player_allied origin "2225 -1536 -260" angle 176

local.allied = spawn info_player_allied origin "165 -1400 -280" angle -31

local.allied = spawn info_player_allied origin "662 -932 -233" angle -58

local.allied = spawn info_player_allied origin "552 -2249 -237" angle 112

local.allied = spawn info_player_allied origin "2095 -4453 -271" angle 91

local.allied = spawn info_player_allied origin "1554 -3864 -270" angle 81

local.allied = spawn info_player_allied origin "630 -3767 -337" angle 64

local.allied = spawn info_player_allied origin "839 -4262 -268" angle 64

local.allied = spawn info_player_allied origin "4244 -3575 -292" angle 154

//axis spawns

local.axis = spawn info_player_axis origin "2272 -2327 -149" angle 33

local.axis = spawn info_player_axis origin "2118 -2736 -181" angle -15

local.axis = spawn info_player_axis origin "1816 -2088 -197" angle -92

local.axis = spawn info_player_axis origin "1393 -2845 -189" angle 29

local.axis = spawn info_player_axis origin "1961 -2441 -197" angle 0

local.axis = spawn info_player_axis origin "1466 -2119 -197" angle -94

local.axis = spawn info_player_axis origin "1271 -2084 -197" angle -128

local.axis = spawn info_player_axis origin "696 -2784 -197" angle 66

local.axis = spawn info_player_axis origin "1258 -2787 -197" angle 118

local.axis = spawn info_player_axis origin "821 -2419 -197" angle -178

local.axis = spawn info_player_axis origin "4698 -453 -265" angle -134

local.axis = spawn info_player_axis origin "4989 -781 -265" angle 139

local.axis = spawn info_player_axis origin "1418 -2172 204" angle -12

local.axis = spawn info_player_axis origin "2129 -2428 618" angle -1

//================================================== =================================

//Death Match - FFA

local.deathmatch = spawn info_player_deathmatch origin "1248 4368 -141" angle 42

local.deathmatch = spawn info_player_deathmatch origin "1129 3792 -134" angle 89

local.deathmatch = spawn info_player_deathmatch origin "1420 3792 -134" angle 92

local.deathmatch = spawn info_player_deathmatch origin "2259 4288 -154" angle -132

local.deathmatch = spawn info_player_deathmatch origin "1424 3711 -142" angle -49

local.deathmatch = spawn info_player_deathmatch origin "1497 3018 -146" angle 0

local.deathmatch = spawn info_player_deathmatch origin "1847 3360 -159" angle -56

local.deathmatch = spawn info_player_deathmatch origin "2480 2783 -162" angle 129

local.deathmatch = spawn info_player_deathmatch origin "2323 4297 -129" angle -56

local.deathmatch = spawn info_player_deathmatch origin "2716 4297 -129" angle -126

local.deathmatch = spawn info_player_deathmatch origin "3131 2977 -165" angle 173

local.deathmatch = spawn info_player_deathmatch origin "3167 3319 -165" angle -133

local.deathmatch = spawn info_player_deathmatch origin "2967 4351 -157" angle -61

local.deathmatch = spawn info_player_deathmatch origin "3077 4258 42" angle -95

local.deathmatch = spawn info_player_deathmatch origin "3216 4263 42" angle -44

local.deathmatch = spawn info_player_deathmatch origin "3775 4643 -108" angle -162

local.deathmatch = spawn info_player_deathmatch origin "4206 4236 -162" angle -158

local.deathmatch = spawn info_player_deathmatch origin "4629 4087 -243" angle -94

local.deathmatch = spawn info_player_deathmatch origin "5360 3704 -210" angle -137

local.deathmatch = spawn info_player_deathmatch origin "5585 3018 -218" angle -169

local.deathmatch = spawn info_player_deathmatch origin "5677 2480 -207" angle -173

local.deathmatch = spawn info_player_deathmatch origin "5776 2151 -221" angle -120

local.deathmatch = spawn info_player_deathmatch origin "4861 686 -236" angle 86

local.deathmatch = spawn info_player_deathmatch origin "4256 2207 -189" angle -36

local.deathmatch = spawn info_player_deathmatch origin "4448 1675 -166" angle 177

local.deathmatch = spawn info_player_deathmatch origin "4594 1675 -208" angle -94

local.deathmatch = spawn info_player_deathmatch origin "3561 1031 -219" angle 29

local.deathmatch = spawn info_player_deathmatch origin "3035 2608 -177" angle -39

local.deathmatch = spawn info_player_deathmatch origin "3496 1043 -201" angle 102

local.deathmatch = spawn info_player_deathmatch origin "2824 1950 -206" angle -98

local.deathmatch = spawn info_player_deathmatch origin "2774 311 -241" angle 37

local.deathmatch = spawn info_player_deathmatch origin "2935 -103 -245" angle 57

local.deathmatch = spawn info_player_deathmatch origin "4016 972 -262" angle -114

local.deathmatch = spawn info_player_deathmatch origin "4132 904 -269" angle 1

local.deathmatch = spawn info_player_deathmatch origin "4086 668 -269" angle -55

local.deathmatch = spawn info_player_deathmatch origin "4420 440 -85" angle 138

local.deathmatch = spawn info_player_deathmatch origin "4386 -238 -253" angle 89

local.deathmatch = spawn info_player_deathmatch origin "4272 -328 -253" angle 130

local.deathmatch = spawn info_player_deathmatch origin "3209 164 -53" angle -129

local.deathmatch = spawn info_player_deathmatch origin "4400 -556 -269" angle -92

local.deathmatch = spawn info_player_deathmatch origin "3992 -1400 -227" angle 137

local.deathmatch = spawn info_player_deathmatch origin "3121 -404 -266" angle -90

//================================================== ===============================================

$halftrack delete

$scene1_dead_panzer delete

//Trigger remove

$levelchange delete

$exterior delete

$interior delete

$minefield delete

$scene4_manual_gun1_trigger1 delete

$scene4_manual_gun1_trigger2 delete

$scene4_mgfodderspawn_trigger delete

$scene6_gunner_escape_trigger delete

$scene7_nebelwerfer2 delete

$scene7_nebelwerfer1 delete

$scene7_nebelwerfer4 delete

$scene7_nebelwerfer3 delete

$scene7_nebelwerfer1_destroyed delete

$scene7_nebelwerfer2_destroyed delete

$scene7_nebelwerfer3_destroyed delete

$scene7_nebelwerfer4_destroyed delete

$scene4_tank_radiusdamage_source delete

$scene3_spawndetector5_spawner1 delete

$scene4_captain_aimpoint delete

$scene3_captain_point_target delete

$scene7_spawndetector3_spawner1 delete

$playertarget_front2 delete

$scene7_neb4_damage6 delete

$scene7_neb4_damage5 delete

$scene7_neb4_damage4 delete

$scene7_neb4_damage3 delete

$scene7_neb4_damage2 delete

$scene7_neb4_damage1 delete

$scene7_neb3_damage6 delete

$scene7_neb3_damage5 delete

$scene7_neb3_damage4 delete

$scene7_neb3_damage3 delete

$scene7_neb3_damage2 delete

$scene7_neb3_damage1 delete

$scene7_neb2_damage6 delete

$scene7_neb2_damage5 delete

$scene7_neb2_damage4 delete

$scene7_neb2_damage3 delete

$scene7_neb2_damage2 delete

$scene7_neb2_damage1 delete

$scene7_neb1_damage6 delete

$scene7_neb1_damage5 delete

$scene7_neb1_damage4 delete

$scene7_neb1_damage3 delete

$scene7_neb1_damage2 delete

$scene7_neb1_damage1 delete

$scene7_neb1_tube1 delete

$scene6_mgspawndetector2_spawner1 delete

$scene4_tankbomb_hardpoint delete

$scene4_mgfoddernode1_spawn delete

$scene4_manual_gun1_target delete

$scene4_tank_targetpoint2 delete

$scene4_tank_targetpoint3 delete

$scene4_tank_targetpoint4 delete

$scene4_mgfoddernode2_spawn delete

$scene4_mgfoddernode4_spawn delete

$scene4_mgfoddernode3_spawn delete

$scene4_tanklos1_target delete

$scene4_tanklos2_target delete

$scene4_tanklos3_target delete

$scene4_tanklos4_target delete

$scene7_neb1_tube4 delete

$scene7_neb1_tube3 delete

$scene7_neb1_tube6 delete

$scene7_neb1_tube5 delete

$scene7_neb2_tube1 delete

$scene7_neb2_tube2 delete

$scene7_neb2_tube3 delete

$scene7_neb2_tube4 delete

$scene7_neb2_tube5 delete

$scene7_neb2_tube6 delete

$scene7_neb3_tube1 delete

$scene7_neb3_tube2 delete

$scene7_neb3_tube3 delete

$scene7_neb3_tube4 delete

$scene7_neb3_tube5 delete

$scene7_neb3_tube6 delete

$scene7_neb4_tube1 delete

$scene7_neb4_tube2 delete

$scene7_neb4_tube3 delete

$scene7_neb4_tube4 delete

$scene7_neb4_tube5 delete

$scene7_neb4_tube6 delete

$scene4_tank_targetpoint1 delete

$scene3_sniperboardnode2_spawn delete

$scene3_manual_gun1_target delete

$scene3_spawndetector2 delete

$scene3_spawndetector1 delete

$scene3_spawndetector2a delete

$scene3_spawndetector3 delete

$scene3_spawndetector4 delete

$scene3_spawndetector4a delete

$scene3_manual_gun2_target delete

$scene4_tank delete

$scene7_solid_bombpoint1 delete

$scene7_solid_bombpoint2 delete

$scene7_solid_bombpoint3 delete

$scene7_solid_bombpoint4 delete

$building2_smashed_window2 delete

$building2_smashed_window1 delete

$scene7_neb1_blast3 delete

$scene7_nebelwerfer3_exploder delete

$scene7_nebelwerfer2_exploder delete

$scene7_nebelwerfer4_exploder delete

$scene7_nebelwerfer1_exploder delete

$exploderfire delete

$halftrack_final_collisionmask delete

$scene4_tank_barrel_collision delete

$scene3_spawndetector5 delete

$exploderchunk delete

$explodersmashed delete

$exploder delete

$scene4_tankshot3_trigger delete

$scene4_tankshot1_trigger delete

$scene4_tankshot2_trigger delete

$scene4_tankshot4_trigger delete

$scene4_tankshot5_trigger delete

$scene4_tankshot6_trigger delete

$scene4_tankshot5b_trigger delete

$scene4_tankshot5a_trigger delete

$scene4_tankshot7_trigger delete

$scene4_tankshot8_trigger delete

$scene4_tankshot9_trigger delete

$scene4_tanklos1_trigger delete

$scene4_tanklos2_trigger delete

$scene4_tanklos3_trigger delete

$scene4_tanklos4_trigger delete

$scene4_manual_gun1 delete

$scene0_panzerschreck delete

local.clipbrush2 = spawn script_object

local.clipbrush2.origin = ( 1321 5066 -173 )

local.clipbrush2.angle = (0 124 0)

local.clipbrush2 setsize ( -100 -300 -200 ) ( 100 300 200 )

local.clipbrush2 solid

//-------------------------------------------------------

// call additional stuff for playing this map round based is needed

if(level.roundbased)

thread roundbasedthread

level waitTill prespawn

//*** Precache Dm Stuff

exec global/DMprecache.scr

//-------------------------------------------------------

level.script = maps/m3l3.scr

exec global/moh_ambient.scr m3l3

thread global/door_locked.scr

//*** ENGAGE THE AIRPLANE BOMBING SCRIPTS

thread global/bomber.scr::main

thread global/bomber.scr::repeat

//*** SETUP THE FARPLANE

level.farplane = 3600

$world farplane 4000

$world farplane_color (.62 .62 .61)

//-------------------------------------------------------

level waittill spawn

//-------------------------------------------------------

//thread plane

thread fire_flak88

thread fire_flak882

thread fire_flak883

thread fire_flak884

thread fire_flak885

thread blockers

thread toilettrig

level.toiletcounter = 0

//truck

local.opeltruck_d = spawn script_model

local.opeltruck_d model "models/vehicles/opeltruck_d.tik"

local.opeltruck_d.origin = ( 2975 1619 -320 )

local.opeltruck_d.angles = ( -5 60 0 )

local.opeltruck_d.scale = 1.5

local.opeltruck_d solid

local.opeltruck_d immune bullet

local.opeltruck_d immune fast_bullet

local.opeltruck_d immune bash

local.opeltruck_d immune mg

local.opeltruck_d immune explosion

spawn static/indycrate "targetname" "box_99" "classname" "static_item_indycrate"

$box_99 model "static/indycrate.tik" //Box

$box_99.origin = ( 3043 1747 -240)

$box_99.angle = ( 0 -123 0 )

$box_99.scale = 1.5

$box_99 nodamage

$box_99 solid

$box_99.scale = 0.000001

spawn static/indycrate "targetname" "box_98" "classname" "static_item_indycrate"

$box_98 model "static/indycrate.tik" //Box

$box_98.origin = ( 3130 1814 -240)

$box_98.angle = ( 0 165 0 )

$box_98.scale = 1.5

$box_98 nodamage

$box_98 solid

$box_98.scale = 0.000001

//Flak allied side

local.mg422 = spawn models/statweapons/20mmflak.tik

local.mg422.origin = (1265 4910 -227)

local.mg422.angle = -60

local.mg422 solid

local.mg422 = spawn models/statweapons/20mmflak.tik

local.mg422.origin = (1589 5032 -229)

local.mg422.angle = -68

local.mg422 solid

//Door Block axis

local.dresser = spawn script_model

local.dresser model "static/indycrate.tik"

local.dresser.origin = (4434 -480 -351)

local.dresser.angle = 0

local.dresser = spawn script_model

local.dresser model "static/indycrate.tik"

local.dresser.origin = (4434 -480 -305)

local.dresser.angle = 0

//Axis side stepboxes

local.dresser = spawn script_model

local.dresser model "static/indycrate.tik"

local.dresser.origin = (3513 2730 -272)

local.dresser.angle = 90

local.dresser = spawn script_model

local.dresser model "static/indycrate.tik"

local.dresser.origin = (3513 2730 -224)

local.dresser.angle = 90

local.dresser = spawn script_model

local.dresser model "static/indycrate.tik"

local.dresser.origin = (3513 2730 -176)

local.dresser.angle = 90

local.dresser = spawn script_model

local.dresser model "static/indycrate.tik"

local.dresser.origin = (3513 2680 -272)

local.dresser.angle = 90

local.dresser = spawn script_model

local.dresser model "static/indycrate.tik"

local.dresser.origin = (3513 2680 -224)

local.dresser.angle = 90

local.dresser = spawn script_model

local.dresser model "static/indycrate.tik"

local.dresser.origin = (3513 2630 -268)

local.dresser.angle = 90

//Allied side stepboxes

local.dresser = spawn script_model

local.dresser model "static/indycrate.tik"

local.dresser.origin = (3513 2812 -270)

local.dresser.angle = 90

local.dresser = spawn script_model

local.dresser model "static/indycrate.tik"

local.dresser.origin = (3513 2812 -224)

local.dresser.angle = 90

local.dresser = spawn script_model

local.dresser model "static/indycrate.tik"

local.dresser.origin = (3513 2812 -176)

local.dresser.angle = 90

local.dresser = spawn script_model

local.dresser model "static/indycrate.tik"

local.dresser.origin = (3513 2852 -272)

local.dresser.angle = 90

local.dresser = spawn script_model

local.dresser model "static/indycrate.tik"

local.dresser.origin = (3513 2852 -224)

local.dresser.angle = 90

local.dresser = spawn script_model

local.dresser model "static/indycrate.tik"

local.dresser.origin = (3513 2900 -268)

local.dresser.angle = 90

//axis side stepbox 2

local.dresser = spawn script_model

local.dresser model "static/indycrate.tik"

local.dresser.origin = (4000 2319 -265)

local.dresser.angle = 0

local.dresser = spawn script_model

local.dresser model "static/indycrate.tik"

local.dresser.origin = (4000 2319 -215)

local.dresser.angle = 0

local.dresser = spawn script_model

local.dresser model "static/indycrate.tik"

local.dresser.origin = (4000 2319 -165)

local.dresser.angle = 0

local.dresser = spawn script_model

local.dresser model "static/indycrate.tik"

local.dresser.origin = (3950 2319 -265)

local.dresser.angle = 0

local.dresser = spawn script_model

local.dresser model "static/indycrate.tik"

local.dresser.origin = (3950 2319 -215)

local.dresser.angle = 0

local.dresser = spawn script_model

local.dresser model "static/indycrate.tik"

local.dresser.origin = (3900 2319 -265)

local.dresser.angle = 0

//axis side stepbox 2 otherside

local.dresser = spawn script_model

local.dresser model "static/indycrate.tik"

local.dresser.origin = (4070 2319 -265)

local.dresser.angle = 0

local.dresser = spawn script_model

local.dresser model "static/indycrate.tik"

local.dresser.origin = (4070 2319 -215)

local.dresser.angle = 0

local.dresser = spawn script_model

local.dresser model "static/indycrate.tik"

local.dresser.origin = (4070 2319 -165)

local.dresser.angle = 0

local.dresser = spawn script_model

local.dresser model "static/indycrate.tik"

local.dresser.origin = (4120 2319 -265)

local.dresser.angle = 0

local.dresser = spawn script_model

local.dresser model "static/indycrate.tik"

local.dresser.origin = (4120 2319 -215)

local.dresser.angle = 0

local.dresser = spawn script_model

local.dresser model "static/indycrate.tik"

local.dresser.origin = (4170 2319 -265)

local.dresser.angle = 0

plane:

// Speaker

spawn script_object "targetname" "bomberspeaker" "classname" "sound_speaker" "origin" "6033 3895 1500" "sound" "stuka_by4" "#set" "1"

spawn script_object "targetname" "bomberspeaker" "classname" "sound_speaker" "origin" "425 3220 1574" "sound" "stuka_by3" "#set" "1"

$bomberspeaker[2].sound = "t1_planecrash"

spawn script_object "targetname" "bomberspeaker" "classname" "sound_speaker" "origin" "4564 3720 1500" "sound" "t1_planecrash" "#set" "2"

$bomberspeaker[3].sound = "t1_planecrash"

spawn script_object "targetname" "bomberspeaker" "classname" "sound_speaker" "origin" "1243 -2119 1530" "sound" "stuka_by3" "#set" "2"

$bomberspeaker[3].sound = "t1_planecrash"

spawn script_object "targetname" "bomberspeaker" "classname" "sound_speaker" "origin" "425 3220 1504" "sound" "stuka_by3" "#set" "3"

$bomberspeaker[3].sound = "stuka_by2"

spawn script_object "targetname" "bomberspeaker" "classname" "sound_speaker" "origin" "3873 -2900 1500" "sound" "stuka_by3" "#set" "4"

$bomberspeaker[4].sound = "stuka_crash_street" //stuka_by2

// connect up plane path

exec global/bomber.scr

wait 80

thread global/bomber.scr::bomb 1

local.order = randomint(2)

wait 10

if (local.order == 1)

{

ord1agn:

local.planewait = randomint(100) + 20

wait local.planewait

thread global/bomber.scr::bomb 2

local.planewait = randomint(100) + 20

wait local.planewait

thread global/bomber.scr::bomb 3

local.planewait = randomint(100) + 20

wait local.planewait

thread global/bomber.scr::bomb 4

local.planewait = randomint(100) + 20

wait local.planewait

thread global/bomber.scr::bomb 2

goto ord1agn

}

else

{

if (local.order == 2)

{

ord2agn:

local.planewait = randomint(100) + 20

wait local.planewait

thread global/bomber.scr::bomb 3

local.planewait = randomint(100) + 20

wait local.planewait

thread global/bomber.scr::bomb 2

local.planewait = randomint(100) + 20

wait local.planewait

thread global/bomber.scr::bomb 4

local.planewait = randomint(100) + 20

wait local.planewait

thread global/bomber.scr::bomb 3

goto ord2agn

}

else

{

}

}

wait 10

goto plane

end

//*** Create extra health at these locations

thread health_placement

//-------------------------------------------------------

health_placement:

println "TADA HEALTH"

println level.skill

if (level.skill == "0")

{

local.healthitem1 = spawn models/items/item_50_healthbox.tik

local.healthitem1.origin = ( -3293.93 2733.32 -95.0 )

local.healthitem1.angles = (0 90 0)

local.healthitem2 = spawn models/items/item_50_healthbox.tik

local.healthitem2.origin = ( -1085.93 4821.32 -144.0 )

local.healthitem2.angles = (0 90 0)

}

else

if (level.skill == "1")

{

local.healthitem1 = spawn models/items/item_25_healthbox.tik

local.healthitem1.origin = ( -3293.93 2733.32 -95.0 )

local.healthitem1.angles = (0 90 0)

local.healthitem2 = spawn models/items/item_25_healthbox.tik

local.healthitem2.origin = ( -1085.93 4821.32 -144.0 )

local.healthitem2.angles = (0 90 0)

}

wait 5

println "HEALTH 1 LOCATION:" local.healthitem1.origin

println "HEALTH 2 LOCATION:" local.healthitem2.origin

end

//================================================== ================================================== ======================

fire_flak88:

wait 30

local.target1 = ( 3875 3687 -270)

// Start the main gun fire animation.

$flak88 anim fire_scripted

// Random wait to give time to the shell to get to the target.

wait 1

// Spawn the explosion animations.

local.Exp1 = spawn "fx/fx_stuka_explosion.tik"

local.Exp1.scale = 3

local.Exp2 = spawn "animate/fx_mortar_dirt.tik"

local.Exp2.scale = 3

local.Exp3 = spawn "fx/fx_stuka_explosion.tik"

local.Exp3.scale = 3

local.Exp4 = spawn "models/projectiles/tigercannonshell.tik"

local.Exp4.scale = 3

// Shake the ground hard.

exec global/earthquake.scr .23 4 0 0

// Get the animations going.

local.Exp1.origin = local.target1

local.Exp1 anim start

local.Exp2.origin = local.target1

local.Exp2 anim start

local.Exp3.origin = local.target1

local.Exp3 anim start

local.Exp4.origin = local.target1

local.Exp4 anim start

wait 2

// Remove the animations.

local.Exp1 remove

local.Exp2 remove

local.Exp3 remove

local.Exp4 remove

end

fire_flak882:

wait 80

local.target1 = ( 1514 3392 -302)

// Start the main gun fire animation.

$flak882 anim fire_scripted

// Random wait to give time to the shell to get to the target.

wait 1

// Spawn the explosion animations.

local.Exp1 = spawn "fx/fx_stuka_explosion.tik"

local.Exp1.scale = 3

local.Exp2 = spawn "animate/fx_explosion_tank.tik"

local.Exp2.scale = 3

local.Exp3 = spawn "fx/fx_stuka_explosion.tik"

local.Exp3.scale = 3

local.Exp4 = spawn "models/projectiles/tigercannonshell.tik"

local.Exp4.scale = 3

// Shake the ground hard.

exec global/earthquake.scr .23 4 0 0

// Get the animations going.

local.Exp1.origin = local.target1

local.Exp1 anim start

local.Exp2.origin = local.target1

local.Exp2 anim start

local.Exp3.origin = local.target1

local.Exp3 anim start

local.Exp4.origin = local.target1

local.Exp4 anim start

wait 2

// Remove the animations.

local.Exp1 remove

local.Exp2 remove

local.Exp3 remove

local.Exp4 remove

end

fire_flak883:

wait 180

local.target1 = (2738 3705 -252)

// Start the main gun fire animation.

$flak883 anim fire_scripted

// Random wait to give time to the shell to get to the target.

wait 1

// Spawn the explosion animations.

local.Exp1 = spawn "fx/fx_stuka_explosion.tik"

local.Exp1.scale = 3

local.Exp2 = spawn "animate/fx_mortar_dirt.tik"

local.Exp2.scale = 3

local.Exp3 = spawn "animate/fx_mortar_higgins.tik"

local.Exp3.scale = 3

local.Exp4 = spawn "models/projectiles/tigercannonshell.tik"

local.Exp4.scale = 3

// Shake the ground hard.

exec global/earthquake.scr .23 4 0 0

// Get the animations going.

local.Exp1.origin = local.target1

local.Exp1 anim start

local.Exp2.origin = local.target1

local.Exp2 anim start

local.Exp3.origin = local.target1

local.Exp3 anim start

local.Exp4.origin = local.target1

local.Exp4 anim start

wait 2

// Remove the animations.

local.Exp1 remove

local.Exp2 remove

local.Exp3 remove

local.Exp4 remove

end

//axis side

fire_flak884:

wait 120

local.target1 = ( 4936 2702 -308)

// Start the main gun fire animation.

$flak884 anim fire_scripted

// Random wait to give time to the shell to get to the target.

wait 1

// Spawn the explosion animations.

local.Exp1 = spawn "fx/fx_stuka_explosion.tik"

local.Exp1.scale = 3

local.Exp2 = spawn "animate/fx_mortar_dirt.tik"

local.Exp2.scale = 3

local.Exp3 = spawn "fx/fx_stuka_explosion.tik"

local.Exp3.scale = 3

local.Exp4 = spawn "models/projectiles/tigercannonshell.tik"

local.Exp4.scale = 3

// Shake the ground hard.

exec global/earthquake.scr .23 4 0 0

// Get the animations going.

local.Exp1.origin = local.target1

local.Exp1 anim start

local.Exp2.origin = local.target1

local.Exp2 anim start

local.Exp3.origin = local.target1

local.Exp3 anim start

local.Exp4.origin = local.target1

local.Exp4 anim start

wait 2

// Remove the animations.

local.Exp1 remove

local.Exp2 remove

local.Exp3 remove

local.Exp4 remove

end

fire_flak885:

wait 200

local.target1 = ( 3413 -1036 -343)

// Start the main gun fire animation.

$flak885 anim fire_scripted

// Random wait to give time to the shell to get to the target.

wait 1

// Spawn the explosion animations.

local.Exp1 = spawn "fx/fx_stuka_explosion.tik"

local.Exp1.scale = 3

local.Exp2 = spawn "animate/fx_explosion_tank.tik"

local.Exp2.scale = 3

local.Exp3 = spawn "fx/fx_stuka_explosion.tik"

local.Exp3.scale = 3

local.Exp4 = spawn "models/projectiles/tigercannonshell.tik"

local.Exp4.scale = 3

// Shake the ground hard.

exec global/earthquake.scr .23 4 0 0

// Get the animations going.

local.Exp1.origin = local.target1

local.Exp1 anim start

local.Exp2.origin = local.target1

local.Exp2 anim start

local.Exp3.origin = local.target1

local.Exp3 anim start

local.Exp4.origin = local.target1

local.Exp4 anim start

wait 2

// Remove the animations.

local.Exp1 remove

local.Exp2 remove

local.Exp3 remove

local.Exp4 remove

end

blockers:

// barbwire 1

local.barbwire1 = spawn script_model

local.barbwire1 model models/static/barbwire_two_post.tik

local.barbwire1.origin = ( 139 -814 -350)

local.barbwire1.angles = ( 0 144 0 )

local.barbwire1.scale = 2.5

local.barbwire1 solid

local.barbwire1 nodamage

local.barbwire1.scale = 0.000001

// barbwire 2

local.barbwire2 = spawn script_model

local.barbwire2 model models/static/barbwire_two_post.tik

local.barbwire2.origin = ( 31 -1107 -350)

local.barbwire2.angles = ( 0 144 0 )

local.barbwire2.scale = 2.5

local.barbwire2 solid

local.barbwire2 nodamage

local.barbwire2.scale = 0.000001

// barbwire 3

local.barbwire3 = spawn script_model

local.barbwire3 model models/static/barbwire_two_post.tik

local.barbwire3.origin = ( 245 -747 -350)

local.barbwire3.angles = ( 0 144 0 )

local.barbwire3.scale = 2.5

local.barbwire3 solid

local.barbwire3 nodamage

local.barbwire3.scale = 0.000001

// barbwire 4

local.barbwire4 = spawn script_model

local.barbwire4 model models/static/barbwire_long_two_post.tik

local.barbwire4.origin = ( 235 -835 -300 )

local.barbwire4.angles = ( 0 145 0 )

local.barbwire4.scale = 2.0

local.barbwire4 solid

local.barbwire4 nodamage

//local.barbwire4.scale = 0.000001

// barbwire 5

local.barbwire5 = spawn script_model

local.barbwire5 model models/static/barbwire_long_two_post.tik

local.barbwire5.origin = ( 1475 4927 -290 )

local.barbwire5.angles = ( 0 140 0 )

local.barbwire5.scale = 2.0

local.barbwire5 solid

local.barbwire5 nodamage

//local.barbwire5.scale = 0.000001

// box_1

spawn static/indycrate "targetname" "box_1" "classname" "static_item_indycrate" // climbing box

$box_1 model "static/indycrate.tik" //Box

$box_1.origin = ( 348 -642 -237)

$box_1.angle = ( 0 100 0 )

$box_1.scale = 1.5

$box_1 nodamage

$box_1 solid

$box_1.scale = 0.000001

// box_2

spawn static/indycrate "targetname" "box_2" "classname" "static_item_indycrate" // blocking boxes

$box_2 model "static/indycrate.tik" //Box

$box_2.origin = ( 210 -968 -237)

$box_2.angle = ( 0 100 0 )

$box_2.scale = 1.5

$box_2 nodamage

$box_2 solid

$box_2.scale = 0.000001

// box_3

spawn static/indycrate "targetname" "box_3" "classname" "static_item_indycrate"

$box_3 model "static/indycrate.tik" //Box

$box_3.origin = ( 140 -968 -237)

$box_3.angle = ( 0 100 0 )

$box_3.scale = 1.5

$box_3 nodamage

$box_3 solid

$box_3.scale = 0.000001

// box_4

spawn static/indycrate "targetname" "box_4" "classname" "static_item_indycrate"

$box_4 model "static/indycrate.tik" //Box

$box_4.origin = ( 247 -888 -237)

$box_4.angle = ( 0 100 0 )

$box_4 nodamage

$box_4 solid

$box_4.scale = 0.000001

// box_5

spawn static/indycrate "targetname" "box_5" "classname" "static_item_indycrate" // climbing box

$box_5 model "static/indycrate.tik" //Box

$box_5.origin = ( 348 -642 -300)

$box_5.angle = ( 0 100 0 )

$box_5.scale = 1.5

$box_5 nodamage

$box_5 solid

$box_5.scale = 0.000001

// box_6

spawn static/indycrate "targetname" "box_6" "classname" "static_item_indycrate" // blocking boxes

$box_6 model "static/indycrate.tik" //Box

$box_6.origin = ( 210 -968 -300)

$box_6.angle = ( 0 100 0 )

$box_6.scale = 1.5

$box_6 nodamage

$box_6 solid

$box_6.scale = 0.000001

// box_7

spawn static/indycrate "targetname" "box_7" "classname" "static_item_indycrate"

$box_7 model "static/indycrate.tik" //Box

$box_7.origin = ( 140 -968 -300)

$box_7.angle = ( 0 151 0 )

$box_7.scale = 1.5

$box_7 nodamage

$box_7 solid

$box_7.scale = 0.000001

// box_8

spawn static/indycrate "targetname" "box_8" "classname" "static_item_indycrate"

$box_8 model "static/indycrate.tik" //Box

$box_8.origin = ( 247 -888 -300)

$box_8.angle = ( 0 151 0 )

$box_8 nodamage

$box_8 solid

$box_8.scale = 0.000001

end

toilettrig:

local.trig = spawn trigger_use

local.trig.origin = ( 3340 4169 41) // position it

local.trig setsize ( -50 -60 -10 ) ( 50 60 10 ) // give it some size

local.trig setthread toilet_flush

local.trig wait 1 // How often the trig acts

//local.trig delay 1 // How long before trig acts

end

// this is used to play a toilet flush in the outhouse and spawn an easter egg

toilet_flush:

$toilet_trigger nottriggerable

self playsound toilet_flush

//dprintln level.toiletcounter

wait 6

if (level.toiletcounter >= 6)

{

thread toilet_easteregg

end

}

$toilet_trigger triggerable

self waittill trigger

level.toiletcounter += 1

goto toilet_flush

end

toilet_easteregg:

//dprintln "FLUSH!"

local.ent = spawn EffectEntity "model" $easteregg.spawnmodel

local.ent.origin = $easteregg.origin

local.ent notsolid

local.ent anim start

level.toiletcounter = 0

$toilet_trigger remove

wait 25

local.ent delete

end

roundbasedthread:

// Can specify different scoreboard messages for round based games here.

level waitTill prespawn

level waittill spawn

// set the parameters for this round based match

level.dmrespawning = 0 // 1 or 0

level.dmroundlimit = 5 // round time limit in minutes

level.clockside = kills // set to axis, allies, kills, or draw

level waittill roundstart

end

Posted

m410尽是平原,不可取,那个声音如何能正常还是没有好的方法,

文章的有关出生点的程序比俺简单

俺是

local.allied = spawn info_player_allied

local.allied.angle = 42

local.allied.origin = ( -2272 2600 -64 )

local.axis = spawn info_player_axis

local.axis.angle = 0

local.axis.origin = ( -4288.29 -6729.40 -135.88

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

登录

Already have an account? Sign in here.

现在登录
×
×
  • 创建新的...