<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://dedk.de/wiki/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://dedk.de/wiki/feed.php">
        <title>Siedler DEdK Wiki - utilfunctions</title>
        <description></description>
        <link>https://dedk.de/wiki/</link>
        <image rdf:resource="https://dedk.de/wiki/lib/exe/fetch.php?media=wiki:dokuwiki.svg" />
       <dc:date>2026-04-19T14:17:33+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://dedk.de/wiki/doku.php?id=utilfunctions:activateaddresourcesexpansion&amp;rev=1631992606&amp;do=diff"/>
                <rdf:li rdf:resource="https://dedk.de/wiki/doku.php?id=utilfunctions:aenderungsschutz&amp;rev=1631992606&amp;do=diff"/>
                <rdf:li rdf:resource="https://dedk.de/wiki/doku.php?id=utilfunctions:antialarmovertime&amp;rev=1631992606&amp;do=diff"/>
                <rdf:li rdf:resource="https://dedk.de/wiki/doku.php?id=utilfunctions:areenemiesinarea&amp;rev=1631992606&amp;do=diff"/>
                <rdf:li rdf:resource="https://dedk.de/wiki/doku.php?id=utilfunctions:benchmark&amp;rev=1631992606&amp;do=diff"/>
                <rdf:li rdf:resource="https://dedk.de/wiki/doku.php?id=utilfunctions:buildingcheck&amp;rev=1631992606&amp;do=diff"/>
                <rdf:li rdf:resource="https://dedk.de/wiki/doku.php?id=utilfunctions:changeallentitiesplayerid&amp;rev=1631992606&amp;do=diff"/>
                <rdf:li rdf:resource="https://dedk.de/wiki/doku.php?id=utilfunctions:changeleader&amp;rev=1631992606&amp;do=diff"/>
                <rdf:li rdf:resource="https://dedk.de/wiki/doku.php?id=utilfunctions:create_superfighters&amp;rev=1631992606&amp;do=diff"/>
                <rdf:li rdf:resource="https://dedk.de/wiki/doku.php?id=utilfunctions:createwoodpile&amp;rev=1631992606&amp;do=diff"/>
                <rdf:li rdf:resource="https://dedk.de/wiki/doku.php?id=utilfunctions:destroyarmy&amp;rev=1631992604&amp;do=diff"/>
                <rdf:li rdf:resource="https://dedk.de/wiki/doku.php?id=utilfunctions:destroynpcwrapper&amp;rev=1631992604&amp;do=diff"/>
                <rdf:li rdf:resource="https://dedk.de/wiki/doku.php?id=utilfunctions:entities_aus_der_map_in_funktion&amp;rev=1631992604&amp;do=diff"/>
                <rdf:li rdf:resource="https://dedk.de/wiki/doku.php?id=utilfunctions:explore&amp;rev=1631992604&amp;do=diff"/>
                <rdf:li rdf:resource="https://dedk.de/wiki/doku.php?id=utilfunctions:fallen_selbstgebaut&amp;rev=1631992604&amp;do=diff"/>
                <rdf:li rdf:resource="https://dedk.de/wiki/doku.php?id=utilfunctions:funktionen_aufrufen&amp;rev=1631992604&amp;do=diff"/>
                <rdf:li rdf:resource="https://dedk.de/wiki/doku.php?id=utilfunctions:getallheroes&amp;rev=1631992604&amp;do=diff"/>
                <rdf:li rdf:resource="https://dedk.de/wiki/doku.php?id=utilfunctions:getallleader&amp;rev=1631992604&amp;do=diff"/>
                <rdf:li rdf:resource="https://dedk.de/wiki/doku.php?id=utilfunctions:getallplayerbuildings&amp;rev=1631992604&amp;do=diff"/>
                <rdf:li rdf:resource="https://dedk.de/wiki/doku.php?id=utilfunctions:gethealth&amp;rev=1631992604&amp;do=diff"/>
                <rdf:li rdf:resource="https://dedk.de/wiki/doku.php?id=utilfunctions:groesse_von_gebaeuden&amp;rev=1631992604&amp;do=diff"/>
                <rdf:li rdf:resource="https://dedk.de/wiki/doku.php?id=utilfunctions:heilerfunktion&amp;rev=1631992604&amp;do=diff"/>
                <rdf:li rdf:resource="https://dedk.de/wiki/doku.php?id=utilfunctions:index&amp;rev=1631992604&amp;do=diff"/>
                <rdf:li rdf:resource="https://dedk.de/wiki/doku.php?id=utilfunctions:isarmynear&amp;rev=1631992604&amp;do=diff"/>
                <rdf:li rdf:resource="https://dedk.de/wiki/doku.php?id=utilfunctions:isdeadwrapper&amp;rev=1631992604&amp;do=diff"/>
                <rdf:li rdf:resource="https://dedk.de/wiki/doku.php?id=utilfunctions:isinsectorrange&amp;rev=1631992604&amp;do=diff"/>
                <rdf:li rdf:resource="https://dedk.de/wiki/doku.php?id=utilfunctions:isnear&amp;rev=1631992600&amp;do=diff"/>
                <rdf:li rdf:resource="https://dedk.de/wiki/doku.php?id=utilfunctions:istpunkt&amp;rev=1631992600&amp;do=diff"/>
                <rdf:li rdf:resource="https://dedk.de/wiki/doku.php?id=utilfunctions:messen&amp;rev=1631992600&amp;do=diff"/>
                <rdf:li rdf:resource="https://dedk.de/wiki/doku.php?id=utilfunctions:op_cleanup&amp;rev=1631992600&amp;do=diff"/>
                <rdf:li rdf:resource="https://dedk.de/wiki/doku.php?id=utilfunctions:positionsbestimmung&amp;rev=1631992600&amp;do=diff"/>
                <rdf:li rdf:resource="https://dedk.de/wiki/doku.php?id=utilfunctions:priester_und_schamanen&amp;rev=1631992600&amp;do=diff"/>
                <rdf:li rdf:resource="https://dedk.de/wiki/doku.php?id=utilfunctions:protectedentities&amp;rev=1631992600&amp;do=diff"/>
                <rdf:li rdf:resource="https://dedk.de/wiki/doku.php?id=utilfunctions:rpg-sicht&amp;rev=1631992600&amp;do=diff"/>
                <rdf:li rdf:resource="https://dedk.de/wiki/doku.php?id=utilfunctions:schatzkiste&amp;rev=1631992600&amp;do=diff"/>
                <rdf:li rdf:resource="https://dedk.de/wiki/doku.php?id=utilfunctions:schreiben_auf_der_map&amp;rev=1631992600&amp;do=diff"/>
                <rdf:li rdf:resource="https://dedk.de/wiki/doku.php?id=utilfunctions:setup_stargate_system&amp;rev=1631992600&amp;do=diff"/>
                <rdf:li rdf:resource="https://dedk.de/wiki/doku.php?id=utilfunctions:setupai&amp;rev=1631992600&amp;do=diff"/>
                <rdf:li rdf:resource="https://dedk.de/wiki/doku.php?id=utilfunctions:shortcutscene&amp;rev=1631992598&amp;do=diff"/>
                <rdf:li rdf:resource="https://dedk.de/wiki/doku.php?id=utilfunctions:stolenresourceamount&amp;rev=1631992598&amp;do=diff"/>
                <rdf:li rdf:resource="https://dedk.de/wiki/doku.php?id=utilfunctions:subfromplayersresources&amp;rev=1631992598&amp;do=diff"/>
                <rdf:li rdf:resource="https://dedk.de/wiki/doku.php?id=utilfunctions:upgradebuilding&amp;rev=1631992598&amp;do=diff"/>
                <rdf:li rdf:resource="https://dedk.de/wiki/doku.php?id=utilfunctions:useheroability&amp;rev=1631992598&amp;do=diff"/>
                <rdf:li rdf:resource="https://dedk.de/wiki/doku.php?id=utilfunctions:vergiften&amp;rev=1631992598&amp;do=diff"/>
                <rdf:li rdf:resource="https://dedk.de/wiki/doku.php?id=utilfunctions:winkel&amp;rev=1631992598&amp;do=diff"/>
                <rdf:li rdf:resource="https://dedk.de/wiki/doku.php?id=utilfunctions:zurentity&amp;rev=1631992598&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://dedk.de/wiki/lib/exe/fetch.php?media=wiki:dokuwiki.svg">
        <title>Siedler DEdK Wiki</title>
        <link>https://dedk.de/wiki/</link>
        <url>https://dedk.de/wiki/lib/exe/fetch.php?media=wiki:dokuwiki.svg</url>
    </image>
    <item rdf:about="https://dedk.de/wiki/doku.php?id=utilfunctions:activateaddresourcesexpansion&amp;rev=1631992606&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-09-18T19:16:46+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>activateaddresourcesexpansion</title>
        <link>https://dedk.de/wiki/doku.php?id=utilfunctions:activateaddresourcesexpansion&amp;rev=1631992606&amp;do=diff</link>
        <description>&lt;http://www.siedler-games.de&gt;

Ich habe mittlerweile diese Alternative erfunden, die kürzer und unproblematischer ist und obendrein noch etwas mehr leistet (kombinierte Bezahlungen unterschiedlicher Rohstoffe können leichter realisiert werden).




Beschreibung

Wenn man dem Spieler per Skript Ressourcen abziehen will, muss man meistens erstmal einen umständlichen Check einbauen, ob denn genug Rohstoffe da sind. Mit</description>
    </item>
    <item rdf:about="https://dedk.de/wiki/doku.php?id=utilfunctions:aenderungsschutz&amp;rev=1631992606&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-09-18T19:16:46+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>aenderungsschutz</title>
        <link>https://dedk.de/wiki/doku.php?id=utilfunctions:aenderungsschutz&amp;rev=1631992606&amp;do=diff</link>
        <description>&lt;http://www.siedler-games.de&gt;

Änderungsschutz

Angeregt durch die Frage eines Multiplayermapers habe ich ein Script gemacht, in dem man das, was auf der Map steht, in Grenzen schützen kann. 


Es wird eine Funktion erzeugt, die, wenn sie im Script aufgerufen wird, prüft ob irgendwelche Dinge verändert wurden. Wenn ja, wird es zurückgesetzt</description>
    </item>
    <item rdf:about="https://dedk.de/wiki/doku.php?id=utilfunctions:antialarmovertime&amp;rev=1631992606&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-09-18T19:16:46+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>antialarmovertime</title>
        <link>https://dedk.de/wiki/doku.php?id=utilfunctions:antialarmovertime&amp;rev=1631992606&amp;do=diff</link>
        <description>&lt;http://www.siedler-games.de&gt;

Beschreibung

Der Alarm/Überstundentrick bewirkt, daß die Siedler sehr viel länger arbeiten, ohne daß ein Motivationsverlust auftritt. Dies wird erreicht, indem der Alarm oder die Überstunden regelmässig aktiviert, und Sekundenbruchteile später wieder deaktiviert wird. Spieler, die diesen Fehler im Spiel ausnutzen, können so in kürzerer Zeit deutlich mehr Resourcen abbauen als die, die es nicht tun.</description>
    </item>
    <item rdf:about="https://dedk.de/wiki/doku.php?id=utilfunctions:areenemiesinarea&amp;rev=1631992606&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-09-18T19:16:46+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>areenemiesinarea</title>
        <link>https://dedk.de/wiki/doku.php?id=utilfunctions:areenemiesinarea&amp;rev=1631992606&amp;do=diff</link>
        <description>&lt;http://www.siedler-games.de&gt;

Tenji

