Jump to content

I Need Help With A Script


erican_lord

Recommended Posts

Ok i Want To make Lowering Stairs For My Ayleid Home Mod but i was thinking that would be kind of hard cause they would have th be lowering spiral stairs and i cant find any anywhere, so since i cant fidn one i was gonnda have it work like this. You step on the activator trigger and a platform moves slowly down (like on a timer) (i dont care how fast it goes down i just dont want it to get to its position right away) revealing the spiral stairs. then they stay like that even after you enter the door to the house. it only opens and closes when u press a trigger switch that i named 00ayleidtrigger. 00Ayleid Trigger Lowers The Platform I Called 00AyleidPlatform. And I Want It To Lower From These Coordinates (coords r position coords only): X = 8275.8877 Y = 58672.9883

Z = -130.7862 ; To These Coordinates: X = 8275.8877 Y = 58672.9883 Z = -373.7862. Can Anyone Give Me The Script For This? Please ASAP Thanks!!

Link to comment
Share on other sites

Ok i Want To make Lowering Stairs For My Ayleid Home Mod but i was thinking that would be kind of hard cause they would have th be lowering spiral stairs and i cant find any anywhere, so since i cant fidn one i was gonnda have it work like this. You step on the activator trigger and a platform moves slowly down (like on a timer) (i dont care how fast it goes down i just dont want it to get to its position right away) revealing the spiral stairs. then they stay like that even after you enter the door to the house. it only opens and closes when u press a trigger switch that i named 00ayleidtrigger. 00Ayleid Trigger Lowers The Platform I Called 00AyleidPlatform. And I Want It To Lower From These Coordinates (coords r position coords only): X = 8275.8877 Y = 58672.9883

Z = -130.7862 ; To These Coordinates: X = 8275.8877 Y = 58672.9883 Z = -373.7862. Can Anyone Give Me The Script For This? Please ASAP Thanks!!

 

anyone?

Link to comment
Share on other sites

I don't know if it will help but you could look at the stairs that lower in Ayleid ruins or the activators that make them lower, to see how they work.

 

Look under World Objects/Activators/Ayleid ruins.

Link to comment
Share on other sites

The problem with that, Maigrets, is the spiral stays would have to have the animation for raising/lowering.

 

Erichan, let me clarify something. From what you're saying this is exterior work and you're currently using the ARSpiralStairs01 model. What you need, is something that covers the stairs (I believe ARTowerFloor would work) and when the trigger is pressed the Floor moves down to reveal the stairs. The script required should look something like this (I believe. I have never done anything like this before and it could very well be wrong)

 

You'll first have to set up your "cover" as a persistant reference and give it a RefId (I used MovePlatformRef in this example) secondly, this script would be attatched to your switch and NOT the platform.

 

ScriptName MovingPlatform

Float Pos
Short Activated
Short DoOnce
Short ActivateOnce

Begin GameMode

If DoOnce == 0
  Set Pos to MovePlatformRef.GetPos Z;this gets the position of our MovePlatformRef
  Set Pos to Pos - 100;This modifies to Pos variable to be the ending location*
  Set DoOnce to 1
EndIf

If Activated == 1

MovePlatformRef.SetPos Z, pos 
MovePlatformRef.Disable;This disables the MovePlatformRef after it's out of sight
Set Activated to 2

EndIf

End

Begin OnActivate Player;this block initializes the moving platform after the switch has been activated

If ActivateOnce == 0;After the switch has been used once, it becomes useless and does nothing
Set Activated to 1
Set ActivateOnce to 1
EndIf

End

 

* The Position modifier (100 in this case) would have to be fiddled with to get your desired results as I don't know how far 100 units would be. All I can say to this is set up the script, go to your switch and SAVE. Then, use switch and see what happens, exit out and make changes then load up the save again and retest.

 

P.S. I forsee one of the better scripters here on the nexus coming in and ripping me a new one for my mediocre scripting skills....

 

 

If it doesn't work let me know and I'll get on it ASAP. Your question gives me an idea, heh

Link to comment
Share on other sites

The problem with that, Maigrets, is the spiral stays would have to have the animation for raising/lowering.

 

