mod erstellen zu dungeon keeper

Joined
Dec 18, 2005
Messages
7,691
Reaction score
0
hey leute hätte da mal ne frage...
ich hab vor ne modifikation von dungeon keeper zu erstellen, hab mir ausm netz nen leveleditor gesaugt die map gestaltet und sie entsprechend unter dem dateinamen der original - map sprich: map00001.slb gespeichert

da ich zuvor entsprechende vortreffungen in die wege geleitet habe d.h.

den ordner "levels" sowie den ordner "ldata" auf die platte kopiert habe und in der datei
keeper.cfg den install path von
INSTALL_PATH=F:\ auf
INSTALL_PATH=C:\Program Files\Bullfrog\Keeper
umgeändert habe konnte ich die erstellte map auch ohne probleme öffnen

desweiteren habe ich in der txt-datei zu map00001 folgende zeilen eingegeben

ADD_CREATURE_TO_POOL(AVATAR,1)
ADD_CREATURE_TO_POOL(KNIGHT,2)
ADD_CREATURE_TO_POOL(THIEF,5)
ADD_CREATURE_TO_POOL(MONK,5)
ADD_CREATURE_TO_POOL(WITCH,2)
ADD_CREATURE_TO_POOL(GIANT,2)
ADD_CREATURE_TO_POOL(WIZARD,4)
ADD_CREATURE_TO_POOL(FAIRY,4)
ADD_CREATURE_TO_POOL(BARBARIAN,2)
ADD_CREATURE_TO_POOL(ARCHER,5)
ADD_CREATURE_TO_POOL(SAMURAI,5)
ADD_CREATURE_TO_POOL(DWARF,13)

sowie

CREATURE_AVAILABLE(PLAYER0,AVATAR,1,1)
CREATURE_AVAILABLE(PLAYER0,KNIGHT,1,1)
CREATURE_AVAILABLE(PLAYER0,THIEF,1,1)
CREATURE_AVAILABLE(PLAYER0,MONK,1,1)
CREATURE_AVAILABLE(PLAYER0,WITCH,1,1)
CREATURE_AVAILABLE(PLAYER0,GIANT,1,1)
CREATURE_AVAILABLE(PLAYER0,WIZARD,1,1)
CREATURE_AVAILABLE(PLAYER0,FAIRY,1,1)
CREATURE_AVAILABLE(PLAYER0,BARBARIAN,1,1)
CREATURE_AVAILABLE(PLAYER0,ARCHER,1,1)
CREATURE_AVAILABLE(PLAYER0,SAMURAI,1,1)
CREATURE_AVAILABLE(PLAYER0,DWARF,1,1)

wodurch bezweckt wurde das durch den vom spieler erorberten eingang nicht wie gewohnt die kreaturen in den dungeon kommen sondern man stattdessen die helden spielen kann
entsprechend habe ich auch die anzahl der figuren auf 50 beschränkt sowie ein startkapital von 25.000 gold eingeräumt.

dann hab ich mein level gestartet und soweit hat alles funktioniert (auch voreingestellte räume und zaubersprüche die ich eingestellt hatte) außer das noch keine gegner vorhanden waren, für welche ich per map-editor zwei gegnerische dungeos angelegt habe.

also habe ich entsprechend folgende zeilen eingegeben:

ADD_CREATURE_TO_POOL(FLY,5)
ADD_CREATURE_TO_POOL(BEETLE,8)
ADD_CREATURE_TO_POOL(SPIDER,8)
ADD_CREATURE_TO_POOL(SORCERER,10)
ADD_CREATURE_TO_POOL(ORC,5)
ADD_CREATURE_TO_POOL(TROLL,7)
ADD_CREATURE_TO_POOL(BILE_DEMON,30)
ADD_CREATURE_TO_POOL(DEMON_SPAWN,4)
ADD_CREATURE_TO_POOL(DRAGON,2)
ADD_CREATURE_TO_POOL(DARK_MISTRESS,10)
ADD_CREATURE_TO_POOL(HELL_HOUND,2)
ADD_CREATURE_TO_POOL(HORNED_REAPER,8)

sowie

CREATURE_AVAILABLE(PLAYER1,FLY,1,1)
CREATURE_AVAILABLE(PLAYER1,BEETLE,1,1)
CREATURE_AVAILABLE(PLAYER1,SPIDER,1,1)
CREATURE_AVAILABLE(PLAYER1,SORCERER,1,1)
CREATURE_AVAILABLE(PLAYER1,ORC,1,1)
CREATURE_AVAILABLE(PLAYER1,TROLL,1,1)
CREATURE_AVAILABLE(PLAYER1,BILE_DEMON,1,1)
CREATURE_AVAILABLE(PLAYER1,DEMON_SPAWN,1,1)
CREATURE_AVAILABLE(PLAYER1,DRAGON,1,1)
CREATURE_AVAILABLE(PLAYER1,DARK_MISTRESS,1,1)
CREATURE_AVAILABLE(PLAYER1,HELL_HOUND,1,1)
CREATURE_AVAILABLE(PLAYER1,HORNED_REAPER,1,1)

