Parameterübergabe für SimpleJob
» Siedler Map Source Forum » Siedler DEdK Script Forum » Parameterübergabe für SimpleJob
Seiten: 1
Ludwig
|
#1 07.08.2017 21:15 Beiträge: 440 |
Parameterübergabe für SimpleJob
Suche eine möglichst einfache (kurze) Funktion die es ermöglicht, Parameter an einen SimpleJob zu übergeben.
Meine versuche mit den CX Tools von Chromix sind gescheitert. Möglich, dass mein alter Download Fehler hat. Außerdem ist mir der Umfang zu groß. Der Block mit Comfortfunktionen ist bei mir schon bald genau so groß wie das eigentliche Programm.
Kann jemand helfen ?
Gruß
Ludwig
mcb
|
#2 07.08.2017 21:39 Beiträge: 1472 |
Am einfachsten mit Trigger.RequestTrigger(_event, _conFunc, _actFunc, _enabled, _conParam, _actParam)
z.B:
Trigger.RequestTrigger(Events.LOGIC_EVENT_EVERY_SECOND, nil, "yourFunctionName", 1, {}, {1, 2, "foo", "bar"})
Du kannst aber nur numbers strings und bools übergeben.
Ansonsten hab ich auch eine eigene Version davon geschrieben, einfach ins script kopieren reicht: http://www.siedler-maps.de/forum.php?action=showthread&threadid=19074
(Bei mir sind die Comfortfunktionen etwa 20k Zeilen im Gegensatz zu <2k Zeilen Mapscript )
Ludwig
|
#3 09.08.2017 09:51 Beiträge: 440 |
Danke für die Hilfe, werde das mal ausprobieren.
Mit den vielen Comfort's verliert man leicht die Übersicht. Hatte letztens den Fall, dass eine Funktion nicht richtig lief. Nach längerem Suchen habe ich dann entdeckt, dass eine von mir verwendete globale Variable schon von einer Comfort verwendet wurde und deshalb immer falsche Werte lieferte.
Hat viel Zeit gekostet, aber so ist das eben.
Gruß
Ludwig
mcb
|
#4 09.08.2017 12:36 Beiträge: 1472 |
Die Lösung dafür ist einfach: So wenig globale Variablen wie möglich verwenden und am besten mit klarem Namensschema. Also z.B. funcname_varname anstatt varname
Ludwig
|
#5 09.08.2017 14:47 Beiträge: 440 |
Eine Hilfe wäre, wenn die Möglichkeit bestehen würde, alle vom Programm verwendeten Variable auszulesen.
Gibt es so etwas ?
Ludwig
mcb
|
#6 09.08.2017 16:07 Beiträge: 1472 |
Sicher. Eclipse LDT https://eclipse.org/ldt/ hat eine Anzeige aller globalen Variablen (mit Funktionen) pro Datei und pro Projekt eine Autovervollständigung. Außerdem werden Kommentare über einer Variablendeklaration als Tooltip bei jedem auftauchen der Variable angezeigt.
Ludwig
|
#7 10.08.2017 11:45 Beiträge: 440 |
Hab mir das mal angesehen, tolles Teil, kann ja wohl ne Menge. Leider habe ich Probleme mit der englischen Sprache. Bei uns war zu meiner Schulzeit und auch im Studium russisch angesagt. Das macht mir Heute Probleme. Da trau ich mich nicht so richtig ran an Eclipse.
Zedeg
|
#8 10.08.2017 12:11 Beiträge: 428 |
Scheint's doch auch in Deutsch zu geben: http://praxistipps.chip.de/eclipse-auf-deutsch-umstellen-so-gehts_31114
____________________
Journalisten erkundigen sich bei Wissenschaftlern meist nicht nach Grundlagen, sondern eher nach Ergebnissen und Folgerungen. Das erklärt womöglich auch, warum sich Forschungsberichte in den Medien so häufig als feststehende Erkenntnisse lesen, nicht aber als Ideen, Entdeckungen oder Indizien, um die es sich genau genommen in den meisten Fällen handelt. -Axel Bojowski
Ludwig
|
#9 11.08.2017 16:21 Beiträge: 440 |
@ Zedeg
Danke für den Hinweis, werde ich probieren.
@ mcb
Das Problem mit der Parameterübergabe für SimpleJob klappt mit Deiner Hilfe sehr gut.
Mich haben immer die nutzlos rumstehenden leeren Schatzkisten gestört. Deshalb habe ich eine Funktion zum verzögerten Löschen der Kisten geschrieben. Geht wunderbar.
Gruß
Ludwig
totalwarANGEL
|
#10 12.08.2017 12:37 Beiträge: 2123 |
Eclipse ist Hardcore
Ich würde für Skripten keine vollwertige IDE wie Eclipse empfehlen. Das Ding ist ein Resourcenfresser und auf schwächeren PC's macht arbeiten damit keinen Spaß. Wenn es um eine Parameterübersicht gibt, kann man als Alternative zu Notepad++ auch SynWrite oder Geany nehmen.
SynWrite hat "nur" eine Funktionsübersicht, funktioniert in der Windows-Version aber einwandfrei.
Geany hat eine komplette Symbolübersicht, aber in der Windows-Version funktioniert "Suche in Dateien" nicht, weil aus irgend einem Grund das Linux-Kommando grep vorausgesetzt wird.
____________________
Die Welt ist arschlochförmig und wir leben in der Mitte.
mcb
|
#11 13.08.2017 22:09 Beiträge: 1472 |
Klar braucht Eclipse mehr Ressourcen als Notepad++ (vor allem, weil es in Java geschrieben ist) aber zummindest bei mir ist das kein Problem.
Und bei 20000 Zeilen Script wird es auch langsam unübersichtlich. Da hilft es dann schon, ne komplette IDE zu haben
Seiten: 1