This is an article about basic knowledge to modifiy existing levels in game.
When you install full version of Painkiller you get the tool PainEdit – level editor in the default location:
- C:\Program Files\DreamCatcher\Painkiller\Bin\Editor
The following image illustrates the program.
1. Loading of map
Select in top menu:
- File = > Load Level => DM_Cursed (for example this map) => Load
You will see what on following image.
Select in top menu:
- File = > Save All As… => DM_Cursed2
Map name DM_Cursed2 is for example.
In menu Game Objects (right column) you can change settings of map.
- Game Objects => CLevel => Double click or click right key of mouse & select Properties
Examples: you can add music track in field Music or change size of map with Scale.
Info: in field Map you can add a map in *.mpkfile format, when you are making a new map, but this article is about basic modification existing maps.
2. Move on map
To move on map use default keys W, S, A & D and pressing right mousebutton to change the direction, so you can fly on the map like a spectator in multiplayer.
To move you can use also only the mouse, with:
- forward – pressed left button of mouse & move of mouse to forward
- back – pressed left button of mouse & move of mouse to back
- turn left – pressed left button of mouse & move of mouse to left
- turn right – pressed right button of mouse & move of mouse to right
- move left – pressed right & left button of mouse and move to left
- move right – pressed right & left button of mouse and move to right
If you press F key on your keyboard you can switch the player mode – so you can look at the map from his perspective, to return to edit mode press F key again.
3. Placement of multiplayer items
Right menu (right column) have weapons, ammo packs, armors, powerups and health in Templates:
- Templates => Ammo
- AmmoBolt.CItem – bolt ammo
- AmmoElectro.CItem – electro ammo
- AmmoFreezer.CItem – freezer ammo
- AmmoGrenades.CItem – grenade & rocket launcher ammo (default 7 rockets)
- AmmoGrenadesBig.CItem – grenade & rocket launcher (default 12 rockets)
- AmmoHeaterBomb.CItem – heater ammo
- AmmoMiniGun.CItem – chaingun ammo
- AmmoRifle.CItem – sub machine gun
- AmmoShotgun.CItem – shotgun ammo
- AmmoShurikens.CItem – shurikens
- AmmoStakes.CItem – stakes
- MegaPack.CItem – ammo to all weapons
- Templates => Armor – armors
- ArmorMedium.CItem – silver armor
- ArmorStrong.CItem – gold armor
- ArmorWeak.CItem – bronze armor
- Templates => Health
- Health.CItem – 25 HP
- MegaHealth.CItem – 100 HP
- Templates => Gameplay – MP items
- Flag.CItem – flag to CTF mode
- JumpPad.CItem – jumppad
- pentagram.CItem – immortality (powerup)
- PlayerRespawn.CArea – respawn of players
- Quad.CItem – rage (powerup)
- WeaponModifier.CItem – weapon modifier (powerup)
- Templates => Weapons => PickableItems – weapons
- IBoltGunHeater.CItem – boltgun/heater
- IDriverElectro.CItem – electrodriver
- IMiniGunRL.CItem – rocket launcher/chaingun
- IRifleFlameThrower.CItem – sub machine gun/flamethrower
- IShotgunFZ.CItem – shotgun/freezer
- IStakeGunGL.CItem – stakegun/grenade launcher
To place new items (for example ammo) double click or press right mousebutton on selected item and choose Create Object, example: AmmoElectro.CItem:
In Game Objects you can edit properties of selected item, example:
- Game Objects => CItem => AmmoGrenadesBig_001 => Double click or press right button of mouse on selected item and choose Properties
You see this on below image. You can change time of respawn (RespawnTime), increase/reduce ammo (AmmoAdd).
In section no 4 of this article i will describe how to easily move and rotate items.
In properties of Ammo you can set the default ammo of weapon, which you can see below (freezer & shogun – 0 & 10 ).
4. Placement and editing of another items
To place new items, select element in right menu (double click or press right mousebutton on selected item and choose Create Object), for example BarrelBig_MP.CItem:
- Templates = > ItemsMP => BarrelBig_MP.CItem
In the i>Templates folder are a lot of containers, barrels and another items.
After placing the item you see three axes (green, red & blue) on this element. It can be used to adjust position of item when it isn’t located exactly where it was expected. Hover your mouse over one of these axes and hold the Shift key, move mouse along axis of one of the selected until a satisfactory position.
Axes (green, red and blue) can be used to rotate object. Hover your mouse over one of these axes and hold the Shift key and right mouse button, move mouse along axis of one of the selected until a satisfactory position (turn of item).
Choosing from the menu on the right side (default) Properties, example:
- Game Objects = > Citem => BarrelBig_MP_001 (double click)
you can change properties of the element, such as changing value of Scale – decrease/increase size of object.
5. Placement of teleport
Unfortunately, a very popular template of teleport like on maps DM_1v1_meatless, DM_Psycho, DM_Sacred does not exist in PainEdit, this article is about basis of using this tool, so will be used another item as teleport. Go to ParticleFX and find something interesting to using as teleport, example:
- Templates => ParticleFX => fragenelektro.CParticleFX
Then, based on knowledge from the section no 4 should be placed in the desired visualization of teleport.
Press the F key and go where the player should be after a teleportation. Then again, press F and select from the menu:
- Templates => Gameplay => PlayerRespawn.CArea
Next step: go to the Game Objects:
- Game Objects => CArea => PlayerRespawn_009
Click PlayerRespawn_009 (no 9, since in this case is 9th – yours could be different) two times (not fast) to change name for example: Tele2 (2 – cause Tele1 already exists in this case).
Click twice Tele2 to go to its properties or click on Tele2 right mouse button and select Properties. Parameter BaseObj change from PlayerRespawn.CArea to CArea like below:
Return to the teleporter on your map. From menu GamePlay insert Teleport:
- Templates => Gameplay => Teleport.CBox
Then adjust position of the box with teleport to its visualization (previously added fragenelektro.CParticleFX) and adjust its size (Size).
Go to Game Objects:
- Game Objects => CBox => Teleport_002
Click Teleport_002 (no 2, since in this case is 2nd teleport – in your can be other). Double click on Teleport_002
to go to its properties or click on Teleport_002 right mouse button and select Properties. In parameter AName set Tele2:
- DestPoint => AName => Tele2
like on this image:
6. Removing
By creating a map, after the addition of large quantities of items, this can be confusing and not remember where is item which has been placed. All items can be easily found on the map. Select item in menu, for example: IMiniGunRL_001.
- Game Objects => IMiniGunRL_001 => Click right button of mouse on this => Look at
In this way you will be automatically transferred to position where is a selected item.
Removing of items is easy, select item, which you want to delete, for example: IMiniGunRL_001.
- Game Objects => IMiniGunRL_001 => Click right button of mouse => Delete
Item will be removed.
7. Entry
Select in top menu:
- File = > Save Level Properties
- File = > Save Level and Objects
When map is ready, after tests, you can create file *.pkm, for this from the top menu select:
- File => Load level => Select DM_Cursed2 => Create PKM
Start Painkiller game, select map (DM_Cursed2 in this case) and test. You can download map, which was created in this article: DM_Cursed2. HF!
[spoiler show=”Polish version” hide=”“]
Celem tego artykułu jest przybliżenie podstaw edycji poziomów osobom, które nie mają o tym pojęcia.
Instalując pełną wersję Painkillera otrzymujemy narzędzie PainEdit – edytora poziomów w grze umiejscowionego w przykładowej, domyślnej lokacji:
- C:\Program Files\DreamCatcher\Painkiller\Bin\Editor
Poniższy obrazek ilustruje wygląd programu.
1. Ładowanie mapy
W celu załadowania przykładowej istniejącej mapy należy wybrać z górnego menu:
- File = > Load Level => DM_Cursed => Load
Powinieneś ujrzeć to samo co ilustruje poniższy obrazek.
Z menu górnego wybierz:
- File = > Save All As… => DM_Cursed2
Nazwa DM_Cursed2 jest oczywiście przykładowa.
W Game Objects można zmieniać ustawienia mapy.
- Game Objects => CLevel => Dwuklik lub kliknięcie prawym klawiszem myszy i wybranie Properties
Przykładem zmian we właściwościach może być dodanie muzyki w polu Music lub zmiana rozmiaru mapy w polu Scale przez zmianę mnożnika (właściwości te widać na poniższym obrazku).
Uwaga: w polu Map można wybrać plik z mapą w formacie *.mpk, przydatne gdy tworzymy mapę od podstaw, gdyż taki format pików obsługuje Painkiller. Jednak ten artykuł dotyczy prostej modyfikacji istniejących map.
2. Poruszanie się po mapie
Do poruszania się po mapie należy używać tych samych klawiszy, które są skonfigurowane w grze, domyślnie W, S, A i D oraz wciśniętego prawego klawisza myszy do zmian kierunku, co umożliwia proste latanie po mapie niczym tryb spectator w grze sieciowej.
Poruszać się po mapie można również wykorzystując samą mysz:
- przód – wciśnięty lewy klawisz myszy i ruch do przodu myszą
- tył – wciśnięty lewy klawisz myszy i ruch do tyłu myszą
- obrót w lewo – wciśnięty lewy klawisz myszy i ruch w lewo myszą
- obrót w lewo – wciśnięty prawy klawisz myszy i ruch w prawo myszą
- ruch w lewo – wciśnięte klawisze prawy i lewy myszy oraz ruch w lewo myszą
- ruch w prawo – wciśnięte klawisze prawy i lewy myszy oraz ruch w prawo myszą
Jeśli wciśniesz na klawiaturze klawisz F możesz przejść w tryb gracza – dzięki czemu możesz spojrzeć na mapę z jego perspektywy, by powrócić do trybu edycji wciśnij ponownie klawisz F.
3. Wstawianie przedmiotów
W menu domyślnie umieszczonym po prawej stronie mamy do dyspozycji bronie, amunicję, zbroję oraz zdrowia. Znajdują się one w zakłądce Templates:
- Templates => Ammo – amunicja
- AmmoBolt.CItem – amunicja do bełtacza
- AmmoElectro.CItem – amunicja do elektro
- AmmoFreezer.CItem – amunicja do zamrażacza
- AmmoGrenades.CItem – amunicja do granatnika i rakietnicy (domyślnie 7 pocisków)
- AmmoGrenadesBig.CItem – amunicja do granatnika i rakietnicy (domyślnie 12 pocisków)
- AmmoHeaterBomb.CItem – amunicja do minigranatnika
- AmmoMiniGun.CItem – amunicja do miniguna
- AmmoRifle.CItem – amunicja do peema
- AmmoShotgun.CItem – amunicja do strzelby
- AmmoShurikens.CItem – shurikeny
- AmmoStakes.CItem – amunicja do kołkownicy
- MegaPack.CItem – zbiór amunicji do wszystkich broni
- Templates => Armor – zbroje
- ArmorMedium.CItem – srebrna zbroja
- ArmorStrong.CItem – złota zbroja
- ArmorWeak.CItem – brązowa zbroja
- Templates => Health – zdrowie
- Health.CItem – zdrowie (25 HP)
- MegaHealth.CItem – zdrowie (100 HP)
- Templates => Gameplay => – przedmioty MP
- Flag.CItem – flaga do trybu CTF
- JumpPad.CItem – jumppad (wyskocznia)
- pentagram.CItem – nieśmiertelność (powerup)
- PlayerRespawn.CArea – miejsce odrodzania się graczy
- Quad.CItem – światlo (powerup)
- WeaponModifier.CItem – modyfikator broni (powerup)
- Templates => Weapons => PickableItems – bronie
- IBoltGunHeater.CItem – bełtacz/minigranatnik
- IDriverElectro.CItem – elektro/szurikeny
- IMiniGunRL.CItem – rakietnica/minigun
- IRifleFlameThrower.CItem – peem
- IShotgunFZ.CItem – strzelba/zamrażacz
- IStakeGunGL.CItem – kołkownica/granatnik
W celu umieszczenia na mapie nowych przedmiotów, np. amunicji, z menu wstaw (dwuklikiem lub kliknięciem prawym klawiszem myszy na wybranym elemencie i wyborze Create Object) np. AmmoElectro.CItem:
W Game Objects można edytować właściwości dodanego elementu, np.:
- Game Objects => CItem => AmmoGrenadesBig_001 => Dwuklik lub kliknięcie prawym klawiszem myszy na wybranym elemencie i wybór opcji Properties
W efekcie uzyska efekt jak na poniższej ilustracji. Możemy zmienić czas respawnu przedmiotu po jego zebraniu (RespawnTime), zwiększyć/zmniejszyć ilość amunicji (AmmoAdd) jaką dodaje element do konkretnej broni.
W punkcie 4 artykułu będzie opisane jak w prosty sposób przesuwać, obracać elementy.
We właściwościach broni możemy w polu Ammo ustalić ilość amunicji jaką będzie mieć broń w chwili podniesienia jej, co ilustruje poniższa grafika (w tym przypadku zamrażacz i strzelba, odpowiednio 0 i 10 pocisków).
4. Wstawianie i edycja innych przedmiotów
W celu umieszczenia na mapie jakichś nowych przedmiotów z menu domyślnie umieszczonego po prawej stronie wybierz (dwuklikiem) np. BarrelBig_MP.CItem:
- Templates = > ItemsMP => BarrelBig_MP.CItem
Templates zawiera dużo różnych modeli beczek, kontenerów, skrzyń i wiele innego typu przedmiotów.
Na świeżo umieszczonym elemencie znajdują się 3 osie (zielona, czerwona i niebieska). Można je wykorzystać do dostosowania położenia elementu gdy ten nie znajduje się dokładnie tam gdzie było to oczekiwane. W tym celu najedź myszą na jedną z tych osi i przytrzymując klawisz Shift poruszaj się myszą wzdłuż wybranej jednej z wybranych osi do momentu uzyskania satysfakcjonującego położenia.
Wspomniane powyżej osie (zielona, czerwona i niebieska) można wykorzystać do obracania przedmiotu. W tym celu przytrzymaj jednocześnie klawisze Shift oraz prawy myszy i najeżdżając na odpowiednią oś wykonuj ruchy myszą (obroty elementu) do uzyskania satysfakcjonującego rezultatu.
Wybierając z menu po prawej (domyślnie) stronie Properties
- Game Objects = > Citem => BarrelBig_MP_001 (dwuklik)
można wpływać na właściwości elementu, np. zmieniając wartość Scale można zmniejszać/zwiększać rozmiar przedmiotu.
5. Wstawianie teleportu
Niestety PainEdit nie posiada bardzo popularnego szablonu teleportu w postaci luster znanych z takich map między innymi jak DM_Sacred, DM_1v1_meatless, DM_Psycho, a artykuł jest o podstawach użytkowania tego narzędzia, więc jako teleport zostanie użyty inny element. W tym celu warto przejść do zakładki ParticleFX i poszukać czegoś interesującego co mogłoby służyć jako ów teleport, np.:
- Templates => ParticleFX => fragenelektro.CParticleFX
Następnie w oparciu o wiedzę z punktu 4 należy umieścić wizualizację teleportu w pożądanym miejscu.
Wciśnij klawisz F i przejdź w miejsce gdzie ma pojawiać się gracz po teleportacji. Następnie ponownie wciśnij F i z menu wybierz:
- Templates => Gameplay => PlayerRespawn.CArea
W kolejnym kroku przejdź do Game Objects :
- Game Objects => CArea => PlayerRespawn_009
Kliknij nazwę PlayerRespawn_009 (nr 9, ponieważ w tym przypadku jest to dziewiąty element – w twoim może być inny) dwa razy w pewnych odstępie czasowym by zmienić nazwę na np. Tele2 (numeracja ta wynika z faktu, że Tele1 już istnieje w tym przypadku).
Kliknij dwa razy Tele2 by przejść do jego właściwości lub kliknij na Tele2 prawym klawiszem myszy i wybierz Properties. W parametrze BaseObj zmień PlayerRespawn.CArea na CArea jak na poniższej ilustracji.
Wróć do miejsca, w którym znajduje się teleport na mapie. Z menu GamePlay wstaw teleport:
- Templates => Gameplay => Teleport.CBox
Następnie dostosuj położenie boksu z teleportem w stosunku do jego wizualizacji (umieszczony wcześniej fragenelektro.CParticleFX) oraz dostosuj jego rozmiar (Size).
Przejdź do Game Objects :
- Game Objects => CBox => Teleport_002
Kliknij nazwę Teleport_002 (nr 2, ponieważ w tym przypadku jest to drugi teleport – w twoim może być inny). Kliknij dwa razy Teleport_002 by przejść do jego właściwości lub kliknij na Teleport_002 prawym klawiszem myszy i wybierz Properties. W parametrze AName ustaw Tele2:
- DestPoint => AName => Tele2
jak na poniższej ilustracji.
6. Usuwanie
Tworząc mapę, po dodaniu sporej ilości przedmiotów można się pogubić i nie pamiętać gdzie jaki element został umieszczony. Wszystkie elementy można w prosty sposób odnaleźć na mapie. W tym celu wybierz szukany przedmiot, np.: IMiniGunRL_001.
- Game Objects => IMiniGunRL_001 => kliknij prawym klawiszem myszy => Look at
Dzięki temu zostaniemy automatycznie przeniesieni w miejsce gdzie znajduje się wybrany element.
Zaś samo usuwanie przedmiotu jest bardzo proste, należy wybrać element, który chce się usunąć, np.: IMiniGunRL_001. .:
- Game Objects => IMiniGunRL_001 => Kliknij prawym klawiszem myszy => Delete
Przedmiot zostanie usunięty.
7. Zapis
Z menu górnego wybierz:
- File = > Save Level Properties
- File = > Save Level and Objects
Na sam koniec tworzenia mapy, po testach choćby z botem, warto stworzyć plik *.pkm, w tym celu z górnego menu wybierz
- File => Load level => Zaznacz DM_Cursed2 => Create PKM
Uruchom grę Painkiller, wybierz mapę (DM_Cursed2 w tym przypadku) i sprawdź działanie. HF![/spoiler]
catphone
27. June 2010 20:35
HV
27. June 2010 22:49
greentechb
4. July 2010 09:17
Mike
16. August 2011 14:50
HV
16. August 2011 19:43
Mike
18. August 2011 01:37
Mike
18. August 2011 01:37
HV
18. August 2011 18:24
Mike
19. August 2011 22:07
T0rmentoRrr
3. December 2013 16:23
Phantom
3. December 2013 16:29
T0rmentoRrr
3. December 2013 16:38
Phantom
3. December 2013 16:53
T0rmentoRrr
3. December 2013 16:55