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

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

Impressum