warrior1024
|
27.03.2010 20:28 1139 mal angesehen |
Kanonen und Nebelvolk...
...in einer Garnison! Ich musste nur 9 Zeilen schreiben, dafür sind GUI_Tooltip und GUI_Update nicht modifiziert!
Schade, das es keine UpgradeCategories.VeteranMajor gibt:(
Auf das Bild klicken, um es in Originalgröße zu sehen (205,04 KB)
Kommentare
fighty
|
11.11.2015 22:11 |
Die Code Länge... alle Achtung !
Ordensritter
|
09.04.2010 15:47 |
Vielen Dank für den Code.
andre111
|
29.03.2010 19:09 |
Mist schon wieder zu lang!
Ich habs jetzt ins Forum gepackt:
http://www.siedler-maps.de/for...ipt-Forum/Voelkerwahl-9233.htm
FG
andre111
andre111
|
29.03.2010 19:05 |
hier Teil2:
[code]function AktivVolk2()
GUIAction_BuyMilitaryUnit_Orig = GUIAction_BuyMilitaryUnit
GUIAction_BuyMilitaryUnit = function(_a)
if _a == UpgradeCategories.LeaderSword then
if volk == 1 then
GUIAction_BuyMilitaryUnit_Orig(UpgradeCategories.LeaderSword)
elseif volk == 2 then
if GetGold(1) >= 200 then
AddGold(-50)
GUIAction_BuyMilitaryUnit_Orig(UpgradeCategories.Evil_LeaderBearman)
else
Message("Nicht gen\195\188gend Taler!"
end
elseif volk == 3 then
if GetGold(1) >= 150 then
if GetIron(1) < 60 then
Message("Nicht gen\195\188gend Eisen!"
else
AddGold(-150)
AddIron(-60)
GUIAction_BuyMilitaryUnit_Orig(UpgradeCategories.LeaderBandit)
end
else
Message("Nicht gen\195\188gend Taler!"
if GetIron(1) < 60 then
Message("Nicht gen\195\188gend Eisen!"
end
end
elseif volk == 4 then
if GetGold(1) >= 200 then
AddGold(-50)
GUIAction_BuyMilitaryUnit_Orig(UpgradeCategories.BlackKnightLeaderMace1)
else
Message("Nicht gen\195\188gend Taler!"
end
end
elseif _a == UpgradeCategories.LeaderBow then
if volk == 1 then
GUIAction_BuyMilitaryUnit_Orig(UpgradeCategories.LeaderBow)
elseif volk == 2 then
if GetGold(1) >= 200 then
AddGold(-50)
GUIAction_BuyMilitaryUnit_Orig(UpgradeCategories.Evil_LeaderSkirmisher)
else
Message("Nicht gen\195\188gend Taler!"
end
elseif volk == 3 then
GUIAction_BuyMilitaryUnit_Orig(UpgradeCategories.LeaderBanditBow)
end
else
end
end
GUITooltip_BuyMilitaryUnit_Orig = GUITooltip_BuyMilitaryUnit
GUITooltip_BuyMilitaryUnit = function(_a,_b,_c,_d,_e)
if _a == UpgradeCategories.LeaderSword then
GUITooltip_BuyMilitaryUnit_Orig(_a,_b,_c,_d,_e)
XGUIEng.SetText( gvGUI_WidgetID.TooltipBottomText, "@color:170,170,170 Nahk\195\164mpfer: @cr @color:255,255,255 Bildet einen Nahk\195\164mpfer eures Volkes aus." );
if volk == 2 then
XGUIEng.SetText( gvGUI_WidgetID.TooltipBottomCosts, "Taler: "..GibTTGold( 200, 1 ).." @cr Eisen: "..GibTTEisen(30,1).." @cr Pl\195\164tze: 1" );
elseif volk == 3 then
XGUIEng.SetText( gvGUI_WidgetID.TooltipBottomCosts, "Taler: "..GibTTGold( 150, 1 ).." @cr Eisen: "..GibTTEisen(60,1).." @cr Pl\195\164tze: 1" );
elseif volk == 4 then
XGUIEng.SetText( gvGUI_WidgetID.TooltipBottomCosts, "Taler: "..GibTTGold( 200, 1 ).." @cr Eisen: "..GibTTEisen(30,1).." @cr Pl\195\164tze: 1" );
end
elseif _a == UpgradeCategories.LeaderBow then
GUITooltip_BuyMilitaryUnit_Orig(_a,_b,_c,_d,_e)
XGUIEng.SetText( gvGUI_WidgetID.TooltipBottomText, "@color:170,170,170 Fernk\195\164mpfer: @cr @color:255,255,255 Bildet einen Fernk\195\164mpfer eures Volkes aus." );
if volk == 2 then
XGUIEng.SetText( gvGUI_WidgetID.TooltipBottomCosts, "Taler: "..GibTTGold( 200, 1 ).." @cr Ho
andre111
|
29.03.2010 19:01 |
Oh, zu lang:
Nochmal:
Teil1:
function VolkWahl() ShowBoard("V\195\182lkerwahl","W\195\164hlt euer Volk: @cr Mit den Zahlentasten: @cr 1)Normal @cr 2)Nebelvolk @cr 3)Banditen @cr 4)Schwarzes Volk") GroupSelection_SelectTroopsOld = GroupSelection_SelectTroops GroupSelection_SelectTroops = function( _count ) if _count == 1 then GroupSelection_SelectTroops = GroupSelection_SelectTroopsOld HideBoard() volk = 1 Message("Ihr spielt nun mit: Normales Volk!") AktivVolk() AktivVolk2() elseif _count == 2 then GroupSelection_SelectTroops = GroupSelection_SelectTroopsOld HideBoard() volk = 2 Message("Ihr spielt nun mit: Nebelvolk!") AktivVolk() AktivVolk2() elseif _count == 3 then GroupSelection_SelectTroops = GroupSelection_SelectTroopsOld HideBoard() volk = 3 Message("Ihr spielt nun mit: Banditen!") AktivVolk() AktivVolk2() elseif _count == 4 then GroupSelection_SelectTroops = GroupSelection_SelectTroopsOld HideBoard() volk = 4 Message("Ihr spielt nun mit: Schwarzes Volk!") AktivVolk() AktivVolk2() end end end function AktivVolk() XGUIEng.ShowWidget( "Build_Stables",0 ); -- if volk == 4 then XGUIEng.ShowWidget( "Build_Archery",0 ); -- XGUIEng.ShowWidget( "Buy_LeaderBow",0 ); -- end GUIUpdate_BuildingButtons_Orig = GUIUpdate_BuildingButtons GUIUpdate_BuildingButtons = function(_a,_b) if _a == "Build_Stables" then else if volk == 4 then if _a == "Build_Archery" then else GUIUpdate_BuildingButtons_Orig(_a,_b) end end GUIUpdate_BuildingButtons_Orig(_a,_b) end end XGUIEng.ShowWidget( "Buy_LeaderSpear",0 ); -- XGUIEng.ShowWidget( "Buy_LeaderRifle",0 ); -- GUIUpdate_BuyMilitaryUnitButtons_Orig = GUIUpdate_BuyMilitaryUnitButtons GUIUpdate_BuyMilitaryUnitButtons = function(_a,_b,_c) if _a == "Buy_LeaderSpear" or _a == "Buy_LeaderRifle" then else if volk == 4 then if _a == "Buy_LeaderBow" then else GUIUpdate_BuyMilitaryUnitButtons_Orig(_a,_b,_c) end end GUIUpdate_BuyMilitaryUnitButtons_Orig(_a,_b,_c) end end XGUIEng.ShowWidget( "Research_UpgradeSword1",0 ); -- XGUIEng.ShowWidget( "Research_UpgradeSword2",0 ); -- XGUIEng.ShowWidget( "Research_UpgradeSword3",0 ); -- XGUIEng.ShowWidget( "Research_UpgradeSpear1",0 ); -- XGUIEng.ShowWidget( "Research_UpgradeSpear2",0 ); -- XGUIEng.ShowWidget( "Research_UpgradeSpear3",0 ); -- XGUIEng.ShowWidget( "Research_UpgradeBow1",0 ); -- XGUIEng.ShowWidget( "Research_UpgradeBow2",0 ); -- XGUIEng.ShowWidget( "Research_UpgradeBow3",0 ); -- XGUIEng.ShowWidget( "Research_UpgradeRifle1",0 ); -- GUIUpdate_SettlersUpgradeButtons_Orig = GUIUpdate_SettlersUpgradeButtons GUIUpdate_SettlersUpgradeButtons = function(_a,_b) end end
andre111
|
29.03.2010 18:53 |
Ich stell sie mal rein, kann ja jemand anderes überarbeiten wenn er will:
[code]function VolkWahl()
ShowBoard("V\195\182lkerwahl","W\195\164hlt euer Volk: @cr Mit den Zahlentasten: @cr 1)Normal @cr 2)Nebelvolk @cr 3)Banditen @cr 4)Schwarzes Volk"
GroupSelection_SelectTroopsOld = GroupSelection_SelectTroops
GroupSelection_SelectTroops = function( _count )
if _count == 1 then
GroupSelection_SelectTroops = GroupSelection_SelectTroopsOld
HideBoard()
volk = 1
Message("Ihr spielt nun mit: Normales Volk!"
AktivVolk()
elseif _count == 2 then
GroupSelection_SelectTroops = GroupSelection_SelectTroopsOld
HideBoard()
volk = 2
Message("Ihr spielt nun mit: Nebelvolk!"
AktivVolk()
elseif _count == 3 then
GroupSelection_SelectTroops = GroupSelection_SelectTroopsOld
HideBoard()
volk = 3
Message("Ihr spielt nun mit: Banditen!"
AktivVolk()
elseif _count == 4 then
GroupSelection_SelectTroops = GroupSelection_SelectTroopsOld
HideBoard()
volk = 4
Message("Ihr spielt nun mit: Schwarzes Volk!"
AktivVolk()
end
end
end
function AktivVolk()
XGUIEng.ShowWidget( "Build_Stables",0 ); --
if volk == 4 then
XGUIEng.ShowWidget( "Build_Archery",0 ); --
XGUIEng.ShowWidget( "Buy_LeaderBow",0 ); --
end
GUIUpdate_BuildingButtons_Orig = GUIUpdate_BuildingButtons
GUIUpdate_BuildingButtons = function(_a,_b)
if _a == "Build_Stables" then
else
if volk == 4 then
if _a == "Build_Archery" then
else
GUIUpdate_BuildingButtons_Orig(_a,_b)
end
end
GUIUpdate_BuildingButtons_Orig(_a,_b)
end
end
XGUIEng.ShowWidget( "Buy_LeaderSpear",0 ); --
XGUIEng.ShowWidget( "Buy_LeaderRifle",0 ); --
GUIUpdate_BuyMilitaryUnitButtons_Orig = GUIUpdate_BuyMilitaryUnitButtons
GUIUpdate_BuyMilitaryUnitButtons = function(_a,_b,_c)
if _a == "Buy_LeaderSpear" or _a == "Buy_LeaderRifle" then
else
if volk == 4 then
if _a == "Buy_LeaderBow" then
else
GUIUpdate_BuyMilitaryUnitButtons_Orig(_a,_b,_c)
end
end
GUIUpdate_BuyMilitaryUnitButtons_Orig(_a,_b,_c)
end
end
XGUIEng.ShowWidget( "Research_UpgradeSword1",0 ); --
XGUIEng.ShowWidget( "Research_UpgradeSword2",0 ); --
XGUIEng.ShowWidget( "Research_UpgradeSword3",0 ); --
XGUIEng.ShowWidget( "Research_UpgradeSpear1",0 ); --
XGUIEng.ShowWidget( "Research_UpgradeSpear2",0 ); --
XGUIEng.ShowWidget( "Research_UpgradeSpear3",0 ); --
XGUIEng.ShowWidget( "Research_UpgradeBow1",0 ); --
XGUIEng.ShowWidget( "Research_UpgradeBow2",0 ); --
XGUIEng.ShowWidget( "Research_UpgradeBow3",0 ); --
XGUIEng.ShowWidget( "Research_UpgradeRifle1",0 ); --
GUIUpdate_SettlersUpgradeButtons_Orig = GUIUpdate_SettlersUpgradeButtons
GUIUpdate_SettlersUpgradeButtons = function(_a,_b)
end
GUIAction_BuyMilitaryUnit_Orig = GUIAction_BuyMilitaryUnit
GUIAction_BuyMilitaryUnit = function(_a)
if _a == UpgradeCategories.LeaderSword
xx1000
|
29.03.2010 18:28 |
kannst sie ja mal reinstellen oder sie noch etwas überarbeiten
die etscheidung liegt bei dir
xx1000
andre111
|
29.03.2010 18:20 |
@xx1000:
getestet ist sie, aber man kann nur verschiedene Krieger bauen, die Gebäude sind immer die gleichen.
xx1000
|
29.03.2010 18:11 |
nartürlich ja
falls du sie noch testen willst würde ich mich gerne zu verfügung stellen
xx1000
andre111
|
29.03.2010 17:37 |
Ich habe mal versucht so eine Völkerwahl zu erstellen
Soll ich das ergebniss hier rein stellen?
FG
andre111
xx1000
|
29.03.2010 16:06 |
das war jetzt auch nur ein Beispiel
past jezt vieleicht nicht
xx1000
fritz_98
|
29.03.2010 15:50 |
Nebelvolk ist aufgrund der Megatruppen sehr stark. Wäre dann "leicht".
Dario hat keine schwachen Einheiten, s. Bastardschwertkämpfer, Kanonentürme, also "mittel", da der Aufbau etwas länger dauert.
Barbaren und schwarze Ritter hingegen sind so sch... lecht, dass man sie mit nem Trupp Kurzschwertkämpfer vergleichen könnte. Aüsserst "schwer"!
xx1000
|
28.03.2010 21:38 |
damit jeder gleich berechtigt ist könnte man ja auch machen das die einheiten viel oder venig kosten so das wen zB das nebelvolk vier einheiten hat und die babaren jetzt ein bischen mehr (weil ihre einheiten weniger kosten) trodzdem das nebelvolk gewinen könnte weil die heit dann viel stärker sind.
xx1000
warrior1024
|
28.03.2010 20:19 |
@totalwarANGEL:
Nebelvolk schon. Und das ist ganz einfach:
Zuerst wird eine Kopie des Origginals erstellt:
GUIAction_BuyMilitaryUnit_Orig = GUIAction_BuyMilitaryUnit
Dann wird das Original verändert:
Es wird überprüft, ob der übergebene Parameter(Immer UpgradeCategories.irgendwas) die UpgradeCategorie von dem Schwertkämpfer ist. Wenn ja, dann ändere den Parameter auf die UpgradeCategorie von dem Nebelvolk-Fernkämpfer ab. Dann führe das Original mit dem manipulierten Parameter aus. Fertig!
@fritz_98:
Das war mal eine Idee für eine Skripterweiterung. Z.B. könnte das Nebelvolk mehr Angriff haben, aber dafür mehr Zeit im Aufbau benötigen. Dario kann am schnellsten aufbauen und hat dafür eher schwache Einheiten. Die Barbaen sind der Mittelweg. Wenn ich nicht schon beschäftigt wäre, würde ich die Idee umsetzen.
totalwarANGEL
|
28.03.2010 19:28 |
schwarze ritter kosten übrigens gar keinen sold
sag_ich_euch_nicht
Gast |
28.03.2010 17:08 |
so ähnlich wie siedler III und IV
manche wären aber dan im nachteil
(weil das nebelvolk viel mehr truppen rekrutieren kann und die steuern niedrig sind)
aber wen das volk der schwierigkeitsgrad wäre ging das nartürlich
fritz_98
|
28.03.2010 15:39 |
Das wäre doch mal lustig ne Art (Kampf)-Map zu machen, in der man zuerst sein Volk wählen kann: Barbaren, schwarze Ritter, Nebelvolk...usw.
totalwarANGEL
|
27.03.2010 20:47 |
hey, wie haste das geschafft? und was mich viel mehr interessiert: kann man das auch den KI's beibringen?