CREATURE_AVAILABLE(PLAYER2,FLY,1,1)
CREATURE_AVAILABLE(PLAYER2,BEETLE,1,1)
CREATURE_AVAILABLE(PLAYER2,SPIDER,1,1)
CREATURE_AVAILABLE(PLAYER2,SORCERER,1,1)
CREATURE_AVAILABLE(PLAYER2,ORC,1,1)
CREATURE_AVAILABLE(PLAYER2,TROLL,1,1)
CREATURE_AVAILABLE(PLAYER2,BILE_DEMON,1,1)
CREATURE_AVAILABLE(PLAYER2,DEMON_SPAWN,1,1)
CREATURE_AVAILABLE(PLAYER2,DRAGON,1,1)
CREATURE_AVAILABLE(PLAYER2,DARK_MISTRESS,1,1)
CREATURE_AVAILABLE(PLAYER2,HELL_HOUND,1,1)
CREATURE_AVAILABLE(PLAYER2,HORNED_REAPER,1,1)

dann hab ich noch folgende zeilen hinzugefügt damit jedem spieler direkt am anfang imps zur verfügung stehen

ADD_CREATURE_TO_LEVEL(PLAYER0,IMP,1,5,1,0)
ADD_CREATURE_TO_LEVEL(PLAYER1,IMP,2,5,1,0)
ADD_CREATURE_TO_LEVEL(PLAYER2,IMP,3,5,1,0)

hierbei stehen die ersten zahlen für die einsatzpunkt sog. action-points d.h. die platzierung auf der karte die zweite zahl für die anzahl der kreaturen, die dritte für den erfahrungslevel und die vierte für die anzahl von gold die die figur mit sich trägt.

zusätzlich um die ki zu erhöhen hab ich noch folgendes eingegeben

SET_COMPUTER_PROCESS(PLAYER1,"DIG TO CLOSE GOLD",0,1250,50000,5,20)
SET_COMPUTER_CHECKS(PLAYER1,"CHECK FOR NEUTRAL PLACES",15000,0,0,0,65000)
SET_COMPUTER_PROCESS(PLAYER1,"ATTACK SAFE ATTACK",-1,100,22,100,0)

SET_COMPUTER_PROCESS(PLAYER2,"DIG TO CLOSE GOLD",0,1250,50000,5,20)
SET_COMPUTER_CHECKS(PLAYER2,"CHECK FOR NEUTRAL PLACES",15000,0,0,0,65000)
SET_COMPUTER_PROCESS(PLAYER2,"ATTACK SAFE ATTACK",-1,100,22,100,0)

abschließend hatte ich als gewinnbedingungen folgendes eingegeben

IF(PLAYER0,DUNGEON_DESTROYED==1)LOSE_GAMEENDIF
IF(PLAYER1,DUNGEON_DESTROYED==1)
IF(PLAYER2,DUNGEON_DESTROYED==1)WIN_GAME
ENDIF
ENDIF

heißt wenn mein dungeon zerstört is verlier ich und wenn beide gegnerischen zerstört sind gewinn ich...

ok dann dacht ich der rest vom text in der txt-datei is überflüssig und hab ihn ausgeschnitten und zur sicherheit in ner anderen datei abgespeichert.

sodale

dann hab ich das spiel neu gestartet und es hat nix mehr gefunzt und das spiel is direkt abgeschmiert...

ok da hab ich den rest der text-datei wieder an seine ursrüngliche stelle kopiert und trotzdem ging nix mehr...

ich muss zugeben ich bin (noch) ein ziemlicher noob in solchen dingen und deshalb wollte ich mal fragen ob mir jemand helfen kann der ahnung von mod-erstellung hat bzw. für dungeon keeper schonmal ne mod erstellt hat

ich hänge mal noch die txt-datei an
 

Attachments



hat mit ner Mod aber nich sooooo viel zu tun, eher ne Mini-Mod :D


öhm, ich hab zwar ka, da müsst ich mich jetzt erst reinarbeiten, aber warum hast du die Map nach nem Originalevel benannt ?

Das geht nit so einfach, die hängen immerhin in der Kampagne zusammen °_°

gib dir map einfach nen unique Namen und lad sie per Konsole Oo



und was is mit dme KRam hier, haste den auch angepasst ? -->