Bestimmt wolltet die meisten von euch schon mal abfragen, ob gerade Gegner in der Nähe sind! 

 

Wie macht man das meistens? 

Genau, man frägt ab, ob eine Entity des feindlichen Players ( nehmen wir mal an id = 2 ) in der Nähe ist:

AreEntitiesInArea( 2, 0, GetPosition(&quot;Irgendwo&quot;), 1000, 1)  -- Die 0 bedeutet alle Arten von Entities</description>
    </item>
    <item rdf:about="https://dedk.de/wiki/doku.php?id=utilfunctions:benchmark&amp;rev=1631992606&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-09-18T19:16:46+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>benchmark</title>
        <link>https://dedk.de/wiki/doku.php?id=utilfunctions:benchmark&amp;rev=1631992606&amp;do=diff</link>
        <description>&lt;http://www.siedler-games.de&gt;

Benchmark

Diese Funktion misst die Zeit, die die Ausführung einer anderen Funktion benötigt.
Hierdurch kann man den eigenen Code, sofern notwendig, effizienter hinsichtlich der Ausführungszeit optimieren. Dies könnte durch luaspezifische Optimierungen, als auch durch die Verwendung anderer (Parameter für)</description>
    </item>
    <item rdf:about="https://dedk.de/wiki/doku.php?id=utilfunctions:buildingcheck&amp;rev=1631992606&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-09-18T19:16:46+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>buildingcheck</title>
        <link>https://dedk.de/wiki/doku.php?id=utilfunctions:buildingcheck&amp;rev=1631992606&amp;do=diff</link>
        <description>&lt;http://www.siedler-games.de&gt;

BuildingCheck

Diese Funktion ermöglicht es, das Bauen von Gebäuden entweder nur in einem bestimmten Gebiet zuzulassen oder es dort zu verbieten.


Hinweis: Hierbei handelt es sich nicht um eine „100% gebrauchsfertige“ Funktion, die man einfach so in sein Script kopieren kann. Vielmehr sind entsprechende, mapbezogene Anpassungen erforderlich. Wem nach dem Lesen dieser Seite nicht 100%ig klar ist, was er anpassen muss und wie die Funktion arbeitet, der sollte sie…</description>
    </item>
    <item rdf:about="https://dedk.de/wiki/doku.php?id=utilfunctions:changeallentitiesplayerid&amp;rev=1631992606&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-09-18T19:16:46+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>changeallentitiesplayerid</title>
        <link>https://dedk.de/wiki/doku.php?id=utilfunctions:changeallentitiesplayerid&amp;rev=1631992606&amp;do=diff</link>
        <description>ChangeAllEntitiesPlayerID

In vielen Fällen wird eine Übergabe einer Stadt durch eine Schleife festgelegt.

Es geht aber auch anders: mit


Logic.ChangeAllEntitiesPlayerID(2,1)

Werden alle Entities vom Players 2 dem Player 1 übergeben.



In einigen Fällen möchte man aber nur bestimmte Entities einem Player übergeben.</description>
    </item>
    <item rdf:about="https://dedk.de/wiki/doku.php?id=utilfunctions:changeleader&amp;rev=1631992606&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-09-18T19:16:46+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>changeleader</title>
        <link>https://dedk.de/wiki/doku.php?id=utilfunctions:changeleader&amp;rev=1631992606&amp;do=diff</link>
        <description>&lt;http://www.siedler-games.de&gt;

ChangeLeader

Oftmals möchte man im Spielverlauf Truppen einem anderen Spieler übergeben. Selten sollen aber dabei einfach alle Truppen des Spielers übergeben werden, sondern nur die, die sich in einem bestimmten Gebiet befinden, bzw. nur spezielle Truppenarten. Genau für diesen Verwendungszweck ist die Funktion gedacht.</description>
    </item>
    <item rdf:about="https://dedk.de/wiki/doku.php?id=utilfunctions:create_superfighters&amp;rev=1631992606&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-09-18T19:16:46+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>create_superfighters</title>
        <link>https://dedk.de/wiki/doku.php?id=utilfunctions:create_superfighters&amp;rev=1631992606&amp;do=diff</link>
        <description>&lt;http://www.siedler-games.de&gt;

 

Tenji

Da wir uns ja keine eigenen Helden editieren können, habe ich mir da etwas Abhilfe geschafft! 

 

 


Create Superfighter - Version 2.00

Diese Version wurde komplett neu geschrieben und ist viel umfangreicher als die erste. Der Code allerdings auch, der bei ca. 86kB liegt. Das komplette Script mit den Zusatzfunktionen und Parameterbeschreibung findet ihr als Lua-Datei</description>
    </item>
    <item rdf:about="https://dedk.de/wiki/doku.php?id=utilfunctions:createwoodpile&amp;rev=1631992606&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-09-18T19:16:46+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>createwoodpile</title>
        <link>https://dedk.de/wiki/doku.php?id=utilfunctions:createwoodpile&amp;rev=1631992606&amp;do=diff</link>
        <description>&lt;http://www.siedler-games.de&gt;

Beschreibung

Ich habe als Naturliebhaber immer einen inneren Konflikt, wenn ich zur Holzgewinnung ganze Wälder roden muss. Da muss eine eine Alternative her, dachte ich mir, und hier ist sie nun! :-)



Mit der Funktion...

CreateWoodPile( _posEntity, _resources )</description>
    </item>
    <item rdf:about="https://dedk.de/wiki/doku.php?id=utilfunctions:destroyarmy&amp;rev=1631992604&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-09-18T19:16:44+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>destroyarmy</title>
        <link>https://dedk.de/wiki/doku.php?id=utilfunctions:destroyarmy&amp;rev=1631992604&amp;do=diff</link>
        <description>&lt;http://www.siedler-games.de&gt;

DestroyArmy

