HV July - 18 - 2010 News, ArticlesADD COMMENTS

I was asked for PainEditoring tips and so I started this Thread.

Lesson 1: How to start the PainEditor

Go to your Painkiller directory /Bin/Editor/ and run the PainEditor.exe. Now you can load and modify maps.


Lession 2: Moving in a loaded Map

Klicking on the map and pressing F allows you to move in the map. Press F again, leftmouse allows to fly throu the map (and walls). Rightmousklick rotates your View.
F10 toggles between Fullscreen and PainEditor.

Remember: Jumppads, teleporters and triggers don’t work in PainEd.

Lesson 3: Moving the ItemsPress

Ctrl + left mouse and klick the end of the green arrow. You can move the Items up and down. Or Ctrl + left mouse and klick the end of the blue arrow or green for backward and forward, left and right. Or right mouse to rotate them.


Some items can’t be clicked by Ctrl, go to your /GameObjects to select them. The factory HP is placed to deep (-5.74?). -5 looks good I’m fixing?. Doubleklick the name of the Item.


Moving the Item can also be done by changing the X;y;Z coordinates. If you do so, press enter and then the refreshbutton (looks like a white paper).

Remember: Most SP Items cant be seen in MP, I recommend to test the maps online.

Lesson 4: Placing Playerrespawns

First of all, this is difficult to do. Because you never see them, they have no arrows for moving and some just tnot there where you placed them. But let’s try it step by step.

Load your map. Walk (don’t fly) in the map to the position, where you like to have your Prespawn and look in the direction he should look after spawned. Create one.

To do this, go to /Templates/GamePlay/PlayerRespawn.CArea.


Now the PlayerRespawn should be near where you stand, but not at the same position. Test it offline or online. I would recommend to place a Item (Ammo) to the positon where he should exactly be, then copy the ammoitemcoordinates to the playerrespawncoordinates. Test it offline or online.

If he isnt looking in the direction he should, close the PainEd and go to Ur /Data/Levels/DM_Name/PlayerRespawn_001.CArea and open it with a Texteditor (Notepad). You will see something like this:

o.Points[1] = VectorA:New(-67.237266540527,-60.112560272217,-80,0)
o.BaseObj = "PlayerRespawn.CArea"
o.Pos = Vector:New(-67.237266540527,-60.112560272217,-80)

Important is the 0 at the end of the upper line. I’m not sure what it is, maybe Pie, I’m verry sure it’s not degree, because if I change the 0 to 6 I made a nearly perfect 360* turn. It’s a process of try and error, thats what it makes so difficult. The 0-6 also goes against clockrotation, means if you change the 0 to 1, the direction of the playerrespawn will be more left. You can use 1.35 or any number you like. But remember more then 6 will be the same like 0.

Lesson 5: Placing Teleporters and Destinations

Go to /Templates/GamePlay/Teleport.CBox and create one. You can resize it, rotate it or move it. At +DestinationPoint/AName select the Destination.


I don’t find where the Destinations are, so what would I do? I would resave DM_Unseen to DM_Unseen1, would go to the Explorer and copy the /Destination_001.CArea from /CArea to the /CArea of the map I’m working on. You can move, rotate and resize them by changing the A;X;Y;Z coordinates.


Lesson 6: Again PlayerRespawns and how to fix them

Let’s say you have created a playerrespawn here:


But when you look at the playerrespawn he isn’t there, he might be here:


Go to your playerrespawn /Properties and put the first number in the line to X, the second (hight) number to Y, and the third number to Z. A is the direction.


If you refresh this action and look again at the playerrespawn he should be there, where you have place him.

If you set A = 0 the direction is straight, if 1.57 then 90* leftturn
if 3.14 then 180* turn
if 4.71 then 90* rightturn
6.28 is the same like 0.

Wrong it looks like this:

o.Points[1] = VectorA:New(51.196701049805,4.3561201095581,17.099 39956665,0)
o.BaseObj = "PlayerRespawn.CArea"
o.Pos = Vector:New(324.90322875977,14.121496200562,403.376 12915039)

Fixed like this:

o.Points[1] = VectorA:New(324.90322875977,14.121496200562,403.37 612915039,0)
o.BaseObj = "PlayerRespawn.CArea"
o.Pos = Vector:New(324.90322875977,14.121496200562,403.376 12915039) 

Lesson 7: Sky – Fog – FarClipDist – Water


Ok let’s do it my way and we change the Sky from Unseen and replace it with the sky used in Cemetery (with the big yellow moon).

Open both maps and save them (like DM_Unseen1 and C1L4_Cemetery1). Go to your Explorer and open the DM_Unseen1.CLevel and C1L4_Cemetery1.CLevel (C:\…\Data\Levels\…) and open them with Notepad or any texteditor you like. You should see something like this:


Take the lines beginning from o.SkyDome.Map to o.SkyDome.Layer2.Tex2 from C1L4_Cemetery1.CLevel and replace them in Ur DM_Unseen1.CLevel beginning from o.SkyDome.Map to o.SkyDome.Layer2.Tex2.

Also take the o.Ambient = Color:New(26,27,38,0) and the o.Fog.Color = Color:New(18,19,24,0) from C1L4_Cemetery1.CLevel and copy it over the o.Ambient = Color:New and o.Fog.Color = Color: in your DM_Unseen1.CLevel. DM_Unseen1.CLevel should now look like this:


Save the changes in DM_Unseen1.CLevel. If you test the map now or load the map in PainEd it should look like this:


Fog and FarClipDist

Ozzy made a map based on Asylum and used the original Fog (90) and Farclipdistance (91). Uhhhhhhhh.


After I increase the Fog and Farclipdistance to 175 (Properties), we see much more from the map. Ahhhhhhhh.


In rooms I allways recommend to set the Fog Mode to No Fog (for MP).



What should I say about water? It’s wet! All I have to say right now is: please change the color of your water if you changed the skycolor. Blue sky, blue water and so on. (And don’t pee into the water!!!)


Lesson 8: AmbushForPlayer.CBox and MonstersSpawnPoint.CSpawnPoint

Go to the /Templates and create under /GamePlay a /AmbushForPlayer.CBox and a /MonstersSpawnPoint.CSpawnPoint.
Go tho the /Properties of the AmbushForPlayer.CBox and klick on +ToLaunch, klick then “new” and then (on the right side) the little downarrow. There you can chose your MonstersSpawnPoint.CSpawnPoint_001 or whatever. That was the trigger you missed.

Lesson 9: You like to spawn enemies? Spawning them from the ground?

Load C1L4_Cemetey and go to /GameObjects/CSpawnPoint/MonstersSpawnPoint_001 doubleklick and go to /Properties/SpawnFX select your spawn.


Lesson 10: Scale of monster

The left monster with original /Scale, the right one is:

/Properties/Scale: 3
/Properties/Health: 666

You can also change the:


Or whatever you like. You will find this all under /Properties (just O_O).


Lesson 11: Combining different monsters

Try to combine a Banshee_CemeteryBoss.CActor (or a simple Bunshee) with a DevilMonk_Slowdown.CActor and some Executioner_V3.CActor. You will be in big trouble. Because the Banshee makes you blind, the DevilMonk makes you slow and the Executioner will … execute you. Finally: Try to remember your favorite monsters and make a combination of them. You will see things You have never seen before!

Lesson 12: /ParticleFX/Properties/Effect

Just one more thing I have to say: If you create any /ParticleFX and you go to his /Properties then you can klick on his /Effect you will be able to use over 100 awesome effects from the game that are not listed in the /PaticleFX (just some are). Feel free to mix them.


Lesson 13: Some shortkeys

If you are in the Play Level mode you can morph into a Deamon by pressing 9 or into a painkilleronly mode by pressing 10. If you press H onetime you see some infos about the FPS and so on. If you press H twice you see the loadingtimes for most everything that is in the level.



Painkiller is a first-person shooter game released on April 12, 2004. The game takes place in Purgatory and Hell. The main character is Daniel Garner.