Files
2025-09-29 00:52:08 +02:00

88 lines
3.3 KiB
Plaintext
Executable File

--tool to create buttons on an object
--user provides a bug number via a gui then a button gets created on an object which opens that bug via bug*
--July 2011
--Matt Rennie & Kat
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
BugStarButtons = undefined
fn generateBugStarButton obj bugNumber =
(
rollStr1 = ("BugStarButtons = attributes bugStarLinks"+"\r\n"+"("+"\r\n\t"+"parameters main rollout:bugTrack"+"\r\n\t"+"("+"\r\n\t"+")"+"\r\n")
rollStr2 = ("\t"+"rollout bugTrack "+"\""+"Bug*"+"\""+"\r\n\t"+"(")
rollStr3 = ("\r\n\t\t"+"button "+"btn_"+(bugNumber as string)+" "+"\""+"Bug# "+(bugNumber as string)+"\""+"\r\n\r\n")
rollStr4 =("\t\t"+"on btn_"+(bugNumber as string)+" pressed do"+"\r\n\t\t"+"(")
rollStr5 = ("\r\n\t\t\t"+"print "+"\""+"url:bugstar:"+(bugNumber as string)+"\""+"\r\n\t\t\t"+"ShellLaunch "+"\""+"url:bugstar:"+(bugNumber as string)+"\""+"\""+"\""+"\r\n\t\t"+")"+"\r\n\t"+")"+"\r\n"+")")
finalStr = (rollStr1+rollStr2+rollStr3+rollStr4+rollStr5)
clearListener()
print finalStr
execute finalStr
if obj.modifiers[#'Attribute holder'] == undefined do
(
addModifier obj (EmptyModifier ())
)
max modify mode
custAttributes.add obj.modifiers[#'Attribute holder'] BugStarButtons
)
if ((bugstarSetupGUI != undefined) and (bugstarSetupGUI.isDisplayed)) do
(destroyDialog bugstarSetupGUI)
rollout bugstarSetupGUI "Cutscene Reference"
(
editText edtTxt "Bug Number:" text:"" width:150 pos:[13, 15]
editText edtTxt2 "Cutscene Name:" text:"" width:180 pos:[13, 45]
editText edtTxtx "X:" text:"" width:60 pos:[13, 80]
editText edtTxty "Y:" text:"" width:60 pos:[80, 80]
editText edtTxtz "Z:" text:"" width:60 pos:[147, 80]
-- editText edtTxtRot "R:" text:"" width:60 pos:[214, 70]
button btnAddBug "Add Bug" width:110 pos:[53, 120]
on btnAddBug pressed do
(
if edtTxt.text != "" then
(
bugNumber = edtTxt.text
lXTrns = edtTxtx.text as float
lYTrns = edtTxty.text as float
lZTrns = edtTxtz.text as float
lCutsceneStage = plane pos:[lXTrns, lYTrns, lZTrns]
lCutsceneStage.name = edtTxt2.text
lCutsceneStage.length = 14.817
lCutsceneStage.width = 9.721
lCutsceneStage.wirecolor = color 228 214 153
lCutsceneStage.isSelected = on
lCutsceneText = text pos:[lXTrns, lYTrns, lZTrns]
lCutsceneText.name = edtTxt2.text
lCutsceneText.text = edtTxt2.text
lCutsceneText.wirecolor = color 255 255 255
lCutsceneText.size = 1
--lCutsceneText.rotation = (quat 0 0 -0.707107 0.707107)
lCutsceneText.parent = lCutsceneStage
edtTxt.text = ""
edtTxt2.text = ""
edtTxtx.text = ""
edtTxty.text = ""
edtTxtz.text = ""
generateBugStarButton lCutsceneStage bugNumber
)
else
(
messageBox "Please enter a valid bug number!" beep:true
)
)
)
CreateDialog bugstarSetupGUI width:220 height: 150 pos:[1200, 100]