Manchmal möchte man eine Armee einfach per Script von der Map verschwinden lassen, z.B. eine begleitende Armee, die eine Karawane eskortiert hat und wenn die Karawane ihr Ziel erreicht hat, nicht mehr benötigt wird.

Die Funktion benötigt beim Aufruf 2 Parameter:</description>
    </item>
    <item rdf:about="https://dedk.de/wiki/doku.php?id=utilfunctions:destroynpcwrapper&amp;rev=1631992604&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-09-18T19:16:44+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>destroynpcwrapper</title>
        <link>https://dedk.de/wiki/doku.php?id=utilfunctions:destroynpcwrapper&amp;rev=1631992604&amp;do=diff</link>
        <description>&lt;http://www.siedler-games.de&gt;

Tenji





Einen Npc anhand des Namens der Entity löschen

Diese Funktion bietet über die normale DestroyNPC-Funktion die Möglichkeit, einen Npc per Namen der Npc-Entity zu löschen. 

Dadurch muss man sich nicht jeden Npc-Table in einer globalen Variable merken, um ihn und das dazugehörige Briefing zu löschen.</description>
    </item>
    <item rdf:about="https://dedk.de/wiki/doku.php?id=utilfunctions:entities_aus_der_map_in_funktion&amp;rev=1631992604&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-09-18T19:16:44+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>entities_aus_der_map_in_funktion</title>
        <link>https://dedk.de/wiki/doku.php?id=utilfunctions:entities_aus_der_map_in_funktion&amp;rev=1631992604&amp;do=diff</link>
        <description>&lt;http://www.siedler-games.de&gt;

Entities aus der Map holen

[Old McDonald] hat uns ja das wunderbare Programm EntityOut.Exe geschrieben, mit dem man alle Entities aus der Map auslesen kann. 


Nun habe ich flott dazu ein Programm geschrieben, mit dem man aus diesen Angaben einen Bereich (Rechteck) auswählen kann.</description>
    </item>
    <item rdf:about="https://dedk.de/wiki/doku.php?id=utilfunctions:explore&amp;rev=1631992604&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-09-18T19:16:44+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>explore</title>
        <link>https://dedk.de/wiki/doku.php?id=utilfunctions:explore&amp;rev=1631992604&amp;do=diff</link>
        <description>&lt;http://www.siedler-games.de&gt;

-- _Name ist ein frei wählbarer, eindeutiger Name, eine Art ID
-- _Where ist der Name oder die Id einer aufzudeckenden Entity, oder aber auch ein Positionstable

-- _Range die Sichtweite in Zentimetern
Explore.Show(_Name, _Where, _Range)

-- Damit wird die Karte wieder zugedeckt, _Name ist der Name von oben eben
Explore.Hide(_Name)</description>
    </item>
    <item rdf:about="https://dedk.de/wiki/doku.php?id=utilfunctions:fallen_selbstgebaut&amp;rev=1631992604&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-09-18T19:16:44+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>fallen_selbstgebaut</title>
        <link>https://dedk.de/wiki/doku.php?id=utilfunctions:fallen_selbstgebaut&amp;rev=1631992604&amp;do=diff</link>
        <description>&lt;http://www.siedler-games.de&gt;



Noigi &amp; Tenji




Einleitung

Wer sich schon einmal an der Legenden-Kampagne „Kampf um die Smaragdebene“ versucht hat, wird sich wohl schmerzhaft an die Fallen erinnern können, die einem dort das Leben schwer machen. Und Jeder sollte eigentlich die Tretminen kennen, die der Held Salim aufstellen kann.</description>
    </item>
    <item rdf:about="https://dedk.de/wiki/doku.php?id=utilfunctions:funktionen_aufrufen&amp;rev=1631992604&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-09-18T19:16:44+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>funktionen_aufrufen</title>
        <link>https://dedk.de/wiki/doku.php?id=utilfunctions:funktionen_aufrufen&amp;rev=1631992604&amp;do=diff</link>
        <description>Funktionen aufrufen

variabler Funktionsaufruf mit xpcall

Ich hatte folgende Problemstellung:
Ich will mehrere Funktionen in einem Table speichern und diese dann per table.getn(funktionstable) aufrufen.

Lösung: Per xpcall aufrufen.
Lösungsproblemstellung:</description>
    </item>
    <item rdf:about="https://dedk.de/wiki/doku.php?id=utilfunctions:getallheroes&amp;rev=1631992604&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-09-18T19:16:44+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>getallheroes</title>
        <link>https://dedk.de/wiki/doku.php?id=utilfunctions:getallheroes&amp;rev=1631992604&amp;do=diff</link>
        <description>&lt;http://www.siedler-games.de&gt;

GetAllHeroes

Diese Funktion benennt automatisch alle (zum Zeitpunkt des Aufrufs) auf der (Singleplayer) Map vorhandenen Helden von Player 1, und erzeugt zu jedem Helden eine globale Tabelle (Table), die jeweils folgende Werte beinhaltet:

	*  EntityId</description>
    </item>
    <item rdf:about="https://dedk.de/wiki/doku.php?id=utilfunctions:getallleader&amp;rev=1631992604&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-09-18T19:16:44+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>getallleader</title>
        <link>https://dedk.de/wiki/doku.php?id=utilfunctions:getallleader&amp;rev=1631992604&amp;do=diff</link>
        <description>&lt;http://www.siedler-games.de&gt;

GetAllLeader

Diese Funktion gibt zwei Table zurück. Das erste Table enthält (falls welche vorhanden sind) alle Leader-Ids eines Players (inkl. Kanonen!). Das zweite Table beinhaltet (falls vorhanden) alle Ids der Kanonen des Players. Sie hat den Vorteil, dass gegenüber den xyInArea-Funktionen zuverlässig alle Leader auf der gesamten Map erfasst werden.</description>
    </item>
    <item rdf:about="https://dedk.de/wiki/doku.php?id=utilfunctions:getallplayerbuildings&amp;rev=1631992604&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-09-18T19:16:44+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>getallplayerbuildings</title>
        <link>https://dedk.de/wiki/doku.php?id=utilfunctions:getallplayerbuildings&amp;rev=1631992604&amp;do=diff</link>
        <description>&lt;http://www.siedler-games.de&gt;

