Jump to content

Help with Single Player maps...


Recommended Posts

Hi,

 

I'm working on JK3 "Mod compilations" or "mod packs". It is a single PK3 containing all my favorite models, maps and mods. I do it only for myself, because it's not my mods. I can't release the creations of other people.

So now the issue. I wanted make some of my favorite maps as SP maps.
I have learned how to insert NPC on the map. I also managed convert BSP file into MAP file. The problem is that I can't save the edited map back to BSP. I know how it should be done in Radiant, but somehow it does not work.

 

And that's why I need help. Could anyone ...

1. Advise any other way how to create a BSP map file

or

2. Make a SP maps for me by my suggestions (insert NPCs and various objects).
[in that case, I could send an alpha version of that mod compilation (because it contains some new or modified npcs).]

 

By the way, my first mod compilation is the "New Republic Era + The Force Awakens". Someday maybe I'll do for myself also some other compilations such as the "Clone Wars".

Maybe I could release it here on JKhub for public... with permission from the creators of each mod. But that's not important at the moment. Right now I need help with making of the SP maps.

Link to comment

We're going to need more info than "does not work"

What exactly did you try?

What were the warning/error messages shown to you? (you may want to run the -onlyents or whatever inside cmd.exe)

Otherwise, how are you verifying that it's not working? Check the ingame console on map load and when you expect your NPC to spawn for any errors relating to your NPC.

 

The other option you have instead of recompiling back into BSP, is to have the entities file named e.g. t2_trip.ent and OpenJK will load these automatically instead of the entities inside the BSP.

Link to comment

I Choose one of these BSP options in Radiant. It begins saving, everything goes to the end, but in the end there is no BSP file.

In Radiant I get this error message:

************ ERROR ************
AllocWinding failed: MAX_POINTS_ON_WINDING exceeded

 

And the map I tried to add some NPCs is Mos Eisley Trap.

I like Tatooine maps and I want some of them as Single Player maps.

GPChannel likes this
Link to comment

Yes. Really, all you need out of the map is the entities. Since you decompiled the map (from my understanding), these are guaranteed to be correct.

 

The problem that you're running into is that you're trying to compile the whole map, but everything else besides the entities is wrong: lighting data is baked into textures, which discards the alignment and light positioning data, and likewise the information on which brushes are detail gets lost, increasing the amount of work that is done during the vis stage of compile, which is what lead to your error.

 

The solution is to use an -onlyents compile, which swaps a BSP's entities with one in your .map, which is what you're trying to do. However you aren't sharing your compile line or anything so I don't know how to help you.

Link to comment

Provided that you're using Radiant,

1. You can (but rather HAVE to) put inside your map an info_player_start entity, which will allow you to set a few parameters. Otherwise, you can set up a script in BehavED that sets the player's origin.

2. To my knowledge this can only be done through the console or using a script that affect the player and sets the new playermodel.

3. There are various types of triggers. To change a map, you'll have to create a new brush that you'll then turn into a trigger_once (in case the level change is supposed to happen only once), trigger_multiple, or func_usable (in case the player can go back to that map and exit it multiple times), and connect that brush-based entity to a target_level_change set to the new map, selecting first the trigger, then the target, and pressing Ctrl + K.

Link to comment

I gave up with the "Mos Eisley Trap" map. I could not save it as BSP at all.

Now I'm trying to edit the map called Callisto.
Added NPCs works perfectly. Now I'm trying to figure out the triggers from my previous question.

But I have problems with saving BSP file again.

First I tried the -onlyents compile option.
After entering "map Callisto" to the console, I received this:
Error: CM_InlineModel: bad number (may need to re-BSP map?)

Then I tried bsp_Q3Map2: (single) BSP -meta from Radiant Bsp menu.
Map works, but it did mess with textures.

shot0001.jpg

 

Help please! :

I don't know what to do with it anymore. I'm lost.
I would never even figured out how to add NPCs, if I didn't find great video tutorial.

 

I miss the good old simple map editor for JK1 and MotS... :

Link to comment

