Construction Set Skriptthread zum Construction Set

Weil dann genau das passieren würde, was anscheinend passiert...

Poste sonst mal das Skript so, wie du es im CS speicherst, ohne Veränderungen nur die message vielleicht, wenn dort etwas steht, was nicht jeder wissen sollte... ;) :roll:
 
Okay, hier der Script:)
Code:
scn 00diwronscript1

begin onTrigger player

PlaySound ENDAmuletActivate
message "Es geht sehr tief hinab. Ihr solltet aufpassen, dass ihr nicht nochmal hinunterfallt. "     
        TriggerHitShader
        player.moveto "scripthochtele"

End
 
Ich meine nachdem ich reingesprungen bin Teleport er immer wieder und das sieht immer aus als wenn das Spielabgestürzt ist, also immer Schatz...Bild...Scharz.... Bild usw.
*Grummel*
Er soll mich aber immer nur hochteleportieren wenn ich in die Triggerbox springen sonst nicht.

Kann es sein das dies ca. alle 15 Sekunden passiert oder passiert es im Sekundentakt ? :?
Bei dem Befehl player.moveto kann es manchmal sein, das er sich alle 15 Sekunden nach dem er zum ersten mal genutzt wurde wiederholt.
Also musst du eine Variable einbauen damit es nur einmal passiert.

Mfg Master of Worlds
 
Ich habe es jetzt geschafft, dass das Boot hinter dem Spieler hergezogen wird. Sieht sogar relativ ansehnlich aus. Wenn ich das Boot dann aber wieder "loslasse" und nicht mehr ziehe, ist zwar das Boot - offenbar nur die Textur - am neuen Ort, aber die Collision-Meshes, das, was man aktivieren kann und das, auf dem der Spieler steht, damit er nicht ins Wasser fällt, ist - unsichtbar - noch da, wo es war. Sieht so aus, als wenn ich nur die Textur hinter mir herziehen würde.

Ich schätze mal, damit das Spiel merkt, dass das Boot an einem neuen Ort ist, muss die Zelle neu geladen werden. Der Originalscript des Boots benutzt dazu eine Dummy-Cell, in die der Spieler teleportiert wird, sobald er nach der Fahrt den Anker setzt. Der Spieler wird dabei in die Dummy-Cell teleportiert und sofort wieder zurückgebracht, beim Spielen sieht man dabei kurz einen schwarzen Bildschirm, mehr nicht.

Wenn ich das aber versuche stürzt entweder das Spiel ab oder es funktioniert gar nicht. Gibt es irgendeine andere Möglichkeit, die Zelle neu zu laden?
 
ich hab auch mal wieder ein script prob.
Wenn ich einen npc treffe während icjh schleiche und noch ein paar anderen bedingungen (siehe script).
Das problem ist leider das nichts passiert wenn ich den Npc treffe(bloß das er alarm schlägt)

Code:
SCN MEUCHELN12
    

ref target

begin scripteffectstart

set target to getself 

if player.GetActorValue sneak >=80 && player.GetForceSneak == 1 && player.getactorvalue agility >= 50 target.kill
endif
if player.getav sneak >= 50 && player.getforcesneak == 1 && target.sleep == 1
target.kill
endif
end scripteffecktstart

@ fellan. Ich vermute du ziehst nur das boot hinter dir her die türen etc. bleiben dann natürliuch am selben ort da die nicht an das boot befesitigt sind

hoffe du verstehst mich.
 
Kann mir keiner helfen?

Hast du es denn schon ausprobiert wie Diarrhoe es gesagt hat und hast du meinen Post überlesen? :?

Kann es sein das dies ca. alle 15 Sekunden passiert oder passiert es im Sekundentakt ? :?
Bei dem Befehl player.moveto kann es manchmal sein, das er sich alle 15 Sekunden nach dem er zum ersten mal genutzt wurde wiederholt.
Also musst du eine Variable einbauen damit es nur einmal passiert.

