Important Dates

Latest Posts

Topic: Fragen zu Lua

Taurus

Topic Opener
Joined: 2011-05-31, 19:37
Posts: 8
Ranking
Pry about Widelands
Location: Germany / Leipzig
Posted at: 2011-06-10, 20:49

face-smile.png vielen Dank für den Tipp, aber die Maps werden bei mir bei C:\Dokumente und Einstellungen\Administrator\.widelands\maps gespeichert. Ich muss die immer wieder in den Spieleordner kopieren, damit sich was ändert. Sag mal wie hast du dir eigendlich Lua beigebracht?

Edited: 2011-06-10, 20:49

Top Quote
ChemBro

Joined: 2009-05-30, 12:09
Posts: 59
Ranking
Likes to be here
Posted at: 2011-06-10, 21:05

Ich hab mir ein paar Sachen/Grundlagen zu Lua durchgelesen und ausprobiert, dann mir die Kampagnen im Spiel angeschaut und SirVer (der aber wohl grad nicht so viel Zeit hat, wie es aussieht) ein paar Fragen gestellt und dann halt das Script geschrieben, Stück für Stück ausprobiert und darüber nachgedacht, warum es grad nicht funktioniert. Ich würde jetzt nicht sagen, dass ich Lua verstehe, sondern eher verstehe, wie ich einfache Kampagnen in Widelands erstellen kann.

Das Ganze ging aber nicht von heute auf morgen. Die Kampagne selbst habe ich schon vor viel längerer Zeit begonnen...


Top Quote
martin

Joined: 2011-01-13, 14:21
Posts: 65
Ranking
Likes to be here
Posted at: 2011-06-10, 21:47

@Taurus: Schön, dass es funktioniert face-smile.png

Wegen Syntax kannst du im Internet mal nach Tutorials oder Sprachreferenzen zu Lua suchen - gibts auch auf Deutsch, z.B. diese Dokumentation. Ich sag schonmal soviel: Lua besitzt gewisse Abkürzungen für Funktionsaufrufe. In deiner Datei könnte man z.B. auch schreiben p:allow_buildings({"lumberjacks_hut"}) und das hätte exakt die selben Auswirkungen. Die geschweiften Klammern bilden syntaktisch einen wichtigen Datentyp von Lua, nämlich die table.

set_textdomain kannst du erstmal weglassen (und damit auch die ganzen Unterstriche vor den Zeichenfolgen). Das bekommt alles erst Bedeutung, wenn du das Szenario in unterschiedlichen Sprachen (Englisch, Französisch etc.) ausliefern willst. Übrigens: Den Pfad, den ich mit <widelands>/... abgekürzt habe, ist das widelands-Stammverzeichnis, also da, wo es solche Unterverzeichnisse wie scripting, maps, tribes usw. gibt. Nicht zu verwechseln mit deinem Benutzerverzeichnis - denn das wiederum heißt normalerweise .widelands mit vorangestelltem Punkt.

Zu den "zerhackstückelten" Dateien: Es ist sehr wahrscheinlich, dass die unter Linux erstellt wurden. Da ist ein Zeilenumbruch nur ASCII 10 und nicht wie bei Windows ASCII 13+10. Viele Editoren unter Windows können trotzdem damit umgehen. Notfalls öffne die Datei einfach mal in Wordpad (nicht Notepad/Editor), das dürfte die Zeilenumbrüche nämlich korrekt wiedergeben.

Ich hab übrigens festgestellt, dass es eine wunderbare Dokumentation zu den Lua-Klassen und -Methoden von widelands gibt. Da steht auch grob drin, wie man Szenarien/Kampagnen erstellt. Die ist nur leider auf Englisch face-wink.png und man muss sie sich selbst generieren - bei Windows weiß ich gar nicht, ob und wie das geht. Jedenfalls würde ich unserer Community wärmstens empfehlen, diese Dokumentation mal irgendwo zu hosten - am besten auch mit deutscher Übersetzung und am besten noch einen Eintrag im Wiki dazu - weil sich mittlerweile immer mehr Leute für das Erstellen von Szenarien und Kampagnen zu interessieren scheinen face-smile.png

Viel Erfolg noch weiterhin mit deiner Mission!

Edited: 2011-06-10, 21:58

Top Quote
Taurus

Topic Opener
Joined: 2011-05-31, 19:37
Posts: 8
Ranking
Pry about Widelands
Location: Germany / Leipzig
Posted at: 2011-06-11, 00:59

@ChemBro: Das das ganze ne menge Zeit kostet ist mir mitlerweile auch aufgefallen :). Hab ehrlich gesagt auch gedacht das es schneller geht.:D

@martin: Wuhaaaa... OMG das ganze kann ja auch übersichtlich aussehen. VIELEN DANK für den Tipp mit Wordpad. Das wird mich um einiges weiter bringen. Jetzt sieht man auch mal wo eine Schleife anfängt, und wo sie wirklich aufhört. Ich danke nochmals! Das wird mit Sicherheit einige Fragen von Anfang an klarer beantworten. Vieleicht verstehst du auch, warum mir die Scripte aus den anderen Karten manchmal nicht weiter geholfen haben. Ist ja nicht so das ich mir keine Mühe gebe, auch alleine dahinter zu kommen wie es funktioniert ;) Die Dokumentation von der du erzählt hast, wäre echt nett. Wäre super, wenn man ein paar Basics mit einem Tut. beigebracht bekommt. Was in dem Wiki steht hilft nur bedingt weiter und ich glaube auch nur, wenn man schon ein bischen Ahnung hat.

Ich werd mir Mühe geben bald was brauchbares vor zu zeigen und ich würde mich auch über Teil 3 der SUL Kampagne freuen ^^

Taurus

PS: Mir fällt auch grade auf, dass es in Windows auch schwierig ist, neue Kampagnen hinzu zu fügen, wenn man die cconfig mit dem Editor öffnet. Wäre vieleicht auch praktisch das ein bischen einfacher zu machen. PPS: Mir gefällt das Wort "zerhackstückeln"

Edited: 2011-06-11, 01:03

Top Quote
SirVer

Joined: 2009-02-19, 15:18
Posts: 1440
Ranking
One Elder of Players
Location: Germany - Munich
Posted at: 2011-06-16, 10:04

Ich hab übrigens festgestellt, dass es eine wunderbare Dokumentation zu den Lua-Klassen und -Methoden von widelands gibt. Da steht auch grob drin, wie man Szenarien/Kampagnen erstellt. Die ist nur leider auf Englisch und man muss sie sich selbst generieren - bei Windows weiß ich gar nicht, ob und wie das geht.

das stimmt nicht ganz. Eine täglich aktualisierte version gibt es auch hier: http://wl.widelands.org/docs/lua/

Dort gibt es auch die Referenz für add_objective. Das die funktion bei einem table value das spiel zum abstürzen bringt ist natürlich nicht okay; könnte da einer einen bug report eröffnen? http://wl.widelands.org/docs/lua/wl_game/#wl.game.Player.add_objective

Jedenfalls würde ich unserer Community wärmstens empfehlen, diese Dokumentation mal irgendwo zu hosten - am besten auch mit deutscher Übersetzung und am besten noch einen Eintrag im Wiki dazu - weil sich mittlerweile immer mehr Leute für das Erstellen von Szenarien und Kampagnen zu interessieren scheinen

Den Eintrag im Wiki kannst Du ja nun machen :P. Übersetzung wäre natürlich ganz cool; die Dokumentation ist mit Sphinx (Python documentation tool) erstellt, ich glaube das unterstüzt auch mehrerer sprachen.


Top Quote
martin

Joined: 2011-01-13, 14:21
Posts: 65
Ranking
Likes to be here
Posted at: 2011-06-20, 11:24

SirVer wrote:

Eine täglich aktualisierte version gibt es auch hier: http://wl.widelands.org/docs/lua/

Oh, danke face-smile.png So eine Doku hatte ich gesucht, aber irgendwie ist sie entweder nicht verlinkt oder ich war zu doof, den Link zu finden. Ich werd mich bei nächster Gelegenheit mal um einen Wiki-Eintrag kümmern und schauen, ob und wie Sphinx ggf. auch eine deutsche Übersetzung ermöglicht. Was hältst du von einem kurzen Tutorial zum Kampagnen-Erstellen (nur zur Vermittlung von Grundlagen) - so quasi als Erweiterung zum Editor-Tutorial?


Top Quote
SirVer

Joined: 2009-02-19, 15:18
Posts: 1440
Ranking
One Elder of Players
Location: Germany - Munich
Posted at: 2011-06-21, 10:19

Sowas wie http://wl.widelands.org/docs/lua/tutorial/ ?


Top Quote
martin

Joined: 2011-01-13, 14:21
Posts: 65
Ranking
Likes to be here
Posted at: 2011-06-21, 10:33

Ja, ungefähr sowas meinte ich :) Ich bin außerdem grad dabei, eine Wiki-Seite zu erstellen. Die soll einfach mal alles zusammenführen (verlinken) und kurz erklären, was irgendwie mit der Erstellung von Kampagnen zu tun hat.


Top Quote
martin

Joined: 2011-01-13, 14:21
Posts: 65
Ranking
Likes to be here
Posted at: 2011-06-21, 12:50

Und hier ist sie: die Wiki-Seite zum Erstellen von Kampagnen! Natürlich erstmal auf Englisch. Ich hab sie auch gleich auf der Hauptseite unter Maps, Scenarios & Scripting verlinkt. Ist das okay so?


Top Quote
Taurus

Topic Opener
Joined: 2011-05-31, 19:37
Posts: 8
Ranking
Pry about Widelands
Location: Germany / Leipzig
Posted at: 2011-06-21, 13:52

Sehr schön, vielen Dank! Da sind dann auch mal alle Links an einer Stelle. Das war vorher glaube ich nicht so.


Top Quote