Now I remembered that first time -onlyents compile worked.
NPCs worked according to plan, the textures were ok.
The problems started when I tried the triggers. BSP created with -onlyents compile gave me the error message. Then I tried BSP -meta... everything worked well, except textures.

Maybe triggers are the problem.

Link to comment

Hello.

as told. decompiling a bsp to map get you to that issues:

- you lost alignment of textures.

- you lost all light entities.

- you get some structural leaks on map, some walls become invisible.

and you need a big amount of works for fixing that. >.<

for spawn player: info_player_start, as told to you, is the better way.

for change playermodel of player: 

by the Menu of your mod. when you begin a new game you can set to a "continue" button to load the first map of your mod and set a playermodel, sounds for model and also what kind of saber you have.

bsp meta get to you the geometry of the map, without any light and ambience light information.

for a total build of the map you need a bsp -meta  build followed by a bsp -light build.

you need to set on worlspawn entity amount of ambience light you want, or with light build all surfaces of your map will be blacks.


here is the code of a button of a menu mod that when you click on it load a map and set a playermodel for the player with saber too.

for setting start forcepowers and weapons you can use a NPC file or setting it by icarus script runned by info_player_start entity with a target_scriptrunner runned by a trigger_once that touch the player on level start

. itemDef
        {
            name                nextscreen_button1
            type                ITEM_TYPE_BUTTON
            rect                530 460 172 24
            text                @MENUS_NEXT
            desctext            "begin the mission."
            font                2
            forecolor            1 0.688 0.281 1
            textscale            .7
            textalign            ITEM_ALIGN_LEFT
            textalignx            8
            textaligny            -1
            visible                0

            mouseEnter
            {
            }
            mouseExit
            {
            }
            action
            {
                play            "sound/weapons/Air_Reaver/airreaver2.mp3" (put any sound path your want to listen when you click on button)
                
                setcvar                 "ui_char_model" Yourjedi
                                uiScript                "characterchanged"
                uiScript        "resetcharacterlistboxes"
                uiScript          "giveweapon"    "1"

                setcvar         g_char_model "Yourjedi"
                setcvar         g_char_skin_head "head_a1"
                setcvar         g_char_skin_torso "torso_a1"
                setcvar         g_char_skin_legs "lower_a1"
                setcvar         g_char_color_red "255"
                setcvar         g_char_color_green "255"
                setcvar         g_char_color_blue "255"                
                setcvar            sex "m"
                setcvar            g_saber "yoursaber"
                setcvar            g_saber_color "orange"
                snd                   "Yourjedi"
                uiScript         "updatecharcvars"
                close            all
                exec             "vstr tier_mapname"
                exec                  "helpusobi 1"
                              exec                  "wait 30"
                              exec                 "playermodel Yourjedi"
            }
        }
Link to comment

Could be, since trigger_ and func_ entities are brush-based.

 

Ok, so it probably means no triggers.

I guess I'll have to put in maps only NPCs and other objects. Each map will have to be run separately through the console.

 

 

Hello.

as told. decompiling a bsp to map get you to that issues:

- you lost alignment of textures.

- you lost all light entities.

- you get some structural leaks on map, some walls become invisible.

and you need a big amount of works for fixing that. >.<

for spawn player: info_player_start, as told to you, is the better way.

for change playermodel of player: 

by the Menu of your mod. when you begin a new game you can set to a "continue" button to load the first map of your mod and set a playermodel, sounds for model and also what kind of saber you have.

bsp meta get to you the geometry of the map, without any light and ambience light information.

for a total build of the map you need a bsp -meta  build followed by a bsp -light build.

you need to set on worlspawn entity amount of ambience light you want, or with light build all surfaces of your map will be blacks.

here is the code of a button of a menu mod that when you click on it load a map and set a playermodel for the player with saber too.

for setting start forcepowers and weapons you can use a NPC file or setting it by icarus script runned by info_player_start entity with a target_scriptrunner runned by a trigger_once that touch the player on level start

