Script Problem

Quad2Core

Abenteurer
Ich bräuchte hilfe bei dem folgendem script:
Code:
Scriptname TestLockReq2 extends ObjectReference  
    
int Function GetLockLevel() native
Event OnActivate(ObjectReference akActionRef)
If  GetLockLevel == 75
    If (Game.GetPlayer() .GetActorValue ("Lockpicking") < 75)
        SetLockLevel(255)
        Debug.MessageBox("You need lockpick skill 75 to open")
    elseif (Game.GetPlayer() .GetActorValue ("Lockpicking") >= 75)
        SetLockLevel(75)
    endif
elseif GetLockLevel == 100
    If (Game.GetPlayer() .GetActorValue ("Lockpicking") < 100)
        SetLockLevel(255)
        Debug.MessageBox("You need lockpick skill 100 to open")
    elseif (Game.GetPlayer() .GetActorValue ("Lockpicking") >= 100)
        SetLockLevel(100)
    endif 
endif
endEvent
Ich bin halt noch ein anfänger was das scripten an geht aber ich denke bzw hoffe man sieht wenigstens worauf ich hinaus will.^^ Wäre sehr nett wenn sich jemand die zeit nehmen würde und mir bei dem script weiter helfen könnte.
 
öhm... okay ich sehe soweit nur, dass dort ein schloss geändert wird 0ô im endeffekt versteh ist dort aber einiges doppelt gemoppelt. Was solls denn im endeffekt sein?
 
Also.
Code:
If (Game.GetPlayer() .GetActorValue ("Lockpicking") < 75)
        SetLockLevel(255)
        Debug.MessageBox("You need lockpick skill 75 to open")
    elseif (Game.GetPlayer() .GetActorValue ("Lockpicking") >= 75)
        SetLockLevel(75)
    endif
Bewirkt, das schlößer der expertenstufe (locklevel 75 bewirkt das) nun auch den lockpick skill von 75 vorrausetzen hat der spieler diesen nicht wird das schloß auf unmöglich gestezt und die nachricht "You need lockpick skill 75 to open" erscheint. Im gegen zug wird wenn der spiele denn ensprechenden skill hat das schloss wieder zurück gesetzt. Dies funktuniert bisher recht gut, aber das problem ist halt das ich es noch nicht hingekriegt habe, das das ganze sich eben nur auf schlösser der experten stufe bezieht.
Code:
If (Game.GetPlayer() .GetActorValue ("Lockpicking") < 100)
        SetLockLevel(255)
        Debug.MessageBox("You need lockpick skill 100 to open")
    elseif (Game.GetPlayer() .GetActorValue ("Lockpicking") >= 100)
        SetLockLevel(100)
    endif
Bewirkt das gleiche wie oben nur eben auf master locks und die restlichen zeilen sind wahrscheinlich alle nonesense :/
 
Zuletzt bearbeitet:
Gehört zwar in den Scriptthread, aber egal.

Code:
Scriptname <Scriptname> extends ObjectReference

Event OnLoad()

blockactivation()

EndEvent

Event OnActivate(ObjectReference actionRef)

int locklevel = getlocklevel()

if(game.getplayer().getactorvalue("Lockpicking") < locklevel)
    debug.messagebox("You need lockpick skill " + locklevel + " to open!")
    return
else
    blockactivation(false)
    activate()
endif

EndEvent
 
  • Like
Reaktionen: Quad2Core
Vielen vielen dank!
Und sorry das ich's nicht in scriptthread geposted hab :x habs einfach nicht gesehen