Page 1 of 2

help with singleplayer to multiplayer conversions

Posted: Wed Oct 06, 2004 8:49 pm
by echo_rancid
Alright decided to try to convert a singleplayer map. I choose to do m1l1. The script I wrote pretty much does nothing at all and I followed everything on the TMT forums. Here is what this one looks like:

//SinglePlayer Maps to MultiPlayer
//Level m1|1 Converted
//Converted by WD_Echo_Rancid


main:

removeclass actor
removeclass info_pathnode

//set scoreboard messages
setcvar "g_obj_alliedtext1" "Algeria, North Africa"
setcvar "g_obj_alliedtext2" "November 7, 1942"
setcvar "g_obj_alliedtext3" ""
setcvar "g_obj_axistext1" "Converted By"
setcvar "g_obj_axistext2" "WD_Echo_Rancid"
setcvar "g_obj_axistext3" "www.blackforty-four.com"

setcvar "g_scoreboardpic" "textures/mohmenu/m1l1.tga"

level.script = "maps/m1l1.scr"

//Allied Spawn Points

local.allied = spawn info_player_allied origin "-4670.46

-2940.74 104.13" angle 80
local.allied = spawn info_player_allied origin "-4698.85

-1921.02 247.79" angle 40
local.allied = spawn info_player_allied origin "-3227.80

-404.96 410.60" angle 180
local.allied = spawn info_player_allied origin "-2933.76

-2076.08 232.65" angle 125
local.allied = spawn info_player_allied origin "-2558.65

-2903.95 102.04" angle -180
local.allied = spawn info_player_allied origin "-3189.36

-3754.07 200.13" angle 115
local.allied = spawn info_player_allied origin "-3689.36

-3580.89 188.73" angle 85
local.allied = spawn info_player_allied origin "-2773.53

-3561.47 63.60" angle 125
local.allied = spawn info_player_allied origin "-5179.06

421.46 459.32" angle 0
local.allied = spawn info_player_allied origin "-4557.32

-1231.19 412.18" angle 60
local.allied = spawn info_player_allied origin "-3691.21

-267.64 405.95" angle 180
local.allied = spawn info_player_allied origin "-4125.43

-1505.62 283.33" angle 10

//Axis Spawn Points

local.axis = spawn info_player_axis origin "-6391.00

2548.15 432.13" angle -90
local.axis = spawn info_player_axis origin "-5847.13

2520.14 640.13" angle 180
local.axis = spawn info_player_axis origin "-5847.13

2083.13 640.13" angle 180
local.axis = spawn info_player_axis origin "-5647.91

1820.04 472.13" angle 180
local.axis = spawn info_player_axis origin "-6584.88

1435.04 432.13" angle 0
local.axis = spawn info_player_axis origin "-6960 1660.03

432.13" angle 0
local.axis = spawn info_player_axis origin "-6960.88

2480.87 432.13" angle -60
local.axis = spawn info_player_axis origin "-5882.31

1528.87 440.13" angle -90
local.axis = spawn info_player_axis origin "-6052.88 488.24

376.13" angle 0
local.axis = spawn info_player_axis origin "-5479.40 779.69

376.13" angle -90
local.axis = spawn info_player_axis origin "-4767.11 15.13

372.82" angle 90
local.axis = spawn info_player_axis origin "-4479.91 987.13

460.13" angle 180

//__________________________________________________ _______

__________________

//Free for All Spawn Points

//local.deathmatch = spawn info_player_deathmatch origin ""

angle
//local.deathmatch = spawn info_player_deathmatch origin ""

angle
//local.deathmatch = spawn info_player_deathmatch origin ""

angle
//local.deathmatch = spawn info_player_deathmatch origin ""

angle
//local.deathmatch = spawn info_player_deathmatch origin ""

angle
//local.deathmatch = spawn info_player_deathmatch origin ""

angle
//local.deathmatch = spawn info_player_deathmatch origin ""

angle
//local.deathmatch = spawn info_player_deathmatch origin ""

angle
//local.deathmatch = spawn info_player_deathmatch origin ""

angle
//local.deathmatch = spawn info_player_deathmatch origin ""

angle
//local.deathmatch = spawn info_player_deathmatch origin ""

angle
//local.deathmatch = spawn info_player_deathmatch origin ""

angle
//local.deathmatch = spawn info_player_deathmatch origin ""

angle
//local.deathmatch = spawn info_player_deathmatch origin ""

angle
//local.deathmatch = spawn info_player_deathmatch origin ""

angle
//local.deathmatch = spawn info_player_deathmatch origin ""

