DOWNLOAD MODS
Are you looking for something shiny for your load order? We have many exclusive mods and resources you won't find anywhere else. Start your search now...
-
Posts
292 -
Joined
-
Last visited
-
Days Won
2
Content Type
Profiles
Forums
Downloads
Tutorials
Gallery
Store
Events
Posts posted by KWITS
-
-
That is interesting since I just developed a trigger zone script that will bring down the ceiling with a fireball target spell.
-
How precisely, does the function GetSecondsPassed really work anyway?
-
Here is another scripted version but still no positive results. This should work.
scn WaVHauntedHallowsSCRIPT
Float Timer
Begin OnActivate Player
If ( GetStage WaVRescueMissionQuest == 40 )
WaVHHCollisionBox02Ref.Enable
WaVHHPortalBarrier02Ref.Enable
set timer to timer + GetSecondsPassed
if ( timer == 2 ) && ( timer < 14 )
messageBox "Hault intruder, put down your weapon! There is no way out of this tomb but through me!"
endif
if timer == 27
messageBox "After two thousand years, you have managed to defeat my elite guard who swore on their death to avenge my betrayal!"
endif
if timer == 39
messageBox "You defeated one of my brothers. You knew him as Umaril but you will not find what you seek beyond this conversation."
endif
if timer == 51
messageBox "Before you, down the path behind me, was one of the greatest cities of Ayleid in the Golden Age of our Empire."
endif
if timer == 75
messageBox "Now my home is nothing more than a sunken ruin, forgetten in the ages of time. Umaril conspired with Lord Dread and betrayed the Ayleid Nation."
endif
if timer == 87
messageBox "It is here you must journey for to free yourself, you must first free my spirit and give me peace."
endif
if timer == 99
messageBox "Something precious, something that once was my source of power was taken from me by the minions of the Void."
endif
if timer == 111
messageBox "You will be searching for a soul crystal. Only with this object, will you find freedom for this accursed place."
endif
if timer == 123
messageBox "I see your doubts so someone who you know told me this, 'remember the Lady'. I a made a deal with her to save my soul from Umaril's fate."
endif
if timer == 135
messageBox "I will now allow you and you alone to pass. I will be awaiting your return. Evil greater than I dwells within deep."
endif
if timer == 150
playSound3D AMBEnchantmentBreakFinal
WaVHHCollisionBox02Ref.Disable
WaVHHPortalBarrier02Ref.Disable
WaVHHCollisionBox01Ref.Disable
WaVHHPortalBarrier01Ref.Disable
endif
Endif
End
-
Good Day,
I have an innovative idea but putting it into practice is entirely, another matter. I can't get my Player to trigger a message response through a triggerzone. Why am I using a triggerzone for a NPC? My scenario is with a creature that by design, has no dialogue. Here is the script. Please help me to debug it.
scn WaVHauntedHallowsSCRIPT
Float Timer
Begin OnActivate
If ( GetStage WaVRescueMissionQuest == 40 ) && ( IsActionRef Player )
WaVHHCollisionBox02Ref.Enable
WaVHHPortalBarrier02Ref.Enable
set timer to timer + GetSecondsPassed
if timer >= 2
messageBox "Hault intruder, put down your weapon! There is no way out of this tomb but through me!"
endif
if timer == 8
messageBox "After two thousand years, you have managed to defeat my elite guard who swore on their death to avenge my betrayal!"
endif
if timer == 16
messageBox "You defeated one of my brothers. You knew him as Umaril but you will not find what you seek beyond this conversation."
endif
if timer == 20
messageBox "Before you, down the path behind me, was one of the greatest cities of Ayleid in the Golden Age of our Empire."
endif
if timer == 24
messageBox "Now my home is nothing more than a sunken ruin, forgetten in the ages of time. Umaril conspired with Lord Dread and betrayed the Ayleid Nation."
endif
if timer == 28
messageBox "It is here you must journey for to free yourself, you must first free my spirit and give me peace."
endif
if timer == 32
messageBox "Something precious, something that once was my source of power was taken from me by the minions of the Void."
endif
if timer == 36
messageBox "You will be searching for a soul crystal. Only with this object, will you find freedom for this accursed place."
endif
if timer == 40
messageBox "I see your doubts so someone who you know told me this, 'remember the Lady'. I a made a deal with her to save my soul from Umaril's fate."
endif
if timer == 44
messageBox "I will now allow you and you alone to pass. I will be awaiting your return. Evil greater than I dwells within deep."
endif
if timer == 60
playSound3D AMBEnchantmentBreakFinal
WaVHHCollisionBox02Ref.Disable
WaVHHPortalBarrier02Ref.Disable
WaVHHCollisionBox01Ref.Disable
WaVHHPortalBarrier01Ref.Disable
endif
Endif
End
-
Thank you so much for your suggestions. The GhostEffect spell and script work great under my mod scenario. Now I am working on a timer script that will activate when the Player approaches the main boss creature that also has the GhostEffect applied. This timer script will use GetSecondsPassed to trigger a series of timed messages. I am still trying to get it to launch.
-
Good Day,
I know how to script for any NPC a fader setting and a Ghost Effect. However, by scripting this solution for a NPC to behave like an Undead creature, it is impossible to kill them. Is there a way around this problem?
Cheers!
KWITS
-
Finally I was able to punch a hole in that darn wall!
-
Okay, first of all thanks for all of your suggestions but in the end, I can't export any longer a stable NIF from Blender after choosing the alternate collision method.
-
-
But how did you select the section. Did you use the box function?
-
Do you use the Knife function in Blender to remove a section of vertices? If so, which option? There is an option for multicut.
-
How do I attach a screenshot within this forum discussion?
-
Please export prisoncell02 from its mesh BSA file and then import it into Blender and then export it back out to see the results from your end.
-
Strange, I just did everything you recommended, added my own collision box and I can still walk my player through every wall. What is happening?
-
It is a known issue in Blender v2.49b that when you import a NIF and then make a modification to the end of exporting the saved Blender file back to NIF format, that the collision box or boxes are removed. Can you verify this assumption from your experience? The method I choose to create a collision box is listed below.
1. Go into Edit mode
2. Choose Scripts
3. Choose Mesh
4. Choose Hull
5. Choose Box
Cheers!
KWITS
-
Thank you for your help and quick response. I will investigate my collision issues further while referencing your instructions.
-
Yes, that is right. I want to make a hole in a wall just larger enough for the Player to pass through. However, when I delete the edges and faces for the wall in question, this removal process attaches itself to the other wall on the opposite side.
-
Good Day,
I am still a novice with Blender v2.49b modification of TESIV vanilla imports. Therefore I have a question which I am sure that someone on this great website has the skill set to answer. Okay, I imported a NIF object referenced as prisoncell02. What I want to accomplish should be simple, punch a hole through a stone wall for the Player to enter secretly and export back the results to NIF format within Blender. Evidently, this exportation process removes all collisions from each of the 4 walls of the prison cell including the ceiling and the floor. While I know how to create a new collision box around the whole structure, I still don't know how to open a section of a wall by removing the vertices without removing the the corresponding section on the other side of the cell. Please provide a list of procedural steps on the best practice to accomplish this task. In the meantime, I will be viewing more Blender videos.
Cheers!
KWITS
-
Here is a bug-fixed version of my door script:
scn WaVHauntedHallowsPortalSCRIPT
ref mySelf
Begin OnMagicEffectHit DSPL
If ( GetStage WaVRescueMissionQuest == 30)
Set mySelf to Getself
endif
End
Begin onActivate Player
If ( GetStage WaVRescueMissionQuest == 30 ) && ( WaVHauntedHallowsDoorRef.GetLocked == 1 )
messageBox "You find an ancient portal, sealed magically. With your journey at a dead end, there is no other passage before you but are the dangers within greater than the guards beyind you?"
ElseIf ( WaVHauntedHallowsDoorRef.IsMagicEffectOnTargetAllowed DSPL == 1 ) && ( WaVHauntedHallowsDoorRef.GetLocked == 0 )
playSound3D AMBEnchantmentBreakFinal
Activate
Endif
End
-
I discovered that I had to create a duplicate door on the other side for teleport to occur. So when debugging this code under the console, I was able to trigger entry by typing "activate". Of course I want this process to be automatic. My Player is using a staff with a dispel target spell employed; this same staff will unlock the locked portal. Therefore to gain entry, the Player has to first, magically unlock the spell and then use a target spell for dispel.
-
I want the player to use magic to activate a door to unlock and open it. Here is another version:
scn WaVHauntedHallowsPortalSCRIPT
Begin OnMagicEffectHit DSPL
If ( GetStage WaVRescueMissionQuest == 30)
endif
End
Begin onActivate Player
If ( GetStage WaVRescueMissionQuest == 30 ) && ( WaVHauntedHallowsDoorRef.GetLocked == 0 )
messageBox "You find an ancient portal, sealed magically. With your journey at a dead end, there is no other passage before you but are the dangers within greater than the guards beyind you?"
ElseIf ( WaVHauntedHallowsDoorRef.IsMagicEffectOnTargetAllowed DSPL == 1 ) && ( WaVHauntedHallowsDoorRef.GetLocked == 0 )
playSound3D AMBEnchantmentBreakFinal
Else
Activate
Endif
End
-
I have experiencing an issue with executing the following script. I am trying to activate a door.
scn WaVHauntedHallowsPortalSCRIPT
Begin onActivate Player
If ( GetStage WaVRescueMissionQuest == 30 ) && ( WaVHauntedHallowsDoorRef.GetLocked == 1 )
messageBox "You find an ancient portal, sealed magically. With your journey at a dead end, there is no other passage before you but are the dangers within greater than the guards beyind you?"
ElseIf ( WaVHauntedHallowsDoorRef.GetLocked == 0 )
playSound3D AMBEnchantmentBreakFinal
Else
Activate
Endif
End
-
Under my scenario, things aren't that different. When the Player's health is very low or the Player's death is imminent, there is a spell that will teleport (move) the Player to a safe haven for rest and healing. However, under my attempt to change things around, the spell when cast locks up the game. Here is my modified script:
scn WaVParadiseProtectionSCRIPT
float playerhealth
float currenthealth
;float higherhealth
short CheckHealth
short doOnce
;float timer
float fquestdelaytime
short spellrunning
short getout
;short moveback
;short castonce
Begin GameMode
if ( doOnce == 0 )
set fquestdelaytime to 0.5
set doOnce to 1
endif
;this section sets the player's baseline health whenever he enters Paradise Island to be used to measure the percentage of the player's heal that has been lost
if ( CheckHealth == 0 )
if ( player.GetinWorldSpace WaV == 1 )
set playerhealth to player.GetAV health
set CheckHealth to 1
endif
endif
if ( CheckHealth == 1 )
if ( player.GetAV Health > playerhealth )
set playerhealth to player.GetAV Health
endif
if ( player.GetinWorldSpace WaV == 0 )
set CheckHealth to 0
endif
endif
;this section checks the player's currenthealth versus the most recent baseline health and it resurrects if the player manages to get health to zero
if ( spellrunning == 1 ) && ( player.GetinWorldSpace WaV == 1 )
set currenthealth to Player.GetAV health
if ( player.getav health < 0 )
player.resurrect
endif
if ( currenthealth <= ( playerhealth * 0.20 ) )
set getout to 1
endif
endif
;this section moves the marker to the Lady's original position
if ( getout == 1 )
set getout to 2
DisablePlayerControls
Player.MoveTo WaVLadyMarkerRef
endif
End
-
Good Day,
I would like to reverse engineer the TESIV script that belongs to the Shivering Isles plug-in. This is what I have learned so far. There is a Script Effect spell called SE14RezSpell that calls the script, "SE14RezSpellScript". It is apparent that this script has a dependency with "SE14ProtectionScript". Each respective script is listed below. Notice how some of the variables are shared among the two scripts. My question is, how do all of the working pieces accomplish the single goal in teleporting the player to New Sheoth Palace?
scn SE14RezSpellScript Begin ScriptEffectStart set SE14Rez.spellrunning to 0 if ( player.GetinCell SEVitharnBailey == 1 ) || ( player.GetinCell XPVitharn == 1 ) Message "Your power will not work in this location." elseif ( GetPlayerinSEWorld == 0 ) Message "That spell may only be used in the Shivering Isles." else set SE14Rez.spellrunning to 1 endif End Begin ScriptEffectUpdate if ( GetPlayerinSEWorld == 0 ) || SE14Rez.spellrunning == 0 dispel SE14RezSpell endif End Begin ScriptEffectFinish set SE14Rez.spellrunning to 0 End ;<CSEBlock> ;<CSECaretPos> 0 </CSECaretPos> ;</CSEBlock>
scn SE14ProtectionScript float playerhealth float currenthealth float higherhealth short CheckHealth short doOnce float timer float fquestdelaytime short spellrunning short getout short moveback short castonce Begin GameMode if ( doOnce == 0 ) set fquestdelaytime to 0.5 set doOnce to 1 endif ;this section sets the player's baseline health whenever he enters the throne room to be used to measure the percentage of the player's heal that has been lost if ( CheckHealth == 0 ) if ( player.GetInCell SENSCastleSheogorath == 1 ) set playerhealth to player.GetAV health set CheckHealth to 1 endif endif if ( CheckHealth == 1 ) if ( player.GetAV Health > playerhealth ) set playerhealth to player.GetAV Health endif if ( player.GetInCell SENSCastleSheogorath == 0 ) set CheckHealth to 0 endif endif ;this section checks the player's currenthealth versus the most recent baseline health and it resurrects if the player manages to get health to zero if ( spellrunning == 1 ) && ( GetPlayerInSEWorld == 1 ) set currenthealth to Player.GetAV health if ( player.getav health < 0 ) player.resurrect endif if ( currenthealth <= ( playerhealth * 0.20 ) ) set getout to 1 endif endif ;this section moves the marker to the player's original position and moves the player to the castle if ( getout == 1 ) SE14RezMarker.MoveTo Player set getout to 2 DisablePlayerControls SE14HealerREF1.MoveTo SE14EntertainerMarker1 SEHaskillREF.MoveTo SE07AThadonMarker endif if ( getout == 2 ) set getout to 3 player.MoveTo SE14RezMarker2 endif ;this section has the healer heal the player with a spell. a heal spell. on the player. if ( getout == 3 ) && ( player.GetDistance SE14HealerREF1 <= 1000 ) set timer to ( timer + GetSecondsPassed ) if ( timer >= 2 ) SE14HealerREF1.Cast SE14HealSpell Player set getout to 4 set timer to 0 endif endif ;this has Haskill give the player the choice to return to the spot of near death or to stay in castle if ( getout == 4 ) set timer to ( timer + GetSecondsPassed ) if ( timer >= 6 ) SEHaskillREF.StartConversation Player set getout to 5 set timer to 0 endif endif ;this moves the player back to spot where he almost died, if the player has chosen to go back if ( moveback == 1 ) set timer to ( timer + GetSecondsPassed ) if ( timer >= 2 ) && ( castonce == 0 ) SEHaskillREF.Cast StandardRestoreHealth1Novice SEHaskillREF set castonce to 1 elseif ( timer >= 4 ) set moveback to 0 player.MoveTo SE14RezMarker set castonce to 0 set timer to 0 endif endif End
[OB] Using Triggerzone to invoke messageBox
in Oblivion Mods
Posted
The trigger zone will only activate if a specific magic effect is used.
scn WaVICDarkPrisonTrigZoneANY02SCRIPT
; Activates linked Parent object once
; Any object will activate this (arrows, havok objects)
short triggered
ref target
ref mySelf
Begin OnMagicEffectHit FIDG
If ( GetStage WaVRescueMissionQuest == 30 )
Set triggered to 0
Endif
End
begin onTrigger
if triggered == 0 && ( GetStage WaVRescueMissionQuest == 30 )
WaVDarkPrisonGuard06Ref.Enable
WaVDarkPrisonGuard07Ref.Enable
set target to getParentRef
set mySelf to getSelf
target.activate mySelf 1
If ( WaVICDarkPrisonTrigZoneObject02Ref.IsMagicEffectOnTargetAllowed FIDG == 1 )
set triggered to 1
Endif
Endif
end
begin onReset
set triggered to 0
end