Mfg Master of Worlds
 
Kann es sein das dies ca. alle 15 Sekunden passiert oder passiert es im Sekundentakt ? :?
Bei dem Befehl player.moveto kann es manchmal sein, das er sich alle 15 Sekunden nach dem er zum ersten mal genutzt wurde wiederholt.
Also musst du eine Variable einbauen damit es nur einmal passiert.

Mfg Master of Worlds
Den Post hab ich ja wirklich übersehn
Ja, das kan hinkommen welche Variable muss dort hin?
 
Das Boot ist nur eine kleine Nussschale, da gibt es keine Türen oder sonstiges. Das Problem mit den Collision-Meshes lässt sich relativ einfach lösen, indem man das Boot nach dem "ziehen" per "Disable" und danach sofort "Enable" neu laden lässt. Dann ist es zwar kurz weg, aber es geht ja nur darum, dass es funktioniert und nicht dass es gut aussieht. Animationen dafür habe ich ja sowieso nicht. Wenn ich dann aber wieder fahren will, wird der Spieler in die Dummy-Cell geworfen, und wenn er dann zurückkommt, ist das Boot wieder an der Stelle, an der es vor dem Ziehen war...vielleicht will sich ja jemand den Script anschauen und sieht, was da der Fehler ist.

Code:
ScriptName DMRowBoatScript

;merged aaGlobalRowBoatScript
;doesn't use Globals: float PlayerX, float PlayerY, float PlayerZ, float PlayerAngle,
;doesn't use Global: short BoatSkiffMove

float aPlayerX
float aPlayerY
float aPlayerZ
float aPlayerAngle

float bPlayerX
float bPlayerY
float bPlayerZ
float bPlayerAngle

float RowBoatX
float RowBoatY
float RowBoatZ
float RowBoatAngle
short RowBoatSpeed
short RowBoatInitialize
short RowBoatTurn
short RowBoatMenu
short RowBoatStartMove


float Diff
float Hemi
float FixAngle
float r
float r2
float d
float d2
float x
float y
ref newRef
short button = -2
ref AntiGravRef2
float TurnRate

short xBoatSkiffDeployed
short xBoatSkiffMove

short PCPosX
short PCPosY

float pos
float ang ;(the measure of the angle, first deg, then radians)
float ang2 ;(ang^2) Just for convenience. Could use ang*ang directly.
float ang4 ;(ang^4) Just for convenience. Could use ang*ang*ang*ang directly.
float sign ;sign correction
float sin ;(sine of the angle)
float cos ;(cosine of the angle)

short Pulling
short curKey
short sneakturn
short BoatIsMoving
short FirstRun
short diffcell

short FirstTime


Begin OnActivate
    if player.IsSneaking == 0
        if player.getitemcount Oar01 >= 1
            if (xBoatSkiffDeployed == 0)
                Set xBoatSkiffDeployed to 1
                Set xBoatSkiffMove to 99
                MessageBox "Es kann losgehen. Drücke deine Laufen-Taste (Standard: SHIFT), um in das Boot-Menü zu gelangen. Drücke deine Schleichen-Taste (Standard: STRG), um das Boot zu lenken. Drücke sie noch einmal, um in den normalen Modus zu wechseln. So kannst du beispielsweise Pfeile oder Zauber benutzen."
            else        
                Set xBoatSkiffMove to 1
                MessageBox "Es kann losgehen. Drücke deine Laufen-Taste (Standard: SHIFT), um in das Boot-Menü zu gelangen. Drücke deine Schleichen-Taste (Standard: STRG), um das Boot zu lenken. Drücke sie noch einmal, um in den normalen Modus zu wechseln. So kannst du beispielsweise Pfeile oder Zauber benutzen."
            endif
        else
            MessageBox "Wie wollt Ihr ohne Ruder rudern?"
            ;do nothing
        endif
    endif