IF(PLAYER0, GAME_TURN > 20)
rem CREATE_TEXT(1, 2)
DISPLAY_OBJECTIVE(2,PLAYER0)
TUTORIAL_FLASH_BUTTON(6,-1)
IF(PLAYER0,TREASURE>=1)
IF(PLAYER0, GAME_TURN > 175)
rem CREATE_TEXT(32, 3)
DISPLAY_INFORMATION(3,PLAYER0)
ENDIF
ENDIF
ENDIF

IF(PLAYER0, GAME_TURN > 125)
rem CREATE_TEXT(26, 1)
DISPLAY_INFORMATION(1,PLAYER0)
ENDIF

IF(PLAYER0,TREASURE >= 9)
rem CREATE_TEXT(2, 4)
DISPLAY_OBJECTIVE(4,PLAYER0)
SET_FLAG(PLAYER0, FLAG0, 1)
ENDIF

IF(PLAYER0,TOTAL_GOLD_MINED>0)
SET_FLAG(PLAYER1,FLAG0,1)
ENDIF

IF(PLAYER0,FLAG0==1)
IF(PLAYER1,FLAG0==1)
IF(PLAYER0,TOTAL_GOLD_MINED >= 1000)
rem CREATE_TEXT(3, 5)
DISPLAY_INFORMATION(5,PLAYER0)
IF(PLAYER0,TOTAL_GOLD_MINED >= 5000)
rem CREATE_TEXT(20, 6)
DISPLAY_INFORMATION(6,PLAYER0)
IF(PLAYER0,TOTAL_GOLD_MINED >= 9000)
SET_FLAG(PLAYER0,FLAG1,1)
rem CREATE_TEXT(4, 7)
DISPLAY_OBJECTIVE(7,PLAYER0)
ROOM_AVAILABLE(PLAYER0,LAIR,1,1)
TUTORIAL_FLASH_BUTTON(2,-1)
TUTORIAL_FLASH_BUTTON(8,-1)
IF(PLAYER0,LAIR >= 9)
rem CREATE_TEXT(5, 8)
DISPLAY_OBJECTIVE(8,PLAYER0)
SET_FLAG(PLAYER0, FLAG0, 3)
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF


REM PLAYER0 FLAG1 = 1 if tresure room not 9 & gold mined >0 & gold > 1000 & gold > 5000 & gold > 9000

IF(PLAYER0,FLAG0==0)
IF(PLAYER1,FLAG0==1)
rem CREATE_TEXT(16, 9)
DISPLAY_OBJECTIVE(9,PLAYER0)
IF(PLAYER0,TOTAL_GOLD_MINED >= 1000)
rem CREATE_TEXT(20, 10)
DISPLAY_INFORMATION(10,PLAYER0)
IF(PLAYER0,TOTAL_GOLD_MINED >= 5000)
rem CREATE_TEXT(3, 11)
DISPLAY_INFORMATION(11,PLAYER0)
IF(PLAYER0,TOTAL_GOLD_MINED >= 9000)
SET_FLAG(PLAYER0,FLAG1,1)
rem CREATE_TEXT(30, 12)
DISPLAY_OBJECTIVE(12,PLAYER0)
ENDIF
ENDIF
ENDIF
ENDIF
ENDIF

IF(PLAYER0,TOTAL_CREATURES >= 1)
IF(PLAYER0,TREASURE >= 9)
ROOM_AVAILABLE(PLAYER0,LAIR,1,1)
ENDIF
ENDIF

REM *** BUILT LAIR ***
IF (PLAYER0, FLAG0 == 3)
IF(PLAYER0,TOTAL_CREATURES >= 1)
rem CREATE_TEXT(6, 13)
DISPLAY_OBJECTIVE(13,PLAYER0)
CREATURE_AVAILABLE(PLAYER0,FLY,1,0)
CREATURE_AVAILABLE(PLAYER0,BUG,1,1)

IF(PLAYER0,BUG >= 1)
rem CREATE_TEXT(7, 14)
DISPLAY_OBJECTIVE(14,PLAYER0)
CREATURE_AVAILABLE(PLAYER0,FLY,1,1)
ROOM_AVAILABLE(PLAYER0,GARDEN,1,1)
TUTORIAL_FLASH_BUTTON(7,-1)
IF(PLAYER0,GARDEN >= 9)

rem CREATE_TEXT(8, 15)
DISPLAY_OBJECTIVE(15,PLAYER0)
MAGIC_AVAILABLE(PLAYER0,POWER_IMP,1,1)
TUTORIAL_FLASH_BUTTON(3,-1)
TUTORIAL_FLASH_BUTTON(21,-1)
SET_TIMER(PLAYER0,TIMER1)
SET_FLAG(PLAYER0, FLAG0, 4)
ENDIF
ENDIF
ENDIF
ENDIF

REM *** BUILT GARDEN ***
IF (PLAYER0, FLAG0 == 4)
IF(PLAYER0,TOTAL_CREATURES >= 7)
SET_FLAG(PLAYER0, FLAG0, 5)
ENDIF
ENDIF

REM *** HAS EIGHT OR MORE CREATURES ***
IF (PLAYER0, FLAG0 == 5)
IF(PLAYER0,TIMER1 >= 600)
rem CREATE_TEXT(30, 16)
DISPLAY_INFORMATION(16,PLAYER0)
TUTORIAL_FLASH_BUTTON(5,-1)
IF(PLAYER0,TIMER1 >= 800)
ADD_TUNNELLER_TO_LEVEL(PLAYER_GOOD,1,DUNGEON,0,1,200)
ADD_TUNNELLER_TO_LEVEL(PLAYER_GOOD,1,DUNGEON,0,1,200)
rem CREATE_TEXT(12, 17)
DISPLAY_OBJECTIVE(17,PLAYER0)
TUTORIAL_FLASH_BUTTON(37,-1)
IF(PLAYER_GOOD,TOTAL_CREATURES == 0)
TUTORIAL_FLASH_BUTTON(0,0)
rem CREATE_TEXT(13, 18)
DISPLAY_OBJECTIVE(18,PLAYER0)
SET_TIMER(PLAYER0,TIMER2)
SET_FLAG(PLAYER0, FLAG0, 6)
ENDIF
ENDIF
ENDIF
ENDIF

REM *** HAS WON FIRST BATTLE ***
IF (PLAYER0, FLAG0 == 6)
IF(PLAYER0,TIMER2 >= 500)
IF(PLAYER0,TOTAL_CREATURES >= 7)
ADD_PARTY_TO_LEVEL(PLAYER_GOOD,KNIGHT,1,1)
rem CREATE_TEXT(14, 19)
DISPLAY_OBJECTIVE(19,PLAYER)
set_flag(player0, FLAG0, 7)
ENDIF
ENDIF
ENDIF

REM *** END LEVEL CHECK - DOESNT NEED A FLAG AS THIRD BATTLE IS ALWAYS KNIGHT ***
REM *** HOWEVER IT MAY BE BETTER TO USE THE FLAG AND THEN TEST FOR PLAYER_GOOD, TOTAL_CREATURES == 0 ***
IF(PLAYER0, FLAG0 == 7)
IF(PLAYER_GOOD, TOTAL_CREATURES == 0)
rem CREATE_TEXT(15, 20)
DISPLAY_OBJECTIVE(20,PLAYER0)
WIN_GAME
endif
ENDIF


IF(PLAYER0,TOTAL_IMPS==0)
rem CREATE_TEXT(25, 21)
DISPLAY_INFORMATION(21,PLAYER0)
MAGIC_AVAILABLE(PLAYER0,POWER_IMP,1,1)
TUTORIAL_FLASH_BUTTON(3,-1)
TUTORIAL_FLASH_BUTTON(21,-1)
ENDIF






REM PLAYER0 FLAG0 = 1 Tresure room >= 9
REM PLAYER1 FLAG0 = 1 gold mined > 0
REM PLAYER0 FLAG1 = 1 tresure room >9 & gold mined > 0 & gold mined > 1000 & gold mined > 5000
REM gold mined > 90000
REM PLAYER0 FLAG0 = 3 lair > 9
REM PLAYER0 FLAG4 = 4


wieso muss man eigentlich alles in die Textdatei eingeben, kann man die Objectives etc nicht im Editor selbst machen ?
 
Last edited:
naja das ich das level unter dem namen der originaldatei gespeichert hab kann nicht der auslöser für mein prob sein, da ich es ja schonmal öffnen konnte.
einmal für den dungeon selbst ist die .slb datei zuständig die hab ich mit dem level ausm leveleditor überschrieben ließ sich wunderbar öffnen. und auch als ich geändert hab das statt monstern helden aus dem eingang in den dungeon kommen hat noch alles gefunzt obwohl ich diese änderung in der originaldatei vorgenommen hab.

erst nach eingabe der gewinn bzw. verlustbedingung und der änderung das jedem spieler am anfang 5 imps zur verfügung stehen sollen hat nix mehr gefunzt...

prob dürfte eben der restliche kram sein... da ich eben in solchen sachen noch ein bissl der noob bin weiß ich nicht genau wie ich die restlichen sachen anpassen muss tbh

axo @ editor: der editor is ne unoffizielle version die von fans erstellt wurde, aber lediglich zur erstellung des dungeon verwendet werden kann... der ganze rest muss über textdateien geregelt werden
 
Last edited:
Back
Top