Jump to content

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...

LEARN MODDING

Ready to try your hand at making your own mod creations? Visit the Enclave, the original ES/FO modding school, and learn the tricks of the trade from veteran modders...

JOIN THE ALLIANCE

Membership is free and registering unlocks image galleries, project hosting, live chat, unlimited downloads, & more...

Message Box to Message Box


Falloutperson416
 Share

Recommended Posts

So, I've got a message box that activates through a spell. The list of choices that are available are too long for 1 message box, so I have a button that says "Page 2". This is supposed to open a new message box and let you choose more options. This doesn't work though, any advice?

criptname DefenseCreationOnEffectScript extends ActiveMagicEffect  


;============================================================================================================

;ObjectReferences


ObjectReference Property DefenseBarrierSpikedREF Auto

ObjectReference Property DefenseBarrierShortREF Auto

ObjectReference Property DefenseBarrierREF Auto

ObjectReference Property DefenseBarrierCornerREF Auto

ObjectReference Property DefenseBarrierGateREF Auto

ObjectReference Property DefenseBarrierSlantREF Auto

ObjectReference Property DefenseBarrierTowerREF Auto

ObjectReference Property DefenseBridgeWalkwayREF Auto

ObjectReference Property DefenseBridgeShortREF Auto

ObjectReference Property DefenseBridgeMediumREF Auto

ObjectReference Property DefenseBridgeLongREF Auto

ObjectReference Property DefenseBridgeLargeREF Auto

ObjectReference Property DefenseFreeformWallREF Auto

ObjectReference Property DefenseFreeformPostREF Auto

ObjectReference Property DefenseFreeformScaffoldREF Auto

ObjectReference Property DefenseFreeformFloorREF Auto


;============================================================================================================

;Messages


Message Property DefenseCreationMessageBox Auto

Message Property DefenseCreationMessageBox2 Auto

Message Property DefenseCreationMessageBox3 Auto


;============================================================================================================

;Int Functions


int count  

int Button


;============================================================================================================

;Event


Event OnEffectFinish(Actor akTarget, Actor akCaster)


          button = DefenseCreationMessageBox.Show()


;============================================================================================================

;Barriers


                if Button == 0  ; button 1 pressed

                                         ;Nevermind

                elseif Button == 1        ; button 2 pressed

                     DefenseBarrierSpikedREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x00071E62)) 

                     DefenseBarrierSpikedREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseBarrierSpikedREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button == 2        ; button 3 pressed

                     DefenseBarrierShortREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x0001AE18))  

                     DefenseBarrierShortREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseBarrierShortREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button == 3        ; button 4 pressed

                     DefenseBarrierREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x0001AE15))   

                     DefenseBarrierREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseBarrierREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button == 4        ; button 5 pressed

                     DefenseBarrierCornerREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x0001AE16))

                     DefenseBarrierCornerREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseBarrierCornerREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button == 5        ; button 6 pressed

                     DefenseBarrierSlantREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x00054623))

                     DefenseBarrierSlantREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseBarrierSlantREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button == 6        ; button 7 pressed

                     DefenseBarrierGateREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x0001AE14))

                     DefenseBarrierGateREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseBarrierGateREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button == 7        ; button 8 pressed

                     DefenseBarrierTowerREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x0001AE1B))

                     DefenseBarrierTowerREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseBarrierTowerREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button == 8        ; button 9 pressed

                              DefenseCreationMessageBox2.Show()


;============================================================================================================

;Bridges


                elseif Button == 0        ; button 1 pressed

                     DefenseBridgeWalkwayREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x000349A8))

                     DefenseBridgeWalkwayREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseBridgeWalkwayREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button == 1        ; button 2 pressed

                     DefenseBridgeShortREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x000349A8))

                     DefenseBridgeShortREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseBridgeShortREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button == 2         ; button 3 pressed

                     DefenseBridgeMediumREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x000349A8))

                     DefenseBridgeMediumREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseBridgeMediumREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button == 3         ; button 4 pressed

                     DefenseBridgeLongREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x000349A8))

                     DefenseBridgeLongREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseBridgeLongREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button == 4         ; button 5 pressed

                     DefenseBridgeLargeREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x000349A8))

                     DefenseBridgeLargeREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseBridgeLargeREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button == 5         ; button 6 pressed

                              DefenseCreationMessageBox.Show()

                elseif Button == 6         ; button 7 pressed

                              DefenseCreationMessageBox3.Show()