angle
//local.deathmatch = spawn info_player_deathmatch origin ""

angle
//local.deathmatch = spawn info_player_deathmatch origin ""

angle
//local.deathmatch = spawn info_player_deathmatch origin ""

angle
//local.deathmatch = spawn info_player_deathmatch origin ""

angle

//__________________________________________________ _______

__________________

//Remove from SP



//__________________________________________________ _______

__________________

//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/t1l2.scr

exec global/ambient.scr m1l1
exec global/door_locked.scr

//Setup farplane

//$world farplane_color (0.038 .058 .099)
//$world farplane 3000

//__________________________________________________ _______

___________________

level waittill spawn

//__________________________________________________ _______

___________________

//Call Threads
thread sandbags
thread messages

sandbags:

local.static = spawn script_model
local.static model "static/sandbag_link_main.tik"
local.static.origin = (-4185.66 -348.26 364.00)
local.static.angles = (0.00 90.00 0.00)
local.static solid

end

messages:

while (1) { //loop forever
wait 60
iprintln_noloc "Mission 1 Level 1:Allied Assault"
iprintln_noloc "Converted to Multiplayer by

WD_Echo_Racnid"
wait 60
iprintln_noloc "Visit us At www.blackforty-four.com"
wait 180
} // end loop

end

//__________________________________________________ _______

______________

//RoundBased


roundbasedthread:

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


I can get into the map on my server but Nothing works, the script I made is pretty much not executing at all. This how I saved it:

Script = m1l1.scr
^put this in my maps folder in the pk3:

pk3 = zzz_m1l1.pk3
^put this in the mainta folder of my server

There are other singleplayer to multiplayer maps in the folder as well that work...done by Falc. Both of mine do not work, nothing at all. Ive tryed pretty much everything that I have read with 0 luck. Any suggestions? I would really like to figure this out, its really bugging me.

One other thing m1(l-this is supposed to be a lowercase L and not a |, above the enter key, correct?)1.scr

Posted: Wed Oct 06, 2004 8:55 pm
by strafer
Sorry I can't help you, but I have a question for you. What is the site I can get Falc's single player to multiplayer conversions. I have been looking all over for them.

Posted: Wed Oct 06, 2004 9:52 pm
by Bjarne BZR
Well, if you want to run it as a multiplayer map, you must put it in maps/obj or maps/dm ... if not it will think it is an SP map.

Posted: Thu Oct 07, 2004 12:58 am
by echo_rancid
Ill try that Bjarne although, I don't think it will matter. Strafer here you go, go to downloads/maps, scroll down a bit...and dont forget the ubersound fix.

http://www.mca.serverxtreme.com/

Posted: Thu Oct 07, 2004 2:13 am
by strafer
echo_rancid wrote:Ill try that Bjarne although, I don't think it will matter. Strafer here you go, go to downloads/maps, scroll down a bit...and dont forget the ubersound fix.

http://www.mca.serverxtreme.com/
Thank ya. :wink:

Posted: Thu Oct 07, 2004 1:28 pm
by panther1
hey guys if u want i have about ten mohaa maps that ive converted and eight breakthrough maps. just pm me and ill send you copies. They're all pk3s so just put them in your mohaa main directory. :lol:

Posted: Thu Oct 07, 2004 7:43 pm
by strafer
Rob wrote:hey guys if u want i have about ten mohaa maps that ive converted and eight breakthrough maps. just pm me and ill send you copies. They're all pk3s so just put them in your mohaa main directory. :lol:
He doesn't want the conversions unless he wants to look at an example. Perhaps it can help him more if you give him some info on his mistakes if you see any. 8-)

Posted: Thu Oct 07, 2004 10:27 pm
by echo_rancid
Yeah, Thanks for the offer but Im planning on converting all singleplayer maps to multiplayer myself. But examples to look at are indeed a big help, but I think I have the hang of it now. Fianlly got it to work...bad origin on one of the crates...crached the whole script... :evil:

Posted: Wed Nov 03, 2004 11:05 am
by Grassy
Hi there, Are you able to spawn in the map at all ? If not then I think you need to move all your spawn info BEFORE everything else in the script, right at the top so they are the first lines executed. Even above main:
Try that, Grassy

Posted: Wed Nov 03, 2004 3:32 pm
by lizardkid
ell it's compiled with gametype 0 (SP) and i dont think it'll work too well that way. you'll need to find someway to change it's Gametype. which i think is integrated into the compile itself.

