Schwarzen Ritter aus der Burg

» Siedler Map Source Forum » Siedler DEdK Script Forum » Schwarzen Ritter aus der Burg

Seiten: 1

Drake
#1
18.04.2010 11:20
Beiträge: 132

Schwarzen Ritter aus der Burg

hier habe ich ein code mit dem man aus einer Burg Schwarze Ritter hohlen Kann

function Ritter()
XGUIEng.ShowWidget("Levy_Duties",1)
XGUIEng.TransferMaterials("Hero4_CircularAttack","Levy_Duties")--<Hier gehen die anderen Fähigkeits Button auch siehe Unten
GUITooltip_Text1 = GUITooltip_LevyTaxes;
GUITooltip_LevyTaxes = function()
	XGUIEng.SetText( gvGUI_WidgetID.TooltipBottomText,""..BL.."Bildet Den Schwarzen Ritter aus @cr "..HG.."200 Taler @cr "..R.."100 Eisen");
end
end

function Ausbilden()
GUIAction_Salim = GUIAction_LevyTaxes
	GUIAction_LevyTaxes = function()
AddIron(-50)
AddGold(-100)
CreateMilitaryGroup(1,Entities.CU_BlackKnight_LeaderMace2,4,GetPosition("posvorBurg"))
end
end



Hero1_SendHawk
Hero1_ProtectUnits

Hero2_PlaceBomb
Hero2_BuildCannon

Hero3_BuildTrap
Hero3_Heal

Hero4_CircularAttack
Hero4_AuraOfWar

Hero5_Camouflage
Hero5_Summon

Hero6_ConvertSettlers
Hero6_Bless

Hero7_Madness
Hero7_InflictFear

Hero8_Poison, 0)
Hero8_MoraleDamage

Hero9_CallWolfs
Hero9_Berserk

Hero10_SniperAttack
Hero10_LongRangeAura

Hero11_Shuriken
Hero11_FireworksMotivate
Hero11_FireworksFear

Hero12_PoisonRange
Hero12_PoisonArrows

warrior1024
#2
18.04.2010 14:08
Beiträge: 345

Schön, dass du dich an die GUI heran tastest, aber schon mit blossem Auge kann ich sagen:
-BL ist nicht definiert und nicht deklariert
-HG ist nicht definiert und nicht deklariert
-R ist nicht definiert und nicht deklariert
Soll heißen: Es gibt einen Error, dass BL ein nil-Wert ist!
-Die Buttoncopy brauchst du ausnahmsweise nicht. Bei anderen Tooltips ist anzumerken: Immer Überprüfen, ob auch die gehackte Tooltip gesetzt werden soll(erkennt man an Parametern). Wenn nicht, dann die Copy.
-Das gleiche gilt auch für die GUIAction.
-Man könnte den Inhalt der 2. Funktion in die erste packen:
Jetzt mal die Überarbeitung:

function Ritter()
	BL = " @color:0,0,255 "
	HG = " @color:192,192,192 "
	R = " @color:255,0,0 "
	XGUIEng.ShowWidget("Levy_Duties",1)
	XGUIEng.TransferMaterials("Hero4_CircularAttack","Levy_Duties")--<Hier gehen die anderen Fähigkeits Button auch siehe Unten
	GUITooltip_LevyTaxes = function()
		XGUIEng.SetText( gvGUI_WidgetID.TooltipBottomText,""..BL.."Bildet Den Schwarzen Ritter aus @cr "..HG.."200 Taler @cr "..R.."100 Eisen");
	end
	GUIAction_LevyTaxes = function()
		AddIron(-50)
		AddGold(-100)
		CreateMilitaryGroup(1,Entities.CU_BlackKnight_LeaderMace2,4,GetPosition("posvorBurg"))
	end
end


Und die lässt sich noch verbessern:
In der Funktion Ritter könntest du mit Logic.GetPlayerEntities die Burg suchen und dann von der Pos die Pos finden, an der der LE nach der Rukrutierung steht. Das überlass ich mal dir

warrior1024

____________________
"Banken machen keine Fehlentscheidungen! Haben Euch das Eure Eltern nicht beigebracht?"
- Bankier Samael Silren, Enderal

Ordensritter
#3
19.04.2010 10:17
Beiträge: 45

das heisst, man kann in der Burg Schwarze Ritter rekrutieren??
Ordensritter

____________________
Egal was passiert, die Klingen des Ordens bleiben scharf!
Eure hoffentlich auch!
LG,Ordensritter

Drake
#4
19.04.2010 13:44
Beiträge: 132

Jop

Jop das geht dann

Ordensritter
#5
19.04.2010 15:15
Beiträge: 45

Danke

OK
Ordensritter

____________________
Egal was passiert, die Klingen des Ordens bleiben scharf!
Eure hoffentlich auch!
LG,Ordensritter

Mordred
#6
19.04.2010 19:23
Beiträge: 939

Zitat von Drake:
Jop das geht dann


Tjaa, aber mit einschränkungen. du hast keinerlei beschränkungen reingemacht, dh, du kannst kaufen ohne ende. siehe hier: (aus "Der Friedliche Söldner",ca. 3 wochen alt)

 GUIAction_ReserachTechnology_orig = GUIAction_ReserachTechnology
  function GUIAction_ReserachTechnology(_tech)
   if (_tech == Technologies.T_Tracking)then
    if (GetGold(1) > 219)then
	 AddGold(-220)
     CreateMilitaryGroup(1,Entities.CU_VeteranCaptain,0,GetPosition("VeteranCaptain_Buypos"))
	else
	 Message("Das kostet zuviel f"..Txt.ue.."r euch!")
	end
   else
    GUIAction_ReserachTechnology_orig(_tech);
   end
  end
 GUITooltip_ResearchTechnologies_orig = GUITooltip_ResearchTechnologies;
  function GUITooltip_ResearchTechnologies(_tech,_widget,_keybind)
   if (_tech == Technologies.T_Tracking)then
    XGUIEng.SetText(gvGUI_WidgetID.TooltipBottomCosts,"Taler: 220")
    XGUIEng.SetText(gvGUI_WidgetID.TooltipBottomText,"Veteran Captain anheuern. @cr Schlagkr"..Txt.ae.."ftiger Kumpel von Garek.")
   else
    GUITooltip_ResearchTechnologies_orig(_tech,_widget,_keybind);
   end
  end


so, hier ist der button "Fährtenlesen" verwendet, den hab ich nie gebraucht.

Ordensritter
#7
19.04.2010 20:31
Beiträge: 45

was meinst du mit kaufen ohne ende??
Ordensritter

____________________
Egal was passiert, die Klingen des Ordens bleiben scharf!
Eure hoffentlich auch!
LG,Ordensritter

Mordred
#8
19.04.2010 20:37
Beiträge: 939

bitte! ganz einfach: Du klickst "kaufen" an, dann nochmal. (und dann nochmal!)
Dummerweise gibt es nach ca. 200 Schwarzen Rittern evt. einen StackOverflow Error.
Siehe meinen Skript: Da sind sie nicht Kostenlos, wie jeder skripter auf den ersten blick sieht.

warrior1024
#9
19.04.2010 20:37
Beiträge: 345

Man kann das DZ-Limit überschreiten, wie bei den Serfs in "Der 13. Krieger".
So kann man ohne Probleme 2500 VeteranCaptains haben und die Map mit riesigen Gemetzlen gewinnen.

warrior1024

____________________
"Banken machen keine Fehlentscheidungen! Haben Euch das Eure Eltern nicht beigebracht?"
- Bankier Samael Silren, Enderal

Mordred
#10
19.04.2010 20:38
Beiträge: 939

Genau! Das DZ Limit ist gegen Creating nutzlos. wäre es allerdings eine GUIAction, dann nicht.

Ordensritter
#11
19.04.2010 20:40
Beiträge: 45

Aha, Ok. Entschuldigung dass ich das nicht sofort kapiert habe.
Grüsse
Ordensritter

____________________
Egal was passiert, die Klingen des Ordens bleiben scharf!
Eure hoffentlich auch!
LG,Ordensritter

Seiten: 1

SiteEngine v1.5.0 by nevermind, ©2005-2007
Design by SpiderFive (www.siedler-games.de) - English translation by juja

Impressum