Skip to content
View in the app

A better way to browse. Learn more.

主视角中国

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

M1L1单人地图放出!

Featured Replies

这是M1l1单人地图的SCR文件

单人地图只能在V0.9中建服务器,客户端才不用下载!

但有一种办法,将M1l1.DSP文件放到游戏安装版的MAIN/MAPS/DM/下(客户端同上)也可

建局域网和公网,且声音比V0.9正常!

这里说的是V0.9公网:

首先用WINRAR打开已安装GAME___MOHAA/MAIN/PAK5/MAPS文件,你可看到有DM和OBJ文件

那是网战多人用的地图不理它,看其它的一堆文件!

找到了,是M1l1.DSP和M1l1.SCR!

将2个文件拖出放在V0.9/MAIN/MAPS/下!

用记事本打开M1l1.SCR

将以下程序替换M1l1.SCR

main: // Mackey was here

setcvar "g_obj_alliedtext1" "m1l1"

setcvar "g_obj_alliedtext2" ""

setcvar "g_obj_alliedtext3" "Single player map"

setcvar "g_obj_axistext1" ""

setcvar "g_obj_axistext2" "www.mohchina.com"

setcvar "g_obj_axistext3" ""

local.axis = spawn info_player_axis origin "-6895 2393 433" angle -72

local.axis = spawn info_player_axis origin "-6904 1679 433" angle -3

local.axis = spawn info_player_axis origin "-6866 1948 433" angle -17

local.axis = spawn info_player_axis origin "-6429 1831 433" angle -65

local.axis = spawn info_player_axis origin "-4501 1008 460" angle -159

local.axis = spawn info_player_axis origin "-6625 2050 433" angle -75

local.axis = spawn info_player_axis origin "-6423 2486 433" angle -101

local.axis = spawn info_player_axis origin "-6411 1798 433" angle -60

local.axis = spawn info_player_axis origin "-6733 2473 433" angle -76

local.axis = spawn info_player_axis origin "-6713 2292 433" angle -78

local.allied = spawn info_player_allied origin "-2504 -4096 61" angle 0

local.allied = spawn info_player_allied origin "-1384 -4345 110" angle 138

local.allied = spawn info_player_allied origin "-1744 -4447 97" angle 172

local.allied = spawn info_player_allied origin "-1467 -3406 46" angle -172

local.allied = spawn info_player_allied origin "-1378 -3571 51" angle 174

local.allied = spawn info_player_allied origin "-2101 -4062 72" angle 125

local.allied = spawn info_player_allied origin "-2178 -2976 56" angle -153

local.allied = spawn info_player_allied origin "-2142 -3644 34" angle 162

local.allied = spawn info_player_allied origin "-1558 -3744 52" angle 159

local.allied = spawn info_player_allied origin "-2000 -3470 32" angle 164

// getcvar(debug) = getcvar (debug)

// println ("getcvar(debug) is " + getcvar(debug))

// if (getcvar(debug) == NIL)

//  getcvar(debug) = 0

$door notsolid

// $enddoorL notsolid

// $enddoorR notsolid

// $mg42spawner thread global/ai.scr::modelswap

exec global/ai.scr

exec global/exploder.scr

exec global/loadout.scr "maps/m1l1.scr"

$newtruckclip notsolid

$temptruck1 notsolid

$temptruck2 notsolid

exec global/disc.scr $door_left

exec global/disc.scr $door_right

$hahaha notsolid

        removeclass actor

$hahaha notsolid

$truckclip notsolid

$truckclip2 notsolid

$deadtruck notsolid

$ending_save_player notsolid

level waittill prespawn

$firstguy delete

        removeclass actor

$clippy notsolid

$hahaha delete

$truckclip delete

$truckclip2 delete

$deadtruck delete

exec global/door_locked.scr

exec global/ambient.scr m1l1

local.ent1 = waitthread global/spawner.scr::spawner_create $bazookaspawner

local.ent2 = waitthread global/spawner.scr::spawner_create $dooropenspawner

local.ent3 = waitthread global/spawner.scr::spawner_create $ending_attack

local.count = 0

while ($ending_spawner)

{

  local.count++

  level.ending_spawner[local.count]= waitthread global/spawner.scr::spawner_create $ending_spawner[1]

}

print "the size is"

