We now display the output (as it happens) when extracting data using 7z from mod menu and the game lobby. This should help users know at least that something is happening during this time and also help detect extraction problems.
Please help making MegaGlest rock-stable by testing the pre-release snapshots.
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
<ai-behavior>
<static-values>
<!-- You may use type or type-name (either will work)
Possible values for type
aibsvcMaxBuildRadius = 0 default value: 40 --> Maximum radius of cells a worker will consider for building a new unit
aibsvcMinMinWarriors = 1 default value: 7
aibsvcMinMinWarriorsExpandCpuEasy = 2 default value: 1
aibsvcMinMinWarriorsExpandCpuMega = 3 default value: 3
aibsvcMinMinWarriorsExpandCpuUltra = 4 default value: 3
aibsvcMinMinWarriorsExpandCpuNormal = 5 default value: 3
aibsvcMaxMinWarriors = 6 default value: 20
aibsvcMaxExpansions = 7 default value: 2 --> Maximum # of bases to expand to
aibsvcVillageRadius = 8 default value: 15 --> The minimum spacing between bases
aibsvcMinStaticResourceCount = 9 default value: 20 --> the minimum # of static resources the faction needs
aibsvcScoutResourceRange = 10 default value: 20 --> the maximum range a unit will look for resources
aibsvcMinWorkerAttackersHarvesting = 11 default value: 3 --> the minimum # of special 'worker attacker' units required to be harvesting before they will attack
aibsvcMinBuildSpacing = 12 default value: 1 --> the minimum cell spacing between units to build
Possible values for type-name
MaxBuildRadius
MinMinWarriors
MinMinWarriorsExpandCpuEasy
MinMinWarriorsExpandCpuMega
MinMinWarriorsExpandCpuUltra
MinMinWarriorsExpandCpuNormal
MaxMinWarriors
MaxExpansions
VillageRadius
MinStaticResourceCount
ScoutResourceRange
MinWorkerAttackersHarvesting
MinBuildSpacing
-->
<static type="9" value="80"/>
<static type="0" value="75"/>
<static type="7" value="4"/>
<static type-name="VillageRadius" value="25"/>
</static-values>
</ai-behavior>
<?xml version="1.0" standalone="yes" ?>
<?xml version="1.0" standalone="yes" ?>
<scenario>
<difficulty value="3"/>
<players>
<player control="human" faction="tech" team="1"/>
<player control="cpu-ultra" faction="norsemen" team="2"/>
<player control="cpu-ultra" faction="tech" team="9"/>
<player control="cpu-ultra" faction="persian" team="9"/>
</players>
<fog-of-war value="false"/>
<map value="8vs8islands"/>
<tileset value="desert2"/>
<tech-tree value="megapack"/>
<default-resources value="false"/>
<default-units value="false"/>
<default-victory-conditions value="false"/>
<scripts>
<global>
-- global vars
timer_event_crazy_interval = 15
timer_event_enemy_getflag_interval = 15
</global>
<startup>
--disable AI for neutral factions
disableAi(3)
disableAi(4)
--my units
myStart=getRandomGen(0,3)
createUnit('castle', 0, startLocation(myStart))
myCastle=lastCreatedUnit()
createUnit('cow', 0, startLocation(myStart))
createUnit('worker', 0, startLocation(myStart))
createUnit('swordman', 0, startLocation(myStart))
createUnit('battle_machine', 0, startLocation(myStart))
myBonsol=lastCreatedUnit()
createUnit('archer', 0, startLocation(myStart))
giveResource('gold', 0, 1000);
giveResource('wood', 0, 1300);
giveResource('stone', 0, 350);
giveResource('food', 0, 1000);
-- enemy units
enemyStart=getRandomGen(0,3)
createUnit('castle', 1, startLocation(enemyStart))
enemyCastle=lastCreatedUnit()
createUnit('cow', 1, startLocation(enemyStart))
for i=1, 5 do
createUnit('thrull', 1, startLocation(enemyStart))
end
for i=1, 5 do
createUnit('battleaxe', 1, startLocation(enemyStart))
end
createUnit('valkyrie', 1, startLocation(enemyStart))
myValkyrie=lastCreatedUnit()
createUnit('archer', 1, startLocation(enemyStart))
giveResource('gold', 1, 1000);
giveResource('wood', 1, 1000);
giveResource('stone', 1, 1000);
giveResource('food', 1, 1000);
-- neutral units
neutralStart=getRandomGen(0,3)
while neutralStart == myStart or neutralStart == enemyStart do
neutralStart=getRandomGen(0,3)
end
createUnit('castle', 2, startLocation(neutralStart))
neutralCastle1=lastCreatedUnit()
createUnit('palace', 3, startLocation(neutralStart))
neutralCastle2=lastCreatedUnit()
--objectives
objective='firstwave'
showMessage('Brief1', 'CaptureFlag')
setDisplayText('firstwave')
--print 'TEST A'
cell_event1 = registerCellTriggerEventForUnitToUnit(myBonsol,neutralCastle1)
cell_event2 = registerCellTriggerEventForUnitToUnit(myValkyrie,neutralCastle2)
timer_event2 = startEfficientTimerEvent(timer_event_enemy_getflag_interval)
--print 'TEST B'
--networkShowMessageForFaction('BriefNetworkFaction', 'CaptureFlag', 0)
--networkShowMessageForTeam('BriefNetworkTeam', 'CaptureFlag', 2)
</startup>
<unitCreated>
</unitCreated>
<unitDied>
--print 'TEST C'
if myValkyrie == lastDeadUnit() then
showMessage('WinEnemyDead', 'Won')
setPlayerAsWinner(0);
endGame()
elseif myBonsol == lastDeadUnit() then
showMessage('WinEnemy', 'Lose')
setPlayerAsWinner(1);
endGame()
end
</unitDied>
<timerTriggerEvent>
if triggeredTimerEventId() == timer_event2 then
timer_event2 = nil
showMessage('Brief4', 'CaptureFlag')
moveToUnit(myValkyrie,neutralCastle2)
elseif triggeredTimerEventId() == timer_event_crazy then
if isGameOver() == true then
timer_event_crazy = nil
else
--givePositionCommand(myValkyrie,'attack',startLocation(myStart))
attackers=getUnitsForFaction(1,'attack',getUnitCurrentField(myBonsol))
for i=1, #attackers do
giveAttackCommand(attackers[i],myBonsol)
--print('Unit id: ' .. attackers[i] .. ' is attacking unit id: ' .. myBonsol)
end
timer_event_crazy = startEfficientTimerEvent(timer_event_crazy_interval)
end
end
</timerTriggerEvent>
<cellTriggerEvent>
--print 'TEST CellEvent'
if triggeredCellEventId() == cell_event1 then
--print 'TEST CellEvent1'
showMessage('Brief2', 'CaptureFlag')
setDisplayText('secondwave')
objective='secondwave'
unregisterCellTriggerEvent(cell_event1)
unregisterCellTriggerEvent(cell_event2)
cell_event1 = nil
cell_event2 = nil
cell_event3 = registerCellTriggerEventForUnitToUnit(myBonsol,myCastle)
for i=1, 5 do
createUnit('flyingvalkyrie', 1, startLocation(enemyStart))
end
timer_event_crazy = startEfficientTimerEvent(timer_event_crazy_interval)
elseif triggeredCellEventId() == cell_event2 then
--print 'TEST CellEvent2'
showMessage('Brief3', 'CaptureFlag')
setDisplayText('secondwave2')
objective='secondwave2'
unregisterCellTriggerEvent(cell_event1)
unregisterCellTriggerEvent(cell_event2)
cell_event1 = nil
cell_event2 = nil
cell_event3 = registerCellTriggerEventForUnitToUnit(myValkyrie,enemyCastle)
moveToUnit(myValkyrie,enemyCastle)
elseif triggeredCellEventId() == cell_event3 then
--print 'TEST CellEvent3'
unregisterCellTriggerEvent(cell_event3)
cell_event3 = nil
if objective == 'secondwave' then
showMessage('WinEnemyDead', 'Won')
setPlayerAsWinner(0);
endGame()
elseif objective == 'secondwave2' then
showMessage('WinEnemy', 'Lose')
setPlayerAsWinner(1);
endGame()
end
end
</cellTriggerEvent>
<GameOver>
if cell_event1 ~= nil then
unregisterCellTriggerEvent(cell_event1)
cell_event1 = nil
end
if cell_event2 ~= nil then
unregisterCellTriggerEvent(cell_event2)
cell_event2 = nil
end
if cell_event3 ~= nil then
unregisterCellTriggerEvent(cell_event3)
cell_event3 = nil
end
if timer_event2 ~= nil then
stopTimerEvent(timer_event2)
timer_event2 = nil
end
if timer_event_crazy ~= nil then
stopTimerEvent(timer_event_crazy)
timer_event_crazy = nil
end
</GameOver>
</scripts>
</scenario>
./megaglest --load-saved-gamestring getSystemMacroValue(string key)
string getPlayerName(int factionIndex);
dofile(getSystemMacroValue("$SCENARIO_PATH") .. "startup.lua")getPlayerName(0)Page created in 0.042 seconds with 17 queries.