Empire Earth 2 Map making - MP - .ies Scripting
- Loewenherz
- Posts: 244
- Joined: 23 Sep 2017, 17:26
- Has thanked: 7 times
- Been thanked: 21 times
Re: Empire Earth 2 Map making - MP - .ies Scripting
Its is possible to script a missile attack in a scenario?
Last edited by Loewenherz on 02 Aug 2018, 16:06, edited 1 time in total.
List of tutorials, useful threads and utilities (look here before posting): Here
Add Pics to Map: viewtopic.php?f=54&p=25184#p25184
Loews Work: viewtopic.php?f=54&t=5160
Add Pics to Map: viewtopic.php?f=54&p=25184#p25184
Loews Work: viewtopic.php?f=54&t=5160
- Dr.MonaLisa
- High Representative
- Posts: 8708
- Joined: 17 Jun 2010, 11:21
- Location: Poland
- Has thanked: 49 times
- Been thanked: 108 times
Re: Empire Earth 2 Map making - MP - .ies Scripting
It is possible only if you manage to produce ICBMs in Missile Siloses.
I remember TheGrouchDE has done it by giving resources to AI player and used custom APIs scripts. So it's not that simple.
I remember TheGrouchDE has done it by giving resources to AI player and used custom APIs scripts. So it's not that simple.
Best regards,
Dr.MonaLisa
Ministry of Game Affairs
Department of Control and Complains
Dr.MonaLisa
Ministry of Game Affairs
Department of Control and Complains
-
- Posts: 122
- Joined: 26 Jul 2012, 11:22
Re: Empire Earth 2 Map making - MP - .ies Scripting
Hey Loewenherz,
it indeed is possible to make a scripted nuke attack. The thing you have to do is, you create a .aip file in which you make the AI build the ICBM and/or MGMNukes. That looks around like this:
The best is, you set an AI_Buildfactor with 0.01 for the AI so he can build them instantly. Or you Otherwise it might happen, that he tries to attack with a silo, that is not filled. Now i don't know exactly, either this will just cause to ignore these or in worst case - cause a debug screen. Additionally you need to set script names for the Missile Silo's and the ICBM you placed for the AI. Only thing left then is to make the Missile Silo's/ICBM's attack. If you want to attack a specific building you just select them with SelectUnit("Scriptname") and then AttackWithSelection("Scriptnameoftargetunit"). Now im not sure, but theoretically if you want them to attack just a area you might can make them attack these too. I think i did that with one of my scenario's too.
it indeed is possible to make a scripted nuke attack. The thing you have to do is, you create a .aip file in which you make the AI build the ICBM and/or MGMNukes. That looks around like this:
Code: Select all
// hopefully this is temporary, but you need more resources in the late epochs,
// so you need more citizens
int maxAutobuildCitizens = 65;
// trying to build ALL units is not effective in the late epochs, there's just too many options
// this AIP will focus on tanks, with a few infantry and airplanes thrown in
// Auto-outpost/fortressing params
// we look for threatening areas this close to friendly bases (by friendly base
// grassfire dist map scale) - set to -1 to not auto-outpost
float autoOutpostDistThreshold = 4.0f;
// cannot have more than 7 air defense per territory at the moment
// LightArtillery2 is a AA tank
BuildListElement baseList[] =
{
// (name), (priority), (hints), (block?), (min desired count), (max desired count), (max build count)
//
};
BuildListElement troopList[] =
{
// (name), (priority), (hints), (block?), (min desired count), (max desired count), (max build count)
//
//EmptyPlaceForUnit(scud)29.07.2014
//EmptyPlaceForUnit(v2)29.07.2014
//EmptyPlaceForUnit(mam)29.07.2014
"ICBM", 0.1, DEFAULT, YES, 8, 8, 60,
"MGMNuke", 0.11, DEFAULT, YES, 4, 4, 60,
};
BuildListElement newCityBaseList[] =
{
// (name), (priority), (hints), (block?), (min desired count), (max desired count), (max build count)
//
};
BuildListElement newCityTroopList[] =
{
// (name), (priority), (hints), (block?), (min desired count), (max desired count), (max build count)
//
}
Greetings, the one and only evil mastermind and your friendly dictator next door, TheGrouchDE.
- Loewenherz
- Posts: 244
- Joined: 23 Sep 2017, 17:26
- Has thanked: 7 times
- Been thanked: 21 times
Re: Empire Earth 2 Map making - MP - .ies Scripting
Hi TheGrouchDE and Dr. MonaLisa. Thanks for your helpfull answers.
I will test that for me in the boston mission. It seems that the aip file is a valuable addition for specific script situations. I will look precisely in this files.
What the Missile Silo's/ICBM's attack is concerned, i wanted it first, to script that with the "AddAirMissionWayPointArea" action.
The guys from Mad Doc have create for ervery Player in EE 2 Missions a own aip file. It seems for good reason.![Question :?:](./images/smilies/icon_question.gif)
![Very Happy :D](./images/smilies/icon_e_biggrin.gif)
I will test that for me in the boston mission. It seems that the aip file is a valuable addition for specific script situations. I will look precisely in this files.
What the Missile Silo's/ICBM's attack is concerned, i wanted it first, to script that with the "AddAirMissionWayPointArea" action.
The guys from Mad Doc have create for ervery Player in EE 2 Missions a own aip file. It seems for good reason.
![Question :?:](./images/smilies/icon_question.gif)
List of tutorials, useful threads and utilities (look here before posting): Here
Add Pics to Map: viewtopic.php?f=54&p=25184#p25184
Loews Work: viewtopic.php?f=54&t=5160
Add Pics to Map: viewtopic.php?f=54&p=25184#p25184
Loews Work: viewtopic.php?f=54&t=5160
- Loewenherz
- Posts: 244
- Joined: 23 Sep 2017, 17:26
- Has thanked: 7 times
- Been thanked: 21 times
Re: Empire Earth 2 Map making - MP - .ies Scripting
Hi, here is a little gimmick from me. That function counts the time, and is in contrast to "PERIODICITY" variabele and can be changed.
Code: Select all
////////////////////////////////////////////////////////////
// INITIALIZATION
////////////////////////////////////////////////////////////
INITIALIZATION
iEveryMinute = 61;
MISSIONTIMER_TEXT = "tx_enum_eTeam_0";
bEveryMinute = false; //start this out false
bDumpSemaphore2 = false;
bDumpSemaphore3 = false;
END_INITIALIZATION
RULE ruleCountTime
if (true)
then actionCountTime
END_RULE
ACTION actionCountTime
SCRIPT WORLD
if (!bDumpSemaphore2)
{
tMissiontTimerCountTime = NewMissionTimer(MISSIONTIMER_TEXT ,Foo);
SetMissionTimer(tMissiontimerCountTime, iEveryMinute);
StartMissionTimer(tMissiontimerCountTime);
bDumpSemaphore2 = true;
bDumpSemaphore3 = true;
}
if(bDumpSemaphore3){
GetEveryMinute = GetMissionTimer(tMissiontimerCountTime);
if (IsMissionTimerExpired(tMissiontimerCountTime))
{
iEveryMinute = 60;
SetMissionTimer(tMissiontimerCountTime, iEveryMinute);
bEveryMinute = true;
}
}
END_SCRIPT
END_ACTION
List of tutorials, useful threads and utilities (look here before posting): Here
Add Pics to Map: viewtopic.php?f=54&p=25184#p25184
Loews Work: viewtopic.php?f=54&t=5160
Add Pics to Map: viewtopic.php?f=54&p=25184#p25184
Loews Work: viewtopic.php?f=54&t=5160
- Loewenherz
- Posts: 244
- Joined: 23 Sep 2017, 17:26
- Has thanked: 7 times
- Been thanked: 21 times
Multiple choice for story options in Scenarios
Another Idea. This script count the click on the chat console and triggers than a action. So there is a alternative to the not working chat trigger "HasTextBeenTyped". In this case you click with the mouse 3x on text input window and 1x mal on the "Allierte" button from the chat console and select a City center. That triggers a event. But make it not to complicated. I think, that is the best option to communicate with the player over the script system and create dynamic situations.
Example. You storm with your army a castle. Now will the commander negotiate with you. In this situation can you rob the castle, she destroyed, or conquer. For every choice can you give the player via widget selection a option.
Example. You storm with your army a castle. Now will the commander negotiate with you. In this situation can you rob the castle, she destroyed, or conquer. For every choice can you give the player via widget selection a option.
Code: Select all
RULE testwidget ONESHOT
if ( GetWidgetSelectionCount("chat_input_textfield") >= 3
&& GetWidgetSelectionCount("chat_input_radio_allies") >= 1
&& IsUnitSelectedUI("CityCenterSelectet")
)
then actiontestwidget
END_RULE
ACTION actiontestwidget
SCRIPT WORLD
FlashWidgetForTime("chat_input_glass", 5);
DoDelay( 2.0 );
STEP
DebugOutputString( "Seems to Work!" ); //strictly for testing
PrintMessage( "Seems to Work and you win!" ); //this does work, even though these strings are normally localized in a .utf8 file in the db/ directory.
DoDelay( 10.0 );
STEP
WinScenario();
END_SCRIPT
END_ACTION
Last edited by Loewenherz on 12 Jan 2019, 12:38, edited 2 times in total.
List of tutorials, useful threads and utilities (look here before posting): Here
Add Pics to Map: viewtopic.php?f=54&p=25184#p25184
Loews Work: viewtopic.php?f=54&t=5160
Add Pics to Map: viewtopic.php?f=54&p=25184#p25184
Loews Work: viewtopic.php?f=54&t=5160
- Dr.MonaLisa
- High Representative
- Posts: 8708
- Joined: 17 Jun 2010, 11:21
- Location: Poland
- Has thanked: 49 times
- Been thanked: 108 times
Re: Empire Earth 2 Map making - MP - .ies Scripting
Nice, but I would add a possible re-activation using some extra "int", then the RULE wouldn't need to be ONESHOT.
For example:
int Now = -1;
int Old = 0;
In RULE or ACTION:
Now = GetWidgetSelectionCount("chat_input_textfield");
if (Now >= (Old + 3)){
if(IsUnitSelectedUI("CityCenterSelectet")){
Old = Now;
//Do other things
}
}
Of course it wasn't tested, but you get the idea.
For example:
int Now = -1;
int Old = 0;
In RULE or ACTION:
Now = GetWidgetSelectionCount("chat_input_textfield");
if (Now >= (Old + 3)){
if(IsUnitSelectedUI("CityCenterSelectet")){
Old = Now;
//Do other things
}
}
Of course it wasn't tested, but you get the idea.
Best regards,
Dr.MonaLisa
Ministry of Game Affairs
Department of Control and Complains
Dr.MonaLisa
Ministry of Game Affairs
Department of Control and Complains
- Loewenherz
- Posts: 244
- Joined: 23 Sep 2017, 17:26
- Has thanked: 7 times
- Been thanked: 21 times
Re: Empire Earth 2 Map making - MP - .ies Scripting
I agree with you. The best it to re-activation such rules. Maybe is the widget selection trick interessting for a multiplayer scenario... ![Mr. Green :mrgreen:](./images/smilies/icon_mrgreen.gif)
![Mr. Green :mrgreen:](./images/smilies/icon_mrgreen.gif)
List of tutorials, useful threads and utilities (look here before posting): Here
Add Pics to Map: viewtopic.php?f=54&p=25184#p25184
Loews Work: viewtopic.php?f=54&t=5160
Add Pics to Map: viewtopic.php?f=54&p=25184#p25184
Loews Work: viewtopic.php?f=54&t=5160
- Loewenherz
- Posts: 244
- Joined: 23 Sep 2017, 17:26
- Has thanked: 7 times
- Been thanked: 21 times
Interparse EE2 Scripting - Switch, lock and unlock gates.
And here is another trick. So you can, switch, lock and unlock gates.
Make a trigger, that no enemy units are on this location, so that the gate are not switch to a wrong place.
Code: Select all
RULE testGates ONESHOT
if ( GetWidgetSelectionCount("chat_input_textfield") >= 1
)
then actiontestGates
END_RULE
ACTION actiontestGates
SCRIPT WORLD
FlashWidgetForTime("chat_input", 5);
DoDelay( 1.0 );
STEP
DebugOutputString( "Seems to Work!" ); //strictly for testing
PrintMessage( "Seems to Work and you win!" ); //this does work, even though these strings are normally localized in a .utf8 file in the db/ directory.
DoDelay( 1.0 );
STEP
CreateNamedUnitInArea(HUMAN_PLAYER, "Wall_Gate", "Gate1", false, "Area1");
DoDelay (2.0);
STEP
SelectUnit("Gate1");
RemoveSelection();
SetUnitPlacementAngle(65.0); //Dont work
CreateNamedUnitInArea(LARRY_PLAYER, "Wall_Gate", "Gate1", false, "Area1");
END_SCRIPT
END_ACTION
List of tutorials, useful threads and utilities (look here before posting): Here
Add Pics to Map: viewtopic.php?f=54&p=25184#p25184
Loews Work: viewtopic.php?f=54&t=5160
Add Pics to Map: viewtopic.php?f=54&p=25184#p25184
Loews Work: viewtopic.php?f=54&t=5160
Re: Empire Earth 2 Map making - MP - .ies Scripting
Hi, I have attached cinematics to scripting of my scenario and they show, but of two messages only appears one. How can I fix?? Thank you in advance...
P. S. the first cinematics appears second on the game
Code: Select all
////////////////////////////////////////////////////////////
// TOBRUK.ies
//
// Author: Michael34
// Copy Right: 17 February 2012
////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////
// All rules are for the WORLD entity.
////////////////////////////////////////////////////////////
RULES FOR WORLD
SCENARIO
name = "Tobruk"
brief = "Lead british forces through Sahara desert to take over the fortified German city of Tobruk."
//victory = "You are victorious!"
//loss = "You have lost."
hints = ""
historicalInfo = "In 1941, the German aided the Italian to keep their possessions in Lybia against the English. Marschall Erwin Rommel occupied Tobruk. A british army, under general Montgomery's command, will try to recover Tobruk."
//description = "DESCRIPTION(This is only for you to read)"
date = "23 Juny 2020"
END_SCENARIO
DEFINITIONS
END_DEFINITIONS
INITIALIZATION
PauseCalendar(false);
PauseWeatherSystem(false);
StartPlayingCinematic("Cinematic_1");
PrintSubtitle("Will you be able to lead British troops to victory?");
DoDelay(10.0);
StartPlayingCinematic("Cinematic");
PrintSubtitle("A powerful German army warded off the north African city of Tobruk...");
END_INITIALIZATION
// ////////////////////////////////////////////////////////////
// //RUNS AFTER CINEMATIC, BEFORE OBJECTIVES OPEN
// ////////////////////////////////////////////////////////////
ACTION PreScenInfoPanelHook
SCRIPT WORLD
//nothing here
END_SCRIPT
END_ACTION
////////////////////////////////////////////////////////////
// EOF
////////////////////////////////////////////////////////////
P. S. the first cinematics appears second on the game