println $ending_spawner.size

local.ent1.targetname = "bazookaspawner"

local.ent2.targetname = "dooropenspawner"

local.ent3.targetname = "ending_attack"

level waittill spawn

for (local.i=1;local.i

{

  if (isalive $bazooka_wall[local.i])

  {

$bazooka_wall[local.i] threatbias ignoreme

$bazooka_wall[local.i] dontdropweapons

  }

}

for (local.i=1;local.i

{

  if (isalive $barrel_guy[local.i])

  {

$barrel_guy[local.i] threatbias ignoreme

$barrel_guy[local.i] nodamage

$barrel_guy[local.i] gren_awareness 0

$barrel_guy[local.i] thread barrel_guy

  }

}

$newtruckclip hide

$toss hide

$toss notsolid

$temptruck1 delete

$temptruck2 delete

// $enddoorL delete

// $enddoorR delete

$player threatbias -100

$door solid

$door disconnect_paths

walkers:

end

end

door_locked:

end

driveranim:

end

ride local.idle1 local.twitch1 local.idle2 local.twitch2:

end

deathmessage local.num:

end

truckanim local.num local.watch local.shot local.idle1 local.twitch1 local.reaction local.rock local.exit local.idle2 local.twitch2:

end

killable:

end

standup:

end

die_thread:

end

croucher:

end

hint_reach:

end

hint_use:

end

dostuff:

end

// 38 45

originthing:

end

gluetoorigin local.ent local.tag:

end

intro_exploder:

end

windowguard:

end

killtruck:

end

gotshot:

end

waitwalk local.dest local.pause:

end

lanternoff:

end

scenestart:

// self waittill animdone

  level.flags[ride] = driving

thread lantern

wait 2

  level.flags[ride] = early

wait 3

  level.flags[ride] = briefing

$introtruck2 anim start_wheels

wait 20

  $introtruck2 anim idlenolights

  $introtruck2.corona = 0

wait 2

  level.actor1 say dfr_m1l1_add02

  thread lanternoff

wait 8.5

  local.o = ( -2257 -3281 31)

  local.o = ( -2217.461914 -3454.974365 36.821957 )

  local.o = $introtruck2 gettagposition "visa_guard"

  local.a = $introtruck2 gettagangles "visa_guard"

  level.guard.no_idle = 1

 

  level.guard2 thread waitwalk $walk_here 5.5

  local.break = 0

 

//  level.guard.movedoneradius = 80

  level.guard walkto local.o

  wait 0.3

  $introtruck2 anim stop_wheels

  wait 1.7

  level.guard walkto local.o

  level.guard waittill movedone

  $introtruck2 stoploopsound

  $player stufftext "tmstartloop sound/music/mus_11a_surprise.mp3"

  thread windowguard

  level.guard thread gluetoorigin $introtruck2 "visa_guard"

  level.guard.origin = local.o

  level.guard.angles = local.a

  level.flags[ride] = stopped

  level.flags[asking_papers] = 1

  level.driver anim driver_getvisa

  level.passenger anim passenger_getvisa

  level.guard anim guard_getvisa

  level.driver waittill animdone

  level.driver anim driver_idlevisa

  level.passenger anim passenger_idlevisa

  level.guard anim guard_idlevisa

  level.driver waittill animdone

  thread gotshot

  level.bazooka thread killtruck

//  level.actor1 say dfr_m1l1_add04

 

  wait 1

  exec global/entsound.scr $introtruck "driver" "truck1_start" // Truck starts again

  wait 2

  while (level.flags[introbazooka] == 0)

waitframe

  level.flags[ride] = bazooka_attack

  level.bazooka.weapon = "Mauser KAR 98K"

  level.bazooka solid

  level.bazooka exec global/enable_ai.scr

  level.bazooka attackplayer

  level.intropath = $intropath3

  level.intropath anim "explosion"

//  println ("Explosion time is " + level.time)

// $truckclip solid

// level.flags[ride] = readytoleave

wait 2

// freezeplayer

// setcvar "sv_runspeed" "1"

$player physics_on

println "should be able to shoot now"

$player item weapons/colt45.tik

$player item weapons/m1_garand.tik

$player ammo rifle 1000

$player ammo pistol 1000

$player useweaponclass rifle

$player ammo agrenade 5

/*

$player.turretride setPlayerUsable 1

$player.turretride doUse $player

$player.turretride setPlayerUsable 0

// $player show

$player forcelegsstate CROUCH_IDLE

$player.origin = $player.origin + (0 0 -35)

*/

  $player.turretride setPlayerUsable 1

  $player.turretride doUse $player

  $player.turretride setPlayerUsable 0

 

  $player.turretride notsolid  //### this will ensure the turret doesn't block the player,

          // regardless of any weird stuff having been done to it

 

  $player show

  $player unglue $truckorg

  $player forcelegsstate CROUCH_IDLE

  $player.origin = $player.origin + (0 0 -35)

waitframe

local.ent = spawn script_origin

local.ent.origin = $player.origin

$player.localent = local.ent

$player glue local.ent

waitframe

$clippy solid

while (level.exitanim

  level waittill postthink

//  waitframe

$introtruck thread dostuff

// while (level.flags[ride] == readytoleave)

//  waitframe

temp:

end

ratedir:

end

lanterncolors:

end

lanterncolors2:

end

lantern:

end

fader:

end

playerstuck:

end

triggerA1prep:

end

diedie:

end

endingexploder:

 

end

deathtouch:

end

ambush:

end

bazookadeath:

end

spawnending_attack:

if (isalive level.friendly_end)

{

  println "spawned ending_attack guy"

  local.ent = waitthread global/spawner.scr::spawner_activate $ending_attack

 

  local.ent forceactivate

  local.ent notsolid

  local.ent exec global/disable_ai.scr

  local.ent accuracy 100

  local.ent threatbias 50000

  local.ent runto $ending_attack_spot

  local.ent waittill movedone

  local.ent exec global/aimat.scr level.friendly_end

  wait 0.25

  local.ent exec global/shoot.scr

  wait 0.25

  if (isalive level.friendly_end)

level.friendly_end damage $world 35000 $world (0 0 0) (0 0 0) (0 0 0) 0 9 0 0

  local.ent solid

  local.ent exec global/enable_ai.scr

  local.ent solid

}

end

spawndoorguy:

end

completedobjective:

end

turret_target local.path:

end

spawnmg42guy:

 

end

rotatedown local.amount:

self rotateydown local.amount

self waitmove

end

rotateup local.amount:

self rotateyup local.amount

self waitmove

end

minmax local.min local.max:

end

initfriend:

end

destorg:

end

objectives:

end

scene1:

end

getspot local.spot:

end

killplayer:

end

blowthedoor:

end

spawnsomedoorguys:

end

barrel_guy:

end

barrel:

end

friendlydeath:

end

blank:

end

doorleft:

self thread rotateup 90

wait 2

self thread rotatedown 90

end

doorright:

self thread rotatedown 90

wait 2

self thread rotateup 90

end

door_end_open:

end

ending_door:

end

保存后退出,进入V0.9MAIN/SERVER.TXT

将M1l1名加入即可!

单人地图的武器声音有些不正常,如何正常俺还不会!

就是用你上面的一堆程序命名为M1l1.scr替换掉原版游戏中的文件,对吧?我这样做了,但是进不去服务器。

是不是将其他三个文件m1l1.min和m1l1.pth m1l1_precache.scr也要一同拖过来呀?

多谢liu8888大大和大家分享单人地图的SCR文件

如果开独立服务器的话,map rotation如何set?

  • 作者

独立服务器是指用安装版建SERVER吗?

那样的话,要有一条件:

就是服务器和客户端要将M111.DSP(服务器,客户端),M111.SCR(服务器)文件,

放在MAIN/MAPS/DM/下才可以...

  • 2 weeks later...

我按你说的那样做了,检查过了也没有错,就是没有办法完全运行起V0.9,显示如下图,

显示图片

m1l1~~~~~m111原来是这个原因,汗!!!!!!!!!!!!!

Create an account or sign in to comment

Account

Navigation

搜索

搜索

设置浏览器推送通知

Chrome(安卓)
  1. 点击地址栏旁边的锁形图标。
  2. 点击 权限 → 通知
  3. 根据需要调整通知设置。
Chrome(桌面)
  1. 点击地址栏中的锁形图标。
  2. 选择 网站设置
  3. 找到 通知,然后根据需要调整设置。