;============================================================================================================

;Freeform


                elseif Button == 0        ; button 1 pressed

                     DefenseFreeformWallREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x000349A8))

                     DefenseFreeformWallREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseFreeformWallREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button == 1        ; button 2 pressed

                     DefenseFreeformPostREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x000349A8))

                     DefenseFreeformPostREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseFreeformPostREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button == 2         ; button 3 pressed

                     DefenseFreeformScaffoldREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x000349A8))

                     DefenseFreeformScaffoldREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseFreeformScaffoldREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button == 3         ; button 4 pressed

                     DefenseFreeformFloorREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x000349A8))

                     DefenseFreeformFloorREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseFreeformFloorREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button == 4         ; button 5 pressed

                              DefenseCreationMessageBox2.Show()


;============================================================================================================

;Ends


            EndIf

 EndEvent

Link to comment
Share on other sites

Hellooo!! I'm very bad at explaining things but here goes:

If I am right, the problem that you have here is that the script is ending before the request for a message box is proccessed. The best way to get around this is to create a loop with "while" and "endwhile" instead of using "if" or "endif". The way these work is that your script will effectively loop between the "while" and the "endwhile", meaning it cannot get any further, and it cannot end. It means changing the layout of your script, but it worked for me. Try adding the code:


Done = 1

While Done != 0

to the top of your script, and

Done = 0

Endwhile

to the bottom. This should create an infinate loop around your code, ensuring the script does not end. It SHOULD work, because I made a multi-messagebox script with this method, but my script was set out very differntly, so if it doesn't work for you, I'll post how I did it, so you can try that...

good luck!! :D

Link to comment
Share on other sites

Most of it is working now, but the process is seeming to be stuck on 1 property.

On the 2nd page, the 2nd option after Nevermind is "Walkway". Every single option after "Walkway", including those on the third page only spawn the "Walkway" ref. I have no idea why because the script is pointing to different refs and the properties are set to different refs as well. Any help?

Scriptname DefenseCreationOnEffectScript extends ActiveMagicEffect  


;============================================================================================================

;ObjectReferences


ObjectReference Property DefenseBarrierSpikedREF Auto

ObjectReference Property DefenseBarrierShortREF Auto

ObjectReference Property DefenseBarrierREF Auto

ObjectReference Property DefenseBarrierCornerREF Auto

ObjectReference Property DefenseBarrierGateREF Auto

ObjectReference Property DefenseBarrierSlantREF Auto

ObjectReference Property DefenseBarrierTowerREF Auto

ObjectReference Property DefenseBridgeWalkwayREF Auto

ObjectReference Property DefenseBridgeShortREF Auto

ObjectReference Property DefenseBridgeMediumREF Auto

ObjectReference Property DefenseBridgeLongREF Auto

ObjectReference Property DefenseBridgeLargeREF Auto

ObjectReference Property DefenseFreeformWallREF Auto

ObjectReference Property DefenseFreeformPostREF Auto

ObjectReference Property DefenseFreeformScaffoldREF Auto

ObjectReference Property DefenseFreeformFloorREF Auto


;============================================================================================================

;Messages


Message Property DefenseCreationMessageBox Auto

Message Property DefenseCreationMessageBox2 Auto

Message Property DefenseCreationMessageBox3 Auto


;============================================================================================================

;Int Functions


int count  

int Button


;============================================================================================================

;Event


Event OnEffectFinish(Actor akTarget, Actor akCaster)


          button = DefenseCreationMessageBox.Show()


;============================================================================================================

