Трижды Забытая Родина
Искать в
Век Приключений
Сегодня
Навигация
  •  Главная
  •  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




    НазваниеПарапет 1
    АвторMorgan Olden
    КомандаPARAPET1
    ОписаниеИзображает зубчатый парапет между двумя точками.
    InstructionsМакрос не имеет настроек. Просто укажите две точки и ждите пока макрос работает. Макрос рисует зубцу вверху, если точки стоят слева направо - на приведенном рисунке левая точка первая.
    Макрос изображает 5-футовые зубцы и 2.5-футовые промежутки между ними.
    Для смены цвета парапета измените значение "ColDS" на третьей строке макроса.

    Код
    //Morgan Olden (June 2000)
    macro PARAPET1
    ecoff
    gv ColDS 18
    gp P1 ^DPoint 1:
    iferr done
    gp P2 ^DPoint 2:
    iferr done
    color ColDS;lwidth 1.5;fstyle solid;lstyle solid
    line P1 P2;
    color 0;fstyle hollow
    line P1 P2;
    gdist DTS P1 P2
    gv DTS DTS-12.5
    gv remainder DTS
    :remainderloop
    ifz remainder doneremainderloop
    ifn remainder-7.5 doneremainderloop
    gv remainder remainder-7.5
    go remainderloop
    :doneremainderloop
    gbrng CrenBrng P1 P2
    gp P1 ref P1 <(CrenBrng+90),.5
    gp P2 ref P2 <(CrenBrng+90),.5
    gp Cren1 ref P1 <CrenBrng,(remainder/2)+7.5
    gv CrenTDist DTS-remainder
    lwidth 2.5;color ColDS;fstyle solid
    line P1 ref P1 <CrenBrng,5+(remainder/2);
    color 0;fstyle hollow
    line P1 ref P1 <CrenBrng,5+(remainder/2);
    gp CrenS Cren1
    ifn DTS-7.5 control1
    :loop
    gp Cren2 ref Cren1 <CrenBrng,5
    lstyle solid;color ColDS;lwidth 2.5;fstyle solid;line Cren1 Cren2;
    color 0;fstyle hollow;line Cren1 Cren2;
    gdist CrenDist CrenS Cren2
    ifn CrenTDist-CrenDist-7.5 control1
    gp Cren1 ref Cren1 <CrenBrng,7.5
    go loop
    :control1
    lwidth 2.5;color ColDS;fstyle solid
    line P2 ref P2 <CrenBrng+180,5+(remainder/2);
    color 0;fstyle hollow
    line P2 ref P2 <CrenBrng+180,5+(remainder/2);
    :done
    econ
    endm
    НазваниеПарапет 2
    АвторMorgan Olden
    Командаparapet2
    ОписаниеПреобразует существующую линию в парапет зубчатой стены. Работает на открытые и закрытые объекты.
    ИнструкцииВерсия 2.0 Полностью измененный макрос, заменяющий старую версию и работающий на закрытые объекты. Должен работать немного лучше своего предшественника.
    В макрос включен файл скрипта с кодом (смотри вложение). Для работы скрипта просто запустите его из СС2.
    Код
    macro parapet2
    ecoff
    rdoff
    point 10001,10001;
    golayer MacroConstruction1
    golayer MacroConstruction
    :mcoStart
    gv mcoColDS 18
    gv mcoColLS 16
    ge mcoEntity ^DEntity
    iferr mcoDone
    gp mcoP1 % 0 mcoentity
    line mcoP1 ^DWhich side to crenelate?;
    selbyp
    erase
    gp mcoP2 @0,0
    gbrng mcoTEST1 mcoP1 % 1 mcoentity
    gbrng mcoTEST2 mcoP1 mcoP2
    ifp mcoTEST1-mcoTEST2 mcoControl1
    gv mcoSIDE -1
    ifp mcoTEST2-mcoTEST1-180 mcoControl2
    gv mcoSIDE 1
    go mcoControl2
    :mcoControl1
    gv mcoSIDE 1
    ifp mcoTEST1-mcoTEST2-180 mcoControl2
    gv mcoSIDE -1
    :mcoControl2
    gv mcoClosed 1
    gdist mcoTestDist % 0 mcoEntity % 100 mcoEntity
    ifz mcoTestDist mcoControl3
    gv mcoClosed 0
    :mcoControl3
    gdist mcoTotLen % 0 mcoEntity % .1 mcoEntity
    gv mcoTotLen mcoTotLen*1000
    gv mcoUnit 100/mcoTotLen
    gv mcoremainder mcoTotLen-(2.5*mcoClosed)
    gv mcosegments 0
    :mcoremainderloop
    ifn mcoremainder-7.5 mcodoneremainderloop
    gv mcosegments mcosegments+1
    gv mcoremainder mcoremainder-7.5
    go mcoremainderloop
    :mcodoneremainderloop
    gv mcopartlen ((mcoTotLen-(2.5*mcoClosed))-((mcosegments-1)*2.5))/mcosegments
    gv mcoPartFrag mcopartlen/5
    selby1
    CHANGEC mcoentity 0
    CHANGEC2 mcoentity mcoColDS
    CHANGELW mcoentity 1.5
    CHANGEFS mcoentity SOLID
    selbyp
    lwidth 2.5;fstyle solid;color 0
    gv mcoLC (2.5*mcoClosed)
    :mcoLoop
    gbrng mcoB1 % mcoLC*mcoUnit mcoEntity % (mcoLC*mcoUnit)+.01 mcoEntity
    gp mcoP1 ref % mcoLC*mcoUnit mcoEntity <mcoB1+(90*mcoSIDE),.5
    gbrng mcoB1 % (mcoLC+mcoPartFrag)*mcoUnit mcoEntity % ((mcoLC+mcoPartFrag)*mcoUnit)+.01 mcoEntity
    gp mcoP2 ref % (mcoLC+mcoPartFrag)*mcoUnit mcoEntity <mcoB1+(90*mcoSIDE),.5
    gbrng mcoB1 % (mcoLC+(mcoPartFrag*2))*mcoUnit mcoEntity % ((mcoLC+(mcoPartFrag*2))*mcoUnit)+.01 mcoEntity
    gp mcoP3 ref % (mcoLC+(mcoPartFrag*2))*mcoUnit mcoEntity <mcoB1+(90*mcoSIDE),.5
    gbrng mcoB1 % (mcoLC+(mcoPartFrag*3))*mcoUnit mcoEntity % ((mcoLC+(mcoPartFrag*3))*mcoUnit)+.01 mcoEntity
    gp mcoP4 ref % (mcoLC+(mcoPartFrag*3))*mcoUnit mcoEntity <mcoB1+(90*mcoSIDE),.5
    gbrng mcoB1 % (mcoLC+(mcoPartFrag*4))*mcoUnit mcoEntity % ((mcoLC+(mcoPartFrag*4))*mcoUnit)+.01 mcoEntity
    gp mcoP5 ref % (mcoLC+(mcoPartFrag*4))*mcoUnit mcoEntity <mcoB1+(90*mcoSIDE),.5
    gbrng mcoB1 % (mcoLC+(mcoPartFrag*5))*mcoUnit mcoEntity % ((mcoLC+(mcoPartFrag*5))*mcoUnit)+.01 mcoEntity
    gp mcoP6 ref % (mcoLC+(mcoPartFrag*5))*mcoUnit mcoEntity <mcoB1+(90*mcoSIDE),.5
    path mcoP1 mcoP2 mcoP3 mcoP4 mcoP5 mcoP6;
    changec2 mcoColDS
    gv mcoLC mcoLC+mcopartlen+2.5
    ifn mcoLC-mcoTotLen+8 mcoLoop
    gbrng mcoB1 % mcoLC*mcoUnit mcoEntity % (mcoLC*mcoUnit)+.01 mcoEntity
    gp mcoP1 ref % mcoLC*mcoUnit mcoEntity <mcoB1+(90*mcoSIDE),.5
    gbrng mcoB1 % (mcoLC+mcoPartFrag)*mcoUnit mcoEntity % ((mcoLC+mcoPartFrag)*mcoUnit)+.01 mcoEntity
    gp mcoP2 ref % (mcoLC+mcoPartFrag)*mcoUnit mcoEntity <mcoB1+(90*mcoSIDE),.5
    gbrng mcoB1 % (mcoLC+(mcoPartFrag*2))*mcoUnit mcoEntity % ((mcoLC+(mcoPartFrag*2))*mcoUnit)+.01 mcoEntity
    gp mcoP3 ref % (mcoLC+(mcoPartFrag*2))*mcoUnit mcoEntity <mcoB1+(90*mcoSIDE),.5
    gbrng mcoB1 % (mcoLC+(mcoPartFrag*3))*mcoUnit mcoEntity % ((mcoLC+(mcoPartFrag*3))*mcoUnit)+.01 mcoEntity
    gp mcoP4 ref % (mcoLC+(mcoPartFrag*3))*mcoUnit mcoEntity <mcoB1+(90*mcoSIDE),.5
    gbrng mcoB1 % (mcoLC+(mcoPartFrag*4))*mcoUnit mcoEntity % ((mcoLC+(mcoPartFrag*4))*mcoUnit)+.01 mcoEntity
    gp mcoP5 ref % (mcoLC+(mcoPartFrag*4))*mcoUnit mcoEntity <mcoB1+(90*mcoSIDE),.5
    gbrng mcoB1 % 99.99 mcoEntity % 100 mcoEntity
    gp mcoP6 ref % 100 mcoEntity <mcoB1+(90*mcoSIDE),.5
    path mcoP1 mcoP2 mcoP3 mcoP4 mcoP5 mcoP6;
    changec2 mcoColDS
    :mcodone
    selbyl
    changel MacroConstruction
    like
    10001,10001
    selbyp
    group
    front
    :mcoabort
    selby1
    keep 10001,10001
    erase 10001,10001
    selrest
    rdon
    econ
    endm
    НазваниеПарапет 3
    АвторMorgan Olden
    Командаparapet3
    ОписаниеИзображает парапет зубчатой стены как линию. Включает удачные построения углов и возможность закрытия парапета.
    ИнструкцииВерсия 1.1 Исправлены ошибки и добавлена возможность выбора цвета.
    В макрос включен файл скрипта с кодом (смотри вложение). Для работы скрипта просто запустите его из СС2.
    Код
    parapet3
    ecoff
    rdoff
    point 10001,10001;
    golayer MacroConstruction
    :mcoStart
    gv mcoBLeg 0
    gv mcoFirstTime 0
    gv mcoColDS 14
    gv mcoColLS 251
    gcol mcoColDS ^DDark stone colour? (14)
    gcol mcoColLS ^DLight stone colour? (251)
    color 0
    lwidth 0
    lstyle solid
    fstyle solid
    selbyp
    gp mcoP1 ^DPoint 1:
    iferr mcoabort
    gp mcoP2 ^DPoint 2:
    line mcoP1 mcoP2;
    gdist mcoD12 mcoP1 mcoP2
    ifz mcoD12 mcoabort
    GBRNG mcoB12 mcoP1 mcoP2
    gp mcoP1L ref mcoP1 <mcoB12+90,1.5
    gp mcoP1LC ref mcoP1 <mcoB12+90,1.25
    gp mcoFirstPoint mcoP1
    gp mcoFirstPointL mcoP1L
    gp mcoFirstPointLC mcoP1LC
    gv mcoFirstBrng mcoB12
    gp mcoP3 mcoP2
    gp mcoP3 ^DNext Point:
    line mcoP2 mcoP3;
    gdist mcoD23 mcoP2 mcoP3
    ifz mcoD23 mco2PointCrenelation
    :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 <mcoBLeg-180,5 mcoP1LC ref mcoP1LC <mcoB12,5;
    :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 <mcoB12,mcoCurLen ref mcoP1LC <mcoB12,(mcoCurLen+mcoCrenDist-2.5);
    changec2 mcoColDS
    gv mcoCurLen mcoCurLen+mcoCrenDist
    gv mcoLoopCount mcoLoopCount-1
    ifp mcoLoopCount mcoCrenLoop
    :mcoDoneCrenLoop
    lwidth 0
    gp mcoP4 mcoP3
    gp mcoP4 ^DNext Point
    line mcoP3 mcoP4;
    gdist mcoD34 mcoP3 mcoP4
    ifz mcoD34 mcodone
    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
    askbox
    Closed Loop
    Do you want to create a
    closed crenelation loop?

    iferr mcoEndCrenelation
    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 <mcoBLeg-180,5 mcoP1LC ref mcoP1LC <mcoB12,5;
    changec2 mcoColDS
    ifz mcoLoopCount mcoDoneCrenLoop3
    ifn mcoLoopCount mcoDoneCrenLoop3
    gv mcoCrenDist (mcoD12LC-12.5)/mcoLoopCount
    gv mcoCurLen 7.5
    :mcoCrenLoop3
    line ref mcoP1LC <mcoB12,mcoCurLen ref mcoP1LC <mcoB12,(mcoCurLen+mcoCrenDist-2.5);
    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 <mcoBLeg-180,5 mcoP1LC ref mcoP1LC <mcoB12,5;
    changec2 mcoColDS
    ifz mcoLoopCount mcoDoneCrenLoop4
    ifn mcoLoopCount mcoDoneCrenLoop4
    gv mcoCrenDist (mcoD12LC-12.5)/mcoLoopCount
    gv mcoCurLen 7.5
    :mcoCrenLoop4
    line ref mcoP1LC <mcoB12,mcoCurLen ref mcoP1LC <mcoB12,(mcoCurLen+mcoCrenDist-2.5);
    changec2 mcoColDS
    gv mcoCurLen mcoCurLen+mcoCrenDist
    gv mcoLoopCount mcoLoopCount-1
    ifp mcoLoopCount mcoCrenLoop4
    :mcoDoneCrenLoop4
    lwidth 2.5
    path ref mcoP2LC <mcoB12-180,5 mcoP2LC ref mcoP2LC <mcoB23,5;
    changec2 mcoColDS
    go mcoDoneCrenLoop2
    :mcoEndCrenelation
    gp mcoP3L ref mcoP3 <mcoB23+90,1.5
    gp mcoP3LC ref mcoP3 <mcoB23+90,1.25
    poly mcoP2L mcoP3L mcoP3 mcoP2;
    changec2 mcoColDS
    lwidth 2.5
    gdist mcoD23LC mcoP2LC mcoP3LC
    ifz mcoD23LC-7.5 mcoDoneCrenLoop2
    gn mcoLoopCount (mcoD23LC-11.25)/7.5
    path ref mcoP2LC <mcoB12-180,5 mcoP2LC ref mcoP2LC <mcoB23,5;
    changec2 mcoColDS
    ifz mcoLoopCount mcoCrenEndcap
    ifn mcoLoopCount mcoCrenEndcap
    gv mcoCrenDist (mcoD23LC-11.25)/mcoLoopCount
    gv mcoCurLen 7.5
    :mcoCrenLoop2
    line ref mcoP2LC <mcoB23,mcoCurLen ref mcoP2LC <mcoB23,(mcoCurLen+mcoCrenDist-2.5);
    changec2 mcoColDS
    gv mcoCurLen mcoCurLen+mcoCrenDist
    gv mcoLoopCount mcoLoopCount-1
    ifp mcoLoopCount mcoCrenLoop2
    :mcoCrenEndcap
    line mcoP3LC ref mcoP3LC <mcoB23-180,3.75;
    changec2 mcoColDS
    line mcoFirstPointLC ref mcoFirstPointLC <mcoFirstBrng,3.75;
    changec2 mcoColDS
    :mcoDoneCrenLoop2
    go mcoParapet3Cleanup
    :mco2PointCrenelation
    GBRNG mcoB12 mcoP1 mcoP2
    gp mcoP1L ref mcoP1 <mcoB12+90,1.5
    gp mcoP1LC ref mcoP1 <mcoB12+90,1.25
    gp mcoP2L ref mcoP2 <mcoB12+90,1.5
    gp mcoP2LC ref mcoP2 <mcoB12+90,1.25
    gdist mcoD12LC mcoP1LC mcoP2LC
    lwidth 0
    poly mcoP1L mcoP2L mcoP2 mcoP1;
    changec2 mcoColDS
    lwidth 2.5
    ifz mcoD12LC-7.5 mcoDoneCrenLoop5
    gn mcoLoopCount (mcoD12LC+2.5)/7.5
    ifz mcoLoopCount mcoDoneCrenLoop5
    ifn mcoLoopCount mcoDoneCrenLoop5
    gv mcoCrenDist (mcoD12LC+2.5)/mcoLoopCount
    gv mcoCurLen 0
    :mcoCrenLoop5
    line ref mcoP1LC <mcoB12,mcoCurLen ref mcoP1LC <mcoB12,(mcoCurLen+mcoCrenDist-2.5);
    changec2 mcoColDS
    gv mcoCurLen mcoCurLen+mcoCrenDist
    gv mcoLoopCount mcoLoopCount-1
    ifp mcoLoopCount mcoCrenLoop5
    :mcoDoneCrenLoop5
    gl spacer line
    :mcoParapet3Cleanup
    lwidth 0
    selbyl
    changel MacroConstruction
    like
    10001,10001
    selbyp
    group
    :mcoabort
    selby1
    keep 10001,10001
    erase 10001,10001
    selrest
    rdon
    econ
    endm


    Morgan Olden








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

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

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

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

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

    Шпионство

    IP
    52.14.166.224

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