;the following was made by Fellan (and the CSwiki), allowing the player to pull the boat behind him with an invisible
;rope in case it might run aground. also works with the large ships which might look unrealistic but is
;for practical purposes only! boat is simply being placed behind the player. unfortunately, it doesn't work by now.

    if player.IsSneaking == 1
        set Pulling to 1
        Messagebox "Du ziehst das Boot nun hinter dir her. Drücke die Greifen-Taste, um aufzuhören, das Boot zu ziehen!"
;    else
;            Set xBoatSkiffDeployed to 0
;            Set xBoatSkiffMove to 0
;    endif
    endif
End

begin GameMode

if ( Pulling == 1 )
    set sign to 1
    set ang to player.getAngle z
    if ang > 270
        set ang to ang - 360
    elseif ang > 90
        set ang to ang - 180
        set sign to -1
    endif
    set ang to 0.017453*ang 
    set ang2 to ang * ang
    set ang4 to ang2 * ang2
    set sin to sign*ang*(1 - 0.16605*ang2 + 0.00761*ang4)
    set cos to sign*(1 - 0.4967*ang2 + 0.03705*ang4)

    ;--Move it
    moveTo player 

    set pos to player.getPos x - 200*sin
    setPos x pos
    
    set pos to player.getPos y - 200*cos
    setPos y pos

    ;--Set angle of bed relative to PC heading
    set ang to player.getAngle z + 90
    setAngle x 0
    setAngle y 0
    setAngle z ang


    if ( curKey && isControlPressed curkey ) ; key still being held down
          return ; wait until it's released
        else
          set curkey to 0
    endif

    
    if ( isControlPressed 28 )
          ;disable and re-enable the reference in order to update solids
          set Pulling to 0
          disable
          enable
          disable
          enable
          set curKey to 28
    endif

endif






    if (xBoatSkiffDeployed == 0)
        if (AntiGravRef2 != 0)
            AntiGravRef2.disable
            Set RowBoatStartMove to 0
        endif
        Return
    endif

; moved below initial xboatskiffdeployed check
    if (RowBoatInitialize == 0)
        Set RowBoatInitialize to 1
        Set RowBoatAngle to GetAngle z
        Set RowBoatAngle to RowBoatAngle - 90
        if (RowBoatAngle < 0)
            Set RowBoatAngle to RowBoatAngle + 360
        elseif (RowBoatAngle >= 360)
            Set RowBoatAngle to RowBoatAngle - 360
        endif
        Set RowBoatX to GetPos x
        Set RowBoatY to GetPos y