;Barriers


                if Button == 0  ; button 1 pressed

                                         ;Nevermind

                elseif Button == 1        ; button 2 pressed

                     DefenseBarrierSpikedREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x00071E62)) 

                     DefenseBarrierSpikedREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseBarrierSpikedREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button == 2        ; button 3 pressed

                     DefenseBarrierShortREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x0001AE18))  

                     DefenseBarrierShortREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseBarrierShortREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button == 3        ; button 4 pressed

                     DefenseBarrierREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x0001AE15))   

                     DefenseBarrierREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseBarrierREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button == 4        ; button 5 pressed

                     DefenseBarrierCornerREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x0001AE16))

                     DefenseBarrierCornerREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseBarrierCornerREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button == 5        ; button 6 pressed

                     DefenseBarrierSlantREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x00054623))

                     DefenseBarrierSlantREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseBarrierSlantREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button == 6        ; button 7 pressed

                     DefenseBarrierGateREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x0001AE14))

                     DefenseBarrierGateREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseBarrierGateREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button == 7        ; button 8 pressed

                     DefenseBarrierTowerREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x0001AE1B))

                     DefenseBarrierTowerREF.MoveTo(Game.GetPlayer(),600 * Math.Sin(Game.GetPlayer().GetAngleZ()),600 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseBarrierTowerREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button == 8        ; button 9 pressed


;============================================================================================================

;Bridges


                     button = DefenseCreationMessageBox2.Show()

                    if Button == 0  ; button 1 pressed

                                         ;Nevermind

                elseif Button == 1        ; button 2 pressed

                     DefenseBridgeWalkwayREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x000349A8))

                     DefenseBridgeWalkwayREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseBridgeWalkwayREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button == 2        ; button 3 pressed

                     DefenseBridgeShortREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x000349A8))

                     DefenseBridgeShortREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseBridgeShortREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button == 3        ; button 4 pressed

                     DefenseBridgeMediumREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x000349A8))

                     DefenseBridgeMediumREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseBridgeMediumREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button == 4        ; button 5 pressed

                     DefenseBridgeLongREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x000349A8))

                     DefenseBridgeLongREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseBridgeLongREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button == 5        ; button 6 pressed

                     DefenseBridgeLargeREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x000349A8))

                     DefenseBridgeLargeREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseBridgeLargeREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button == 6        ; button 7 pressed

;============================================================================================================

;Freeform


                     button = DefenseCreationMessageBox3.Show()

                    if Button == 0  ; button 1 pressed

                                         ;Nevermind

                elseif Button == 1        ; button 2 pressed

                     DefenseFreeformWallREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x000349A8))

                     DefenseFreeformWallREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseFreeformWallREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button == 2        ; button 3 pressed

                     DefenseFreeformPostREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x000349A8))

                     DefenseFreeformPostREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseFreeformPostREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button == 3        ; button 4 pressed

                     DefenseFreeformScaffoldREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x000349A8))

                     DefenseFreeformScaffoldREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseFreeformScaffoldREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button == 4        ; button 5 pressed

                     DefenseFreeformFloorREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x000349A8))

                     DefenseFreeformFloorREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseFreeformFloorREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())


;============================================================================================================

;Ends


                       EndIf

                 EndIf

            EndIf

 EndEvent

Thanks!

Link to comment
Share on other sites

hmm..

Well, your using the same button to choose what menu you want as for what item you want to place. That doesn't sit well for me- why not try creating a new variable "button2" and using that in other menus? It's possible that after choosing the first option from the menu, therefore setting "button" to 0, all other attempts to read the value of "button" are reporting 0. Worth a shot?

Link to comment
Share on other sites

Still doesn't work >.>

Scriptname DefenseCreationOnEffectScript extends ActiveMagicEffect  


;============================================================================================================

;ObjectReferences


ObjectReference Property DefenseBarrierSpikedREF Auto

ObjectReference Property DefenseBarrierShortREF Auto

ObjectReference Property DefenseBarrierREF Auto

ObjectReference Property DefenseBarrierCornerREF Auto

ObjectReference Property DefenseBarrierGateREF Auto

ObjectReference Property DefenseBarrierSlantREF Auto

ObjectReference Property DefenseBarrierTowerREF Auto

ObjectReference Property DefenseBridgeWalkwayREF Auto

ObjectReference Property DefenseBridgeShortREF Auto

ObjectReference Property DefenseBridgeMediumREF Auto

ObjectReference Property DefenseBridgeLongREF Auto

ObjectReference Property DefenseBridgeLargeREF Auto

ObjectReference Property DefenseFreeformWallREF Auto

ObjectReference Property DefenseFreeformPostREF Auto