GetAllPlayerBuildings

Hier mal ein „Funktionen-Paket“ mittels dessen es möglich ist, sämtliche Gebäude des Spielers, also alle Entities von Player 1 die mit „PB_“ beginnen, permanent in einem globalen Table (gvPlayerBuildings) zur Verfügung zu haben.</description>
    </item>
    <item rdf:about="https://dedk.de/wiki/doku.php?id=utilfunctions:gethealth&amp;rev=1631992604&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-09-18T19:16:44+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>gethealth</title>
        <link>https://dedk.de/wiki/doku.php?id=utilfunctions:gethealth&amp;rev=1631992604&amp;do=diff</link>
        <description>&lt;http://www.siedler-games.de&gt;

GetHealth

Dise kleine Funktion ermöglicht das ermitteln, der momentanen prozentualen Health ( Gesundheit )!

Natürlich kann man die Gesundheit einer Einheit mit 

Logic.GetEntityHealth( _entityID)

abfragen, aber dann hat man den Health-Wert, zB. 140!</description>
    </item>
    <item rdf:about="https://dedk.de/wiki/doku.php?id=utilfunctions:groesse_von_gebaeuden&amp;rev=1631992604&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-09-18T19:16:44+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>groesse_von_gebaeuden</title>
        <link>https://dedk.de/wiki/doku.php?id=utilfunctions:groesse_von_gebaeuden&amp;rev=1631992604&amp;do=diff</link>
        <description>&lt;http://www.siedler-games.de&gt;

Größe von Gebäuden

Damit Mary auch mal was nützliches tut. Habe ich sie hier als Vermesser benutzt.
Sie läuft an die Ecken der Entity und nachher wird Breite und Tiefe ausgegeben.
Einfach in eine leere Karte. Man braucht die Delay-Funktion dazu.</description>
    </item>
    <item rdf:about="https://dedk.de/wiki/doku.php?id=utilfunctions:heilerfunktion&amp;rev=1631992604&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-09-18T19:16:44+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>heilerfunktion</title>
        <link>https://dedk.de/wiki/doku.php?id=utilfunctions:heilerfunktion&amp;rev=1631992604&amp;do=diff</link>
        <description>&lt;http://www.siedler-games.de&gt;

Einleitung

Einige Einheiten in Siedler5 (wie z.B. Leibeigene und Kanonen) haben keine Selbstheilungskraft, so dass ihre Verletzungen nur mit Salims Spezialfähigkeit geheilt werden können.

Nun ist Salim aber nicht in jeder Karte verfügbar. Und es ist doch auch blöd, Kanonen halb tot wieder in die Schlacht zu schicken, genauso wie es Verschwendung wäre, sie deswegen direkt zu entlassen.</description>
    </item>
    <item rdf:about="https://dedk.de/wiki/doku.php?id=utilfunctions:index&amp;rev=1631992604&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-09-18T19:16:44+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>index</title>
        <link>https://dedk.de/wiki/doku.php?id=utilfunctions:index&amp;rev=1631992604&amp;do=diff</link>
        <description>Nützliche  Funktionen

Hier werden Funktionen, die von Usern erstellt wurden, verlinkt. 

Comfort Funktionen
FunktionKurzbeschreibungAutorAnti Alarm und Overtime ScriptMacht die Nutzung des Alarm/Überstunden Bugs unattraktivChromixAreEnemiesInAreaComfort Funktionen zur Abfrage, ob Feinde/Verbündete in einem bestimmten Bereich sind</description>
    </item>
    <item rdf:about="https://dedk.de/wiki/doku.php?id=utilfunctions:isarmynear&amp;rev=1631992604&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-09-18T19:16:44+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>isarmynear</title>
        <link>https://dedk.de/wiki/doku.php?id=utilfunctions:isarmynear&amp;rev=1631992604&amp;do=diff</link>
        <description>&lt;http://www.siedler-games.de&gt;

IsArmyNear

Mit dieser Funktion kann man testen ob mindestens ein Hauptmann einer Armee sich in der Nähe einer bestimmten Position befindet.

Beispiel

ArmyOne ist ein globales Armee-Table.

function ControlArmyOne()

    if Counter.Tick2(&quot;ControlArmyOne&quot;, 10) then
        if IsArmyNear(ArmyOne, &quot;FeindlicheBurg&quot;) then
            FrontalAttack(ArmyOne)
        else
            Advance(ArmyOne)
        end
    end

end</description>
    </item>
    <item rdf:about="https://dedk.de/wiki/doku.php?id=utilfunctions:isdeadwrapper&amp;rev=1631992604&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-09-18T19:16:44+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>isdeadwrapper</title>
        <link>https://dedk.de/wiki/doku.php?id=utilfunctions:isdeadwrapper&amp;rev=1631992604&amp;do=diff</link>
        <description>&lt;http://www.siedler-games.de&gt;

Tenji





IsDead mit Army-Optimierung

Diese Funktion integriert in die normale IsDead-Funktion die Abfrage, ob die zu überprüfende Armee überhaupt schon erstellt wurde, sodass man nicht mehr in jedem Armee-Kontroll-Job die Abhilfe von Cromix extra einbauen muss.</description>
    </item>
    <item rdf:about="https://dedk.de/wiki/doku.php?id=utilfunctions:isinsectorrange&amp;rev=1631992604&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-09-18T19:16:44+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>isinsectorrange</title>
        <link>https://dedk.de/wiki/doku.php?id=utilfunctions:isinsectorrange&amp;rev=1631992604&amp;do=diff</link>
        <description>&lt;http://www.siedler-games.de&gt;

