Jump to content
主视角中国

Recommended Posts

Posted

这是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名加入即可!

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

Posted

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

那样的话,要有一条件:

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

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

  • 2 weeks later...

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.

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