Boktor's Project

(Boktor) #1

Hi all

As I said I would make a main thread for to all the questions I’m going to have, so here it is.

First up, I was wondering what the workflow is for other mappers. I still have several areas to work on, so right now my map is in pieces in seperate .world files. Should I wait until I have every area put together in one world before I add objectives?

(Donnovan) #2

Objectives are added in the main world file, so you will need to have your references already put on this main world file, or you will do the objs not knowing were things is.

When i start a new big reference, i mostly already know were it will fit on the main map. May be on the begining of the map process this can be a little hard since you have a vast free terrain to fill, with many possibilities, But with the time, and with more stuff going into the map, those decisions became faster and acertive.

(Boktor) #3

Thanks Donnovan

By the way, I am making an indoor map. No terrain work for me

When I try to set up a test objective in a single room world I run into problems. The wiki shows me keypairs and a some scripting but it doesn’t explain much. In the modding and mapping links thread there are some dead links (to the old forums) to some tutorial maps that would really help. The cache links are dead too. Does anyone know if its available from somewhere?

(Donnovan) #4

What objective is you trying to do on that single room? May be i know some tutorial about it.

(Boktor) #5

I’m want to make a single destructible objective. I’m trying to make it in a single room to test it.

The author of the tuto is Mordekainen

(Scrupus) #6

I think most of the tutorials on the old forums is lost :frowning:

Mordenkainen and others posted some of their tutorials and findings on the modwiki site, such as this:

But it’s not a lot there, most tutorial was published directly on the forums I think.

Even if you are not building a terrain map, the Advanced map tutorial on the official wiki can still be quite useful. The tutorial map ( is included in the SDK, so you can study the map source and scripting while reading the tutorial there:

It can also be useful to study the entitiy and script files for the stock maps (or custom maps), to figure out how the stuff works. Many of the objective areas from the stock maps are included as references in the SDK, so you can load them up and see how it’s done.

(king_troll) #7

in sdk1.5/base/script/events.script are functions that are linked to the source.cpp files, most you will find in entities.cpp with a few virtual events in player.cpp, and to use those functions your need sys.functionName() in the script

if you make full buildings in seperate maps, its quicker to save them as a prefab then copy the whole “select inside” and place them on the real world map you are going to use

(.Chris.) #8

or just use references, this is ET:QW not Quake 3.

(king_troll) #9

i know its ET, events still do the same, you still cannot add custom events to call from dll driver and library code

each .script is a object

object player {}

each script object needs the following, as in def.script

void preinit();
void init();
void destroy();

object player {
void preinit();
void init();
void destroy();
void syncFields();

//custom functions etc go here for your rest of the object script


if a obect function uses objManager. then you can use dll driver and library code functions and set stuff for the current script object, while sys. will do all common code

for maps

current map script object -> and a child to the parent map script base and use the default functions if they do not exist in the custom and current map script object
object mapObject_Quarry : mapObject_Default {}

(.Chris.) #10

Ignore him, All you need to know about references.

You can find information on lots of ET:QW specific stuff on that wiki.

I would try get your objectives working first before attempting the layout and stuff.

(king_troll) #11

it will never work if you dont know how scripts work, you can find the function for objectmanager in sdk1.5/base/script/misc/objective_manager.script

when you use objManager.OnHackComplete( entity obj ) entity will just loop back to the map script function mapObject.OnHackComplete( obj ); using the correct thread for the engine to know what object to use the bit of code on

you can find out how scripts work in the source/game/script/*.cpp files

(Violator) #12

Def make a simple map with all your objectives in first before attempting any serious brushwork. For destructible the ‘etqwmap’ example in the SDK is a good starting point, or viomine, quarry for strogg, meltdown, maridia, outskirts for GDF.

(Boktor) #13

Many thanks for the posts everyone. I’m working with the objective tutorials Scrupus posted. To be honest I am hoping to avoid as much scripting as I can.

Vio do you mean I should look at the scripts for maps or open them up in editworld? I looked at some custom maps and all I could find was the .entities file which isn’t much help.

(Violator) #14

Open up the map in editworld then examine the entities (select them with shift-click then press N). There is some scripting involved I’m afraid though, you’ll need to open up the scripts with notepad or a similar text editor. Once you get more familiar with it all the .entities files are actually very useful to see whats going on.

(Scrupus) #15

Boktor, you’ll find the script file for a map in the script/maps folder (inside the pk4). Open them in a text editor as Vio suggested. With the entity file and the script file for a map, you can figure out the objectives even without the map source. Sometimes they got some custom stuff in the def folder as well, but that’s a bit more advanced.

Also note that the objective manager and the pre made script objects and functions will do a lot of the hardwork for you - you don’t really have to understand how all the low-level stuff works, for the standard objectives. And you will soon enough learn the basics of them, it just takes some time to get used to the concept.

(Boktor) #16

I managed to make a construct objective with the help of the tutorial. But I need to know way more than that… I want to set up objectives very similar to the last objective of Brinstar (destroy the brain), so I looked at the .entities of that map. All I found was the entity that sets up the waypoints, but nothing on the actual objective. Well I guess I’ll study up on the scripts.

In the meantime I have a good idea of where I want my objectives already. I’m giving good consideration to map flow as well, so I’m in the process of fleshing out map areas.

Here’s a shot of the main room. It’s still early work - there’s no lighting yet so it’s very gray. This pic shows about 2/3rds of the area Almost all the work I’ve done is behind that shot, but I’ll show that when it’s more polished :wink:

Also, under the groups tab does anyone know what the difference between Editor Groups, LODs and Detail is? I am using Editor Groups for everything just to keep stuff tidy right now

(.Chris.) #17

I’ll make a short guide on how I did that objective on Brinstar at the weekend, but be warned that occasionally it doesn’t work and the map can’t be completed.

(Boktor) #18

Awesome, much appreciated!

(timestart) #19

Editor groups are for organising things when editing.
LOD groups are for switching to simplified geometry when it’s far enough away for the details to not be visible.
Detail groups are for making geometry that doesn’t split brushes it’s touching to reduce the number of polygons.

(Boktor) #20

So do LOD groups matter in indoor areas or will portals take care of everything for me?