📄 ck_setportal.ms
字号:
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
-- Register SetPortal Instruction
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
global instSetPortalStr = "Set Portal"
global instSetPortalRollout
global instSetPortalFct
rollout instSetPortalRollout "Set Portal Options" width:408 height:114
(
label info_Label "Info: Set the object as a Portal between to Places (Groups in 3dsMax)." pos:[8,8] width:250 height:64
include "CKInstScripts\\ApplyPreviewButtons.ms"
label place1_Label "First Place:" pos:[230,40]
pickbutton place1_PB "<Select Place>" pos:[290,35] width:100 \
message:"Select a Group" tooltip:"Select a Group" \
filter:isgroupmember
label place2_Label "Second Place:" pos:[212,69]
pickbutton place2_PB "<Select Place>" pos:[290,64] width:100 \
message:"Select a Group" tooltip:"Select a Group" \
filter:isgroupmember
on place1_PB picked obj do (
local parent = obj
place1_PB.text = (
while not isgrouphead parent do (parent = obj.parent)
parent.name
)
)
on place2_PB picked obj do (
local parent = obj
place2_PB.text = (
while not isgrouphead parent do (parent = obj.parent)
parent.name
)
)
)
fn instSetPortalFct = (
-- Attach Script
chunkData = " " + CKAttacheScriptOnThisStr + "(\"Set Portal\")"
chunkdata += "\x0d\x0a"
-- Place1
chunkData += " " + CKSetParamOnThisStr + "(\"SP Place1\", \"" + instSetPortalRollout.place1_PB.text + "\" )"
chunkdata += "\x0d\x0a"
-- Place2
chunkData += " " + CKSetParamOnThisStr + "(\"SP Place2\", \"" + instSetPortalRollout.place2_PB.text + "\" )"
chunkdata += "\x0d\x0a"
local portalName = "Portal "+(instSetPortalRollout.place1_PB.text)+"-"+(instSetPortalRollout.place2_PB.text)
for obj in selection do (
if( (superclassof obj)==geometryclass ) do (
obj.name = portalName
if not portalManagement do (
VirtoolsExportOpt.placeasroup_Check.state = true
portalManagement=true
)
AddCKChunk obj instSetPortalStr chunkData
updateInstructionsList()
)
)
)
registerInstruction instSetPortalStr instSetPortalFct instRollout:instSetPortalRollout
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
-- Register Portal Management Instruction
-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
global instPortalManagementStr = "Portal Management"
global instPortalManagementRollout
global instPortalManagementFct
global portalManagement = false
rollout instPortalManagementRollout "Portal Management Options" width:408 height:114
(
label info_Label "Info: Activates the portal management options." pos:[8,8] width:250 height:16
include "CKInstScripts\\ApplyPreviewButtons.ms"
)
fn instPortalManagementFct = (
-- Attach Script
chunkData = " " + CKAttacheScriptOnThisStr + "(\"Portal Management\")"
chunkdata += "\x0d\x0a"
for obj in selection do (
AddCKChunk obj instPortalManagementStr chunkData
updateInstructionsList()
)
)
registerInstruction instPortalManagementStr instPortalManagementFct instRollout:instPortalManagementRollout
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -