I have been a computer guy my whole life. It's a feature. Alt + F4 will close the application that has the active focus, be it a game or a firefox browser.
Funny people
Funny people
This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.
Show posts Menu
psi = TriggerCreate("TriggerPsi");
TriggerExecute(psi, false, true);
[\CODE]
This above is in the sc2.galaxy file. I am in agreement unit AI is definitly capable 2 ways. The XML file seems to be a quite powerful AI file. Definitly Micro. Also you could check to see if somewhere in the AI something is preventing the ai using PSI. Just a thought. Also yeah, the AI isn't done. As well as functions.
Quote from: MiCrOMaN1 on March 03, 2010, 12:09:47 AM
Where do you see that? I can't for the life of me find that text...
TriggerDebugOutput(1, StringToText("One computer is an Protoss"), true);
<?xml version="1.0" encoding="utf-8"?>
<TriggerData>
<root>
<item type="Trigger" id="DA585CDF"/>
</root>
<element type="Trigger" id="DA585CDF">
<event type="FunctionCall" id="9FD28024"/>
<action type="FunctionCall" id="D8249E80"/>
<action type="FunctionCall" id="879D3981"/>
<action type="FunctionCall" id="BB0E3A48"/>
<action type="FunctionCall" id="C749188F"/>
</element>
<element type="FunctionCall" id="879D3981">
<function type="FunctionDef" library="Ntve" id="00000145"/>
</element>
<element type="FunctionCall" id="9FD28024">
<function type="FunctionDef" library="Ntve" id="00000120"/>
</element>
<element type="FunctionCall" id="BB0E3A48">
<function type="FunctionDef" library="Ntve" id="00000150"/>
</element>
<element type="FunctionCall" id="C749188F">
<function type="FunctionDef" library="Ntve" id="00000148"/>
</element>
<element type="FunctionCall" id="D8249E80">
<function type="FunctionDef" library="Ntve" id="00000143"/>
</element>
</TriggerData>
Trigger/Name/DA585CDF=Melee Initialization
Trigger/Name/6B580A10=Melee Initialization
<?xml version="1.0" encoding="us-ascii"?>
<TriggerData>
<root>
<item type="Trigger" id="6B580A10"/>
</root>
<element type="Trigger" id="6B580A10">
<event type="FunctionCall" id="55F0159A"/>
<action type="FunctionCall" id="32730DBD"/>
<action type="FunctionCall" id="8C8C05D9"/>
<action type="FunctionCall" id="414B4FFA"/>
<action type="FunctionCall" id="4E1DE037"/>
</element>
<element type="FunctionCall" id="32730DBD">
<function type="FunctionDef" library="Ntve" id="00000143"/>
</element>
<element type="FunctionCall" id="414B4FFA">
<function type="FunctionDef" library="Ntve" id="00000150"/>
</element>
<element type="FunctionCall" id="4E1DE037">
<function type="FunctionDef" library="Ntve" id="00000148"/>
</element>
<element type="FunctionCall" id="55F0159A">
<function type="FunctionDef" library="Ntve" id="00000120"/>
</element>
<element type="FunctionCall" id="8C8C05D9">
<function type="FunctionDef" library="Ntve" id="00000145"/>
</element>
</TriggerData>
//--------------------------------------------------------------------------------------------------
// Difficulty
//--------------------------------------------------------------------------------------------------
const int c_diffAdvanceWave = 0;
const int c_diffRepairDamage = 1;
const int c_diffFleeDamage = 2;
const int c_diffOptimizeGas = 3;
const int c_diffDefendWithPeons = 4;
const int c_diffNormalVision = 5;
const int c_diffLimitAPM = 6;
const int c_diffAutoLoadBunkers = 7;
const int c_diffEarlyGameRepair = 8;
const int c_diffEnableDangerMap = 9;
const int c_diffWaveAvoidDanger = 10;
const int c_diffNormalTargetPrio = 11;
const int c_diffEarlyDefenseScout = 12;
native void AISetDifficulty (int player, int index, bool state);
native bool AIGetDifficulty (int player, int index);
if (PlayerDifficulty(player) >= c_skirVeryHard) {
if (PlayerDifficulty(player) >= c_skirCheater) {
AIHarvestBonus(player, 2.0);
AISetDifficulty(player, c_diffNormalVision, false);
AISetDifficulty(player, c_diffLimitAPM, false);
}
AISetFlag(player, e_flagsRunScared, false); // TODO fix scared and re-add this
}
else {
AISetDifficulty(player, c_diffAdvanceWave, false);
AISetDifficulty(player, c_diffFleeDamage, false);
AISetDifficulty(player, c_diffWaveAvoidDanger, false);
AISetFlag(player, e_flagsRunScared, false);
}
Quote from: RaTcHeT302 on February 23, 2010, 05:02:02 PM
Nice job. Cool, there is a insane difficulty for the bots, I wonder how much INSANE it is!
const int c_skirVeryEasy = 0; // difficulty settings
const int c_skirEasy = 1;
const int c_skirMedium = 2;
const int c_skirHard = 3;
const int c_skirVeryHard = 4;
const int c_skirCheater = 5;
const int c_campBeginner = 0; // difficulty settings
const int c_campNormal = 1;
const int c_campAdvanced = 2;
const int c_campExpert = 3;
==Abil.galaxy== - All Constants - Below is the various sections and then a short description of what they pertain to)
-EClassIDCAbil (Abilities:Warpable)
-EAbilBehaviorStag (Button Status Untoggled/Toggled)
-EABuildStage (Building/Construction)
-EAbilEffectState (Spec Effects)
-EAbilHarvestStage (Resource Gathering)
-EAbilMorphStage (Appears to be about Collision Detection to enable morphing of unit))
-EAbilArbMagazinCmd (Ammo)
-EAbilAttackCmd (Execute Attack)
-EAbilAugmentCmd (Execute Augment)
-EAbilBatteryCmd (Execute Battery)
-EAbilBeaconCmd (Beacon:BaconMove, BeaconCancel)
-EAbilBehaviorCmd (Enabling/Disabling ability)
-EAbilBuildCmd (Build Status)
-EAbilBuildableCmd (Buildable?)
-EAbilEffectInstantCmd (Execute/Cancel Instant)
-EAbilEffectTargetCmd (Execute/Cancel Target Command)
-EAbilHarvestCmd (Gather,Return,Cancel Harvesting)
-EAbilInteractCmd (Designate Interaction Command)
-EAbilInventoryCmd (Interact with Inventory: Drop, Move, Take)
-EAbilLearnCmd (Learning)
-EabilMergeCmd (Merge ie: Merge Selected Units, Merge With Target Name)
-EAbilMorphCmd (Execute/Cancel Merging)
-EAbil MergeableCmd (MergeableCmdCancel)
-EAbilMoveCmd (Moving: Patrol, Hold Pos, Turn)
-EAbilPawnCmd (Pawn?)
-EAbilQueueCmd (Ability to Queue commands)
-EAbilRallyCmd (Rally Points?)
-EAbilRedirectInstantCmd (ie: RedirectInstantCmdExecute)
-EAbilRedirectTargetCmd (Redirect the Targer)
-EAbilResearchCmd (Research Status?)
-EAbilReviveCmd (Reviving)
-EAbilSpecializeCmd
-EAbilStopCmd (Stop Commands: StopCmdDanceName, StopCmdHoldFireName, StopCmdDanceName)
-EAbilTrainCmd (Training)
-EAbilTransportCmd (Loading and Unloading units from Transports)
-EAbilWarpableCmd (Cancel the warpable status of Item)
-EAbilWarpTrainCmd (Warp Training)
==AchievementTerm.galaxy== - All Constants - Below is the various sections and then a short description of what they pertain to)
-EClassIdCAchievementTerm (This has to do with some of the Achievement Terms: Combine, Quantity, Race, Effects, AbilUse, ScoreValue)
==Effect.galaxy== - All Constants - Below is the various sections and then a short description of what they pertain to)
-EClassIdCEffect (Diffferent Effects: UseCallDown, ModifyPlayer, Destroy Healer, Apply Behavior)
==Game.galaxy== - All Constants - Below is the various sections and then a short description of what they pertain to)
-EClassIDGame (GameClass: c_classIDCGameName = "CGame")
-EAllianceID (The different Alliance Options: Defeat, Trade, Vision, SeekHelp)
-EPlayerType (Different Player Types:User, Computer, Heutral, Referee, Spectator)
-ETargetFilter (Attributes of targeted Objects(although most likely allowing you to filter targetable objects, hence the Filter part: Dead, Self, Ally, Enemy,
Structure, Biological)
-EMarkerMatch (?: ID, Link, CasterPlayer, CasterUnit)
-EHeightMap (Heights: Air, Glide, Ground)
-EPlane (Planes: Ground, Air)
-EDamageKind (Damage Kinds: Spell, Melee, Ranged, Splash)
-EDeathType (The manner in which unit dies: Normal, Blast, Salvage, Fire, Eat(Eaten), Squish)
-EResourceType (The resource Types: Minerals, Vepsene, Terrazine, Custom)
-ETeamColor (Diffuse/Emissive)
-EBeacon (Beacon Types: Rally, Attack, Defend, Expand, Harass, Scout)
-EUnitTaunt (The unit Taunt Options: Cheer, Dance)
==GameData.galaxy== - All Constants - Below is the various sections and then a short description of what they pertain to)
-EGameCatalog (The Different Game Catalogs, Abil, Achievement, Error, DSP, Footprint, Game UI, Button, Validator)
==Unit.galaxy== - All Constants - Below is the various sections and then a short description of what they pertain to)
-EClasssIdCUnit (Class ID for Units: CUnit)
-EUnitFlag (Many attribute Flags for units: Movable, Hero, Undetectable, NoDeathEvent, AILifeTime)
-EUnitAttribute (Unit Attributes: Light, Biological, Psionic, Structure, Heroic)
-ECmdFlags (Command Flags: Alternate, Queued, SmartClick, Subgroup, SetAutoCastOn)
-AI/sc2.galaxy
-TriggerLibs/nativeLib_beta.galaxy (Does an include for TriggerLibs/natives, Can't find it though)
-TriggerLibs/GameData/AchievementTerm.galaxy
-TriggerLibs/natives_beta.galaxy
+TriggerLibs/GameData/Abil.galaxy
+TriggerLibs/GameData/Effect.galaxy
+TriggerLibs/GameData/Game.galaxy
+TriggerLibs/GameData/GameData.galaxy
+TriggerLibs/GameData/Unit.galaxy
+TriggerLibs/GameData/Weapon.galaxy
+TriggerLibs/AI
+TriggerLibs/RequirementsAI (The Core one is ignored for the Liberty one)
=TriggerLibs/BuildAI (The Core one is ignored for the Liberty one)
=TriggerLibs/MeleeAI
+TriggerLibs/MeleeNotHardAI
+TriggerLibs/TacticalAI
=TriggerLibs/TactProtAI
=TriggerLibs/TactTerrAI
=TriggerLibs/TactZergAI
-TriggerLibs/Computer.galaxy (Weirdly this one calls the MeleeAI file too, note sure how this works)
+TriggerLibs/MeleeAI
=TriggerLibs/MeleeNotHardAI
+TriggerLibs/Terran
=TriggerLibs/Terran0
+TriggerLibs/Protoss
=TriggerLibs/Protoss0
+TriggerLibs/Zerg
=TriggerLibs/Zerg0
//==================================================================================================
//Placeholder AI script file
//
// Since natives.galaxy in Core includes AI files in Liberty, placeholder files are necessary
// such that Core-only mods can compile properly.
//
//==================================================================================================
//--------------------------------------------------------------------------------------------------
// AI Get Default Build Flags Functions
//--------------------------------------------------------------------------------------------------
int AIGetDefaultBuildFlags (int player, string objType)
// special protoss units
if (objType == c_PB_Nexus) {
return c_makeCenter;
}
if (objType == c_PB_Pylon) {
return c_makePower;
}