Horray!
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 MenuQuote
fixed AIRangeOverseer (int player, unit aiUnit) {
return AIUnitFixed(player, c_ZU_Overseer, c_fieldSightDawn) + 1;
//return MaxF(MaxF(AIAbilityFixed(player, c_AB_FungalGrowth, c_fieldRange0),
// AIAbilityFixed(player, c_AB_AcidSpores, c_fieldRange0)),
// AIAbilityFixed(player, c_AB_Changeling, c_fieldRange0)) + 1;
}
Quote
fixed AIUnitFixed (int player, string entry, string field) {
return StringToFixed(AIUnitStr(player, entry, field));
}
Quote
//--------------------------------------------------------------------------------------------------
// CATALOG ACCESSOR CONSTANTS
//--------------------------------------------------------------------------------------------------
const string c_fieldAmount = "Amount";
const string c_fieldAreaRadius0 = "AreaArray[0].Radius";
const string c_fieldAreaRadius1 = "AreaArray[1].Radius";
const string c_fieldAreaRadius2 = "AreaArray[2].Radius";
const string c_fieldAreaFraction0 = "AreaArray[0].Fraction";
const string c_fieldAreaFraction1 = "AreaArray[1].Fraction";
const string c_fieldAreaFraction2 = "AreaArray[2].Fraction";
const string c_fieldAttrStructure = "AttributeBonus[Structure]";
const string c_fieldAttrArmored = "AttributeBonus[Armored]";
const string c_fieldAttrPsionic = "AttributeBonus[Psionic]";
const string c_fieldAttrLight = "AttributeBonus[Light]";
const string c_fieldDrainFactor = "DrainVitalCostFactor";
const string c_fieldEffectChange0 = "VitalArray[0].Change";
const string c_fieldEffectChange1 = "VitalArray[1].Change";
const string c_fieldEffectChange2 = "VitalArray[2].Change";
const string c_fieldEnergyCost = "Cost[0].Vital[Energy]";
const string c_fieldEnergyMax = "EnergyMax";
const string c_fieldFilters = "SearchFilters";
const string c_fieldMinRange = "MinimumRange";
const string c_fieldModification0 = "Modification.VitalRegenArray[Energy]";
const string c_fieldPeriodCount = "PeriodCount";
const string c_fieldRadius = "Radius";
const string c_fieldRadiusBonus0 = "AreaArray[0].RadiusBonus";
const string c_fieldRange0 = "Range[0]";
const string c_fieldRange = "Range";
const string c_fieldSightDawn = "Sight";
const string c_fieldTargetFilters = "TargetFilters";
const string c_fieldTargetFiltersAB = "TargetFilters[0]";
const string c_fieldTargetFilters0 = "ValidatorArray[0].value.value";
Quote
void AIWaveThinkZerg (int player, wave w, int type) {
// hd: seeing if we can pick up opposing unit activity
unitgroup found;
unitgroup enemyGroup;
unitgroup waveGroup = AIWaveGetUnits(w);
int enemyCount;
aifilter filter;
AIWaveThinkDefault(player, w, type);
for (int i = 0; i < UnitGroupCount(waveGroup); i++) {
found = AIFindUnits(player, null, UnitGetPosition(UnitGroupUnit(waveGroup, i)),
( StringToFixed( AIUnitStr(player, UnitGroupUnit(waveGroup, i), "Sight") ) ),
c_noMaxCount);
// filter = AIFilter(player);
//AISetFilterAlliance(filter, c_playerGroupEnemy);
enemyGroup = UnitGroupFilterThreat(found, [wave unit], null, 0);
enemyCount = UnitGroupCount(enemyGroup, c_unitCountAlive);
if (enemyCount <= 0) { return; }
else {
// found something, add found enemy unit/building to an array of enemy units
// set a priority system based off count of enemy units found / type of units
}
}
}
Quote
int ZealotCount;
ZealotCount = UnitGroupCount(AIFilterPathable(AIFindUnits(enemyPlayer, c_PU_Zealot,
UnitGetPosition(UnitGroupUnit(waveGroup, i)),
StringToFixed( AIUnitStr(player, UnitGroupUnit(waveGroup, i),
enemyCount),
UnitGetPosition(UnitGroupUnit(waveGroup, i))),
c_unitCountAlive)
Quote
// findResults = AIFindUnits(0, c_NU_Minerals, UnitGetPosition(aiUnit), 8, c_noMaxCount);
// if (UnitGroupCount(findResults, c_unitCountAll) == 0) {
// findResults = AIFindUnits(0, c_NU_HighYieldMinerals, UnitGetPosition(aiUnit), 8, c_noMaxCount);
// if (UnitGroupCount(findResults, c_unitCountAll) == 0) {
// OrderSetTargetPoint(ord, UnitGetPosition(aiUnit));
// AICast(aiUnit, ord, c_noMarker, c_castHold);
// return;
// }
// }
//
// OrderSetTargetUnit(ord, UnitGroupUnit(findResults, 1));
// AICast(aiUnit, ord, c_noMarker, c_castHold);
//}
Quote from: apriores on March 05, 2010, 06:03:45 PM
I think you don't need all that maps. You can do anything you want with this launcher http://darkblizz.org/Forum2/sc2-tools/starcraft-ii-launcher/ be observer of computers play, manipulate number of computers on map etc. You can read more about it on posts or just try it. I'm testing AIs a lot and this one is making my work much easier.
P.S.
Those errors with TriggerLibs are gone with the latest version 2.0.2.
Quote from: Heinermann on March 05, 2010, 06:42:21 PMQuote from: Kernel64 on March 05, 2010, 01:57:14 PMDon't ever change the colours of default form elements (edit box background for example). This is something that users can change themselves in Windows' Theme settings.
3. Change the background color of the editor. White hurts my eyes. 30% gray would be alright.
Quote from: Aeg1s on March 05, 2010, 05:04:52 PMQuote from: Kernel64 on March 05, 2010, 01:06:28 AM
Where do I insert these codes? Do I insert them at [race]0.galaxy?
Personally I put them in a seperate file that I just include in the [race]0.galaxy files but they can go directly in the race files if you want.
Quote from: kblood on March 05, 2010, 05:25:04 PM
Try:
http://mwolk.com/blog/advanced-notepa/