. itemDef
        {
            name                nextscreen_button1
            type                ITEM_TYPE_BUTTON
            rect                530 460 172 24
            text                @MENUS_NEXT
            desctext            "begin the mission."
            font                2
            forecolor            1 0.688 0.281 1
            textscale            .7
            textalign            ITEM_ALIGN_LEFT
            textalignx            8
            textaligny            -1
            visible                0

            mouseEnter
            {
            }
            mouseExit
            {
            }
            action
            {
                play            "sound/weapons/Air_Reaver/airreaver2.mp3" (put any sound path your want to listen when you click on button)
                
                setcvar                 "ui_char_model" Yourjedi
                                uiScript                "characterchanged"
                uiScript        "resetcharacterlistboxes"
                uiScript          "giveweapon"    "1"

                setcvar         g_char_model "Yourjedi"
                setcvar         g_char_skin_head "head_a1"
                setcvar         g_char_skin_torso "torso_a1"
                setcvar         g_char_skin_legs "lower_a1"
                setcvar         g_char_color_red "255"
                setcvar         g_char_color_green "255"
                setcvar         g_char_color_blue "255"                
                setcvar            sex "m"
                setcvar            g_saber "yoursaber"
                setcvar            g_saber_color "orange"
                snd                   "Yourjedi"
                uiScript         "updatecharcvars"
                close            all
                exec             "vstr tier_mapname"
                exec                  "helpusobi 1"
                              exec                  "wait 30"
                              exec                 "playermodel Yourjedi"
            }
        }

 

What is this?

Sometimes I creating something in RPG Maker XP... I always had problems with scripts in RPG Maker and this looks similarly complicated.

I need more info. Where and how can I use it?

Link to comment

Ok, so it probably means no triggers.

I guess I'll have to put in maps only NPCs and other objects. Each map will have to be run separately through the console.

 

 

What is this?

Sometimes I creating something in RPG Maker XP... I always had problems with scripts in RPG Maker and this looks similarly complicated.

I need more info. Where and how can I use it?

In assest pk3 files you can find a folder called "ui" with files wroten into MENU format. you can extract these files and open with Notepad. in JKA there are many external data files that is possible to open with notepad and easily edit for customize many minor things of the game.

NPC files: they scripts NPC models, force powers, weapons, sound and AI.

SAB files: they scripts the sabers and the blades. is possible also create melee and medieval swords with a good SAB files and a good model of sword.

IBI files: they are into scripts folder and they execute scripts that interact with maps BSP of game. you can build a script with Icarus.

EFX files: they are into efx foldera and they programs the visual efx like smog, steam, sparks, blood etc. you can edit or create new effects with EffectEd.

MENU files: these script files are into Ui folders and programs the menu screens of the game. their language is pretty similar at HTML. if you have experience with making web pages or working with adobe dreamviewer you can easily understand also MENU files. the script i pasted to you allow to you to add into a page of your Sp menu a button when, when you click with mouse, you change player model for your map. :)

SHADER files: you can found into shaders folder. they are hard to understand, but if you did it, you can create shaders, (material, animation, light reflection properties nfor materials of the textures: you can create water, lava, sand, mud, gravel, dirt etc etc. with sahders you can tell to engine that a textures is rocky, or metal, or flesh... a shadermaster can create wonderful visual maps. )

DAT file: there are someone in ext_data.

weapons.dat can be open with notepad and you can customize somethings of weapons for the PLAYER. NOT for NPC. for change parameter of npc weapons the only way is to hack the code >.<

DMS.dat: dinamic soundtrack. this file control the dinamic battle music of the game. it's hard to understand, but if you do,m you can create custom dinamic soundtracks for your custom maps.

ITEMS.dat: this file program the items,. bonus and object that player can collect into the world and use for fight. ammo, shields, healths medpac etc.

STRINGS: this file contain the text strings of the menu of the game. it interacts with UI files . here are storage the textr of the force power name and description, the list of the objectives of a mission, the datapad information about weapons, force powers, animations, edit some strings allow you also to add new SP race or character to the single player menu selection race when you starrt a new game.

 

okay, this is the ABC, dude. the rest depend by you,. scattered in this site there are many tutorials to every aspect of the modding.

study each one of they for understood how full modding JKA.

good luck! :)

Link to comment

okay, this is the ABC, dude. the rest depend by you,. scattered in this site there are many tutorials to every aspect of the modding.

study each one of they for understood how full modding JKA.

good luck! :)

 

Ok, one more thing... this one you posted... This is a new .menu file or I must edit an already existing .menu file in the game?

 

An alternative to triggers is to set up an NPC, made usable through script, and use that to change level and activate other stuff.

 

Interesting idea.

If I understand correctly, I can add for example a protocol droid and when I "activate / use" it, it may end the mission / change the map. Right?

 

It is also possible to end the mission by killing enemy leader NPC... the main boss?

For example: I will fight through the stormtroopers to Phasma. When I kill Phasma, the mission ends and map changes or ends too. It's something like this possible?

Link to comment

Interesting idea.

If I understand correctly, I can add for example a protocol droid and when I "activate / use" it, it may end the mission / change the map. Right?

It is also possible to end the mission by killing enemy leader NPC... the main boss?

For example: I will fight through the stormtroopers to Phasma. When I kill Phasma, the mission ends and map changes or ends too. It's something like this possible?

 

Precisely. In case of the protocol droid, you can set up a spawnscript with SET_PLAYER_USABLE True, and then a usescript that uses the target_level_change.

In case of Phasma, you can set up a deathscript that uses the target_level_change.

Link to comment

Ok, one more thing... this one you posted... This is a new .menu file or I must edit an already existing .menu file in the game?

 

 

Interesting idea.

If I understand correctly, I can add for example a protocol droid and when I "activate / use" it, it may end the mission / change the map. Right?

 

It is also possible to end the mission by killing enemy leader NPC... the main boss?

For example: I will fight through the stormtroopers to Phasma. When I kill Phasma, the mission ends and map changes or ends too. It's something like this possible?

 

Bad sleeping tonight T_T

mmm... ah, your question.

Okay, in my case is an edit of a menu file of the game. :)

if you wanna create custom Menu, the better thing is to download some SP mod and study how works they menu files.

i suggest Deception and Escape from Yavin IV the Lost map. the last mod has a niceful menu interface and study that was very important for me for understand Menu system.

Link to comment

Precisely. In case of the protocol droid, you can set up a spawnscript with SET_PLAYER_USABLE True, and then a usescript that uses the target_level_change.

In case of Phasma, you can set up a deathscript that uses the target_level_change.

 

I'm already so pissed off that I killed tens NPC stormtroopers. I killed one stormtrooper after another. And when they run out, I was spawning more and more. :lol:

From this you can probably understand how it went. Not so good? Right answer!

 

Now I will describe what I did, what happened, and you can tell me what has gone wrong.

 

1. To the NPC_spawner with NPC_type Phasma I added deathscript (Key) and target_level_change (Value).

2. Then I created target_level_change entity with mapname (Key) and Stardestroyer (Value).

3. I used -onlyents compile and put new bsp into pk3.

4. In game, in console, I write "map Callisto" and get this Error: CM_InlineModel: bad number (may need to re-BSP map?) again.

 

I point out that this is the first time I got in Radiant so far.

Several years ago I wanted to try to do SP maps for Star Trek: Elite Force. When I saw how complicated is this map editor, I closed it, uninstall it, and never ever returned to it. All these years I made SP missions only with the NPC spawn command and Save Game. Now, after a long time, I decided to try Radiant again because I want to have in Mod Compilation better SP mission. However, I don't want to spend months or years of saving edited maps to BSP. I hoped that saving maps in Radiant is easier. Oh, how I was terribly wrong... :

 

 

 

And I want to ask about this.

This is in NPC entity. What is it? What does this do? And how can I use it?

default - 0: whatever

idle - 1: Stand around, do abolutely nothing

roam - 2: Roam around, collect stuff

walk - 3: Crouch-Walk toward their goals

run - 4: Run toward their goals

standshoot - 5: Stay in one spot and shoot- duck when neccesary

standguard - 6: Wait around for an enemy