IsInSectorRange

Hinweis: Normalerweise reicht es völlig, wenn man die Funktion IsNear() verwendet! Diese Funktion hier macht nur in ganz speziellen Fällen Sinn und soll auch eigentlich nur das Prinzip der Entfernungsberechnung zwischen 2 Punkten verdeutlichen!</description>
    </item>
    <item rdf:about="https://dedk.de/wiki/doku.php?id=utilfunctions:isnear&amp;rev=1631992600&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-09-18T19:16:40+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>isnear</title>
        <link>https://dedk.de/wiki/doku.php?id=utilfunctions:isnear&amp;rev=1631992600&amp;do=diff</link>
        <description>&lt;http://www.siedler-games.de&gt;

IsNear umgebaut

Habe aus Bedarf die Funktion IsNear umgebaut. Dadurch ist es möglich Position oder Entity anzugeben.


function IsNear(_entity, _target, _range)
	return GetDistance(_entity, _target) &lt;= _range
end
function GetDistance(_a, _b)
	if type(_a) ~= &quot;table&quot; then
		_a = GetPosition(_a); 
	end
	if type(_b) ~= &quot;table&quot; then
		_b = GetPosition(_b); 
	end
	return math.sqrt((_a.X - _b.X)^2+(_a.Y - _b.Y)^2)
end</description>
    </item>
    <item rdf:about="https://dedk.de/wiki/doku.php?id=utilfunctions:istpunkt&amp;rev=1631992600&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-09-18T19:16:40+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>istpunkt</title>
        <link>https://dedk.de/wiki/doku.php?id=utilfunctions:istpunkt&amp;rev=1631992600&amp;do=diff</link>
        <description>&lt;http://www.siedler-games.de&gt;

IstPunkt

Da mir jetzt mal wieder das Spiel abgeschmiert ist, weil ein ungültiger Punkt vorlag habe ich diese kleine Krücke geschrieben. 


Dies ist nur für die Zeit des Maperstellens gedacht. Danach entfernen.

Mit 

IstPunkt(MeinPunkt)

 wird der Punkt geprüft und zwar:</description>
    </item>
    <item rdf:about="https://dedk.de/wiki/doku.php?id=utilfunctions:messen&amp;rev=1631992600&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-09-18T19:16:40+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>messen</title>
        <link>https://dedk.de/wiki/doku.php?id=utilfunctions:messen&amp;rev=1631992600&amp;do=diff</link>
        <description>&lt;http://www.siedler-games.de&gt;

Messen

FIXME






Um diesen Code zu verwenden benötigt man die Funktion MapVersion_InitMapInfoButton()!!



FMA:

    StartSimpleJob(&quot;Messen&quot;)
    StartSimpleHiResJob(&quot;Messen2&quot;)


function Messen2()
    local posX,posY=GUI.Debug_GetMapPositionUnderMouse()
    DestroyEntity(messEntity)
    messEntity=Logic.CreateEntity(Entities.XD_CoordinateEntity,posX,posY,0,1)
end
function Messen()
    local posX,posY=GUI.Debug_GetMapPositionUnderMouse()
    local eType,eName,eP…</description>
    </item>
    <item rdf:about="https://dedk.de/wiki/doku.php?id=utilfunctions:op_cleanup&amp;rev=1631992600&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-09-18T19:16:40+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>op_cleanup</title>
        <link>https://dedk.de/wiki/doku.php?id=utilfunctions:op_cleanup&amp;rev=1631992600&amp;do=diff</link>
        <description>&lt;http://www.siedler-games.de&gt;

Entities in einer bestimmten Region entfernen

opeter

Diese Funktion löscht eine gewünschte Art von Entity im angegebenen Radius. Die Anzahl ist dabei auf 16 pro angegebener Entity beschränkt. Ggf. muss dann mittels einer Schleife das Gebiet entsprechend „</description>
    </item>
    <item rdf:about="https://dedk.de/wiki/doku.php?id=utilfunctions:positionsbestimmung&amp;rev=1631992600&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-09-18T19:16:40+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>positionsbestimmung</title>
        <link>https://dedk.de/wiki/doku.php?id=utilfunctions:positionsbestimmung&amp;rev=1631992600&amp;do=diff</link>
        <description>&lt;http://www.siedler-games.de&gt;

Positionsbestimmung

Manchmal möchte man eine Position haben die irgendwie relativ zu einer Entity ist. 

Es soll natürlich auch in Blickrichtung sein. (Bauernhof, Bauer pinkelt, muß ja stimmen, sonst werden die Schuhe nass) ;) 

Gibt sicher sinnvollere Anwendungen.</description>
    </item>
    <item rdf:about="https://dedk.de/wiki/doku.php?id=utilfunctions:priester_und_schamanen&amp;rev=1631992600&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-09-18T19:16:40+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>priester_und_schamanen</title>
        <link>https://dedk.de/wiki/doku.php?id=utilfunctions:priester_und_schamanen&amp;rev=1631992600&amp;do=diff</link>
        <description>&lt;http://www.siedler-games.de&gt;

FIXME Diese Seite ist noch im Bau!

Erläuterungen werden folgen, wenn der Code vollständig ist.



Scriptlog:


	*  Update auf Version 1.01:
		*  Bugs sind gefixt die auftraten, wenn mehrere Priester/Schamanen auf einer Map verwendet werden.

		*</description>
    </item>
    <item rdf:about="https://dedk.de/wiki/doku.php?id=utilfunctions:protectedentities&amp;rev=1631992600&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-09-18T19:16:40+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>protectedentities</title>
        <link>https://dedk.de/wiki/doku.php?id=utilfunctions:protectedentities&amp;rev=1631992600&amp;do=diff</link>
        <description>&lt;http://www.siedler-games.de&gt;

Einleitung

