Compfortfunktionen PACK
» Siedler Map Source Forum » Siedler DEdK Script Forum » Compfortfunktionen PACK
Seiten: 1
Siedlergamer
|
#1 06.02.2010 09:14 Beiträge: 23 |
Compfortfunktionen PACK
Kopiert das in euren Script dann braucht ihr kaum noch was einzutippen !:
------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------COMPFORTFUNKTIONEN------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------ function AddTribute( _tribute ) assert( type( _tribute ) == "table", "Tribut muß ein Table sein" ); assert( type( _tribute.text ) == "string", "Tribut.text muß ein String sein" ); assert( type( _tribute.cost ) == "table", "Tribut.cost muß ein Table sein" ); assert( type( _tribute.playerId ) == "number", "Tribut.playerId muß eine Nummer sein" ); assert( not _tribute.Tribute , "Tribut.Tribute darf nicht vorbelegt sein"); uniqueTributeCounter = uniqueTributeCounter or 1; _tribute.Tribute = uniqueTributeCounter; uniqueTributeCounter = uniqueTributeCounter + 1; local tResCost = {}; for k, v in pairs( _tribute.cost ) do assert( ResourceType[k] ); assert( type( v ) == "number" ); table.insert( tResCost, ResourceType[k] ); table.insert( tResCost, v ); end Logic.AddTribute( _tribute.playerId, _tribute.Tribute, 0, 0, _tribute.text, unpack( tResCost ) ); SetupTributePaid( _tribute ); return _tribute.Tribute; end function Armee(_player,_number,_pos) CreateMilitaryGroup(_player,Entities.PU_LeaderBow4,_number,GetPosition(_pos)) CreateMilitaryGroup(_player,Entities.PU_LeaderPoleArm4,_number,GetPosition(_pos)) CreateMilitaryGroup(_player,Entities.PU_LeaderSword4,_number,GetPosition(_pos)) CreateMilitaryGroup(_player,Entities.PU_LeaderHeavyCavalry2,_number,GetPosition(_pos)) CreateMilitaryGroup(_player,Entities.PU_LeaderSoldierCavalry2,_number,GetPosition(_pos)) CreateMilitaryGroup(_player,Entities.PU_LeaderRifle2,_number,GetPosition(_pos)) CreateMilitaryGroup(_player,Entities.PV_Cannon1,_number,GetPosition(_pos)) CreateMilitaryGroup(_player,Entities.PV_Cannon2,_number,GetPosition(_pos)) CreateMilitaryGroup(_player,Entities.PV_Cannon3,_number,GetPosition(_pos)) CreateMilitaryGroup(_player,Entities.PV_Cannon4,_number,GetPosition(_pos)) end function Bogen(_player,_number,_pos) CreateMilitaryGroup(_player,Entities.PU_LeaderBow4,_number,GetPosition(_pos)) end function Speer(_player,_number,_pos) CreateMilitaryGroup(_player,Entities.PU_LeaderPoleArm4,_number,GetPosition(_pos)) end function Schwert(_player,_number,_pos) CreateMilitaryGroup(_player,Entities.PU_LeaderSword4,_number,GetPosition(_pos)) end function Kavallerie(_player,_number,_pos) CreateMilitaryGroup(_player,Entities.PU_LeaderHeavyCavalry2,_number,GetPosition(_pos)) end function KavallerieBogen(_player,_number,_pos) CreateMilitaryGroup(_player,Entities.PU_LeaderSoldierCavalry2,_number,GetPosition(_pos)) end function Gewehr(_player,_number,_pos) CreateMilitaryGroup(_player,Entities.PU_LeaderRifle2,_number,GetPosition(_pos)) end function Kannone1(_player,_number,_pos) CreateMilitaryGroup(_player,Entities.PV_Cannon1,_number,GetPosition(_pos)) end function Kannone2(_player,_number,_pos) CreateMilitaryGroup(_player,Entities.PV_Cannon2,_number,GetPosition(_pos)) end function Kannone3(_player,_number,_pos) CreateMilitaryGroup(_player,Entities.PV_Cannon3,_number,GetPosition(_pos)) end function Kannone4(_player,_number,_pos) CreateMilitaryGroup(_player,Entities.PV_Cannon4,_number,GetPosition(_pos)) end function StartCountdown(_Limit, _Callback, _Show) assert(type(_Limit) == "number") assert( not _Callback or type(_Callback) == "function" ) Counter.Index = (Counter.Index or 0) + 1 if _Show and CountdownIsVisisble() then assert(false, "StartCountdown: A countdown is already visible") end Counter["counter" .. Counter.Index] = {Limit = _Limit, TickCount = 0, Callback = _Callback, Show = _Show, Finished = false} if _Show then MapLocal_StartCountDown(_Limit) end if Counter.JobId == nil then Counter.JobId = StartSimpleJob("CountdownTick") end return Counter.Index end function StopCountdown(_Id) if Counter.Index == nil then return end if _Id == nil then for i = 1, Counter.Index do if Counter.IsValid("counter" .. i) then if Counter["counter" .. i].Show then MapLocal_StopCountDown() end Counter["counter" .. i] = nil end end else if Counter.IsValid("counter" .. _Id) then if Counter["counter" .. _Id].Show then MapLocal_StopCountDown() end Counter["counter" .. _Id] = nil end end end function CountdownIsVisisble() for i = 1, Counter.Index do if Counter.IsValid("counter" .. i) and Counter["counter" .. i].Show then return true end end return false end function CountdownTick() local empty = true for i = 1, Counter.Index do if Counter.IsValid("counter" .. i) then if Counter.Tick("counter" .. i) then Counter["counter" .. i].Finished = true end if Counter["counter" .. i].Finished and not IsBriefingActive() then if Counter["counter" .. i].Show then MapLocal_StopCountDown() end -- callback function if type(Counter["counter" .. i].Callback) == "function" then Counter["counter" .. i].Callback() end Counter["counter" .. i] = nil end empty = false end end if empty then Counter.JobId = nil Counter.Index = nil return true end end
____________________
Schaut mal in mein Profil.Da gibs Links zu Siedler 5
Siedler 5 Übersicht
Kostenlose Homepage
Radio am PC?
Mfg Siedlergamer
Anarki
|
#2 06.02.2010 12:11 Beiträge: 518 |
Der Komfort will sich mir irgendwie nicht erschließen.
'kaum noch was abtippen'
Erstens Bezweifle ich, dass irgendjemand soetwas abtippt, sondern er vermutlich mit Ctrl+C und Ctrl+V Arbeitet.
Zweitens hast du eigentlich nur die sowieso standardmässige Tributfunktion und Counterfunktion kopiert.
Drittens sind die 'CreateKanonen' oder 'CreateSpeer' Funktionen kaum Platzsparender als die einfache Logic.CreateEntity() Funktionen.
Und Viertens ist die 'CreateArmee' Funktion viel zu spezifisch als dass man sie als Comfort.. oh ich seh grad, 'Compfort' bezeichnen kann.
Achja, als 'Pack' kann man diese paar Zeilen sowieso ganz und garnicht bezeichnen.
Öh, sorry, lieber Siedlergamer, aber lass gut sein... Schön dass du erste Übungen mit Lua machst, aber unter diesem Topic soetwas zu posten ist peinlich
____________________
Siedler V Tool: Selbstextrahierende Maps erstellen
Bitte testen und kommentieren
Seiten: 1