Lua Erweiterungen

silentEngine
Verfügbare Informationen zu "Lua Erweiterungen"

  • Qualität des Beitrags: 0 Sterne
  • 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:36

    Lua 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)