Manchmal ist es für die Story einer Karte wichtig, dass der Spieler eine bestimmte Schlüsselfigur nicht entlässt. Oder er soll aus irgendeinem Grunde eins seiner Gebäude nicht einreissen können. Oder aber man will den Spieler einfach ärgern</description>
    </item>
    <item rdf:about="https://dedk.de/wiki/doku.php?id=utilfunctions:rpg-sicht&amp;rev=1631992600&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-09-18T19:16:40+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>rpg-sicht</title>
        <link>https://dedk.de/wiki/doku.php?id=utilfunctions:rpg-sicht&amp;rev=1631992600&amp;do=diff</link>
        <description>&lt;http://www.siedler-games.de&gt;



Noigi 




Einleitung

Die atemberaubende Grafik von S5 lässt sich (meiner Meinung nach) mit den gegebenen Kameraeinstellungen nur sehr unzureichend auskosten. Die folgende Funktion ermöglicht es dem Spieler, während des Spieles zwischen der Standardsicht und einer rollenspieltypischen Schulterperspektive zu wechseln. In diesem Modus folgt die Kamera der selektierten Entität, die Sicht ist näher am Boden und Kipp- und Rotationswinkel lassen sich manuell verändern…</description>
    </item>
    <item rdf:about="https://dedk.de/wiki/doku.php?id=utilfunctions:schatzkiste&amp;rev=1631992600&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-09-18T19:16:40+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>schatzkiste</title>
        <link>https://dedk.de/wiki/doku.php?id=utilfunctions:schatzkiste&amp;rev=1631992600&amp;do=diff</link>
        <description>&lt;http://www.siedler-games.de&gt;

Schatzkistenbau

Die bereits entwickelte Funktion habe ich mit etwas Comfort ausgestattet. Fragen? Dann KLICK

Diese Funktion benötigt den Trigger-Fix, um richtig zu funktionieren.

Sinn der Funktion ist, ganz einfach eine Schatzkiste mit beliebigem Inhalt zu erzeugen. Man braucht nur noch diese Funktion
Aufgerufen mit (besser nicht)</description>
    </item>
    <item rdf:about="https://dedk.de/wiki/doku.php?id=utilfunctions:schreiben_auf_der_map&amp;rev=1631992600&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-09-18T19:16:40+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>schreiben_auf_der_map</title>
        <link>https://dedk.de/wiki/doku.php?id=utilfunctions:schreiben_auf_der_map&amp;rev=1631992600&amp;do=diff</link>
        <description>&lt;http://www.siedler-games.de&gt;

Schreiben auf der Map

Mit diesem Tool könnt ihr Schift auf die Map bringen.


posBeginn = GetPosition(&quot;startSchrift&quot;)
Schreibe(&quot; Peermanent &quot;,posBeginn,Entities.XD_Rock1,100)	