Posted: Wed Nov 03, 2004 8:56 pm
by Grassy
You can change the gametype in a callvote.cfg inside a pk3.
The line for the map would look like this;
"Team-Match Map" "g_gametype" list
{
"Bahnhof - dm/MP_Bahnhof_DM" "2; map dm/MP_Bahnhof_DM"
}

2 = DM Team type gameplay

Doing it this way will set the gametype before loading it.
Grassy

Re: help with singleplayer to multiplayer conversions

Posted: Thu Nov 04, 2004 7:14 pm
by WarTech
echo_rancid wrote:Alright decided to try to convert a singleplayer map. I choose to do m1l1. The script I wrote pretty much does nothing at all and I followed everything on the TMT forums. Here is what this one looks like:

//SinglePlayer Maps to MultiPlayer
//Level m1|1 Converted
//Converted by WD_Echo_Rancid


main:

removeclass actor
removeclass info_pathnode

//set scoreboard messages
setcvar "g_obj_alliedtext1" "Algeria, North Africa"
setcvar "g_obj_alliedtext2" "November 7, 1942"
setcvar "g_obj_alliedtext3" ""
setcvar "g_obj_axistext1" "Converted By"
setcvar "g_obj_axistext2" "WD_Echo_Rancid"
setcvar "g_obj_axistext3" "www.blackforty-four.com"

setcvar "g_scoreboardpic" "textures/mohmenu/m1l1.tga"

level.script = "maps/m1l1.scr"

//Allied Spawn Points

local.allied = spawn info_player_allied origin "-4670.46

-2940.74 104.13" angle 80
local.allied = spawn info_player_allied origin "-4698.85

-1921.02 247.79" angle 40
local.allied = spawn info_player_allied origin "-3227.80

-404.96 410.60" angle 180
local.allied = spawn info_player_allied origin "-2933.76

-2076.08 232.65" angle 125
local.allied = spawn info_player_allied origin "-2558.65

-2903.95 102.04" angle -180
local.allied = spawn info_player_allied origin "-3189.36

-3754.07 200.13" angle 115
local.allied = spawn info_player_allied origin "-3689.36

-3580.89 188.73" angle 85
local.allied = spawn info_player_allied origin "-2773.53

-3561.47 63.60" angle 125
local.allied = spawn info_player_allied origin "-5179.06

421.46 459.32" angle 0
local.allied = spawn info_player_allied origin "-4557.32

-1231.19 412.18" angle 60
local.allied = spawn info_player_allied origin "-3691.21

-267.64 405.95" angle 180
local.allied = spawn info_player_allied origin "-4125.43

-1505.62 283.33" angle 10

//Axis Spawn Points

local.axis = spawn info_player_axis origin "-6391.00

2548.15 432.13" angle -90
local.axis = spawn info_player_axis origin "-5847.13

2520.14 640.13" angle 180
local.axis = spawn info_player_axis origin "-5847.13

2083.13 640.13" angle 180
local.axis = spawn info_player_axis origin "-5647.91

1820.04 472.13" angle 180
local.axis = spawn info_player_axis origin "-6584.88

1435.04 432.13" angle 0
local.axis = spawn info_player_axis origin "-6960 1660.03

432.13" angle 0
local.axis = spawn info_player_axis origin "-6960.88

2480.87 432.13" angle -60
local.axis = spawn info_player_axis origin "-5882.31

1528.87 440.13" angle -90
local.axis = spawn info_player_axis origin "-6052.88 488.24

376.13" angle 0
local.axis = spawn info_player_axis origin "-5479.40 779.69

376.13" angle -90
local.axis = spawn info_player_axis origin "-4767.11 15.13

372.82" angle 90
local.axis = spawn info_player_axis origin "-4479.91 987.13

460.13" angle 180

//__________________________________________________ _______

__________________

//Free for All Spawn Points

//local.deathmatch = spawn info_player_deathmatch origin ""

angle
//local.deathmatch = spawn info_player_deathmatch origin ""

angle
//local.deathmatch = spawn info_player_deathmatch origin ""

angle
//local.deathmatch = spawn info_player_deathmatch origin ""

angle
//local.deathmatch = spawn info_player_deathmatch origin ""

angle
//local.deathmatch = spawn info_player_deathmatch origin ""

angle
//local.deathmatch = spawn info_player_deathmatch origin ""

angle
//local.deathmatch = spawn info_player_deathmatch origin ""

angle
//local.deathmatch = spawn info_player_deathmatch origin ""

angle
//local.deathmatch = spawn info_player_deathmatch origin ""

angle
//local.deathmatch = spawn info_player_deathmatch origin ""

angle
//local.deathmatch = spawn info_player_deathmatch origin ""

angle
//local.deathmatch = spawn info_player_deathmatch origin ""

angle
//local.deathmatch = spawn info_player_deathmatch origin ""

angle
//local.deathmatch = spawn info_player_deathmatch origin ""

angle
//local.deathmatch = spawn info_player_deathmatch origin ""

angle
//local.deathmatch = spawn info_player_deathmatch origin ""

angle
//local.deathmatch = spawn info_player_deathmatch origin ""

angle
//local.deathmatch = spawn info_player_deathmatch origin ""

angle
//local.deathmatch = spawn info_player_deathmatch origin ""

angle

//__________________________________________________ _______

__________________

//Remove from SP



//__________________________________________________ _______

__________________

//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/t1l2.scr

exec global/ambient.scr m1l1
exec global/door_locked.scr

//Setup farplane

//$world farplane_color (0.038 .058 .099)
//$world farplane 3000

//__________________________________________________ _______

___________________

level waittill spawn

//__________________________________________________ _______

___________________

//Call Threads
thread sandbags
thread messages

sandbags:

local.static = spawn script_model
local.static model "static/sandbag_link_main.tik"
local.static.origin = (-4185.66 -348.26 364.00)
local.static.angles = (0.00 90.00 0.00)
local.static solid

end

messages:

while (1) { //loop forever
wait 60
iprintln_noloc "Mission 1 Level 1:Allied Assault"
iprintln_noloc "Converted to Multiplayer by

WD_Echo_Racnid"
wait 60
iprintln_noloc "Visit us At www.blackforty-four.com"
wait 180
} // end loop

end

//__________________________________________________ _______

______________

//RoundBased


roundbasedthread:

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


I can get into the map on my server but Nothing works, the script I made is pretty much not executing at all. This how I saved it:

Script = m1l1.scr
^put this in my maps folder in the pk3:

pk3 = zzz_m1l1.pk3
^put this in the mainta folder of my server

There are other singleplayer to multiplayer maps in the folder as well that work...done by Falc. Both of mine do not work, nothing at all. Ive tryed pretty much everything that I have read with 0 luck. Any suggestions? I would really like to figure this out, its really bugging me.

One other thing m1(l-this is supposed to be a lowercase L and not a |, above the enter key, correct?)1.scr
Here is my contribution,,, have fun with it and please do not remove my information from it. This is one of many maps that I run in our server. Its completly scripts and no BSP hacking. I use in Spearhead version 2.15. It also should work in MOHaa.



main: // <TWZ>WarTech was here

setcvar "g_obj_alliedtext1" ""
setcvar "g_obj_alliedtext2" "Rangers Lead the Way"
setcvar "g_obj_alliedtext3" "Algeria, North Africa"

setcvar "g_obj_axistext1" "TWZmodz"
setcvar "g_obj_axistext2" "Modded by <TWZ>"
setcvar "g_obj_axistext3" "www.twzfragzone.com"

setcvar "g_scoreboardpic" "m1l1.tga"


level.script = "maps/m1l1.scr"


//allied spawns
local.allied = spawn info_player_allied origin "-3665 -3506 271" angle 93
local.allied = spawn info_player_allied origin "-3785 -3457 269" angle 100
local.allied = spawn info_player_allied origin "-4675 -3684 186" angle 81
local.allied = spawn info_player_allied origin "-5149 -2466 219" angle -8
local.allied = spawn info_player_allied origin "-4919 -2257 238" angle -18
local.allied = spawn info_player_allied origin "-5534 559 458" angle -93
local.allied = spawn info_player_allied origin "-6000 267 458" angle 24
local.allied = spawn info_player_allied origin "-5900 661 458" angle -52
local.allied = spawn info_player_allied origin "-4521 -679 482" angle -70
local.allied = spawn info_player_allied origin "-3667 -274 488" angle 178


//axis spawns
local.axis = spawn info_player_axis origin "-3678 731 538" angle -138
local.axis = spawn info_player_axis origin "-4514 1025 542" angle 150
local.axis = spawn info_player_axis origin "-4813 1147 542" angle -47
local.axis = spawn info_player_axis origin "-4832 77 452" angle 84
local.axis = spawn info_player_axis origin "-3516 452 544" angle -94
local.axis = spawn info_player_axis origin "-4673 -3260 186" angle 80
local.axis = spawn info_player_axis origin "-4665 -2912 186" angle 84
local.axis = spawn info_player_axis origin "-4707 -2000 318" angle 42
local.axis = spawn info_player_axis origin "-3266 -430 491" angle -143
local.axis = spawn info_player_axis origin "-5228 -528 542" angle -35

