Макросы для СС2
Название | Стена пещеры |
Автор | Morgan Olden |
Команда | cliffface1 |
Описание | Создает край стены, как натуральную стену пещеры. Версия 1.1
|
Инструкции | Этот макрос создает эффект "стены пещеры" по стороне линии, плавной линии или полигона. Установите ширину (по умолчанию 3), варианты ширины или "ломаность" (по умолчанию 0.5, меньше - плавно, больше - изломано) и размер сегмента (по умолчанию 10).
Это версия 1.1 макроса, содержащая небольшие исправления и дополнения. Вы можете сменить цвета и все настройки сохраняются до выхода из СС2.
В макрос включен файл скрипта с кодом (смотри вложение). Для работы скрипта просто запустите его из СС2.
|
Код
macro cliffface1
ecoff
point 10001,10001;
golayer
MacroConstruction
scriptm #cliffface-variables.scr
ifdef mcoVarsOK
mcoDoneVarCheck
:mcoDefineVars
gv mcoCol1 250
gv mcoCol2 251
gv
mcoCol3 252
gv mcoCOut 0
gcol mcoCol1 ^DColor 1: (250)
gcol mcoCol2
^DColor 2: (251)
gcol mcoCol3 ^DColor 3: (252)
gcol mcoCOut ^DOutline
color: (0)
gv mcoCW 3
gv mcoCW ^DCliff Width: (3)
gv mcoVA .5
gv
mcoVA ^DWidth variance: (.5)
gv mcoSL 10
gv mcoSL ^DSegment length:
(10)
gw mcoVarsOK OK
savevars #cliffface-variables
go
mcoStart
:mcoDoneVarCheck
gv mcoUseDefault 1
gv mcoUseDefault ^DUse
saved settings? (1=yes - default - click) (0=no)
ifz mcoUseDefault
mcoDefineVars
:mcoStart
ge mcoentity ^DSelect object to draw a cliff/cave
wall along:
iferr mcodone
gdist mcoentitylen % 0 mcoentity % 1
mcoentity
gv mcoentitylen mcoentitylen*100
gv mcounit
100/mcoentitylen
gv mcoCur 0
gp mcoP1 % 0 mcoentity
gbrng mcoB1 mcoP1 %
.01 mcoentity
RANDOM mcoR1
RANDOM mcoR2
gp mcoPa ref mcoP1
gp mcoPa2 mcoPa
gp mcoPb ref
mcoP1 gp mcoPb2 mcoPb
color
0
lwidth 0
fstyle solid
selbyp
:mcoLOOP1
RANDOM mcoR1
RANDOM
mcoR2
RANDOM mcoR3
RANDOM mcoR4
RANDOM mcoR5
gv mcoCur
mcoCur+(((mcoR1*mcoSL)+(mcoSL*.3))*mcoUnit)
ifn 100-mcoCur
mcoDONELOOP1
gbrng mcoB1 mcoP1 % mcoCur+.01 mcoentity
gp mcoP1 % mcoCur
mcoentity
gp mcoP2 ref mcoP1 ifn mcoR3-.5
mcoControl1
gp mcoP2 % mcoCur mcoentity
gp mcoP1 ref mcoP2
:mcoControl1
gp mcoPc ref mcoP1
gp mcoPd ref mcoP2
poly mcoPa mcoPb mcoPc
mcoPd;
RANDOM mcoR1
changec2 mcoCol1
ifn mcoR1-.3
mcoColBreak1
changec2 mcoCol2
ifn mcoR1-.6 mcoColBreak1
changec2
mcoCol3
:mcoColBreak1
gw mcoNUL nul
:mcoBreak1
RANDOM
mcoRTEST
ifn mcoRTEST-.8 mcoBreak2
gbrng mcoBbc mcoPb mcoPc
gdist
mcoDbc mcoPb mcoPc
gbrng mcoBba mcoPb mcoPa
gdist mcoDba mcoPb
mcoPa
RANDOM mcoR1
RANDOM mcoR2
poly ref mcoPb
RANDOM
mcoR1
changec2 mcoCol1
ifn mcoR1-.3 mcoColBreak2
changec2
mcoCol2
ifn mcoR1-.6 mcoColBreak2
changec2 mcoCol3
:mcoColBreak2
go
mcoBreak3
:mcoBreak2
ifn mcoRTEST-.6 mcoBreak3
gbrng mcoBad mcoPa
mcoPd
gdist mcoDad mcoPa mcoPd
gbrng mcoBab mcoPa mcoPb
gdist mcoDab
mcoPa mcoPb
RANDOM mcoR1
RANDOM mcoR2
poly ref mcoPa
RANDOM
mcoR1
changec2 mcoCol1
ifn mcoR1-.3 mcoBreak3
changec2 mcoCol2
ifn
mcoR1-.6 mcoBreak3
changec2 mcoCol3
:mcoBreak3
gbrng mcoBda mcoPd
mcoPa
gdist mcoDda mcoPd mcoPa
gbrng mcoBcb mcoPc mcoPb
gdist mcoDcb
mcoPc mcoPb
RANDOM mcoR1
gp mcoPa2 ref mcoPd
gp mcoPb2 ref mcoPc
gp mcoPa mcoPd
gp
mcoPb mcoPc
go mcoLOOP1
:mcoDONELOOP1
gp mcoP1 % 100 mcoentity
gp
mcoPc ref mcoP1 gp mcoPd ref
mcoP1 poly mcoPa mcoPb mcoPc
mcoPd;
RANDOM mcoR1
changec2 mcoCol1
ifn mcoR1-.3 mcodone
changec2
mcoCol2
ifn mcoR1-.6 mcodone
changec2
mcoCol3
:mcodone
selbyl
changel
MacroConstruction
like
10001,10001
selbyp
group
selby1
keep
10001,10001
erase
10001,10001
selrest
rdon
econ
endm
Copyright © AD&Den`s Lair Все права защищены.