Ergebnis 1 bis 20 von 36

Thema: G.E.C.K. Tutorial - Einführung in das Skripten

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    learning bei doing - gefällt mir.

    Vielleicht sollte ich etwas konkreter werden. Im Gespräch mit einen Npc wird ein Zufallsgenerator ausgelöst (der funktioniert auch), und ja nadem wie er ausfällt soll das Gespräch eine andere Wendenung nehmen.

    Ich schreibe das Script in gekürzter Form mal hierein.

    if GetRandomPercent >= 48.6486486
    -> HIER SOLL DAS GESPRÄCH MIT DEM TOPIC ABC FORTFAHREN
    else -> HIER SOLL DAS GESPRÄCH MIT DEM TOPIC XYZ FORTFAHREN
    endif

    Ist das möglich? Ansonsten mache ich das über "ShowMessage", aber die Lösung über das Gespräch gefällt mir besser.

    mfg

    Geändert von Marduk (19.02.2009 um 13:01 Uhr)

  2. #2
    Zitat Zitat von Marduk Beitrag anzeigen
    learning bei doing - gefällt mir.

    ich weiss ich bin ain ar***, aber nur das ist der wahre weg des lernens.


    aber mal wieder zu deinem prob.

    ich bin mir nicht sicher, aber addtopic könnte weiterhelfen:

    Code:
    if GetRandomPercent >= 48.6486486
    questblablabla.addtopic blablabla1
    else questblablabla.addtopic blablabla2
    endif
    oder ein wert den du über die conditions in der jeweiligen topic abfragst.

  3. #3
    Ah danke,

    also, über "addtopic" schein das nicht zu funktionieren.

    Was meinst du denn damit: "oder ein wert den du über die conditions in der jeweiligen topic abfragst."?

    mfg

  4. #4
    Du kannst auch 2 Queststages machen und bei deinem Percentwert eben auf diese Queststage setzen die da sein soll, und bei dieser Queststage soll der Actor den Player mit dem Topic aktivieren. Hoffe du verstehst das xD

  5. #5
    Zitat Zitat von SirTroy Beitrag anzeigen
    Du kannst auch 2 Queststages machen und bei deinem Percentwert eben auf diese Queststage setzen die da sein soll, und bei dieser Queststage soll der Actor den Player mit dem Topic aktivieren. Hoffe du verstehst das xD
    Ähhhhh.... danke,

    könnte ich ein Beispiel bekommen?

    mfg

  6. #6
    uff....
    Pass auf
    Code:
    If Percentwert == 48
    set Queststage to 50
    endif
    Bei deinem NPC machst du nun bei der AI ein Find Packages auf den Player.
    Die Condition ist GetStage QuestID == 50.
    Und bei der Quest machst du jetz dein Topic und als Condition beim Topic auch GetStage QuestID 50 und natürlich GetIsID NpcREF.

    Und eben dasselbe nochmal mit Percentwert == 60 oda so.

  7. #7

    Example Script von GECK WIKI

    ScriptName LightSwitchScript

    ref light ;der name "light" hat der eine bedeutung oder ist er frei erfunden?

    Begin OnActivate
    if light == 0 ;wenn die Variable light 0 ist? was ist damit gemeint, unten steht doch schon enable oder disable, ist das der Anfangswert? also wenn das Licht = 0? dann ensteht erst der Bezug zu dem Lichteffekt?
    set light to GetLinkedRef
    endif

    if light.GetDisabled ;also, wenn das light ausgeschaltet wird (ist "light" immer noch die Variable?), dann wird das "light" eingeschaltet, sonst wird es ausgeschaltet?
    light.Enable
    else
    light.Disable
    endif
    Activate
    End

    Geändert von Shatra (16.03.2009 um 16:47 Uhr)

  8. #8
    1.Er ist frei erfunden...

    2.Eine Variable oder Ref hat immer den Anfangswert 0

    3.Nein wenn das Licht beim Aktivieren ausgeschaltet ist, wird es aktiviert, ansonsten wird das licht dann ausgeschaltet, also Disabled.

  9. #9
    es Funktioniert nicht, Die Objekte sind Lichter keine Lampen

    ScriptName LightSwitchVTCT01
    ref light

    Begin OnActivate
    if light == 0
    set light to [VTCTMaHaLi01]GetLinkedRef
    set light to [VTCTMaHaLi02]GetLinkedRef
    set light to [VTCTMaHaLi03]GetLinkedRef
    set light to [VTCTMaHaLi04]GetLinkedRef
    set light to [VTCTMaHaLi05]GetLinkedRef
    set light to [VTCTMaHaLi06]GetLinkedRef
    endif

    if light.GetDisabled
    light.Enable
    else
    light.Disable
    endif
    Activate
    End

    Geändert von Shatra (16.03.2009 um 18:51 Uhr)

  10. #10
    Und was genau möchtest du jetzt? o_O
    Und btw:
    Du kannst einer Ref nicht mehr als 1 Funktion oder ähnliches zuweisen.
    Du müsstest also 6 Refs machen in deinem fall.

  11. #11
    Ich möchte mit einem Schalter/Activator 6 Lichter in einem Raum deaktivieren.
    Nachdem ich die Klammern vor und hinter den Referencen zu den Lichtern gelöscht und eben einen Punkt zwischen reference und getlinkedref gesetzt hab passiert jetzt auch was. Mein Schalter verschwindet nachdem ich ihn aktiviere

    Begin OnActivate
    if light == 0
    set light to VTCTMaHaLi01.GetLinkedRef
    endif

    if light.GetDisabled
    light.Enable
    else
    light.Disable
    endif
    Activate
    End


    Begin OnActivate
    if light == 0
    set light to VTCTMaHaLi02.GetLinkedRef
    endif

    if light.GetDisabled
    light.Enable
    else
    light.Disable
    endif
    Activate
    End

    So in etwa?

    Geändert von Shatra (16.03.2009 um 19:27 Uhr)

  12. #12

    Sethx Gast

    Geändert von Sethx (27.05.2009 um 13:59 Uhr)

  13. #13
    also das hier:

    Code:
    scn SilberModBossTeleportScript
    
    Begin OnDeath
    
    if SilberModTestPupped02.GetDead == 1
    	SilberModGuardian01.MoveTo SilberModSpawnPoint01
    else
    endif
    
    End
    Funktioniert irgendwie nicht. Guardian steht schon auf dem XMarker bevor die Testpuppe tot is. also genaugenommen steht der schon da, wenn ich den raum betrete.

    EDIT: Oh, der stand schon da, weil der noch keinen Navmesh in seiner Kammer hatte. Jetzt hat der einen und ehm ja.. jetzt bleibt der auch bequem in seiner Kammer und kommt da garnicht mehr raus.

    in der Geck Referenz hab ich keine Funktion gefunden die einen NPC/Monster Spawnen lässt. Von daher steht der Guardian in einer kleinen kammer die nicht erreicht werden kann vom Spieler. Gibts da ne sinnigere lösung oder muss ich wirklich eine Kammer für 1000 NPC´s schaffen die dann alle irgendwann mal irgentwo auftauchen sollen wenn das Skript das befiehlt.

    Ich dachte da an sowas wie "

    Code:
    ref SpawningPupped
    Set SpawniingPupped to SilberModEinTollerGegner
    If XXX.GetDead == 1
       AppearReferenceFromLibraryToLocation.SpawningPupped
      endif
    sprich das der sich was aus den objekten zieht die es gibt in der Mod. Auch wen diese noch nicht Manuell irgendwo inGame plaziert sind.

    Geändert von SilberWolf (04.04.2009 um 00:27 Uhr)

Berechtigungen

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