Трижды Забытая Родина
Искать в
Век Приключений
Сегодня
Навигация
  •  Главная
  •  denw IL-2 Training
  •  Feokl WoW
  •  Minecraft Server
  •  Panda WoW
  •  RadioDen
  •  RadioPunk
  •  Поиск
  •  Разделы
  •  Статьи

  • Denw Minecraft
    Denw Minecraft Server Offline!

    Feokl Private Server
    Feokl Realm is Offline!

    Feokl Panda Server
    Feokl Panda is Offline!

    denw IL-2 Training
    denw Training 4.14.1m Offline!

     
    Башня Стены Города
    Макросы для СС2




    НазваниеБашня Стены Города
    АвторMorgan Olden
    Командаcitywalltower
    ОписаниеИзображает зубчатые башни в стиле макроса "Стена Города 5". Можно выбрать количество сторон и городской стиль крыши.
    ИнструкцииЭтот макрос предоставляет богатые возможности выбора -
    1. Цвет парапета (стандарт - темно-серый)
    2. Цвет плоской крыши (стандарт - светло-серый)
    3. Количество сторон (стандарт 4; выберите "0" для круглой башни)
    4. Плоская или покатая крыша
    5. Стиль покатой крыши (стандартный или городской - для городского необходим установленный "City Designer 2")
    6. Название городского стиля (просто набейте название стиля, как "House Settings" в "House" диалоге)
    7. Ширина прохода между покатой крышей и парапетом.

    В макрос включен файл скрипта с кодом (смотри вложение). Для работы скрипта просто запустите его из СС2.

    Код
    macro CityWallTower
    ecoff
    rdoff
    point 10001,10001;
    golayer MacroConstruction
    scriptm #CityWallTower-vars.scr
    ifdef mcoCityWallTowerVarsOK mcoDoneVarCheck
    :mcoDefineVars
    gv mcoColDS 14
    gv mcoColLS 251
    gcol mcoColDS ^DParapet colour? (14)
    gcol mcoColLS ^DFlat roof colour? (251)
    gv mcoTowerSides 4
    gn mcoTowerSides ^DHow many sides? (0=circle)
    ifz mcoTowerSides-1 mcoCleanup
    ifz mcoTowerSides-2 mcoCleanup
    gv mcoRS 1
    gv mcoRS ^DFlat or Peaked roof? (0=flat, 1=peaked,default)
    ifz mcoRS mcoSkipRoofVars
    gv mcoRoofStyle 0
    gv mcoRoofStyle ^DRoof style? (0=default 1=CD House style) (0)
    ifz mcoRoofStyle mcoSkipCDHouseStyle
    houseload ^DCityDesigner House style?
    :mcoSkipCDHouseStyle
    gv mcoWW 0
    gv mcoWW ^D Walkway Width: (0)
    :mcoSkipRoofVars
    gw mcoCityWallTowerVarsOK OK
    savevars CityWallTower-vars
    go mcoStart
    :mcoDoneVarCheck
    gv mcoUseDefault 1
    gv mcoUseDefault ^DUse saved settings? (1=yes - default - click) (0=no)
    ifz mcoUseDefault mcoDefineVars
    :mcoStart
    selbyp
    gv mcoBLeg 0
    gv mcoFirstTime 0
    gv mcoColDR 11
    gv mcoColLR 10
    color mcoColLS
    lwidth 0
    lstyle solid
    fstyle solid
    gp mcoCP 10001,10001
    gp mcoCP ^DTower centre:
    gdist mcoTestDist 10001,10001 mcoCP
    ifz mcoTestDist mcoCleanup
    ifz mcoTowerSides mcodrawcircletower
    rpoly mcoTowerSides mcoCP ^DTower size and orientation:
    color 0
    gp mcoOP @0,0
    gdist mcoTestDist mcoCP mcoOP
    ifz mcoTestDist mcoCleanup
    gdist mcoOD mcoCP mcoOP
    gbrng mcoOrient mcoCP mcoOP
    gv mcoAngle 360/mcoTowerSides
    gp mcoP1 mcoOP
    gp mcoP2 ref mcoCP gdist mcoD12 mcoP1 mcoP2
    GBRNG mcoB12 mcoP1 mcoP2
    gp mcoP1L ref mcoP1 gp mcoP1LC ref mcoP1 gp mcoFirstPoint mcoP1
    gp mcoFirstPointL mcoP1L
    gp mcoFirstPointLC mcoP1LC
    gv mcoFirstBrng mcoB12
    gp mcoP3 ref mcoCP gdist mcoD23 mcoP2 mcoP3
    gv mcoSideCount 3
    :mcoloop
    GBRNG mcoB12 mcoP1 mcoP2
    GBRNG mcoB23 mcoP2 mcoP3
    gcos mcowcs 90-((mcoB12-mcoB23-180)/2)
    gv mcoaw 1/mcowcs*(1.5)
    gv mcoawCren 1/mcowcs*(1.25)
    gp mcoP2L ref mcoP2 <(mcoB12+mcoB23)/2-90,mcoaw
    gp mcoP2LC ref mcoP2 <(mcoB12+mcoB23)/2-90,mcoawCren
    lwidth 0
    poly mcoP1L mcoP2L mcoP2 mcoP1;
    changec2 mcoColDS
    lwidth 2.5
    gdist mcoD12LC mcoP1LC mcoP2LC
    ifz mcoD12LC-7.5 mcoDoneCrenLoop
    gn mcoLoopCount (mcoD12LC-11.25)/7.5
    ifz mcoFirstTime mcoControl1
    gn mcoLoopCount (mcoD12LC-12.5)/7.5
    path ref mcoP1LC :mcoControl1
    changec2 mcoColDS
    ifz mcoLoopCount mcoDoneCrenLoop
    ifn mcoLoopCount mcoDoneCrenLoop
    gv mcoCrenDist (mcoD12LC-11.25)/mcoLoopCount
    gv mcoCurLen 6.25
    ifz mcoFirstTime mcoCrenLoop
    gv mcoCrenDist (mcoD12LC-12.5)/mcoLoopCount
    gv mcoCurLen 7.5
    :mcoCrenLoop
    line ref mcoP1LC changec2 mcoColDS
    gv mcoCurLen mcoCurLen+mcoCrenDist
    gv mcoLoopCount mcoLoopCount-1
    ifp mcoLoopCount mcoCrenLoop
    :mcoDoneCrenLoop
    lwidth 0
    ifz mcoSideCount-mcoTowerSides mcoDone
    gv mcoSideCount mcoSideCount+1
    gp mcoP4 ref mcoCP gdist mcoD34 mcoP3 mcoP4
    gp mcoP1 mcoP2
    gp mcoP2 mcoP3
    gp mcoP3 mcoP4
    gp mcoP1L mcoP2L
    gp mcoP2L mcoP3L
    gp mcoP1LC mcoP2LC
    gp mcoP2LC mcoP3LC
    gv mcoBLeg mcoB12
    gv mcoFirstTime 1
    goto mcoloop
    :mcoDone
    gp mcoP1 mcoP2
    gp mcoP2 mcoP3
    gp mcoP3 mcoFirstPoint
    gp mcoP1L mcoP2L
    gp mcoP2L mcoP3L
    gp mcoP1LC mcoP2LC
    gp mcoP2LC mcoP3LC
    gv mcoBLeg mcoB12
    GBRNG mcoB12 mcoP1 mcoP2
    GBRNG mcoB23 mcoP2 mcoP3
    gcos mcowcs 90-((mcoB12-mcoB23-180)/2)
    gv mcoaw 1/mcowcs*(1.5)
    gv mcoawCren 1/mcowcs*(1.25)
    gp mcoP2L ref mcoP2 <(mcoB12+mcoB23)/2-90,mcoaw
    gp mcoP2LC ref mcoP2 <(mcoB12+mcoB23)/2-90,mcoawCren
    lwidth 0
    poly mcoP1L mcoP2L mcoP2 mcoP1;
    changec2 mcoColDS
    lwidth 2.5
    gdist mcoD12LC mcoP1LC mcoP2LC
    ifz mcoD12LC-7.5 mcoDoneCrenLoop3
    gn mcoLoopCount (mcoD12LC-12.5)/7.5
    path ref mcoP1LC changec2 mcoColDS
    ifz mcoLoopCount mcoDoneCrenLoop3
    ifn mcoLoopCount mcoDoneCrenLoop3
    gv mcoCrenDist (mcoD12LC-12.5)/mcoLoopCount
    gv mcoCurLen 7.5
    :mcoCrenLoop3
    line ref mcoP1LC changec2 mcoColDS
    gv mcoCurLen mcoCurLen+mcoCrenDist
    gv mcoLoopCount mcoLoopCount-1
    ifp mcoLoopCount mcoCrenLoop3
    :mcoDoneCrenLoop3
    gp mcoP1 mcoP2
    gp mcoP2 mcoP3
    gp mcoP3 mcoP4
    gp mcoP1L mcoP2L
    gp mcoP2L mcoP3L
    gp mcoP1LC mcoP2LC
    gp mcoP2LC mcoP3LC
    gv mcoBLeg mcoB12
    GBRNG mcoB12 mcoP1 mcoP2
    GBRNG mcoB23 mcoFirstBrng
    gcos mcowcs 90-((mcoB12-mcoB23-180)/2)
    gv mcoaw 1/mcowcs*(1.5)
    gv mcoawCren 1/mcowcs*(1.25)
    gp mcoP2L ref mcoP2 <(mcoB12+mcoB23)/2-90,mcoaw
    gp mcoP2LC ref mcoP2 <(mcoB12+mcoB23)/2-90,mcoawCren
    lwidth 0
    poly mcoP1L mcoP2L mcoP2 mcoP1;
    changec2 mcoColDS
    lwidth 2.5
    gdist mcoD12LC mcoP1LC mcoP2LC
    ifz mcoD12LC-7.5 mcoDoneCrenLoop4
    gn mcoLoopCount (mcoD12LC-12.5)/7.5
    path ref mcoP1LC changec2 mcoColDS
    ifz mcoLoopCount mcoDoneCrenLoop4
    ifn mcoLoopCount mcoDoneCrenLoop4
    gv mcoCrenDist (mcoD12LC-12.5)/mcoLoopCount
    gv mcoCurLen 7.5
    :mcoCrenLoop4
    line ref mcoP1LC changec2 mcoColDS
    gv mcoCurLen mcoCurLen+mcoCrenDist
    gv mcoLoopCount mcoLoopCount-1
    ifp mcoLoopCount mcoCrenLoop4
    :mcoDoneCrenLoop4
    lwidth 2.5
    path ref mcoP2LC changec2 mcoColDS
    :mcoRoofConstruction
    ifz mcoRS mcoCleanup
    gcos mcoCOS mcoAngle/2
    gv mcoCOS 1/mcoCOS
    gv mcoID mcoOD-(mcoWW*mcoCOS)
    ifz mcoRoofStyle-1 mcoCleanup
    gv mcoC 0
    lwidth 0;fstyle solid;lstyle solid;color 0
    poly
    mcoCP
    :mcoRoofLoop1
    ref mcoCP gv mcoC mcoC+1
    ifp .5-(mcoC/mcoTowerSides) mcoRoofLoop1

    changec2 mcoColDR
    poly
    mcoCP
    ref mcoCP :mcoRoofLoop2
    ref mcoCP gv mcoC mcoC+1
    ifp mcoTowerSides-mcoC+1 mcoRoofLoop2

    changec2 mcoColLR
    lwidth 1
    gv mcoC 1
    :mcoR idgeLoop1
    line mcoCP ref mcoCP changec2 mcoColDR
    gv mcoC mcoC+1
    ifp .5-(mcoC/mcoTowerSides) mcoRidgeLoop1
    changec2 mcoColLR
    :mcoRidgeLoop2
    line mcoCP ref mcoCP changec2 mcoColLR
    gv mcoC mcoC+1
    ifp mcoTowerSides-mcoC+1 mcoRidgeLoop2
    changec2 mcoColLR
    lwidth 0
    rpoly mcoTowerSides mcoCP ref mcoCP changec2 mcoColLR
    go mcoCleanup


    :mcodrawcircletower
    cirp mcoCP ^DTower diameter:
    gp mcoOP @0,0
    gdist mcoTestDist mcoCP mcoOP
    ifz mcoTestDist moAbort
    erase
    gv mcoTW mcoTestDist*2
    lwidth 0;color mcoColLS;fstyle solid;cird mcoTW mcoCP;
    lwidth 1.5;color 0;cird mcoTW mcoCP;
    changec2 mcoColDS
    gv mcoOutsideTW mcoTW+.75
    gn mcoOutsideCirc mcoOutsideTW*3.1416/7.5
    gv mcoOneArcUnit 360/mcoOutsideCirc/7.5
    gv mcocurrentangle 0
    :mcocirccrenloop
    lwidth 2.5;color 0;fstyle solid
    arcr mcoCP mcoOutsideTW/2 mcocurrentangle (mcocurrentangle+(mcoOneArcUnit*5))
    |changec2 mcoColDS
    gv mcocurrentangle (mcocurrentangle+(mcoOneArcUnit*7.5))
    ifp mcocurrentangle-360 mcodonecirccrenloop
    go mcocirccrenloop
    :mcodonecirccrenloop
    ifz mcoRS mcoCleanup
    ifz mcoRoofStyle mcoDefaultCircRoof
    gv mcoTowerSides 15
    gv mcoAngle 360/mcoTowerSides
    gv mcoOrient 90
    gv mcoOD mcoTW/2
    gcos mcoCOS mcoAngle/2
    gv mcoCOS 1/mcoCOS
    gv mcoID mcoOD-(mcoWW*mcoCOS)
    go mcoCleanup
    :mcoDefaultCircRoof
    lwidth 0;fstyle solid
    color mcoColLR;cird mcoTW-(mcoWW*2) mcoCP;
    color mcoColDR
    arcw mcoCP (mcoTW-(mcoWW*2))/2 200 350
    |color 0;fstyle hollow;cird mcoTW-(mcoWW*2) mcoCP;
    go mcoCleanup


    :mcoCleanup
    lwidth 0
    selbyl
    changel MacroConstruction
    like
    10001,10001
    selbyp
    group
    ifz mcoRoofStyle mcoAbort
    :mcoCDHouseStyle
    gv mcoC 0
    housem 8
    :mcoCDRoofLoop
    ref mcoCP gv mcoC mcoC+1
    ifn mcoC-mcoTowerSides mcoCDRoofLoop

    mcoCP;
    :mcoabort
    selby1
    keep 10001,10001
    erase 10001,10001
    selrest
    rdon
    econ
    endm









    Morgan Olden

    Copyright © AD&Den`s Lair Все права защищены.

    Опубликовано на: 2005-03-30 (2651 Прочтено)

    [ Вернуться назад ]
     
    Темы
  •  Все категории
  •  Карты
  •  Проза
  •  Страница
  •  Тексты

  • Последняя пятерка
  • Школьные годы чудесные [ 0 Комментарии - 281 Прочтено ]
  • Хроники конца света [ 0 Комментарии - 281 Прочтено ]
  • СС3 Космографер [ 0 Комментарии - 37731 Прочтено ]
  • СС2 Космографер [ 3 Комментарии - 38201 Прочтено ]
  • Том Картографера [ 7 Комментарии - 38189 Прочтено ]

  • [ Больше в секции новостей ]

    Шпионство

    IP
    3.145.168.147

    Мониторинг доступности сайтов и серверов Host-tracker.com Век Приключений Bascinet - реконструкция denw IL-2 Training Книготорговая Компания «А-5» - художественная, учебная литература, скидки, опт и мелкий опт, доставка, дешево, низкие цены издательства Feokl Private Server