Erichan, let me clarify something. From what you're saying this is exterior work and you're currently using the ARSpiralStairs01 model. What you need, is something that covers the stairs (I believe ARTowerFloor would work) and when the trigger is pressed the Floor moves down to reveal the stairs. The script required should look something like this (I believe. I have never done anything like this before and it could very well be wrong)

 

You'll first have to set up your "cover" as a persistant reference and give it a RefId (I used MovePlatformRef in this example) secondly, this script would be attatched to your switch and NOT the platform.

 

ScriptName MovingPlatform

Float Pos
Short Activated
Short DoOnce
Short ActivateOnce

Begin GameMode

If DoOnce == 0
  Set Pos to MovePlatformRef.GetPos Z;this gets the position of our MovePlatformRef
  Set Pos to Pos - 100;This modifies to Pos variable to be the ending location*
  Set DoOnce to 1
EndIf

If Activated == 1

MovePlatformRef.SetPos Z, pos 
MovePlatformRef.Disable;This disables the MovePlatformRef after it's out of sight
Set Activated to 2

EndIf

End

Begin OnActivate Player;this block initializes the moving platform after the switch has been activated

If ActivateOnce == 0;After the switch has been used once, it becomes useless and does nothing
Set Activated to 1
Set ActivateOnce to 1
EndIf

End

 

* The Position modifier (100 in this case) would have to be fiddled with to get your desired results as I don't know how far 100 units would be. All I can say to this is set up the script, go to your switch and SAVE. Then, use switch and see what happens, exit out and make changes then load up the save again and retest.

 

P.S. I forsee one of the better scripters here on the nexus coming in and ripping me a new one for my mediocre scripting skills....

 

 

If it doesn't work let me know and I'll get on it ASAP. Your question gives me an idea, heh

 

 

Ill Try Your Script But I Dont Want It To Become Inactive ForEver i want it to hide away and make it look like its just a platform then if u press a trigger switch it goes down and if its down and u press the switch it goes back up (note the switch is only on top so u can not get caught inside it)

Link to comment
Share on other sites

In that case it's a simple modification. first, there's no need for ActivateOnce. The new one would look something like this instead.

 

Removed

 

Edit: Just tested and it works, to a point. The transition is instant, but I'll be working on that. Soon as I get that working I'll toss you an update.

 

 

Edit 2: I decided to approach the entire thing from a new script instead of trying to modify the current one. Well, right now it works 98% perfectly except for one little glitch. The glitch is that the first time the switch is pressed the platform "jumps" up a bit then begins to lower to the revealed position. Pressing the switch again causes it to raise back to it's original location. Now, the odd part is... if I press it a third time it lowers normally without the strange jump. Right now I don't know what causes it but I'll take a better look tomorrow after a night of sleep and get back to you. Also, in case you're curious here's the new script (right now the platform doesn't lower all the way, I'm more worried about the jumping effect and not how far it lowers. This can be easily adjusted by raising the 50 in the line "If ZPos > OrigZ - 50"

 

scn movingplatform


Short Up
Short Down
Short Setup
Float ZPos
Float OrigZ



Begin GameMode

If Setup == 0
Set OrigZ to MovePlatformRef.GetStartingPos z
Set ZPos to GetPos z
Set Setup to 1
EndIf

If Up == 1
If ZPos <= OrigZ
	Set ZPos to ZPos + .56; the .56 sets the SPEED at which the platform raises
	MovePlatformRef.SetPos Z ZPos
EndIf
EndIf

If Down == 1
If ZPos >= OrigZ - 50;Sets how far down the platform will move
	Set ZPos to ZPos - .56; the .56 sets the SPEED at which the platform lowers
	MovePlatformRef.SetPos Z ZPos
EndIf
EndIf
End

Begin OnLoad

Set ZPos to MovePlatformRef.GetStartingPos Z

End

Begin OnReset
Set Up to 0
Set Down to 0
Set Setup to 0 
Set ZPos to 0
Set OrigZ to 0
End

Begin OnActivate

If Up == 1
Set Up to 0
Set Down to 1
ElseIf Up == 0
Set Up to 1
Set Down to 0
EndIf

End

 

Like I said though, I don't understand why it's jumping up the first time before lowering to it's proper location but I'll take a look tomorrow.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...