No! There is a way to make a slic code trigger when pressing UI componesnts and the same way i was going to use to open the city manager but unfortunetly there is no OpenCityManage() like function. So it is possible to do what you intend, Big Mc.
Here are some examples of slic codes triggered by slic:
NewDiplomod: Triggered when hitting the treaties tab in the make proposal screen
Code:
trigger 'NewTreatyDataFollowingProp' on "DipWizard.Stage2.Tabs.Treaty.TabPanel" when (1) {//secondary proposal
int_t second_type; // following proposal
message(g.player,'TreatyLength');
}
Locutus PBEM fix:Triggered when hitting the wheel diplomatic button.
Code:
Trigger 'PBEM_test' on "ControlPanelWindow.ControlPanel.ShortcutPad.DiplomacyButton" when (1) {
PBEM_opponent = 2;
player[3] = PBEM_opponent;
Message(g.player, 'PBEM_Start_M');
}
Mine PBEM fix: Triggered when hitting the wheel diplomatic button. The accept and reject proposal button
Code:
Trigger 'PBEM_CheckMessages' on "ControlPanelWindow.ControlPanel.ShortcutPad.DiplomacyButton" when (1) {
int_t sucess;
int_t i;
int_t tmpPlayer;
tmpPlayer = g.player;
Sucess = 1;
i = 0;
while(i < PBEM_HasBeenSent.#) {
if(PBEM_HasBeenSent[i] == 0) {
if(PBEM_Response[i] == 0
&& tmpPlayer == PBEM_receiver[i]) {
PBEM_TMP_Response = 0;
PBEM_CanSendProposal = 1;
PBEM_PreventLoop = 1;
ConsiderNewProposal(PBEM_Sender[i], PBEM_receiver[i], 2000, PBEM_Proposal[i],0,ID_NONE,ID_NONE,ID_NONE);
Event: NewProposal(PBEM_Sender[i], PBEM_receiver[i]);
PBEM_HasBeenSent[i] = 1;
return STOP;
}
}
i = i + 1;
}
}
trigger 'PBEM_ProposalRejected' on "DipWizard.ViewButtons.RejectButton" when (1) {
int_t ProposalType;
int_t tmpPlayer;
tmpPlayer = g.player;
ProposalType = GetLastNewProposalType(PBEM_TMP_Sender, tmpPlayer, 0);
toreDiplomacyEvent(PBEM_TMP_Sender, tmpPlayer, PBEM_TMP_Proposal, 1);
message(PBEM_TMP_Sender, 'PBEM_ProposalRejectedMSG');
}
trigger 'PBEM_ProposalAccepted' on "DipWizard.ViewButtons.AcceptButton" when (1) {
int_t ProposalType;
int_t tmpPlayer;
tmpPlayer = g.player;
ProposalType = GetLastNewProposalType(PBEM_TMP_Sender, tmpPlayer, 0);
StoreDiplomacyEvent(PBEM_TMP_Sender, tmpPlayer, PBEM_TMP_Proposal, 2);
message(PBEM_TMP_Sender, 'PBEM_ProposalRejectedMSG');
}
All this codes tested and working (at least the trigger).
So it is possible to trigger codes and messages when pressing buttons and others UI componests.
Bookmarks