;        Set RowBoatZ to GetPos z
;        fix the "run aground" problem with boat is activated for the very first time.
        Set RowBoatZ to 1        
    endif

    if (xBoatSkiffDeployed == 1)
        ; Places the boat flat
        SetPos z, 1

        SetAngle x, 0
        SetAngle y, 0
        Set xBoatSkiffDeployed to 2
    endif

    if (xBoatSkiffDeployed == 2)
        if (xBoatSkiffMove == 1)

            if (RowBoatStartMove == 0)
                set AntiGravRef2 to player.PlaceAtMe DMAntiGrav, 1, 0, 0
                AntiGravRef2.SetScale 1.0
                AntiGravRef2.SetRigidBodyMass 100
                Set RowBoatStartMove to 1
            endif

            if (RowBoatMenu == 1)
                set button to getbuttonpressed
                if (button == 1)
                    Set RowBoatSpeed to 0
                    set BoatIsMoving to 0
                    Set xBoatSkiffMove to -1
                elseif (button == 2)
                    Set RowBoatSpeed to 0
                    set BoatIsMoving to 0
                elseif (button == 3)
                    if player.getitemcount Oar01 < 2
                        message "Mit nur einem Ruder könnt ihr nur langsam rudern..."
                        Set RowBoatSpeed to 4
                        set BoatIsMoving to 1
                    elseif player.getitemcount Oar01 >= 2
                        Set RowBoatSpeed to 4
                        set BoatIsMoving to 1
                    endif
                elseif (button == 4)
                    if player.getitemcount Oar01 < 2
                        message "Mit nur einem Ruder könnt ihr nur langsam rudern..."
                        Set RowBoatSpeed to 4
                        set BoatIsMoving to 1
                    elseif player.getitemcount Oar01 >= 2
                        Set RowBoatSpeed to 10
                        set BoatIsMoving to 1
                    endif
                elseif (button == 5)
                    if player.getitemcount Oar01 < 2
                        message "Mit nur einem Ruder könnt ihr nur langsam rudern..."
                        Set RowBoatSpeed to 4
                        set BoatIsMoving to 1
                    elseif player.getitemcount Oar01 >= 2
                        Set RowBoatSpeed to 18
                        set BoatIsMoving to 1
                    endif
                elseif (button == 6)
                    if player.getitemcount Oar01 < 2
                        message "Mit nur einem Ruder könnt ihr nur langsam rudern..."
                        Set RowBoatSpeed to -4
                        set BoatIsMoving to 1
                    elseif player.getitemcount Oar01 >= 2
                        Set RowBoatSpeed to -10
                        set BoatIsMoving to 1
                    endif
                elseif (button == 7)
                    Set RowBoatTurn to 0
                endif
                Set button to -2
            endif
            if (player.IsRunning && RowBoatMenu == 0)
                Set RowBoatMenu to 1
                messagebox "Befehle?!", "Keine", "Anker werfen", "Stehenbleiben", "Langsam Rudern", "Rudern", "Schnell Rudern", "Rückwärts Rudern", "Kurs beibehalten"
            elseif (player.IsRunning != 1)
                Set RowBoatMenu to 0
            endif
            
            Set RowBoatX to GetPos x
            Set RowBoatY to GetPos y
            Set RowBoatZ to GetPos z            
        
            ;Determine which way to rotate and adjust angle
            Set aPlayerAngle to player.GetAngle z
            if (aPlayerAngle < 0)
                Set aPlayerAngle to aPlayerAngle + 360
            elseif (aPlayerAngle >= 360)
                Set aPlayerAngle to aPlayerAngle - 360
            endif
        endif
        endif

if BoatIsMoving == 1
if ( sneakturn == 0 )
    if ( player.IsSneaking == 1 )
      set RowBoatTurn to 1
      set sneakturn to 1
    endif
endif
endif

if BoatIsMoving == 1    
if ( sneakturn == 1 )
    if ( player.isSneaking == 0 )
      set RowBoatTurn to 0
      set sneakturn to 0
    endif