ObjectReference Property DefenseFreeformScaffoldREF Auto

ObjectReference Property DefenseFreeformFloorREF Auto


;============================================================================================================

;Messages


Message Property DefenseCreationMessageBox Auto

Message Property DefenseCreationMessageBox2 Auto

Message Property DefenseCreationMessageBox3 Auto


;============================================================================================================

;Int Functions


int count  

int Button

int Button2

int Button3


;============================================================================================================

;Event


Event OnEffectFinish(Actor akTarget, Actor akCaster)


          button = DefenseCreationMessageBox.Show()


;============================================================================================================

;Barriers


                if Button == 0  ; button 1 pressed

                                         ;Nevermind

                elseif Button == 1        ; button 2 pressed

                     DefenseBarrierSpikedREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x00071E62)) 

                     DefenseBarrierSpikedREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseBarrierSpikedREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button == 2        ; button 3 pressed

                     DefenseBarrierShortREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x0001AE18))  

                     DefenseBarrierShortREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseBarrierShortREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button == 3        ; button 4 pressed

                     DefenseBarrierREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x0001AE15))   

                     DefenseBarrierREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseBarrierREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button == 4        ; button 5 pressed

                     DefenseBarrierCornerREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x0001AE16))

                     DefenseBarrierCornerREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseBarrierCornerREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button == 5        ; button 6 pressed

                     DefenseBarrierSlantREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x00054623))

                     DefenseBarrierSlantREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseBarrierSlantREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button == 6        ; button 7 pressed

                     DefenseBarrierGateREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x0001AE14))

                     DefenseBarrierGateREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseBarrierGateREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button == 7        ; button 8 pressed

                     DefenseBarrierTowerREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x0001AE1B))

                     DefenseBarrierTowerREF.MoveTo(Game.GetPlayer(),600 * Math.Sin(Game.GetPlayer().GetAngleZ()),600 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseBarrierTowerREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button == 8        ; button 9 pressed


;============================================================================================================

;Bridges


                     Button2 = DefenseCreationMessageBox2.Show()

                    if Button2 == 0  ; button 1 pressed

                                         ;Nevermind

                elseif Button2 == 1        ; button 2 pressed

                     DefenseBridgeWalkwayREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x000349A8))

                     DefenseBridgeWalkwayREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseBridgeWalkwayREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button2 == 2        ; button 3 pressed

                     DefenseBridgeShortREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x000349A8))

                     DefenseBridgeShortREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseBridgeShortREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button2 == 3        ; button 4 pressed

                     DefenseBridgeMediumREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x000349A8))

                     DefenseBridgeMediumREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseBridgeMediumREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button == 4        ; button 5 pressed

                     DefenseBridgeLongREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x000349A8))

                     DefenseBridgeLongREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseBridgeLongREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button2 == 5        ; button 6 pressed

                     DefenseBridgeLargeREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x000349A8))

                     DefenseBridgeLargeREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseBridgeLargeREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button2 == 6        ; button 7 pressed

;============================================================================================================

;Freeform


                     Button3 = DefenseCreationMessageBox3.Show()

                    if Button3 == 0  ; button 1 pressed

                                         ;Nevermind

                elseif Button3 == 1        ; button 2 pressed

                     DefenseFreeformWallREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x000349A8))

                     DefenseFreeformWallREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseFreeformWallREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button3 == 2        ; button 3 pressed

                     DefenseFreeformPostREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x000349A8))

                     DefenseFreeformPostREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseFreeformPostREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button3 == 3        ; button 4 pressed

                     DefenseFreeformScaffoldREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x000349A8))

                     DefenseFreeformScaffoldREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseFreeformScaffoldREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button3 == 4        ; button 5 pressed

                     DefenseFreeformFloorREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x000349A8))

                     DefenseFreeformFloorREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseFreeformFloorREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())


;============================================================================================================

;Ends


                       EndIf

                 EndIf

            EndIf

 EndEvent

I'm going to keep working on it, if you have any other suggestions I'd much appreciate it.

Link to comment
Share on other sites

try something like this.

Notice I put the first menu as the first level of IF conditions.

The second menu is inside one of those selections.

The third menu is inside another one of those selections.

I also would recommend using a different 'button name' for each menu.