function Schreibe(_text, _pos, _entity, _hoehe, _abstand)
	if type (_pos) == &quot;string&quot; or type (_pos) == &quot;number&quot; then
		_pos = GetPosition(_pos);
	end
	_abstand = _abstand or 600
	local rueck = {}
	local AddTable=function(_array) for i = 1, table.getn(_array) do table.insert(rueck,_array[i…</description>
    </item>
    <item rdf:about="https://dedk.de/wiki/doku.php?id=utilfunctions:setup_stargate_system&amp;rev=1631992600&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-09-18T19:16:40+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>setup_stargate_system</title>
        <link>https://dedk.de/wiki/doku.php?id=utilfunctions:setup_stargate_system&amp;rev=1631992600&amp;do=diff</link>
        <description>&lt;http://www.siedler-games.de&gt;

Das Stargate System

 

Tenji

Funktion des Stargates:

Sobalt ein zweites Stargate durch das DHD angewählt wurde aktiviert sich das Gate mit einem wandernden DieHero-Effect.
Das Gate kann maximal 3,8 Minuten offen gehalten werden und funktioniert nur vom Wahl- zum Zielgate. Wenn das Gate geschlossen wird verschwindet der Ereignishorizont .</description>
    </item>
    <item rdf:about="https://dedk.de/wiki/doku.php?id=utilfunctions:setupai&amp;rev=1631992600&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-09-18T19:16:40+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>setupai</title>
        <link>https://dedk.de/wiki/doku.php?id=utilfunctions:setupai&amp;rev=1631992600&amp;do=diff</link>
        <description>&lt;http://www.siedler-games.de&gt;

Tenji





Um die AI für einen gegnerischen Spieler festzulegen, ...



... verwendet man bisher entweder die ausführliche SetupPlayerAi-Funktion, oder die schnelle MapEditor_SetupAI. 

Bei letzterer muss mann aber zusätzlich SetupPlayerAi verwenden, um die AI Rohstoffe abbauen und die Gebäude reparieren zu lassen.</description>
    </item>
    <item rdf:about="https://dedk.de/wiki/doku.php?id=utilfunctions:shortcutscene&amp;rev=1631992598&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-09-18T19:16:38+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>shortcutscene</title>
        <link>https://dedk.de/wiki/doku.php?id=utilfunctions:shortcutscene&amp;rev=1631992598&amp;do=diff</link>
        <description>&lt;http://www.siedler-games.de&gt;

ShortCutScene

----------



So schön wie es ist, mit dem CutScene-Code von nevermind zu arbeiten, manchmal ist es mir einfach zuviel Code, wenn ich nur eine kurze Zwischensequenz als CutScene erzeugen möchte.
Z.B., wenn ich dem Spieler eine bestimmte Stelle auf der Karte zeigen, dabei nicht die starre Kameraführung einer Briefingseite verwenden möchte und keinen Text einblenden muss.</description>
    </item>
    <item rdf:about="https://dedk.de/wiki/doku.php?id=utilfunctions:stolenresourceamount&amp;rev=1631992598&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-09-18T19:16:38+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>stolenresourceamount</title>
        <link>https://dedk.de/wiki/doku.php?id=utilfunctions:stolenresourceamount&amp;rev=1631992598&amp;do=diff</link>
        <description>&lt;http://www.siedler-games.de&gt;

StolenResourceAmount

Im Game gibt es eine tolle PU (Player Unit), nämlich den Dieb. Leider wird er nicht sehr häufig auf Maps eingesetzt, und wenn, dann meist nur zur Sabotage. Das finde ich schade, verfügt der Dieb doch, wie der Name ja schon ausdrückt, auch noch über eine andere, sehr wertvolle Eigenschaft: Er kann Sachen (Resourcen) stehlen!</description>
    </item>
    <item rdf:about="https://dedk.de/wiki/doku.php?id=utilfunctions:subfromplayersresources&amp;rev=1631992598&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-09-18T19:16:38+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>subfromplayersresources</title>
        <link>https://dedk.de/wiki/doku.php?id=utilfunctions:subfromplayersresources&amp;rev=1631992598&amp;do=diff</link>
        <description>&lt;http://www.siedler-games.de&gt;

Einleitung

Wenn man dem Spieler per Skript Ressourcen abziehen will, muss man meistens erstmal einen umständlichen Check einbauen, ob denn genug Rohstoffe da sind. Mit...


SubFromPlayersResources( _id, _gold, _clay, _wood, _stone, _iron, _sulfur )</description>
    </item>
    <item rdf:about="https://dedk.de/wiki/doku.php?id=utilfunctions:upgradebuilding&amp;rev=1631992598&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-09-18T19:16:38+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>upgradebuilding</title>
        <link>https://dedk.de/wiki/doku.php?id=utilfunctions:upgradebuilding&amp;rev=1631992598&amp;do=diff</link>
        <description>&lt;http://www.siedler-games.de&gt;

UpgradeBuilding

Um ein Gebäude auszubauen, kann man es einfach über ReplaceEntity() mit der nächsten Ausbaustufe ersetzen. In einigen Situationen kann es aber schöner sein, es tatsächlich mit der entsprechenden Upgrade Animation/Wartezeit auszubauen. Dafür kann man diese Funktion benutzen. Der Upgrade-Vorgang funktioniert dabei immer, unabhängig von den vorhandenen Ressourcen.</description>
    </item>
    <item rdf:about="https://dedk.de/wiki/doku.php?id=utilfunctions:useheroability&amp;rev=1631992598&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-09-18T19:16:38+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>useheroability</title>
        <link>https://dedk.de/wiki/doku.php?id=utilfunctions:useheroability&amp;rev=1631992598&amp;do=diff</link>
        <description>&lt;http://www.siedler-games.de&gt;

UseHeroAbility

NPC-Helden benutzen normalerweise keine ihrer Spezialfähigkeiten obwohl das manchmal wünschenswert wäre. Mit dieser Funktion kann man eine Heldenfähigkeit einsetzen und zwar unabhängig davon, ob die Fähigkeit bereits voll aufgeladen ist oder nicht (es funktioniert immer).</description>
    </item>
    <item rdf:about="https://dedk.de/wiki/doku.php?id=utilfunctions:vergiften&amp;rev=1631992598&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-09-18T19:16:38+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>vergiften</title>
        <link>https://dedk.de/wiki/doku.php?id=utilfunctions:vergiften&amp;rev=1631992598&amp;do=diff</link>
        <description>&lt;http://www.siedler-games.de&gt;

Vergiften

Mit diesem Code kann man ein Gebiet verseuchen. Alle Entities die in die Nähe dieses Gebietes kommen, werden mit einer tödlichen Krankheit infiziert. Infizierte Einheiten werden innerhalb kürzester Zeit sterben. Außerdem ist diese Krankheit ansteckend, so dass eine infizierte Einheit andere Einheiten anstecken kann, wenn sie nur nahe genug kommt.</description>
    </item>
    <item rdf:about="https://dedk.de/wiki/doku.php?id=utilfunctions:winkel&amp;rev=1631992598&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-09-18T19:16:38+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>winkel</title>
        <link>https://dedk.de/wiki/doku.php?id=utilfunctions:winkel&amp;rev=1631992598&amp;do=diff</link>
        <description>&lt;http://www.siedler-games.de&gt;

Winkel zwischen zwei Punkten

Robert

Diese Funktion gibt den Winkel zwischen zwei Punkten an.

Die Parameter (_Pos1,_Pos2) können sowohl Punkte, Entity_Name oder auch Entity_ID sein.

Rückgabe ist der Winkel in Grad. Siehe Anwendungsbeispiel.

function Winkel(_Pos1,_Pos2)
	local delta_X = 0;
	local delta_Y = 0;
	local alpha   = 0
	if type (_Pos1) == &quot;string&quot; or type (_Pos1) == &quot;number&quot; then
		_Pos1 = GetPosition(GetEntityId(_Pos1));
	end
	if type (_Pos2) == &quot;strin…</description>
    </item>
    <item rdf:about="https://dedk.de/wiki/doku.php?id=utilfunctions:zurentity&amp;rev=1631992598&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-09-18T19:16:38+00:00</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>zurentity</title>
        <link>https://dedk.de/wiki/doku.php?id=utilfunctions:zurentity&amp;rev=1631992598&amp;do=diff</link>
        <description>&lt;http://www.siedler-games.de&gt;

Punkt in Blick- (Bau-) richtung einer Entity

Robert

Diese Funktion gibt den den Punkt zurück der im gewählten relativen Abstand zu einer Entity ist.

Die Parameter (_entity, _range[, _currPos]) 




_entity  : Ist die Person, Gebäude zu deren Blickrichtung ein Punkt erwünscht ist. 
_range   : Ist die Entfernung 
_currPos : Die Position auf der man sich befindet.</description>
    </item>
</rdf:RDF>
