• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

[General] How to access original campaign map AI?

Status
Not open for further replies.
Level 3
Joined
Jul 26, 2018
Messages
17
I opened up one of the Reign of Chaos maps " Orc 03: Cry of The Warsong" in world editor. I would like to study and potentially tweak the AI in this map. But I don't know how to access the AI script listed in the trigger editor using the AI editor.

AI script question.jpg
 
Level 3
Joined
Jul 26, 2018
Messages
17
You'll need to export it first before you can access it. Those AI can be found in a sub-folder called "Scripts" within the MPQ folder. Use an MPQ Editor to locate that file and extract it.
In 1.30+ you need CASC editor to gain access to these materials.
Okay, so I was able to extract the AI using CASC. But I can't seem to open the files in World editor. Is there something extra I have to do to the files to open them in the ai editor in world editor?
 

Attachments

  • ai script question 2.jpg
    ai script question 2.jpg
    83.4 KB · Views: 348

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,198
You can open them in Notepad. They are plain text files...
Code:
//============================================================================
//  Orc 3 -- blue player -- AI Script
//============================================================================
globals
    player user = Player(0)
endglobals
//============================================================================
//  main
//============================================================================
function main takes nothing returns nothing
    call CampaignAI(HOUSE,null)
	call SetReplacements(1,1,3)

    call SetBuildUnit( 8, PEASANT       )

	call CampaignDefenderEx( 1,1,2, FOOTMEN		)	
	call CampaignDefenderEx( 0,0,1, PRIEST		)
	call CampaignDefenderEx( 1,1,1, RIFLEMAN	)
	call CampaignDefenderEx( 1,1,1, MORTAR		)
	call CampaignDefenderEx( 0,0,1, ARCHMAGE	)
	
	call WaitForSignal()

	// *** WAVE 1 ***
	call InitAssaultGroup()
    call CampaignAttackerEx( 3,3,5, FOOTMAN		)
	call CampaignAttackerEx( 2,2,3, RIFLEMAN	)
	call CampaignAttackerEx( 1,1,1, ARCHMAGE	)
    call SuicideOnPlayer(0,user)

	call SetBuildUpgrEx( 0,0,1, UPG_MELEE		)
	call SetBuildUpgrEx( 0,0,1, UPG_ARMOR		)
	call SetBuildUpgrEx( 0,0,2, UPG_MASONRY		)
	call SetBuildUpgrEx( 1,1,1, UPG_DEFEND		)
	call SetBuildUpgrEx( 0,0,1, UPG_PRAYING		)
	call SetBuildUpgrEx( 0,0,1, UPG_SORCERY		)

	// *** WAVE 2 ***
	call InitAssaultGroup()
    call CampaignAttackerEx( 2,2,4, FOOTMAN		)
	call CampaignAttackerEx( 2,2,4, RIFLEMAN	)
    call SuicideOnPlayerEx(M9,M9,M8,user)

	call SetBuildUpgrEx( 1,1,1, UPG_LEATHER		)
	call SetBuildUpgrEx( 1,1,1, UPG_RANGED		)
	call SetBuildUpgrEx( 1,1,1, UPG_GUN_RANGE	)

	// *** WAVE 3 ***
	call InitAssaultGroup()
    call CampaignAttackerEx( 4,4,6, FOOTMAN		)
	call CampaignAttackerEx( 2,2,3, RIFLEMAN	)
	call CampaignAttackerEx( 1,1,1, MORTAR		)
	call CampaignAttackerEx( 1,1,1, ARCHMAGE	)
    call SuicideOnPlayerEx(M9,M9,M8,user)

	call SetBuildUpgrEx( 1,1,2, UPG_MELEE		)
	call SetBuildUpgrEx( 1,1,2, UPG_ARMOR		)
	call SetBuildUpgrEx( 1,1,2, UPG_PRAYING		)
	call SetBuildUpgrEx( 1,1,2, UPG_SORCERY		)

	loop
		// *** WAVE 4 ***
		call InitAssaultGroup()
		call CampaignAttackerEx( 3,3,4, FOOTMAN		)
		call CampaignAttackerEx( 3,3,2, RIFLEMAN	)
		call CampaignAttackerEx( 2,2,2, MORTAR		)
		call SuicideOnPlayerEx(M9,M9,M8,user)

		// *** WAVE 5 ***
		call InitAssaultGroup()
		call CampaignAttackerEx( 5,5,6, FOOTMAN		)
		call CampaignAttackerEx( 1,1,1, PRIEST		)
		call CampaignAttackerEx( 2,2,2, SORCERESS	)
		call CampaignAttackerEx( 1,1,1, ARCHMAGE	)
		call SuicideOnPlayerEx(M9,M9,M8,user)

	endloop
endfunction
 
Status
Not open for further replies.
Top