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

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

Impressum