Page 1 of 2 1 2 LastLast
Results 1 to 10 of 19

Thread: Creating an endless fight against the Player_Good

  
  1. #1

    Talking Creating an endless fight against the Player_Good

    Hello people =)

    Im new here. Thanks to keepshowkeeper. I found this board via his website. Also the keeperfx mod an the tutorial how to setup the map editor with it. Great job guys!

    So, i know Dungeon Keeper but scripting isnt my talent.

    I made a map for an endless fight against the Player_good. A loop fight. The map and script are ready with the basics. My problem is how to create the following commands in the script:

    1. Create a party when i have 20 or more creatures with a tunneler leading to my dungeon_heart including some heros. It should start at action point 2.
    2. Create a party when i have 30 or more creatures with a tunneler leading to my dungeon_heart including some heros. It should start at action point 1.
    3. Create a party when i have 40 or more creatures with a tunneler leading to my dungeon_heart including some heros. It should start at action point 3.
    4. Create a party when i have 50 or more creatures with a tunneler leading to my dungeon_heart including some heros. It should start at action point 2.
    5. Create a party when i have 60 or more creatures with a tunneler leading to my dungeon_heart including some heros. It should start at action point 3.
    6. like this up to 100 creatures.
    7. At 125 or more creatures should come a party from action point 1, 2 and 3 leading to my dungeon heart as always. A, and the enemies have to attack my dungeon_heart and enemies as main mission (like always)
    8. After that i would like to start a loop. After every 10 minutes should come a party from action point 1,2 and 3 like in step no. 7.
    9. I loose after destroying my dungeon_heart but there should be no win option cause its an endless map

    I hope you can help me. Setting the creatures in the parties isnt my problem but building the script around it except the basic settings for the map.

    I could share the map when its complete

  2. #2
    Awakening Game Master Metal Gear Rex's Avatar
    Join Date
    Sep 2009
    Posts
    5,689

    Default Re: Creating an endless fight against the Player_Good

    Quote Originally Posted by Björn Jaborek View Post
    1. Create a party when i have 20 or more creatures with a tunneler leading to my dungeon_heart including some heros. It should start at action point 2.
    2. Create a party when i have 30 or more creatures with a tunneler leading to my dungeon_heart including some heros. It should start at action point 1.
    3. Create a party when i have 40 or more creatures with a tunneler leading to my dungeon_heart including some heros. It should start at action point 3.
    4. Create a party when i have 50 or more creatures with a tunneler leading to my dungeon_heart including some heros. It should start at action point 2.
    5. Create a party when i have 60 or more creatures with a tunneler leading to my dungeon_heart including some heros. It should start at action point 3.
    6. like this up to 100 creatures.
    7. At 125 or more creatures should come a party from action point 1, 2 and 3 leading to my dungeon heart as always. A, and the enemies have to attack my dungeon_heart and enemies as main mission (like always)
    Look here for a list of all script commands and how they're used.

    Code:
    IF(PLAYER0,TOTAL_CREATURES>=20)
    	ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,[PARTYNAME],[ACTIONPOINT],DUNGEON_HEART,0,[LEVEL],[GOLD])
    	IF(PLAYER0,TOTAL_CREATURES>=30)
    		ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,[PARTYNAME],[ACTIONPOINT],DUNGEON_HEART,0,[LEVEL],[GOLD])
    	ENDIF
    ENDIF
    And so on. You can branch the IF commands like how I did or make them separate. In this case where the IF statements are pretty much the same, it doesn't really matter.

    Also, you should note that there can be only 48 IF commands in the entire script, so try to be careful in your usage of them. You also can only have a max of 16 ADD_TUNNELLER commands, so perhaps you should utilize the ADD_PARTY_TO_LEVEL command after the initial invasions appear from each Action Point. There can only be a Max of 7 Heroes in a Hero Party, and the Tunneller counts when utilizing the ADD_TUNNELLER_PARTY command, so perhaps it would be best to have a second copy of the Hero Party, one with 6 members, and another with 7.

    Quote Originally Posted by Björn Jaborek View Post
    8. After that i would like to start a loop. After every 10 minutes should come a party from action point 1,2 and 3 like in step no. 7.
    Code:
    IF(PLAYER0,TOTAL_CREATURES>=125)
    	SET_TIMER(PLAYER0,TIMER0)
    ENDIF
    
    IF(PLAYER0,TIMER0>=1200)
    	NEXT_COMMAND_REUSABLE
    	ADD_PARTY_TO_DUNGEON(PLAYER_GOOD,[PARTYNAME],1,1)
    	NEXT_COMMAND_REUSABLE
    	ADD_PARTY_TO_DUNGEON(PLAYER_GOOD,[PARTYNAME],2,1)
    	NEXT_COMMAND_REUSABLE
    	ADD_PARTY_TO_DUNGEON(PLAYER_GOOD,[PARTYNAME],3,1)
    	NEXT_COMMAND_REUSABLE
    	SET_TIMER(PLAYER0,TIMER0)
    ENDIF
    Do you want the loop to only occur if the Player has 125 Creatures? If that's the case, then it is important to branch the Timer IF command onto the Total Creatures IF command. Otherwise, keep them separate as I have above.

    Quote Originally Posted by Björn Jaborek View Post
    9. I loose after destroying my dungeon_heart but there should be no win option cause its an endless map
    Code:
    IF(PLAYER0,DUNGEON_DESTROYED==1)
    	LOSE_GAME
    ENDIF
    That would be this, but I recommend that you don't use it. Players already lose the game once their Dungeon Heart is destroyed, so this simply wastes an IF command.
    Last edited by Metal Gear Rex; March 15th, 2012 at 14:25.
    Dungeon Keeper 2 Patch: With More Balance and Pie [Hiatus]
    Forever Hiatus. Probably. Latest Version: 3.5 w/Levels 1-11 Revised.

    The Awakening: GM Powers Activate!
    Tesonu is napping!

  3. #3
    Fly Archer's Avatar
    Join Date
    Mar 2012
    Location
    Europe
    Posts
    51

    Default Re: Creating an endless fight against the Player_Good

    Code:
    SET_FLAG(PLAYER0,FLAG0,0)
    
    CREATE_PARTY(PartyName)
        ADD_TO_PARTY(PartyName,Creature,Level,Gold,ATTACK_DUNGEON_HEART,0)
        ADD_TO_PARTY(PartyName,Creature,Level,Gold,ATTACK_DUNGEON_HEART,0)
    
    IF(PLAYER0,TOTAL_CREATURES >= 20)
    	ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,PartyName,2,DUNGEON_HEART,0,LevelTunneller,Gold)
    ENDIF
    
    IF(PLAYER0,TOTAL_CREATURES >= 30)
    	ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,PartyName,1,DUNGEON_HEART,0,LevelTunneller,Gold)
    ENDIF
    
    IF(PLAYER0,TOTAL_CREATURES >= 40)
    	ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,PartyName,3,DUNGEON_HEART,0,LevelTunneller,Gold)
    ENDIF
    
    IF(PLAYER0,TOTAL_CREATURES >= 50)
    	ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,PartyName,2,DUNGEON_HEART,0,LevelTunneller,Gold)
    ENDIF
    
    IF(PLAYER0,TOTAL_CREATURES >= 60)
    	ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,PartyName,3,DUNGEON_HEART,0,LevelTunneller,Gold)
    ENDIF
    
    IF(PLAYER0,TOTAL_CREATURES >= 70)
    	ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,PartyName,1,DUNGEON_HEART,0,LevelTunneller,Gold)
    ENDIF
    
    IF(PLAYER0,TOTAL_CREATURES >= 80)
    	ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,PartyName,3,DUNGEON_HEART,0,LevelTunneller,Gold)
    ENDIF
    
    IF(PLAYER0,TOTAL_CREATURES >= 90)
    	ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,PartyName,2,DUNGEON_HEART,0,LevelTunneller,Gold)
    ENDIF
    
    IF(PLAYER0,TOTAL_CREATURES >= 100)
    	ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,PartyName,3,DUNGEON_HEART,0,LevelTunneller,Gold)
    ENDIF
    
    IF(PLAYER0,TOTAL_CREATURES >= 125)
        ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PartyName,1,1)
        	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PartyName,2,1)
        		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PartyName,3,1)
        			SET_FLAG(PLAYER0,FLAG0,1)
    		ENDIF
    	ENDIF
    ENDIF
    
    IF(PLAYER0,FLAG0 == 1)
        SET_TIMER(PLAYER_GOOD,TIMER0)
    ENDIF
    
    IF(PLAYER_GOOD,TIMER0 >= 1200)
    	NEXT_COMMAND_REUSABLE
        		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PartyName,1,1)
    			NEXT_COMMAND_REUSABLE
        				ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PartyName,2,1)
    					NEXT_COMMAND_REUSABLE
        						ADD_PARTY_TO_LEVEL(PLAYER_GOOD,PartyName,3,1)
    							NEXT_COMMAND_REUSABLE
        								SET_TIMER(PLAYER_GOOD,TIMER0)
    							ENDIF
    						ENDIF
    					ENDIF
    				ENDIF
    			ENDIF
    		ENDIF
    	ENDIF
    ENDIF
    Tested this and works fine although you need to fill the parties. Note that 255 creatures on a map is the limit. You can adjust the timer as 1200 isn't 1200 seconds
    Last edited by Archer; March 15th, 2012 at 13:52.

  4. #4

    Default Re: Creating an endless fight against the Player_Good

    Thanks a lot!!

    Important information about the count of heros, tunnelers and if-commands. I didnt know that. In past i wondered why my BIG parties wont work *GG*

  5. #5
    Awakening Game Master Metal Gear Rex's Avatar
    Join Date
    Sep 2009
    Posts
    5,689

    Default Re: Creating an endless fight against the Player_Good

    Edited my post as I noticed I accidentally put 12000 (6000 Seconds) instead of 1200. On that note, you should probably know that the game runs at 20 Game Turns per second.

    Quote Originally Posted by Björn Jaborek View Post
    Thanks a lot!!

    Important information about the count of heros, tunnelers and if-commands. I didnt know that. In past i wondered why my BIG parties wont work *GG*
    All that information can be found on the site that I linked. You should probably look through it to not only obtain that information but also see commands that you may not have known about before.

    Quote Originally Posted by Archer View Post
    Tested this and works fine although you need to fill the parties. Note that 255 creatures on a map is the limit. You can adjust the timer as 1200 isn't 1200 seconds
    I noticed you used a Flag to set off the Timer. In this particular case, it would be better to just trigger the Timer at 125 Creatures, rather than triggering a Flag that triggers the Timer. Otherwise, it simply wastes an IF command.
    Dungeon Keeper 2 Patch: With More Balance and Pie [Hiatus]
    Forever Hiatus. Probably. Latest Version: 3.5 w/Levels 1-11 Revised.

    The Awakening: GM Powers Activate!
    Tesonu is napping!

  6. #6
    Fly Archer's Avatar
    Join Date
    Mar 2012
    Location
    Europe
    Posts
    51

    Default Re: Creating an endless fight against the Player_Good

    Quote Originally Posted by Metal Gear Rex View Post
    I noticed you used a Flag to set off the Timer. In this particular case, it would be better to just trigger the Timer at 125 Creatures, rather than triggering a Flag that triggers the Timer. Otherwise, it simply wastes an IF command.
    Better ? Were talking about 12 IF's in my code, that isn't a lot. Eighter way it works. Besides who uses all 48 IF commands ?

    Quote Originally Posted by Metal Gear Rex View Post
    you should note that there can be only 48 IF commands in the entire script
    Only ? 48 Isn't only IMO.
    Last edited by Archer; March 15th, 2012 at 16:19.

  7. #7

    Default Re: Creating an endless fight against the Player_Good

    So, for your information. This is the script now: (latest version)

    Code:
    REM ********************************************
    REM
    REM             Script for Level 202 endless
    REM
    REM ********************************************
    
    SET_GENERATE_SPEED(400)
    
    START_MONEY(PLAYER0,900000)
    
    MAX_CREATURES(PLAYER0,175)
    
    ADD_CREATURE_TO_POOL(BILE_DEMON,100)
    ADD_CREATURE_TO_POOL(HORNY,100)
    ADD_CREATURE_TO_POOL(SKELETON,100)
    ADD_CREATURE_TO_POOL(TROLL,100)
    ADD_CREATURE_TO_POOL(DRAGON,100)
    ADD_CREATURE_TO_POOL(DEMONSPAWN,100)
    ADD_CREATURE_TO_POOL(FLY,100)
    ADD_CREATURE_TO_POOL(DARK_MISTRESS,100)
    ADD_CREATURE_TO_POOL(SORCEROR,100)
    ADD_CREATURE_TO_POOL(BUG,100)
    ADD_CREATURE_TO_POOL(VAMPIRE,50)
    ADD_CREATURE_TO_POOL(SPIDER,100)
    ADD_CREATURE_TO_POOL(HELL_HOUND,100)
    ADD_CREATURE_TO_POOL(GHOST,100)
    ADD_CREATURE_TO_POOL(TENTACLE,100)
    ADD_CREATURE_TO_POOL(ORC,100)
    
    CREATURE_AVAILABLE(PLAYER0,BILE_DEMON,1,1)
    CREATURE_AVAILABLE(PLAYER0,HORNY,1,1)
    CREATURE_AVAILABLE(PLAYER0,SKELETON,1,1)
    CREATURE_AVAILABLE(PLAYER0,ORC,1,1)
    CREATURE_AVAILABLE(PLAYER0,TROLL,1,1)
    CREATURE_AVAILABLE(PLAYER0,GHOST,1,1)
    CREATURE_AVAILABLE(PLAYER0,HELL_HOUND,1,1)
    CREATURE_AVAILABLE(PLAYER0,SORCEROR,1,1)
    CREATURE_AVAILABLE(PLAYER0,SPIDER,1,1)
    CREATURE_AVAILABLE(PLAYER0,FLY,1,1)
    CREATURE_AVAILABLE(PLAYER0,BUG,1,1)
    CREATURE_AVAILABLE(PLAYER0,TENTACLE,1,1)
    CREATURE_AVAILABLE(PLAYER0,DARK_MISTRESS,1,1)
    CREATURE_AVAILABLE(PLAYER0,DEMONSPAWN,1,1)
    CREATURE_AVAILABLE(PLAYER0,DRAGON,1,1)
    CREATURE_AVAILABLE(PLAYER0,VAMPIRE,1,1)
    
    ROOM_AVAILABLE(PLAYER0,GUARD_POST,1,1)
    ROOM_AVAILABLE(PLAYER0,TREASURE,1,1)
    ROOM_AVAILABLE(PLAYER0,RESEARCH,1,1)
    ROOM_AVAILABLE(PLAYER0,WORKSHOP,1,1)
    ROOM_AVAILABLE(PLAYER0,GARDEN,1,1)
    ROOM_AVAILABLE(PLAYER0,LAIR,1,1)
    ROOM_AVAILABLE(PLAYER0,GRAVEYARD,1,1)
    ROOM_AVAILABLE(PLAYER0,PRISON,1,1)
    ROOM_AVAILABLE(PLAYER0,TORTURE,1,1)
    ROOM_AVAILABLE(PLAYER0,TRAINING,1,1)
    ROOM_AVAILABLE(PLAYER0,SCAVENGER,1,1)
    ROOM_AVAILABLE(PLAYER0,BARRACKS,1,1)
    ROOM_AVAILABLE(PLAYER0,TEMPLE,1,1)
    ROOM_AVAILABLE(PLAYER0,BRIDGE,1,0)
    
    MAGIC_AVAILABLE(PLAYER0,POWER_HAND,1,1)
    MAGIC_AVAILABLE(PLAYER0,POWER_OBEY,1,1)
    MAGIC_AVAILABLE(PLAYER0,POWER_IMP,1,1)
    MAGIC_AVAILABLE(PLAYER0,POWER_SLAP,1,1)
    MAGIC_AVAILABLE(PLAYER0,POWER_SIGHT,1,1)
    MAGIC_AVAILABLE(PLAYER0,POWER_CALL_TO_ARMS,1,0)
    MAGIC_AVAILABLE(PLAYER0,POWER_CAVE_IN,1,0)
    MAGIC_AVAILABLE(PLAYER0,POWER_HEAL_CREATURE,1,0)
    MAGIC_AVAILABLE(PLAYER0,POWER_HOLD_AUDIENCE,1,0)
    MAGIC_AVAILABLE(PLAYER0,POWER_CHICKEN,1,0)
    MAGIC_AVAILABLE(PLAYER0,POWER_SPEED,1,0)
    MAGIC_AVAILABLE(PLAYER0,POWER_LIGHTNING,1,0)
    MAGIC_AVAILABLE(PLAYER0,POWER_CONCEAL,1,0)
    MAGIC_AVAILABLE(PLAYER0,POWER_PROTECT,1,0)
    MAGIC_AVAILABLE(PLAYER0,POWER_DISEASE,1,0)
    MAGIC_AVAILABLE(PLAYER0,POWER_DESTROY_WALLS,1,0)
    MAGIC_AVAILABLE(PLAYER0,POWER_ARMAGEDDON,1,0)
    
    DOOR_AVAILABLE(PLAYER0,WOOD,1,0)
    TRAP_AVAILABLE(PLAYER0,ALARM,1,0)
    DOOR_AVAILABLE(PLAYER0,BRACED,1,0)
    TRAP_AVAILABLE(PLAYER0,POISON_GAS,1,0)
    TRAP_AVAILABLE(PLAYER0,LAVA,1,0)
    DOOR_AVAILABLE(PLAYER0,STEEL,1,0)
    TRAP_AVAILABLE(PLAYER0,BOULDER,1,0)
    DOOR_AVAILABLE(PLAYER0,MAGIC,1,0)
    TRAP_AVAILABLE(PLAYER0,LIGHTNING,1,0)
    TRAP_AVAILABLE(PLAYER0,WORD_OF_POWER,1,0)
    
    DEAD_CREATURES_RETURN_TO_POOL(1)
    
    CREATE_PARTY(ONE)
    ADD_TO_PARTY(ONE,KNIGHT,4,10000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(ONE,ARCHER,3,10000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(ONE,ARCHER,3,10000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(ONE,WIZARD,2,10000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(ONE,MONK,2,10000,ATTACK_DUNGEON_HEART,0)
    
    CREATE_PARTY(TWO)
    ADD_TO_PARTY(TWO,KNIGHT,4,10000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(TWO,ARCHER,3,10000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(TWO,WIZARD,3,10000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(TWO,WIZARD,3,10000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(TWO,FAIRY,3,10000,ATTACK_ENEMIES,0)
    
    CREATE_PARTY(THREE)
    ADD_TO_PARTY(THREE,KNIGHT,5,10000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(THREE,ARCHER,4,10000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(THREE,WIZARD,3,10000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(THREE,DWARFA,3,10000,DEFEND_PARTY,0)
    ADD_TO_PARTY(THREE,DWARFA,3,10000,DEFEND_PARTY,0)
    
    CREATE_PARTY(FOUR)
    ADD_TO_PARTY(FOUR,KNIGHT,6,10000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(FOUR,ARCHER,4,10000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(FOUR,WIZARD,5,10000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(FOUR,DWARFA,5,10000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(FOUR,ARCHER,4,10000,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(FOUR,WIZARD,4,10000,ATTACK_DUNGEON_HEART,0)
    
    CREATE_PARTY(FIVE)
    ADD_TO_PARTY(FIVE,KNIGHT,5,10000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(FIVE,BARBARIAN,4,10000,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(FIVE,BARBARIAN,4,10000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(FIVE,BARBARIAN,4,10000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(FIVE,SAMURAI,4,10000,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(FIVE,SAMURAI,4,10000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(FIVE,SAMURAI,4,10000,ATTACK_ENEMIES,0)
    
    CREATE_PARTY(SIX)
    ADD_TO_PARTY(SIX,KNIGHT,5,10000,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(SIX,WIZARD,4,10000,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(SIX,ARCHER,4,10000,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(SIX,WIZARD,4,10000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(SIX,ARCHER,4,10000,DEFEND_PARTY,0)
    ADD_TO_PARTY(SIX,MONK,4,10000,DEFEND_PARTY,0)
    ADD_TO_PARTY(SIX,FAIRY,4,10000,DEFEND_PARTY,0)
    
    CREATE_PARTY(SEVEN)
    ADD_TO_PARTY(SEVEN,KNIGHT,7,10000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(SEVEN,WIZARD,6,10000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(SEVEN,WITCH,6,10000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(SEVEN,DWARFA,6,10000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(SEVEN,BARBARIAN,5,10000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(SEVEN,GIANT,5,10000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(SEVEN,MONK,5,10000,ATTACK_ENEMIES,0)
    
    CREATE_PARTY(EIGHT)
    ADD_TO_PARTY(EIGHT,KNIGHT,8,10000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(EIGHT,WIZARD,7,10000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(EIGHT,KNIGHT,7,10000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(EIGHT,FAIRY,7,10000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(EIGHT,KNIGHT,7,10000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(EIGHT,WITCH,7,10000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(EIGHT,WITCH,7,10000,ATTACK_ENEMIES,0)
    
    CREATE_PARTY(NINE)
    ADD_TO_PARTY(NINE,FAIRY,10,10000,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(NINE,WIZARD,10,10000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(NINE,ARCHER,10,10000,DEFEND_PARTY,0)
    ADD_TO_PARTY(NINE,ARCHER,10,10000,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(NINE,MONK,10,10000,DEFEND_PARTY,0)
    ADD_TO_PARTY(NINE,FAIRY,10,10000,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(NINE,WITCH,10,10000,ATTACK_ENEMIES,0)
    
    CREATE_PARTY(FINALPARTNER)
    ADD_TO_PARTY(FINALPARTNER,KNIGHT,10,25000,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(FINALPARTNER,ARCHER,10,25000,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(FINALPARTNER,SAMURAI,10,25000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(FINALPARTNER,WIZARD,10,25000,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(FINALPARTNER,THIEF,10,25000,DEFEND_PARTY,0)
    ADD_TO_PARTY(FINALPARTNER,FAIRY,10,25000,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(FINALPARTNER,DWARFA,10,25000,DEFEND_PARTY,0)
    
    CREATE_PARTY(FINALBOSS)
    ADD_TO_PARTY(FINALBOSS,AVATAR,10,45000,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(FINALBOSS,KNIGHT,10,25000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(FINALBOSS,MONK,10,25000,DEFEND_PARTY,0)
    ADD_TO_PARTY(FINALBOSS,WITCH,10,25000,DEFEND_PARTY,0)
    ADD_TO_PARTY(FINALBOSS,BARBARIAN,10,25000,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(FINALBOSS,GIANT,10,25000,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(FINALBOSS,ARCHER,10,25000,ATTACK_ENEMIES,0)
    
    
    IF(PLAYER0,TOTAL_CREATURES >= 50)
    	ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,ONE,-2,DUNGEON_HEART,0,2,500)
    ENDIF
    
    IF(PLAYER0,TOTAL_CREATURES >= 70)
    	ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,TWO,-1,DUNGEON_HEART,0,3,800)
    ENDIF
    
    IF(PLAYER0,TOTAL_CREATURES >= 90)
    	ADD_TUNNELLER_PARTY_TO_LEVEL(PLAYER_GOOD,THREE,-3,DUNGEON_HEART,0,4,900)
    ENDIF
    
    IF(PLAYER0,TOTAL_CREATURES >= 100)
    	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,ONE,-1,1)
    		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,TWO,-2,1)
    			ADD_PARTY_TO_LEVEL(PLAYER_GOOD,THREE,-3,1)
    ENDIF
    
    IF(PLAYER0,TOTAL_CREATURES >= 115)
    	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FIVE,-1,1)
    		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SIX,-2,1)
    			ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FOUR,-3,1)
    ENDIF
    
    IF(PLAYER0,TOTAL_CREATURES >= 130)
    	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FOUR,-1,1)
    		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SEVEN,-2,1)
    			ADD_PARTY_TO_LEVEL(PLAYER_GOOD,THREE,-3,1)
    ENDIF
    
    IF(PLAYER0,TOTAL_CREATURES >= 140)
    	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FIVE,-1,1)
    		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,EIGHT,-2,1)
    			ADD_PARTY_TO_LEVEL(PLAYER_GOOD,NINE,-3,1)
    ENDIF
    
    IF(PLAYER0,TOTAL_CREATURES >= 145)
    	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SEVEN,-1,1)
    		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,EIGHT,-2,1)
    			ADD_PARTY_TO_LEVEL(PLAYER_GOOD,NINE,-3,1)
    ENDIF
    
    IF(PLAYER0,TOTAL_CREATURES >= 150)
    	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,SEVEN,-1,1)
    		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,EIGHT,-2,1)
    			ADD_PARTY_TO_LEVEL(PLAYER_GOOD,NINE,-3,1)
    ENDIF
    
    IF(PLAYER0,TOTAL_CREATURES >= 155)
        ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FINALPARTNER,-1,2)
        	ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FINALBOSS,-2,2)
        		ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FINALPARTNER,-3,2)
    ENDIF
    
    IF(PLAYER0,TOTAL_CREATURES>=162)
    	SET_TIMER(PLAYER0,TIMER0)
    ENDIF
    
    IF(PLAYER0,TIMER0 >= 8000)
    	NEXT_COMMAND_REUSABLE
        ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FINALPARTNER,-1,2)
    	NEXT_COMMAND_REUSABLE
        ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FINALBOSS,-2,2)
    	NEXT_COMMAND_REUSABLE
        ADD_PARTY_TO_LEVEL(PLAYER_GOOD,FINALPARTNER,-3,2)
    	NEXT_COMMAND_REUSABLE
    	SET_TIMER(PLAYER0,TIMER0)
    ENDIF
    Last edited by Björn Jaborek; March 16th, 2012 at 15:34.

  8. #8
    Elite Dragon Mothrayas's Avatar
    Join Date
    Nov 2009
    Location
    The Netherlands
    Posts
    1,635

    Default Re: Creating an endless fight against the Player_Good

    Quote Originally Posted by Archer View Post
    Better ? Were talking about 12 IF's in my code, that isn't a lot. Eighter way it works. Besides who uses all 48 IF commands ?

    Only ? 48 Isn't only IMO.
    For longer, more advanced scripts, 48 gets limiting real fast. Your script is quite plain and basic and used one fourth of total amount of IF statements available, only for a series of Hero generations.

    The Awakening


  9. #9
    Dragon DragonsLover's Avatar
    Join Date
    Aug 2009
    Location
    Quebec
    Posts
    1,490
    Gamer IDs

    Steam ID: dragonslover

    Default Re: Creating an endless fight against the Player_Good

    Code:
    CREATE_PARTY(TWO)
    ADD_TO_PARTY(ONE,KNIGHT,4,10000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(TWO,ARCHER,3,10000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(TWO,WIZARD,3,10000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(TWO,WIZARD,3,10000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(TWO,FAIRY,3,10000,ATTACK_ENEMIES,0)
    ADD_TO_PARTY(TWO,BARBARIAN,3,10000,ATTACK_DUNGEON_HEART,0)
    ADD_TO_PARTY(TWO,GIANT,3,10000,ATTACK_DUNGEON_HEART,0)
    Oops! Mistake above.

    And 185 creatures, that starts to become a lot. Keep going and there will have so many creatures so that the item list will be quickly filled and creatures won't deal any damage. Don't forget that you also have imps that don't count in the amount of creatures. So, if you have 20 imps, for example, you can only have 50 heroes max once the max limit has been reached. Otherwise, some heroes will take place of the missing creatures that should pop out from the portal.

    There's also missing NEXT_COMMAND_REUSABLE commands into the last part. The command won't affect all the commands after it, but will only affect the single line after. Therefore, you must reuse this command before each line. Just take a look at MGR's example above. And you absolutely don't need the flag. Instead of the extra IF, replace the SET_FLAG(PLAYER0,FLAG0,1) by SET_TIMER(PLAYER_GOOD,TIMER0) and it's gonna work the same.
    Last edited by DragonsLover; March 15th, 2012 at 20:01.
    I like dragons! They're the center of my life! I'll never forget them...



  10. #10
    Fly Archer's Avatar
    Join Date
    Mar 2012
    Location
    Europe
    Posts
    51

    Default Re: Creating an endless fight against the Player_Good

    Quote Originally Posted by Mothrayas View Post
    For longer, more advanced scripts, 48 gets limiting real fast.
    So I assume you made a map and used all 48 IF commands ? Yea, if you make a map where you need to capture all rooms and got parties for the maximum of action points/hero doors it could go fast.

    Quote Originally Posted by Mothrayas View Post
    Only for a series of Hero generations.
    This isn't for some series of hero's, this will go on for eternity .

Similar Threads

  1. Creating maps with HERO PORTALS
    By Hapuga in forum DK2 Mapmaking
    Replies: 23
    Last Post: September 14th, 2014, 12:46
  2. Creating Campaigns In KeeperFX
    By Harmadone in forum KeeperFX
    Replies: 3
    Last Post: June 16th, 2012, 00:17

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •