由 S-22 发布的全部内容
-
严格意义上fps游戏的模型都应该有两套,一套好的,一套被破坏的。我觉得你放的卡车没错,但是没有把被破坏的卡车去掉。因为单人第一关,那辆卡车有一个被打爆的结局,也就是说会有一个被破坏的模型。你得先把这个被破坏的模型移走。modtheater.com 以前有过单人改多人的教学,你可以去参考一下。
-
由于各种原因,包括正版玩家在内的部分玩家可能出现文件大小不标准或者有缺失的情况,本站现提供标准文件下载,以保证玩家的游戏能够正常运行。 http://www.fpschina.com/index.php?showforum=64 目前已经整理了部分荣誉勋章的标准文件: http://www.fpschina.com/index.php?showtopic=947
-
只适用于 V1.11 的服务器,下载后解压缩,将里面的 gamex86.dll 覆盖到 main 目录即可。覆盖前得确保游戏服务器不在运行中。
-
得在ubersound.scr里面把该单人地图名字加入到所有枪的音效脚本里,但是客户端需要下在这个ubersound.scr。以前我做服务器端Cal.30的时候听说有个办法可以不下载也可以有相关声音,但我没继续关注这件事情。
-
部分单人地图改成多人会有几个bug,一般体现在一方看不到另一方的武器,但是却能控制大概的射击角度而不被杀。
-
吱------------------------------------------- 我公司还没装QQ,明天装
-
MOHAA 的指令是不完善的,客户端在控制台可以通过输入某个命令来在服务器生成模型,影响服务器运行速度。介各两年前就有了,去年听说=M=战队的服务器被一个老外用这个纠缠了好长时间。
-
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ ALSO: I'm not entirely sure kill (it's a typo and a command) will work as a thread name -Use kill_player instead \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ To add lines telling the player to beware, or they die-try this: kill_player: $trigger1 waittill trigger local.player = parm.other if (local.player.dmteam == "allies") // or axis if you want { iprintlnbold_noloc local.player.dmteam "beware the MG's!!!" wait 5 if ((local.player IsTouching $trigger1[local.index] == 1) && (local.player.dmteam == "allies")) { local.player exec global/bullethit.scr (0 -1 0) 1000 50 1 thread killsound } } end \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ \\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
-
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
-
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