+ Antworten
Ergebnis 1 bis 4 von 4
  1. #1
    Bauarbeiter
    Registriert seit
    07.10.2008
    Ort
    Duisburg
    Beiträge
    60

    Frage Fragen zu Logic.CreateEffekt

    Hier mal drei Fragen eines Scriptanfängers.

    Ich hab mich mal mit Logic.CreateEffekt beschäftigt, was ich zur Zeit reichhaltig in meiner neuen Map benutze.

    Dazu drei Fragen:

    1. Der Aufruf sieht ja z.b. so aus: Logic.CreateEffect(95, 37600, 73800, 23)
    Der erste Wert gibt ja den Effekt an, Wert 2 und 3 die Koordinaten. Aber wofür steht der vierte Wert. Ich habe mal verschiedene Zahlen da ausprobiert, aber keinen Unterschied bemerken können.

    2. Einige Effekte bleiben nach dem Aufruf ja dauerhaft stehen. Wie kann man sie wieder abschalten?

    3. Wenn ich einen Effekt mehrfach im Abstand von sagen wir mal einer zehntel Sekunde auslösen will, wie kann ich das im Script bewerkstelligen?

    Gruß
    Dirk

  2. #2
    Schafszüchter Avatar von Netsurfer
    Registriert seit
    01.09.2005
    Ort
    Köln/ Cologne
    Beiträge
    1,121
    Blog Einträge
    10

    Idee AW: Fragen zu Logic.CreateEffekt

    Hi Dirk!

    Zitat Zitat von Cosmoclown Beitrag anzeigen
    Hier mal drei Fragen eines Scriptanfängers.

    Ich hab mich mal mit Logic.CreateEffekt beschäftigt, was ich zur Zeit reichhaltig in meiner neuen Map benutze.

    Dazu drei Fragen:

    1. Der Aufruf sieht ja z.b. so aus: Logic.CreateEffect(95, 37600, 73800, 23)
    Der erste Wert gibt ja den Effekt an, Wert 2 und 3 die Koordinaten. Aber wofür steht der vierte Wert. Ich habe mal verschiedene Zahlen da ausprobiert, aber keinen Unterschied bemerken können.
    Zuerst mal ein grundlegender Tipp: Verwende nie direkt irgendwelche Zahlenwerte, sondern referenziere immer den entsprechenden Eintrag im Table. Also bspw. EGL_Effects.FXLightning
    Der vierte Parameter ist die PlayerID, die für manche Effekte erforderlich ist.
    Ergibt also: Logic.CreateEffect(_EffectType, _posX, _posY, _PlayerID)

    2. Einige Effekte bleiben nach dem Aufruf ja dauerhaft stehen. Wie kann man sie wieder abschalten?
    Die Funktion Logic.CreateEffect() gibt die ID des erzeugten Effekts zurück:
    EffectID = Logic.CreateEffect()
    Mittels dieser kann man den Effekt per Logic.DestroyEffect(EffectID) wieder beenden.

    3. Wenn ich einen Effekt mehrfach im Abstand von sagen wir mal einer zehntel Sekunde auslösen will, wie kann ich das im Script bewerkstelligen?
    Hier sind ggf. "Jobs" hilfreich (SimpleJob und SimpleHiResJob).

    Gruß
    Gunther
    ___________________________


    ___________________________

  3. #3
    Schmied
    Registriert seit
    11.10.2008
    Beiträge
    491

    Standard AW: Fragen zu Logic.CreateEffekt

    Code:
    local effectID = Logic.CreatEffect(_Effect, _x, _y, _PlayerID)
    Logic.DestroyEffect(effectID)
     
     
    EffectTable = {}
    function HiSpeedEffect()
        EffectCounter = (not EffectCounter and 0) or EffectCounter +1
        table.insert(EffectTable, Logic.CreateEffect(TollerEffekt, x, y, PlayerId))
        return EffectCounter == WieOft
    end
     
    function KillHiSpeedEffect()
        for i = 1, #EffectTable do
            Logic.DestroyEffect(EffectTable[i])
        end
        EffectTable = {}
    end
    Aufruf mit StartSimpleHiResJob("HiSpeedEffect")

    Bei Bedarf mit
    KillHiSpeedEffect()
    zerstören

    Und natürlich TollerEffekt, x, y, PlayerId, WieOft durch sinnvolle Werte ersetzen.

    plus bitte die Tips von Gunther beachten, verstehen und befolgen ;-)
    Britta
    Geändert von Old McDonald (31.10.2008 um 11:49 Uhr) Grund: Fehler behoben ;)

  4. #4
    Bauarbeiter
    Registriert seit
    07.10.2008
    Ort
    Duisburg
    Beiträge
    60

    Daumen hoch AW: Fragen zu Logic.CreateEffekt

    Danke euch beiden.
    Ihr wart wie immer sehr hilfreich

    Gruß
    Dirk


LinkBacks (?)

  1. Hits: 14
    19.05.2009, 07:04

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

Ähnliche Themen

  1. Logic.RotateEntity()
    Von Sokrates im Forum Siedler 6 AeK Mapperecke
    Antworten: 12
    Letzter Beitrag: 06.01.2009, 22:41
  2. Logic.GetPlayerEntitiesInArea
    Von Sokrates im Forum S6 Scriptecke
    Antworten: 3
    Letzter Beitrag: 14.10.2008, 13:08
  3. Logic.UpgradeBuilding(Logic.GetStoreHouse(1), 1)
    Von Sokrates im Forum Siedler 6 AeK Mapperecke
    Antworten: 1
    Letzter Beitrag: 05.10.2008, 15:32
  4. Logic.GetEntitiesOfCategoryInTerritory
    Von saladin im Forum S6 Scriptecke
    Antworten: 11
    Letzter Beitrag: 15.06.2008, 10:47
  5. Logic.UpdateBlocking()
    Von saladin im Forum S6 Scriptecke
    Antworten: 7
    Letzter Beitrag: 03.06.2008, 16:23

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein