ZVSE ERMS_ScriptName=Mouse Control ERMS_ScriptAuthor=SergRoj ERMS_ScriptVersion=1.1.0 ERMS_ScriptDate=25.10.2004 ERMS_ScriptERMVersion=2.70 ERMS_ScriptLanguage=English ERMS_ScriptUsedVariables=v1-v3;z1-z2 ERMS_ScriptUsedFlags=1-4 ERMS_ScriptUsedFunctions=621-623 ERMS_Used special dialogue 33 _WARNING_#1=IMPORTANT! This file is not in a plain text format. NEVER use any editor except ERM_S for making any kind of changes! _WARNING_Functions=This script will conflict with the old version (by Donald X.) of Arcane Tower script! ERMS_PoweredBy=ERM Scripter v. 2003.5.19.2212 ** this script is vary usefull for allies multiplayer game sergroj@hotbox.ru **** RECRUIT UNITS BY A VISITING HERO ****************************************** _DECLARATION_CM1 Click on a creature growth icon= !?CM1; !!CM:F?y1; !!IF:V2/1; !!VRy2:Sy1 &1; [Shift] !!IF&y2<>0:V2/0; !!VRy2&2:Sy1 &4; [Ctrl] !!IF&2/y2<>0:V2/0; !!VRy2&2:Sy1 &512; [Right button] !!IF&2/y2<>0:V2/0; !!VRy1&2:&32; [Alt] !!IF&2/y1<>0:V2/0; !!CM&2:A?y2/?y3; !!VRy1&2:S0-1; !!VRy1&2/y2>=14/y2<=61/y3>=457/y3<=491:S0; !!VRy1&2/y2>=69/y2<=116/y3>=457/y3<=491:S1; !!VRy1&2/y2>=124/y2<=171/y3>=457/y3<=491:S2; !!VRy1&2/y2>=179/y2<=226/y3>=457/y3<=491:S3; !!VRy1&2/y2>=14/y2<=61/y3>=505/y3<=539:S4; !!VRy1&2/y2>=69/y2<=116/y3>=505/y3<=539:S5; !!VRy1&2/y2>=124/y2<=171/y3>=505/y3<=539:S6; !!IF&2/y1=-1:V2/0; !!VRv1&2:Sy1 +1; !!VRv2&2:S0 -1; !!CA-1&2:T?y1; !!DO622/30/36/1&2:Py1; !!IF&2/v1>0:V2/0; !!IF&2:V1/1; !!IF&-2:V1/0; !!CM&1/v2<>-1:R0; !!CA-1&1:T?y3; !!VRv2&1:-30; !!VRy5&1/v2<=6:S0-1; !!VRy5&1/v2>6:S0; !!VRv2&1/v2>6:-7; !!UN&1:Ty3/v2/0/?y4; !!UN&1/y5=0:Ty3/v2/1/?y5; !!CA-1&1/y5>=0:M1/v2/?v1/?y6; !!CA-1&1/y5<0:M1/v2/?y6/?v1; * y4 - nonupg creature type, y5 - upg creature type, v2-creature dwelling level * y6 - number of creatures avalible to hire. !!VRz-4&1:S^Upgraded or not?^; !!VRz-4&1/y5<0:S^^; !!UN&1:N3/-6/y4/1; !!UN&1/y5>=0:N3/-5/y5/1; !!VRz-2&1/y5>=0:S^Recruit ^+z-5+^^; !!VRv3&1:S0 -1; [Get the number of nonupg creatures can be hired] !!VRv1&1:Sy6; !!VRy7&1:Sv1; !!DO623/0/5/1&1:Py4; !!VRy7&1/v1=0:Sy6; !!VRy8&1/y5>=0:Sv1; !!DO623/0/5/1&1/y5>=0:Py5; !!VRy8&1/y5>=0/v1=0:Sv3; !!VRv1&1/y5>=0:Sy6; !!FU623&1/y5>=0:Py5///////////////6; !!VRy8&1/y5>=0/v1=0:S^You can hire %Y8 ^+z-5+^ of %Y6 avalible^; !!VRz-8&1:S^You can hire %Y7 ^+z-6+^ of %Y6 avalible^; !!VRz-3&1:S^"a" or "all" to recruit all:^; !!VRz-2&1/y5<0:Sz-8; !!VRz-6&1:+^ (%Y7/%Y6)^; !!VRz-5&1:+^ (%Y8/%Y6)^; !!VRz-1&1:S^^; !!IF&1:D33/z-2/z-3/z-4/z-1/z-1/z-1/z-1/z-1/z-1/z-1/z-1/z-5/z-6/z-1/z-1 F33/z-7/z-8/z-1/z-1/1; !!IF&1:E1/33; !!IF&1:D33/z-1/z-1/z-1/z-1/z-1/z-1/z-1/z-1/z-1/z-1/z-1/z-1/z-1/z-1/z-1 F33/z-1/z-1/z-1/z-1/1; !!IF&1/v1<>1/v1<>2/v1<>5:V1/0; !!VRv1&1/v1=5:S2; !!VRy4&1/v1=1:Sy5; !!VRy5&1:S2 -v1; !!VRy7&1/y5=1:Sy8; !!VRy8&1/y5=0:Sy9; !!VRy8&1/y5=1:Sy10; * y4 - creature type, y5 - upg(1) or nonupg(0), y6 - number of creatures avalible * to hire, y7 - number of creatures player can hire, y8 - resource type. ! !IF&1:M^type %Y4 upg %Y5 aval %Y6 can %Y7 res %Y8^; !!VRy9&1:S0 -1; !!VRz2&1:S^^; !!VRy9&1/z1=z2:S0; !!VRz2&1:S^-^; !!VRy9&1/z1=z2:S0; !!VRz2&1:S^none^; !!VRy9&1/z1=z2:S0; !!VRz2&1:S^a^; !!VRy9&1/z1=z2:Sy7; !!VRz2&1:S^all^; !!VRy9&1/z1=z2:Sy7; !!VRv1&1:Vz1; !!VRy9&1/v1>0:Sv1; !!VRy9&1/y9>y7:Sy7; * y9 - number of monsters to hire. !!UN&1:N3/-1/y4/1; !!VRz-2&1:Sz-1; !!UN&1/y9=1:N3/-2/y4/0; !!UN&1/y9=-1/y7=1:N3/-2/y4/0; * z-1 - Plural name of a monster, z-2 - Name of monsters to hire or can hire. !!VRz1&1/y9=-1:S^You can't hire {"%Z1"} ^+z-1+^. You can hire only up to {%Y7} ^+z-2+^.^; !!IF&1/y9=-1:Q10/21/y4/10/z1; !!IF&1/y9<=0:V1/0; !!MA&1:Cy4/6/?y6; !!VRy6&1:*y9; !!MA&1/y8>=0:Cy4/y8/?y7; !!VRy7&1/y8>=0:*y9; * y6 - cost of gold, y7 - cost of additional resource. !!VRy1&1:Sy9 *65536 +y4; [Monster picture subtype] !!VRz1&1/y8<=0:S^Would you like to hire {%Y9} ^+z-2+^ for {%Y6} gold?^; !!IF&1/y8<0:Q1/21/y1/6/y6/2/z1; !!VRz-3&1/y8=0:S^Wood^; !!VRz-3&1/y8=1:S^Mercury^; !!VRz-3&1/y8=2:S^Ore^; !!VRz-3&1/y8=3:S^Sulfur^; !!VRz-3&1/y8=4:S^Crystal^; !!VRz-3&1/y8=5:S^Gems^; !!VRz-3&1/y8=5/y7=1:S^Gem^; * z-3 - additional resource name. !!VRz1&1/y8>=0:S^Would you like to hire {%Y9} ^+z-2+^ for {%Y6} gold and {%Y7} ^+z-3+^?^; !!IF&1/y8>=0:Q1/21/y1/6/y6/y8/y7/2/z1; * (to a visiting hero first) !!CA-1&1:H1/?y1 H0/?y2; !!IF&1:V2/0 V3/0; !!DO621/0/6/1&1/y1>=0:Py1/y4/y9/0; [visitor] !!DO621/0/6/1&1/y1>=0/-3:Py1/y4/y9/1; !!IF&1/-3/y2=-1:V2/1; [garrison] !!DO621/0/6/1&1/-3:Py2/y4/y9/0; !!DO621/0/6/1&1/-3:Py2/y4/y9/1; !!UN&1/3:R4; [Redraw] * !!IF&1/-3:V1/0 M^There is no room for this army.^; !!VRy1&1:S0 -y6; !!VRy2&1:S0 -y7; !!OW&1:R-1/6/dy1; !!OW&1/y8>=0:R-1/y8/dy2; !!VRy1&1:S0 -y9; !!CA-1&1:M1/v2/dy1/dy1; **** EASY UNITS TRANSFER ******************************************************* _DECLARATION_CM1 Ctrl+Click on an army slot in a town= !?CM1; !!CM:F?y1; !!IF:V1/1; !!VRy2:Sy1 &1; [Shift] !!IF&y2<>0:V1/0; !!VRy2&1:Sy1 &4; [Ctrl] !!IF&1/y2=0:V1/0; !!VRy2&1:Sy1 &512; [Right button] !!IF&1/y2<>0:V1/0; !!VRy1&1:&32; [Alt] !!IF&1/y1<>0:V1/0; !!CM&1:I?y1; !!IF|y1<115/y1>146:V1/0; !!IF&1/y1>121/y1<140:V1/0; !!CM&1:R0;[Prevent Selecting] !!IF&1/y1<=121:V2/0; !!IF&1/y1>=140:V2/1; !!VRy2&1/-2:Sy1 -115; !!VRy2&1/2:Sy1 -140; !!CA-1&1:H1/?y1 H0/?y5; !!IF&1/y1<0:V1/0; !!IF&1:V4/1; !!IF&1/y5<0:V4/0; !!HEy1&1/2/-4:C0/y2/?y3/?y4; [There is no heroes in the town] !!CA-1&1/-2/-4:M2/y2/?y3/?y4; !!IF&1/y3=-1/-4:V1/0; !!IF&1/-4:V3/0; !!FU621&1/-4/-3:Py1/y3/y4/1////////////y2; !!DO621/0/6/1&1/-4/-3:Py1/y3/y4/0; !!DO621/0/6/1&1/-4/-3:Py1/y3/y4/1; *!CM&1/-3/-4:R0; !!HEy1&1/2/3/-4:C0/y2/-1/0; !!CA-1&1/-2/3/-4:M2/y2/-1/0; !!CA-1&1/2/4:H1/?y1 H0/?y5; [A hero presents in the town] !!CA-1&1/-2/4:H1/?y5 H0/?y1; !!IF&1/4:V2/0; !!IF&1/y1=y5/4:V1/0; !!HEy1&1/4:C0/y2/?y3/?y4; !!IF&1/y3=-1/4:V1/0; !!IF&1/4:V3/0; !!FU621&1/4/-3:Py5/y3/y4/1////////////y2; !!DO621/0/6/1&1/4/-3:Py5/y3/y4/0; !!DO621/0/6/1&1/4/-3:Py5/y3/y4/1; *!CM&1/-3/4:R0; !!HEy1&1/3/4:C0/y2/-1/0; !!UN&1:R4; _DECLARATION_CM3 Ctrl+Click on an army slot in heroes meeting screen= !?CM3; !!CM:F?y1; !!IF:V1/1; !!VRy2:Sy1 &1; [Shift] !!IF&y2<>0:V1/0; !!VRy2&1:Sy1 &4; [Ctrl] !!IF&1/y2=0:V1/0; !!VRy2&1:Sy1 &512; [Right button] !!IF&1/y2<>0:V1/0; !!VRy1&1:&32; [Alt] !!IF&1/y1<>0:V1/0; !!CM&1:I?y1; !!VRy1&y1>=65:-52; !!IF|y1<13/y1>26:V1/0; !!IF&1/y1<=19:V2/0; !!IF&1/y1>=20:V2/1; !!VRy2&1/-2:Sy1 -13; !!VRy2&1/2:Sy1 -20; !!CM&1/-2:H?y1/?y5; !!CM&1/2:H?y5/?y1; !!IF&1:V2/0; !!IF&1/y1=y5:V1/0; !!HEy1&1:C0/y2/?y3/?y4; !!IF&1/y3=-1:V1/0; !!IF&1:V3/0; !!FU621&1/-3:Py5/y3/y4/1////////////y2; !!DO621/0/6/1&1/-3:Py5/y3/y4/0; !!DO621/0/6/1&1/-3:Py5/y3/y4/1; !!CM&1/-3:R0; !!HEy1&1/3:C0/y2/-1/0; **** RENAME HEROES AND TOWNS *************************************************** _DECLARATION_CM0 Click on the hero or town name=Under next turn button !?CM; !!CM:I=2002; !!CM&1:A?y1/?y2; !!IF|-1/y1<678/y1>787/y2<401/y2>417:V1/0; !!IF&1:V2/1; !!OW&1:A-1/?y1; !!IF&1/y1<0:V2/0; !!OW&1/-2:N-1/?y1; !!IF&y1<0:V1/0; !!CM&1:R0; !!HEy1&1/2:B0/?z1; !!CA0/y1&1/-2:N?z1; !!VRz-1&1:S^Enter a new name for the %Z1:^; !!IF&1:D33/0/z-1/0/0/0/0/0/0/0/0/0/0/0/0/0; !!IF&1:E1/33; !!VRz-1&1:S^^; !!IF&1:D33/z-1/z-1/0/0/0/0/0/0/0/0/0/0/0/0/0; !!HEy1&1/2/v1=5:B0/z1; !!CA0/y1&1/-2/v1=5:Nz1; !!UN&1:R1; **** TAKE OFF BALISTAS, AMMO CARTS AND HEALING TENTS *************************** _DECLARATION_CM2 Ctrl+Click on a balista, ammo cart or healing tent= !?CM2; [Hero Screen] !!CM:F?y1; !!IF:V1/1; !!VRy2:Sy1 &1; !!IF&y2<>0:V1/0; !!VRy2&1:Sy1 &4; !!IF&1/y2=0:V1/0; !!VRy2&1:Sy1 &512; !!IF&1/y2<>0:V1/0; !!VRy1&1:&32; !!IF&1/y1<>0:V1/0; !!CM&1:I?y1; !!HE-1&1/y1=15:A4 A3/4/1/1; [Ballista] !!HE-1&1/y1=16:A5 A3/5/1/1; [Ammo Cart] !!HE-1&1/y1=17:A6 A3/6/1/1; [First Aid Tent] !!CM&1/y1>=15/y1<=17:R0; !!UN&1/y1>=15/y1<=17:R3/-1; **** CHANGE AI "THINKING" RADIUS *********************************************** _DECLARATION_CM0 Ctrl+RightClick the "Options" button= !?CM0; !!FU:E; [isn't ready] !!CM:I=9; !!FU&-1:E; !!CM:R0; !!UN:J4/?y1; !!VRz-1:S^Set up a new AI "thinking" radius.^; !!VRz-2:S^Current radius is %Y1. WOG default is 4096. SOD default is 32000.^; !!IF:D33/z-1/z-2/0/0/0/0/0/0/0/0/0/0/0/0/0; !!IF:E1/33; !!VRz-1:S^^; !!IF:D33/z-1/z-1/0/0/0/0/0/0/0/0/0/0/0/0/0; !!VRy1:Vz1; !!UN&y1>0:J4/y1; ******************************************************************************** ** Functions ** ******************************************************************************** _DECLARATION_Function 622 [1 3 v1 v2]= Get creature dwelling number v1 in the current town to v2 !?FU622; !!VRy1:Sx16 +7; [Upg] !!IF:V1/0; !!IF:V3/1; !!IF&v1<=0:V3/0; !!CA-1&3:B3/y1; !!VRv2&3/1/v1=1:Sy1; !!VRx16&3/1/v1=1:S999; !!VRv1&3/1:-1; !!IF&3/1:V3/0; !!IF&3:V1/0; [Only to be sure] !!CA-1&3/y1=39/x1=0:B3/19; [Horde Dwellings] !!CA-1&3/y1=38/x1=1:B3/19; !!CA-1&3/y1=38/x1=2:B3/19; !!CA-1&3/y1=37/x1=3:B3/19; !!CA-1&3/y1=37/x1=4:B3/19; !!CA-1&3/y1=37/x1=5:B3/19; !!CA-1&3/y1=37/x1=6:B3/19; !!CA-1&3/y1=37/x1=7:B3/19; !!CA-1&3/y1=37/x1=8:B3/19; !!CA-1&3/y1=41/x1=1:B3/25; !!CA-1&3/y1=39/x1=3:B3/25; !!VRv2&3/1/v1=1:Sy1; !!VRx16&3/1/v1=1:S999; !!VRv1&3/1:-1; !!IF&3/1:V3/0; !!VRy1:-7; [Nonupg] !!CA-1&3:B3/y1; !!VRv2&3/1/v1=1:Sy1; !!VRx16&3/1/v1=1:S999; !!VRv1&3/1:-1; !!IF&3/1:V3/0; !!IF&3:V1/0; [Only to be sure] !!CA-1&3/y1=32/x1=0:B3/18; [Horde Dwellings] !!CA-1&3/y1=31/x1=1:B3/18; !!CA-1&3/y1=31/x1=2:B3/18; !!CA-1&3/y1=30/x1=3:B3/18; !!CA-1&3/y1=30/x1=4:B3/18; !!CA-1&3/y1=30/x1=5:B3/18; !!CA-1&3/y1=30/x1=6:B3/18; !!CA-1&3/y1=30/x1=7:B3/18; !!CA-1&3/y1=30/x1=8:B3/18; !!CA-1&3/y1=34/x1=1:B3/24; !!CA-1&3/y1=32/x1=3:B3/24; !!VRv2&3/1/v1=1:Sy1; !!VRx16&3/1/v1=1:S999; !!VRv1&3/1:-1; !!IF&3/1:V3/0; ******************************************************************************** _DECLARATION_Function 623 [v1 v3]= Get number of monsters the player can hire to v1, stores res type(if not gold) to v3 (x1 - type, x16 - resource number) !?FU623; !!MA:Cx1/x16/?y1; !!OW&y1>0:R-1/x16/?y2; !!VRv1&y1>0:Sy2 :y1; !!VRv3&y1>0/x16<>6:Sx16; !!VRx16&y1>0/x16<>6:S999; ******************************************************************************** _DECLARATION_Function 621 [3] {2}=Add x3 monsters of type x2 in a position x16 of the hero x1 if flag 2=0 or the current town !?FU621; !!HEx1&-2:C0/x16/?y1/?y2; !!CA-1&2:M2/x16/?y1/?y2; !!VRy2&y1=x2:+x3; !!VRy2&y1=-1/x4=1:Sx3; !!IF&y1=x2:V3/1; !!IF&y1=-1/x4=1:V3/1; !!HEx1&-2/3:C0/x16/x2/y2; !!CA-1&2/3:M2/x16/x2/y2; !!VRx16&3:S999; ********************************************************************************