endif
endif

            If (RowBoatTurn == 1)
                Set Diff to aPlayerAngle - RowBoatAngle
                if (Diff > 1 ||  Diff < -1)
                    if (aPlayerAngle > 180)
                        Set Hemi to aPlayerAngle - 180
                    else
                        Set Hemi to aPlayerAngle + 180
                    endif
                    if (Hemi < 0)
                        Set Hemi to Hemi + 360
                    elseif (Hemi >= 360)
                        Set Hemi to Hemi - 360
                    endif
                    Set TurnRate to 2.0
                    if (aPlayerAngle > Hemi)
                        if (RowBoatAngle > Hemi && RowBoatAngle < aPlayerAngle)
                            Set RowBoatAngle to RowBoatAngle + TurnRate
                        else
                            Set RowBoatAngle to RowBoatAngle - TurnRate
                        endif
                    else
                        if (RowBoatAngle < Hemi && RowBoatAngle > aPlayerAngle)
                            Set RowBoatAngle to RowBoatAngle - TurnRate
                        else
                            Set RowBoatAngle to RowBoatAngle + TurnRate
                        endif                
                    endif
                endif
                if (RowBoatAngle < 0)
                    Set RowBoatAngle to RowBoatAngle + 360
                elseif (RowBoatAngle >= 360)
                    Set RowBoatAngle to RowBoatAngle - 360
                endif
            endif

        ;Adjust for model alignment
        Set FixAngle to RowBoatAngle + 90
        if (FixAngle < 0)
            Set FixAngle to FixAngle + 360
        elseif (FixAngle >= 360)
            Set FixAngle to FixAngle - 360
        endif

        ;Get degrees by quadrant
        if (FixAngle < 90)
            Set d to FixAngle            
        elseif (FixAngle < 180)
            Set d to FixAngle     - 90
        elseif (FixAngle < 270)
            Set d to FixAngle     - 180    
        else
            Set d to FixAngle     - 270
        endif        
        
        ;Get reverse in order to use sine for both offsets, improving accuracy
        Set d2 to 90 - d

        ;Calculate radians
        Set r to (d * 3.14159265) / 180
        Set r2 to (d2 * 3.14159265) / 180

        ;Calculate offsets with Taylor series expansion of sine
        Set x to r - ((r * r * r) / 6) + ((r * r * r * r * r) / 120) - ((r * r * r * r * r * r * r) / 5040)
        Set y to r2 - ((r2 * r2 * r2) / 6) + ((r2 * r2 * r2 * r2 * r2) / 120) - ((r2 * r2 * r2 * r2 * r2 * r2 * r2) / 5040)

        ;Multiply offsets to get new position
        if (FixAngle < 90)
            Set RowBoatX to RowBoatX - (y * RowBoatSpeed)
            Set RowBoatY to RowBoatY + (x * RowBoatSpeed)
        elseif (FixAngle < 180)
            Set RowBoatX to RowBoatX + (x * RowBoatSpeed)
            Set RowBoatY to RowBoatY + (y * RowBoatSpeed)
        elseif (FixAngle < 270)
            Set RowBoatX to RowBoatX + (y * RowBoatSpeed)
            Set RowBoatY to RowBoatY - (x * RowBoatSpeed)
        else
            Set RowBoatX to RowBoatX - (x * RowBoatSpeed)
            Set RowBoatY to RowBoatY - (y * RowBoatSpeed)
        endif        

        ;Move to offsets

        PositionWorld RowBoatX, RowBoatY, RowBoatZ, FixAngle, Tamriel

        SetPos x, RowBoatX
        SetPos y, RowBoatY
        SetPos z, 1
        SetAngle z, FixAngle
        
        if (xBoatSkiffMove == 1)
            if (player.GetPos z > 35)
                Message "Das Boot ist auf Grund gelaufen."
                Set RowBoatTurn to 0
;                PlaySound3D TRPMineExplode
                Set RowBoatSpeed to 0
            else
                Set aPlayerX to RowBoatX
                Set aPlayerY to RowBoatY
                player.SetPos x, aPlayerX
                player.SetPos y, aPlayerY
                Set aPlayerZ to 2
                player.SetPos z, aPlayerZ
                player.ResetFallDamageTimer
                if (AntiGravRef2 != 0)
                    AntiGravRef2.SetPos x, aPlayerX
                    AntiGravRef2.SetPos y, aPlayerY
                    AntiGravRef2.SetPos z, aPlayerZ
                endif
                if (RowBoatSpeed != 0)