Event OnEffectStart(Actor akTarget, Actor akCaster)
caster = akCaster
casterRef = (caster as ObjectReference)
Button = Question1MSG.Show()
if Button == 0
;do something
elseif Button == 1
;do something
elseif Button == 2
Button2 = Question2MSG.Show()
if Button2 == 0
;do something
elseif Button2 == 1
;do something
elseif Button2 == 2
;do something
elseif Button2 == 3
;do something
elseif Button2 == 4
;do something
elseif Button2 == 5
;do something
endif
elseif Button == 3
;do something
elseif Button == 4
;do something
elseif Button == 5
Button3 = Question3MSG.Show()
if Button3 == 0
;do something
elseif Button3 == 1
;do something
elseif Button3 == 2
;do something
endif
elseif Button == 6
;do something
endif
endEVENT
[/CODE]

Edited by WillieSea
Link to comment
Share on other sites

Scriptname DefenseCreationOnEffectScript extends ActiveMagicEffect  


;============================================================================================================

;ObjectReferences


ObjectReference Property DefenseBarrierSpikedREF Auto

ObjectReference Property DefenseBarrierShortREF Auto

ObjectReference Property DefenseBarrierREF Auto

ObjectReference Property DefenseBarrierCornerREF Auto

ObjectReference Property DefenseBarrierGateREF Auto

ObjectReference Property DefenseBarrierSlantREF Auto

ObjectReference Property DefenseBarrierTowerREF Auto

ObjectReference Property DefenseBridgeWalkwayREF Auto

ObjectReference Property DefenseBridgeShortREF Auto

ObjectReference Property DefenseBridgeMediumREF Auto

ObjectReference Property DefenseBridgeLongREF Auto

ObjectReference Property DefenseBridgeLargeREF Auto

ObjectReference Property DefenseFreeformWallREF Auto

ObjectReference Property DefenseFreeformPostREF Auto

ObjectReference Property DefenseFreeformScaffoldREF Auto

ObjectReference Property DefenseFreeformFloorREF Auto


;============================================================================================================

;Messages


Message Property DefenseCreationMessageBox Auto

Message Property DefenseCreationMessageBox2 Auto

Message Property DefenseCreationMessageBox3 Auto


;============================================================================================================

;Int Functions


int count  

int Button

int Button2

int Button3


;============================================================================================================

;Event


Event OnEffectFinish(Actor akTarget, Actor akCaster)


          button = DefenseCreationMessageBox.Show()


;============================================================================================================

;Barriers


                if Button == 0  ; button 1 pressed

                                         ;Nevermind

                elseif Button == 1        ; button 2 pressed

                     DefenseBarrierSpikedREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x00071E62)) 

                     DefenseBarrierSpikedREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseBarrierSpikedREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button == 2        ; button 3 pressed

                     DefenseBarrierShortREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x0001AE18))  

                     DefenseBarrierShortREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseBarrierShortREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button == 3        ; button 4 pressed

                     DefenseBarrierREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x0001AE15))   

                     DefenseBarrierREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseBarrierREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button == 4        ; button 5 pressed

                     DefenseBarrierCornerREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x0001AE16))

                     DefenseBarrierCornerREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseBarrierCornerREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button == 5        ; button 6 pressed

                     DefenseBarrierSlantREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x00054623))

                     DefenseBarrierSlantREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseBarrierSlantREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button == 6        ; button 7 pressed

                     DefenseBarrierGateREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x0001AE14))

                     DefenseBarrierGateREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseBarrierGateREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button == 7        ; button 8 pressed

                     DefenseBarrierTowerREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x0001AE1B))

                     DefenseBarrierTowerREF.MoveTo(Game.GetPlayer(),600 * Math.Sin(Game.GetPlayer().GetAngleZ()),600 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseBarrierTowerREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button == 8        ; button 9 pressed

                       Endif


;============================================================================================================

;Bridges


                     Button2 = DefenseCreationMessageBox2.Show()

                    if Button2 == 0  ; button 1 pressed

                                         ;Nevermind

                elseif Button2 == 1        ; button 2 pressed

                     DefenseBridgeWalkwayREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x000349A8))

                     DefenseBridgeWalkwayREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseBridgeWalkwayREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button2 == 2        ; button 3 pressed

                     DefenseBridgeShortREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x000349A8))

                     DefenseBridgeShortREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseBridgeShortREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button2 == 3        ; button 4 pressed

                     DefenseBridgeMediumREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x000349A8))

                     DefenseBridgeMediumREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseBridgeMediumREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button == 4        ; button 5 pressed

                     DefenseBridgeLongREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x000349A8))

                     DefenseBridgeLongREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseBridgeLongREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button2 == 5        ; button 6 pressed

                     DefenseBridgeLargeREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x000349A8))

                     DefenseBridgeLargeREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseBridgeLargeREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button2 == 6        ; button 7 pressed

                       Endif