//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
//deathmatch free-for-all
local.deathmatch = spawn info_player_deathmatch origin " -5182 -3694 89 " angle 54
local.deathmatch = spawn info_player_deathmatch origin " -4682 -2922 105 " angle 0
local.deathmatch = spawn info_player_deathmatch origin " -3203 -4561 201" angle 100
local.deathmatch = spawn info_player_deathmatch origin " -1520 -4764 113 " angle 136
local.deathmatch = spawn info_player_deathmatch origin " -1502 -2299 189 " angle 268
local.deathmatch = spawn info_player_deathmatch origin " -2083 -2952 45 " angle 193
local.deathmatch = spawn info_player_deathmatch origin " -3241 -389 411 " angle 246
local.deathmatch = spawn info_player_deathmatch origin " -5271 -506 463 " angle 336
local.deathmatch = spawn info_player_deathmatch origin " -3497 -318 398 " angle 130
local.deathmatch = spawn info_player_deathmatch origin " -3645 781 454 " angle 208
local.deathmatch = spawn info_player_deathmatch origin " -4703 1185 461" angle 279
local.deathmatch = spawn info_player_deathmatch origin " -4765 22 373 " angle 137
local.deathmatch = spawn info_player_deathmatch origin " -6039 235 377 " angle 49
local.deathmatch = spawn info_player_deathmatch origin " -6056 842 384 " angle 67
local.deathmatch = spawn info_player_deathmatch origin " -6949 1640 433 " angle 45
local.deathmatch = spawn info_player_deathmatch origin " -7300 2493 385 " angle 332
local.deathmatch = spawn info_player_deathmatch origin " -6408 2559 433 " angle 260
local.deathmatch = spawn info_player_deathmatch origin " -5857 2512 641 " angle 209

//+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

// call additional stuff for playing this map round based is needed
if(level.roundbased)
thread roundbasedthread

level waitTill prespawn


exec global/exploder.scr
exec global/shutter.scr
exec global/door_locked.scr::lock
exec global/ambient.scr
exec maps/m1l1_precache.scr


level waittill spawn
local.vehicle = spawn script_model
local.vehicle model "vehicles/panzer_iv_d.tik"
local.vehicle.origin = ( -2760 -3288 58 )
local.vehicle.angles = ( 0 197 0 )
local.vehicle solid
local.vehicle immune bullet
local.vehicle immune fast_bullet
local.vehicle immune bash
local.vehicle immune mg
local.vehicle immune explosion

thread removethem

$world animated_farplane 3500 5000 1650 1888
$world animated_farplane_color (0.6 0.6 0.64) (0.5 0.5 0.54) 1200 1888
$world animated_farplane_bias -1500 0 1650 1888
$world farplane_bias 250


end

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

removethem:
$barrel remove
$temptruck1 remove
$temptruck2 remove
$lockeddoor remove
$clippy remove
$truckclip remove
$truckclip2 remove
$ending_door remove
$bazookaspawner remove
$dooropenspawner remove
$ending_attack remove
$enemyspawner remove
$ending_spawner remove
$friendly remove
$intro_papers remove
$intro_papers2 remove
$intro_bazooka remove
$firstguy remove
$hahaha remove
$deadtruck remove
$bazooka_wall remove
$barrel_guy remove
$intro_bazookatarget remove
$exploderfire remove
$bazookatarget remove
$t51 remove
$t52 remove
$t53 remove
$t54 remove
$t55 remove
$t56 remove
$mg42guy remove
$newtruckclip remove
$endshutterR remove
$endshutterL remove
$toss remove
$door remove
$ending_save_player remove
$exploderfire remove
$endingexploder remove
$exploderchunk remove
$explodersmashed remove
$ending_spawner remove
$endtrigger remove
end


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

level.intro = getcvar(intro)

if (level.intro != "0")
level.intro = 1
else
level.intro = 0


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

Regards:
<TWZ>WarTech
www.twzfragzone.com
Server ip 69.56.218.196

Posted: Thu Nov 04, 2004 9:02 pm
by Mj
Try not putting it in the mainta, but the normal main folder... could work :wink:

Posted: Thu Nov 04, 2004 9:50 pm
by WarTech
Mj wrote:Try not putting it in the mainta, but the normal main folder... could work :wink:
If he is using it for MOHaa = put in Main, If using for Spearhead = Mainta and both will have to be in a form of a PK3 file.

Regards:
<TWZ>WarTech

Posted: Thu Nov 04, 2004 10:07 pm
by echo_rancid
I got it and more...I just had a bad spawn point but everythings works great now, thanks for the help.