;                    PlaySound3D FootSoundWater
                    PlaySound3D FSTWaterSwim
                endif
            endif
        endif

        if (xBoatSkiffMove == -1 || xBoatSkiffMove == 99)            
            if (xBoatSkiffMove == -1)
                Set xBoatSkiffMove to -2
            else
                Set xBoatSkiffMove to 98
                Set aPlayerX to player.GetPos x
                Set aPlayerY to player.GetPos y
                Set aPlayerZ to player.GetPos z
                ; To fix the "boat has run aground" bug on first run
                if (FirstTime == 0)
                    Set FirstTime to 1
                    Set aPlayerZ to 1
                endif
                Set aPlayerAngle to player.GetAngle z 
            endif
            DisablePlayerControls

            ;Move player temporarily to empty cell in order to force recalculation of solids
            player.PositionCell 0, 0, 0, 0, DMPlayerShipTemp
        endif

        if (xBoatSkiffMove == -2 || xBoatSkiffMove == 98)            
            EnablePlayerControls
            player.SetAngle z, aPlayerAngle
            if (xBoatSkiffMove == -2)
                Set xBoatSkiffMove to 0
                Set RowBoatTurn to 0

                ; Resets the boat deployment after the anchor is dropped to reduce script slowdown
                Set xBoatSkiffDeployed to 0

                player.PositionWorld aPlayerX, aPlayerY, aPlayerZ, aPlayerAngle, Tamriel

                if (AntiGravRef2 != 0)
                    AntiGravRef2.disable
                    Set RowBoatStartMove to 0
                endif
            else
;                Set xBoatSkiffMove to 0
                ; Automatically readies the boat to row after activating it
                Set xBoatSkiffMove to 1
                player.PositionWorld aPlayerX, aPlayerY, aPlayerZ, aPlayerAngle, Tamriel
            endif
            player.SetAngle z, aPlayerAngle
        endif


end

edit: Ich weiß nicht genau wie, aber indem ich einfach alles, was die X- und Y-Positionen des Bootes verändert mit einer Variable geblockt habe, die erst nach dem An- und Abschalten des Bootes und einer Übernahme der aktuellen X- und Y-Positionen wieder funktionieren, kann man das Boot nun endlich auch bewegen. Zwar ist es unrealistisch, dass man das Boot ohne Erschwernis auch auf Berge und überall hin mitnehmen kann, aber dafür ist es ja auch nicht gedacht.
 
Zuletzt bearbeitet:
Den Post hab ich ja wirklich übersehn
Ja, das kan hinkommen welche Variable muss dort hin?

Code:
scn 00diwronscript1

short init

begin onTrigger player
if init == 0

PlaySound ENDAmuletActivate
	Message "Es geht sehr tief hinab. Ihr solltet aufpassen, dass ihr nicht nochmal hinunterfallt. "     
		TriggerHitShader
		Set init to 1
		player.moveto [B]Marker-Ref[/B]
	endif
end

begin Gamemode
	if init == 1
		set init to 0
	endif
end

Ich habe es mal kurz selbst getest und bei mir hat es funktioniert, lediglich die Ref des Markers wohin der Spieler teleportiert wird musst du noch bearbeiten. :)

Mfg Master of Worlds
 
  • Like
Reaktionen: Jama
ich hab auch mal wieder ein script prob.
Wenn ich einen npc treffe während icjh schleiche und noch ein paar anderen bedingungen (siehe script).
Das problem ist leider das nichts passiert wenn ich den Npc treffe(bloß das er alarm schlägt)

Code:
SCN MEUCHELN12
    

ref target

begin scripteffectstart

set target to getself 

if player.GetActorValue sneak >=80 && player.GetForceSneak == 1 && player.getactorvalue agility >= 50 target.kill
endif
if player.getav sneak >= 50 && player.getforcesneak == 1 && target.sleep == 1
target.kill
endif
end scripteffecktstart

Probiers mal so:
Code:
scn name

ref target

Begin ScriptEffectStart
 set target to getSelf
 if player.getAV Sneak >= 80 && player.getAV Agility >= 50 && target.getSleeping == 3
  target.kill
 endif
end
 
Code:
scn 00diwronscript1

short init

begin onTrigger player
if init == 0

PlaySound ENDAmuletActivate
    Message "Es geht sehr tief hinab. Ihr solltet aufpassen, dass ihr nicht nochmal hinunterfallt. "     
        TriggerHitShader
        Set init to 1
        player.moveto [B]Marker-Ref[/B]
    endif