patrol - 7: Follow a path, looking for enemies

If it does what I think it might be useful.

 

And the last question... if I will choose anything other than -onlyents or BSP -meta, it will be good or bad? All of this makes the same mess as BSP -meta or there is a chance that some of it will work normally?

(I found a picture of BSP menu on Google)

bsp-menu.png

Link to comment

1. To the NPC_spawner with NPC_type Phasma I added deathscript (Key) and target_level_change (Value).

2. Then I created target_level_change entity with mapname (Key) and Stardestroyer (Value).

3. I used -onlyents compile and put new bsp into pk3.

4. In game, in console, I write "map Callisto" and get this Error: CM_InlineModel: bad number (may need to re-BSP map?) again.

 

I point out that this is the first time I got in Radiant so far.

Several years ago I wanted to try to do SP maps for Star Trek: Elite Force. When I saw how complicated is this map editor, I closed it, uninstall it, and never ever returned to it. All these years I made SP missions only with the NPC spawn command and Save Game. Now, after a long time, I decided to try Radiant again because I want to have in Mod Compilation better SP mission. However, I don't want to spend months or years of saving edited maps to BSP. I hoped that saving maps in Radiant is easier. Oh, how I was terribly wrong... :

 

 

 

And I want to ask about this.

This is in NPC entity. What is it? What does this do? And how can I use it?

default - 0: whatever

idle - 1: Stand around, do abolutely nothing

roam - 2: Roam around, collect stuff

walk - 3: Crouch-Walk toward their goals

run - 4: Run toward their goals

standshoot - 5: Stay in one spot and shoot- duck when neccesary

standguard - 6: Wait around for an enemy

patrol - 7: Follow a path, looking for enemies

If it does what I think it might be useful.

 

And the last question... if I will choose anything other than -onlyents or BSP -meta, it will be good or bad? All of this makes the same mess as BSP -meta or there is a chance that some of it will work normally?

 

"This is a mistake, a terrible mistake!"

Jokes aside, point number 1 is where it went wrong. You need to set up a targetname key for the target_level_change first. Then a deathscript that runs a script, called for example changelevel. In its most basic form it should look like this:

//(BHVD)
use ( "<your target_level_change targetname>" );

Put it in the scripts folder, and if you have everything set up correctly, as soon as you kill the NPC, it will trigger the script, which will use the target_level_change and head on to the next mission.

Not sure about that error, though. I've read it would happen due to brush entities, but it seems vague.

 

About the behavior states you listed, it's a bit of a mystery for me. I noticed them and tried to use them a lot of times, but apparently they're simply unused or not coded, or anything. Similar behavior states can still be achieved through scripts though.

 

As for your last question, yes, recompiling the map using any of those build commands will devastate the map as the BSP -meta does, due to losing all texture alignments, lights (so the map would be plunged in eternal darkness), etc.

Link to comment

I love this game. What other game could be able to shit on my head like this. :lol:  :lol:  :lol:  :
The more I try to edit these maps to the SP version, the more I feel I am losing my mind.

Even with all the advice and help I still don't know what I'm doing.
I am doing something, but I don't know what. I hate Radiant. I don't know who created that "thing", but right now I'd like to do to him what I did to those stormtroopers.
This is not a map editor, this is evil in disguise! The Dark Side among the software.

I have only following options:
- Make Mod Compilation without SP maps (I don't like this)
- Continue on, try to somehow solve this (and maybe go crazy from it)
- Leave that to someone else (I doubt that anyone will do all the work for me)


I have to quit with Radiant for a while.  :(  I thank everyone who tried to help me with this.

I will perhaps continue some other time. I will now focus on collecting all the necessary models for Mod compilation.

Link to comment

Allright. So I found that I can't quit.
It's almost like a drug. I can't give up with it now. It's deep in my head. I can't stop thinking about it. Damned Radiant! I must figure it out. I must! :angry:

I have to find out how to do all this... Little by little, with every detail...

I will find out everything I need! Even if it should be the last thing I do.

Raz0r likes this
Link to comment

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

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...