;============================================================================================================

;Freeform


                     Button3 = DefenseCreationMessageBox3.Show()

                    if Button3 == 0  ; button 1 pressed

                                         ;Nevermind

                elseif Button3 == 1        ; button 2 pressed

                     DefenseFreeformWallREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x000349A8))

                     DefenseFreeformWallREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseFreeformWallREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button3 == 2        ; button 3 pressed

                     DefenseFreeformPostREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x000349A8))

                     DefenseFreeformPostREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseFreeformPostREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button3 == 3        ; button 4 pressed

                     DefenseFreeformScaffoldREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x000349A8))

                     DefenseFreeformScaffoldREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseFreeformScaffoldREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button3 == 4        ; button 5 pressed

                     DefenseFreeformFloorREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x000349A8))

                     DefenseFreeformFloorREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseFreeformFloorREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                       Endif


;============================================================================================================

;Ends


 EndEvent

Link to comment
Share on other sites

Well, you do not have it setup like I showed above.

Your first button after button == 8 is an 'endif' which ends that set of IF conditions. Same with your second and third button choices.

I have the second button 'inside' the first set of conditions, based on the button choice for 'next menu'.

Link to comment
Share on other sites

criptname DefenseCreationOnEffectScript extends ActiveMagicEffect  


;============================================================================================================

;ObjectReferences


ObjectReference Property DefenseBarrierSpikedREF Auto

ObjectReference Property DefenseBarrierShortREF Auto

ObjectReference Property DefenseBarrierREF Auto

ObjectReference Property DefenseBarrierCornerREF Auto

ObjectReference Property DefenseBarrierGateREF Auto

ObjectReference Property DefenseBarrierSlantREF Auto

ObjectReference Property DefenseBarrierTowerREF Auto

ObjectReference Property DefenseBridgeWalkwayREF Auto

ObjectReference Property DefenseBridgeShortREF Auto

ObjectReference Property DefenseBridgeMediumREF Auto

ObjectReference Property DefenseBridgeLongREF Auto

ObjectReference Property DefenseBridgeLargeREF Auto

ObjectReference Property DefenseFreeformWallREF Auto

ObjectReference Property DefenseFreeformPostREF Auto

ObjectReference Property DefenseFreeformScaffoldREF Auto

ObjectReference Property DefenseFreeformFloorREF Auto


;============================================================================================================

;Messages


Message Property DefenseCreationMessageBox Auto

Message Property DefenseCreationMessageBox2 Auto

Message Property DefenseCreationMessageBox3 Auto


;============================================================================================================

;Int Functions


int count  

int Button

int Button2

int Button3


;============================================================================================================

;Event


Event OnEffectFinish(Actor akTarget, Actor akCaster)


          button = DefenseCreationMessageBox.Show()


;============================================================================================================