end

begin Gamemode
    if init == 1
        set init to 0
    endif
end
Ich habe es mal kurz selbst getest und bei mir hat es funktioniert, lediglich die Ref des Markers wohin der Spieler teleportiert wird musst du noch bearbeiten. :)

Mfg Master of Worlds

Danke dir, klappt wirklich alles perferkt:master:
 
Diarrhoe dein script hatte zwar ein par rechtschreibfehler und so hab se aber korriegiert und gespeichert ohne probleme! die Box öffnet sich auch ingame, jedoch werden mit nicht die steine entfernt/hinzugefügt. Das momentane Script sieht so aus:

Code:
 scn XFXWelkyndAmuletSCRIPT

short init
short button

Begin onEquip player
 if init == 0
  set init to 1
 endif
end

Begin onUnequip player
 set init to 0
end

Begin GameMode
 if init == 1
  set init to 2
  messagebox "bla", "Varlastein", "Welkyndstein", "abbrechen"
 elseif init == 2
  set button to getButtonPressed
  if button == 0
   if player.getItemCount WelkyndStone == 20
    player.removeItem WelkyndStone 20
    player.addItem VarlaStone 1
   else
    messagebox "Ihr habt nicht genug Welkynd-Steine"
   endif
  elseif button == 1
   if player.getItemCount VarlaStone == 4
    player.removeItem VarlaStone 4
    player.addItem XFXLevelgreatWelkynd 1
   else
    messagebox "Ihr habt nicht genug Varla-Steine"
   endif
  else
  endif
  set init to 3
 endif
end

recht hübsch :) aber leider kann ich so offt ich will auf die Button`s drücken es passiert nichts. weder wird der text angezeigt noch werden mit steine etfernt/hinzugefügt. Woran könnte das liegen? könnt mir bitte jemand antworten! :shock:
 
Guten Abend!
Ist es möglich die Augen-nifs. des Spielers per Script zu verändern und auch wieder zurückzuverwandeln?
Ich habe mich damit noch nie beschäftigt.
 
@Raistlin:
Habs mir nochmal angesehen...
Code:
 scn XFXWelkyndAmuletSCRIPT

short init
short button

Begin onEquip player
 if init == 0
  set init to 1
 endif
end

Begin onUnequip player
 set init to 0
end

Begin GameMode
 if init == 1
  set init to 2
  messagebox "bla", "Varlastein", "Welkyndstein", "abbrechen"
 elseif init == 2
  set button to getButtonPressed
  if button == 0
   if player.getItemCount WelkyndStone == 20
    player.removeItem WelkyndStone 20
    player.addItem VarlaStone 1
   else
    messagebox "Ihr habt nicht genug Welkynd-Steine"
   endif
   set init to 3
  elseif button == 1
   if player.getItemCount VarlaStone == 4
    player.removeItem VarlaStone 4
    player.addItem XFXLevelgreatWelkynd 1
   else
    messagebox "Ihr habt nicht genug Varla-Steine"
   endif
   set init to 3
  else
   set init to 3
  endif
 endif
end
Probier mal, obs so klappt. Habe das "set init to 3" jetzt mal umpositioniert...


@Essel:
Da könnte "setEyes" funktionieren. Du solltest aber die weiteren Informationen auf der Seite beachten. Außerdem benötigt der Befehl OBSE...
 
  • Like
Reaktionen: Essel
Vielen dank! Muss ich mal schaun ob ich da noch eine Alternative finde. Auf OBSE würde ich nämlich gerne verzichten.
EDIT: Lässt sich das nicht auch so wie beim Vampir machen?
EDIT2: Wäre toll wenn mir jemand erklären könnte wie genau das eigentlich beim Vampir funktioniert. Aus dem Script wurde ich leider nicht schlau, da ich keine besonderen Änderungen bei der Rasse des Spielers finden konnte.
 
Zuletzt bearbeitet: