Verfügbare Informationen zu "Lua Erweiterungen"
Qualität des Beitrags: Beteiligte Poster: Heather Forum: silentEngine Forenbeschreibung: Adventure im Silent Hill Style aus dem Unterforum: Spezifikationen Antworten: 6 Forum gestartet am: Donnerstag 17.08.2006 Sprache: deutsch Link zum Originaltopic: Lua Erweiterungen Letzte Antwort: vor 17 Jahren, 3 Monaten, 9 Tagen, 20 Stunden, 15 Minuten
Alle Beiträge und Antworten zu "Lua Erweiterungen"
Re: Lua Erweiterungen
Heather - 21.08.2006, 21:36Lua Erweiterungen
Als Script Sprache verwenden wir Lua (http://www.lua.org). Die Sprache wurde um folgende Funktionen erweitert um das Spielgeschehen zu beeinflussen.
Von vielen Funktionen gibt es zwei Varianten: eine "Normale" und eine "Sofort". Sie "Sofort" Funktionen erkennt man daran das sie mit einem i anfangen (immediately) wie z.B. iadd.
Beispiel "Normal"
Code:char.walk("me", 345, 23)
inventory.add("me", 1)
In diesem Script geht das Ego erst an eine Position und wenn es angekommen ist wird der Gegenstand mit der ID 1 zum Inventar hinzugefügt.
Beispiel "Sofort"
Code:char.walk("me", 345, 23)
inventory.iadd("me", 1)
Das Ego bewegt sich an die Position, hat aber dann gleich schon den Item im Inventar, und nicht erst wenn es an der Position ankommt.
' ------
' OBJECT
' ------
show
ishow
hide
ihide
byname
move
imove
rotate
irotate
scale
iscale
alpha
ialpha
animate
ianimate
' ------
' ACTION
' ------
activate
deactivate
byname
' ---
' INT
' ---
get
set
' ---
' STR
' ---
get
set
' ---
' FLT
' ---
get
set
' ---
' GINT
' ---
get
set
' ---
' GSTR
' ---
get
set
' ---
' GFLT
' ---
get
set
' -----
' SOUND
' -----
play
iplay
byname
' -----
' MUSIC
' -----
play
iplay
stop
istop
' -----
' MOUSE
' -----
x
y
' --
' FX
' --
startnoise
stopnoise
istartnoise
istopnoise
blendin
blendout
iblendin
iblendout
startparallax
stopparallax
istartparallax
istopparallax
startblur
stopblur
istartblur
istopblur
' ----
' ROOM
' ----
name
go
igo
' ----
' GAME
' ----
save
isave
' ----
' DEBUG
' ----
print
Re: Lua Erweiterungen
Heather - 19.11.2006, 14:02
char.add(Ego: String, X: Int, Y: Int)
char.iadd(Ego: String, X: Int, Y: Int)
Charakter 'Ego' wird an Position 'X, Y' im Raum hinzugefügt.
Ego ist der Name des Charakters der hinzugefügt werden soll.
Code:char.add("leah", 500, 600)
char.rem(Ego: String)
char.irem(Ego: String)
Charakter 'Ego' wird aus Raum entfernt.
Ego ist der Name des Charakters der entfernt werden soll.
Code:char.rem("leah")
char.walk(Ego: String, X: Int, Y: Int)
Charakter 'Ego' luft zu Position 'X, Y'
Ego ist der Name des Charakters der sich bewegen soll. "me" bedeutet die Spielfigur soll sich bewegen.
Code:char.walk("me", 400, 300)
char.say(Ego: String, Text: String)
Charakter 'Ego' spricht 'Text'.
Ego ist der Name des Charakters der den Text sagen soll. "me" bedeutet die Spielfigur sagt den Text.
Es können auch feste Texte aus der Datei texts.xml benutzt werden. Dazu statt des Textes # und die ID des Textes aus der Datei angeben (#6).
Code:char.say("me", "#6")
char.say("leah", "Hallo")
char.think(Ego: String, Text: String)
Charakter 'Ego' denkt 'Text'.
Ego ist der Name des Charakters der den Text denken soll. "me" bedeutet die Spielfigur sagt den Text.
Es können auch feste Texte aus der Datei texts.xml benutzt werden. Dazu statt des Textes # und die ID des Textes aus der Datei angeben (#6).
Code:char.think("me", "Ich denke also bin ich.")
char.think("leah", "Das glaubst auch nur du.")
char.turn(Ego: String, Direction: String)
Charakter 'Ego' dreht sich in Richtung 'Direction'.
Ego ist der Name des Charakters der sich drehen soll. "me" bedeutet die Spielfigur soll sich drehen. Welche Richtungen es gibt wird in der Datei characters.xml festgelegt.
Code:char.turn("me", "south")
char.wait(Ego: String, MilliSecs: Int)
Charakter 'Ego' wartet 'MilliSecs' lang. Ego ist der Name des Charakters der warten soll. "me" bedeutet die Spielfigur wartet.
Code:char.wait("me", 1000)
char.animate(Ego: String, Animation: String, Loops: Int)
char.ianimate(Ego: String, Animation: String, Loops: Int)
Spielt eine Animation ab. Spielfigur spielt Animation 'Animation' 'Count' mal ab.
Code:char.animate("me", "kratzen", 1)
char.setpos(Ego: String, X: Int, Y: Int)
char.isetpos(Ego: String, X: Int, Y: Int)
Charakter 'Ego' auf Position 'X, Y' setzen. Ego ist der Name des Charakters der bewegt werden soll.
Code:char.setpos("me", 400, 300)
char.getpos(Ego: String, X: Int, Y: Int)
Position von Charakter 'Ego' zurückgeben.
Code:x,y=char.getpos("me")
Re: Lua Erweiterungen
Heather - 24.11.2006, 18:30
ego.loosecontrol
ego.iloosecontrol
Spieler die Kontrolle entziehen. Der Spieler kann keine Aktionen mit der Spielfigur mehr ausführen.
Code:ego.loosecontrol()
ego.getcontrol
ego.igetcontrol
Spieler die Kontrolle zurückgeben. Der Spieler kann wieder Aktionen mit der Spielfigur ausführen.
Code:ego.getcontrol()
Re: Lua Erweiterungen
Heather - 24.11.2006, 18:37
inventory.has(Ego: String, ItemID: Int): Boolean
Gibt zurück ob ein Charakter einen Geganstand im Inventar hat oder nicht. Ego ist der Name des Charakters. "me" bedeutet die Spielfigur selber. Die ItemID kann der Datei invantar.xml entnommen werden , oder man benutzt die Funktion ItemByName um die ID zu bekommen.
Code:if inventory.has("me", 4) then
DoSomething()
end
inventory.add(Ego: String, ItemID: Int)
inventory.iadd(Ego: String, ItemID: Int)
Fügt dem Charakter 'Ego' den Item mit der 'ItemID' ins Inventar hinzu. Ego ist der Name des Charakters. "me" bedeutet die Spielfigur selber. Die ItemID kann der Datei invantar.xml entnommen werden , oder man benutzt die Funktion ItemByName um die ID zu bekommen.
Code:inventory.add("me", 4)
inventory.rem(Ego: String, ItemID: Int)
inventory.irem(Ego: String, ItemID: Int)
Entfernt dem Charakter 'Ego' den Item mit der 'ItemID' aus dem Inventar.
Ego ist der Name des Charakters. "me" bedeutet die Spielfigur selber. Die ItemID kann der Datei invantar.xml entnommen werden , oder man benutzt die Funktion ItemByName um die ID zu bekommen.
Code:inventory.rem("me", 4)
inventory.replace(Ego: String, OldItemID: Int, NewItemID: Int)
inventory.ireplace(Ego: String, ItemID: Int)
Ersetzt dem Charakter 'Ego' den Item mit der 'OldItemID' durch den Item mit 'NewItemID'. Ego ist der Name des Charakters. "me" bedeutet die Spielfigur selber. Die OldItemID/NewItemID kann der Datei invantar.xml entnommen werden , oder man benutzt die Funktion ItemByName um die ID zu bekommen.
Code:inventory.replace("me", 4, 5)
Re: Lua Erweiterungen
Heather - 24.11.2006, 18:40
item.inhand: Integer
Gibt die ItemID des Items zurück der sich gerade in der Hand befindet. Ego ist der Name des Charakters. "me" bedeutet die Spielfigur selber. Die ItemID kann der Datei invantar.xml entnommen werden.
Code:if item.inhand()==ItemByName("myitem") then
DoSomething()
end
item.byname(ItemName: String): Integer
Gibt die ItemID zurück.
Code:id=item.byname("myitem")
Re: Lua Erweiterungen
Heather - 17.12.2006, 15:23
chat.start(group: Int)
chat.istart(GroupID: Int)
Startet eine Unterhaltung mit der Chatgruppe GroupID
Code:chat.start(1)
chat.stop()
chat.istop()
Beendet die Unterhaltung
Code:chat.end()
chat.setgroup(GroupID: Int)
chat.isetgroup(GroupID: Int)
Wechselt die aktuelle Gruppe zu GroupID. Alle Texte aus dieser Gruppe stehen
Code:chat.setgroup(3)
chat.getgroup(): Int
Gibt die ID der aktuellen Gruppe zurück.
Code:if chat.getgroup()==3 then
...
chat.groupbyname(name: String): Int
Sucht die Gruppe mit Namen und gibt die ID zurück.
Code:grp=chat.groupbyname("gruppe1")
if grp>0 then
chat.setgroup(grp)
end if
chat.showline(GroupID: Int, LineID: Int)
chat.ishowline(GroupID: Int, LineID: Int)
Setzt die Zeile LineID in Gruppe GroupID auf aktiv so das sie vom Spieler gesehen und angeklickt werden kann.
Code:chat.showline(2,3)
chat.hideline(GroupID: Int, LineID: Int)
chat.ihideline(GroupID: Int, LineID: Int)
Setzt die Zeile LineID in Gruppe GroupID auf inaktiv so das sie vom Spieler nicht gesehen und angeklickt werden kann.
Code:chat.hideline(chat.groupbyname("gruppe2"),3)
Mit folgendem Code, können Sie den Beitrag ganz bequem auf ihrer Homepage verlinken
Weitere Beiträge aus dem Forum silentEngine
the free sound project - gepostet von Heather am Freitag 06.10.2006
Status - gepostet von Heather am Donnerstag 17.08.2006
Büro - Tech Demo - gepostet von Adam am Mittwoch 23.08.2006
Ähnliche Beiträge wie "Lua Erweiterungen"
-- Erweiterungen für Screenshots -- - archangeloi (Montag 20.08.2007)
Die besten Erweiterungen und Themes für Mozilla Firefox - Mr. Hex (Donnerstag 18.11.2004)
Internet Browser mit Erweiterungen - joshiadmin (Donnerstag 10.03.2005)
Massiv - Ohne euch waere ich nichts - cem_cengiz (Montag 07.07.2008)
Patch+erweiterungen - Sam Fisher (Montag 28.11.2005)
"CT-Mod" - Viele geniale Erweiterungen - chrisburg (Samstag 03.12.2005)
Homepage Erweiterungen - World of Mafia (Sonntag 22.10.2006)
Interface-Erweiterungen für unsere Raids! - Lotaryel (Montag 08.10.2007)
Erweiterungen der Homepage - phoenix (Dienstag 21.03.2006)
Erweiterungen - patrick (Donnerstag 12.04.2007)