;Barriers


                if Button == 0  ; button 1 pressed

                                         ;Nevermind

                elseif Button == 1        ; button 2 pressed

                     DefenseBarrierSpikedREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x00071E62)) 

                     DefenseBarrierSpikedREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseBarrierSpikedREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button == 2        ; button 3 pressed

                     DefenseBarrierShortREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x0001AE18))  

                     DefenseBarrierShortREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseBarrierShortREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button == 3        ; button 4 pressed

                     DefenseBarrierREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x0001AE15))   

                     DefenseBarrierREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseBarrierREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button == 4        ; button 5 pressed

                     DefenseBarrierCornerREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x0001AE16))

                     DefenseBarrierCornerREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseBarrierCornerREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button == 5        ; button 6 pressed

                     DefenseBarrierSlantREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x00054623))

                     DefenseBarrierSlantREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseBarrierSlantREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button == 6        ; button 7 pressed

                     DefenseBarrierGateREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x0001AE14))

                     DefenseBarrierGateREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseBarrierGateREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button == 7        ; button 8 pressed

                     DefenseBarrierTowerREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x0001AE1B))

                     DefenseBarrierTowerREF.MoveTo(Game.GetPlayer(),600 * Math.Sin(Game.GetPlayer().GetAngleZ()),600 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseBarrierTowerREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button == 8        ; button 9 pressed

                     DefenseCreationMessageBox2.Show()

                       Endif


;============================================================================================================

;Bridges


                     Button2 = DefenseCreationMessageBox2.Show()

                    if Button2 == 0  ; button 1 pressed

                                         ;Nevermind

                elseif Button2 == 1        ; button 2 pressed

                     DefenseBridgeWalkwayREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x000349A8))

                     DefenseBridgeWalkwayREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseBridgeWalkwayREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button2 == 2        ; button 3 pressed

                     DefenseBridgeShortREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x000349A8))

                     DefenseBridgeShortREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseBridgeShortREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button2 == 3        ; button 4 pressed

                     DefenseBridgeMediumREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x000349A8))

                     DefenseBridgeMediumREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseBridgeMediumREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button == 4        ; button 5 pressed

                     DefenseBridgeLongREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x000349A8))

                     DefenseBridgeLongREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseBridgeLongREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button2 == 5        ; button 6 pressed

                     DefenseBridgeLargeREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x000349A8))

                     DefenseBridgeLargeREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseBridgeLargeREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button2 == 6        ; button 7 pressed

                     DefenseCreationMessageBox3.Show()           

                       Endif          


;============================================================================================================

;Freeform


                     Button3 = DefenseCreationMessageBox3.Show()

                    if Button3 == 0  ; button 1 pressed

                                         ;Nevermind

                elseif Button3 == 1        ; button 2 pressed

                     DefenseFreeformWallREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x000349A8))

                     DefenseFreeformWallREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseFreeformWallREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button3 == 2        ; button 3 pressed

                     DefenseFreeformPostREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x000349A8))

                     DefenseFreeformPostREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseFreeformPostREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button3 == 3        ; button 4 pressed

                     DefenseFreeformScaffoldREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x000349A8))

                     DefenseFreeformScaffoldREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseFreeformScaffoldREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                elseif Button3 == 4        ; button 5 pressed

                     DefenseFreeformFloorREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x000349A8))

                     DefenseFreeformFloorREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)

DefenseFreeformFloorREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())

                       Endif


;============================================================================================================

;Ends


 EndEvent

Thanks, this doesn't have the changes I made previously btw, they didn't work anyways so I went back to the state of the script before that.

Link to comment
Share on other sites

I removed your endifs and extra messages. And added the 's' to scriptname.


scriptname DefenseCreationOnEffectScript extends ActiveMagicEffect
;============================================================================================================
;ObjectReferences
ObjectReference Property DefenseBarrierSpikedREF Auto
ObjectReference Property DefenseBarrierShortREF Auto
ObjectReference Property DefenseBarrierREF Auto
ObjectReference Property DefenseBarrierCornerREF Auto
ObjectReference Property DefenseBarrierGateREF Auto
ObjectReference Property DefenseBarrierSlantREF Auto
ObjectReference Property DefenseBarrierTowerREF Auto
ObjectReference Property DefenseBridgeWalkwayREF Auto
ObjectReference Property DefenseBridgeShortREF Auto
ObjectReference Property DefenseBridgeMediumREF Auto
ObjectReference Property DefenseBridgeLongREF Auto
ObjectReference Property DefenseBridgeLargeREF Auto
ObjectReference Property DefenseFreeformWallREF Auto
ObjectReference Property DefenseFreeformPostREF Auto
ObjectReference Property DefenseFreeformScaffoldREF Auto
ObjectReference Property DefenseFreeformFloorREF Auto
;============================================================================================================
;Messages
Message Property DefenseCreationMessageBox Auto
Message Property DefenseCreationMessageBox2 Auto
Message Property DefenseCreationMessageBox3 Auto
;============================================================================================================
;Int Functions
int count
int Button
int Button2
int Button3
;============================================================================================================
;Event
Event OnEffectFinish(Actor akTarget, Actor akCaster)
button = DefenseCreationMessageBox.Show()
;============================================================================================================
;Barriers
if Button == 0 ; button 1 pressed
;Nevermind
elseif Button == 1 ; button 2 pressed
DefenseBarrierSpikedREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x00071E62))
DefenseBarrierSpikedREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)
DefenseBarrierSpikedREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())
elseif Button == 2 ; button 3 pressed
DefenseBarrierShortREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x0001AE18))
DefenseBarrierShortREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)
DefenseBarrierShortREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())
elseif Button == 3 ; button 4 pressed
DefenseBarrierREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x0001AE15))
DefenseBarrierREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)
DefenseBarrierREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())
elseif Button == 4 ; button 5 pressed
DefenseBarrierCornerREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x0001AE16))
DefenseBarrierCornerREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)
DefenseBarrierCornerREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())
elseif Button == 5 ; button 6 pressed
DefenseBarrierSlantREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x00054623))
DefenseBarrierSlantREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)
DefenseBarrierSlantREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())
elseif Button == 6 ; button 7 pressed
DefenseBarrierGateREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x0001AE14))
DefenseBarrierGateREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)
DefenseBarrierGateREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())
elseif Button == 7 ; button 8 pressed
DefenseBarrierTowerREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x0001AE1B))
DefenseBarrierTowerREF.MoveTo(Game.GetPlayer(),600 * Math.Sin(Game.GetPlayer().GetAngleZ()),600 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)
DefenseBarrierTowerREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())
;============================================================================================================
;Bridges
elseif Button == 8 ; button 9 pressed
Button2 = DefenseCreationMessageBox2.Show()
if Button2 == 0 ; button 1 pressed
;Nevermind
elseif Button2 == 1 ; button 2 pressed
DefenseBridgeWalkwayREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x000349A8))
DefenseBridgeWalkwayREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)
DefenseBridgeWalkwayREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())
elseif Button2 == 2 ; button 3 pressed
DefenseBridgeShortREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x000349A8))
DefenseBridgeShortREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)
DefenseBridgeShortREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())
elseif Button2 == 3 ; button 4 pressed
DefenseBridgeMediumREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x000349A8))
DefenseBridgeMediumREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)
DefenseBridgeMediumREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())
elseif Button == 4 ; button 5 pressed
DefenseBridgeLongREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x000349A8))
DefenseBridgeLongREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)
DefenseBridgeLongREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())
elseif Button2 == 5 ; button 6 pressed
DefenseBridgeLargeREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x000349A8))
DefenseBridgeLargeREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)
DefenseBridgeLargeREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())
;============================================================================================================
;Freeform
elseif Button2 == 6 ; button 7 pressed
Button3 = DefenseCreationMessageBox3.Show()
if Button3 == 0 ; button 1 pressed
;Nevermind
elseif Button3 == 1 ; button 2 pressed
DefenseFreeformWallREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x000349A8))
DefenseFreeformWallREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)
DefenseFreeformWallREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())
elseif Button3 == 2 ; button 3 pressed
DefenseFreeformPostREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x000349A8))
DefenseFreeformPostREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)
DefenseFreeformPostREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())
elseif Button3 == 3 ; button 4 pressed
DefenseFreeformScaffoldREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x000349A8))
DefenseFreeformScaffoldREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)
DefenseFreeformScaffoldREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())
elseif Button3 == 4 ; button 5 pressed
DefenseFreeformFloorREF = Game.GetPlayer().PlaceAtMe(Game.GetForm(0x000349A8))
DefenseFreeformFloorREF.MoveTo(Game.GetPlayer(),400 * Math.Sin(Game.GetPlayer().GetAngleZ()),400 * Math.Cos(Game.GetPlayer().GetAngleZ()),20.0000)
DefenseFreeformFloorREF.SetAngle(0.0,0.0,Game.GetPlayer().GetAngleZ())
Endif
Endif
Endif
;============================================================================================================
;Ends
EndEvent
[/CODE]

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...