1. Друзья, в это тяжёлое и непонятное для всех нас время мы просим вас воздержаться от любых упоминаний политики на форуме, - этим ситуации не поможешь, а только возникнут ненужные ссоры и обиды. Это касается также шуток и юмора на тему конфликта. Пусть войны будут только виртуальными, а политики решают разногласия дипломатическим путём. С уважением, администрация Old-Games.RU.

    Скрыть объявление
  2. Пожалуйста, внимательно прочитайте правила раздела.
  3. Если Вы видите это сообщение, значит, вы ещё не зарегистрировались на нашем форуме.

    Зарегистрируйтесь, если вы хотите принять участие в обсуждениях. Перед регистрацией примите к сведению:
    1. Не регистрируйтесь с никами типа asdfdadhgd, 354621 и тому подобными, не несущими смысловой нагрузки (ник должен быть читаемым!): такие пользователи будут сразу заблокированы!
    2. Не регистрируйте больше одной учётной записи. Если у вас возникли проблемы при регистрации, то вы можете воспользоваться формой обратной связи внизу страницы.
    3. Регистрируйтесь с реально существующими E-mail адресами, иначе вы не сможете завершить регистрацию.
    4. Обязательно ознакомьтесь с правилами поведения на нашем форуме, чтобы избежать дальнейших конфликтов и непонимания.
    С уважением, администрация форума Old-Games.RU
    Скрыть объявление

Помощь в освoении Mapster32 и скриптов EDuke32, а также других его редакторов

Тема в разделе "Мастерская", создана пользователем LipSheZ, 27 дек 2007.

?

Играя в Duke Nukem, пробовали ли вы когда-нибудь редактировать его con-файлы?

  1. Да, конечно!

    50,0%
  2. Было несколько раз, но я в них ничего не понял(а), там всё так сложно...

    20,6%
  3. Нет, даже и не думал(а) об этом никогда.

    29,4%
  1. LipSheZ Пахан

    LipSheZ

    Регистрация:
    1 окт 2007
    Сообщения:
    908
    Конечно, не упрёк. Я ж просто ответил на вопрос, который мне задал John Freeman. Только и всего...

    Уфф, однако ж в последнее время разработчики EDuke32 откровенно балуют нас частыми обновлениями, и это здорово! Очередной апдейт - http://wiki.eduke32.com/stuff/eduke32_snapshot_20080224.zip. Здесь исправлена команда ldist, из-за которой у меня, кстати, раньше постоянно вылетала игра. Во как оно бывает-то!
     
    Последнее редактирование: 25 фев 2008
    kreol нравится это.
  2. K.Alexey Ломающий стереотипы

    K.Alexey

    Регистрация:
    1 июн 2007
    Сообщения:
    970
    Они исправили проблемы с вылетом,когда ты удаляешь сектора?То есть,я начертил сектор,но передумав,удаляю его.При заходе в 3D режим редактор вылетает.Или это уже в прошлом?
     
  3. LipSheZ Пахан

    LipSheZ

    Регистрация:
    1 окт 2007
    Сообщения:
    908
    Какой сектор? Внешний или внутренний?
    Как ты удаляешь? Есть несколько способов, и мне для того, чтобы проверить, надо знать каким способом ты удаляешь сектора.
    У тебя Build или Mapster32? Если позиция игрока (бел. стрелка в 2d) находится за пределами внешнего сектора, т. е. вне игрового пространства, то в этом случае могут быть проблемы. Подробнее опиши алгоритм своих действий и укажи каким редактором пользуешься, его версию заодно. ;) У меня всё работает исправно...
     
    Последнее редактирование: 29 фев 2008
  4. K.Alexey Ломающий стереотипы

    K.Alexey

    Регистрация:
    1 июн 2007
    Сообщения:
    970
    Оригинальный билдер.При создании любого сектора.
     
  5. Nil Любимый цвет — голубой

    Nil

    Регистрация:
    30 апр 2007
    Сообщения:
    1.974
    MARDERIII]ASTS[, а зачем ты это делаешь? ты знаешь, что если папку Windows удалить, то он не загрузится :) иди катай по этому поводу жалобу в Microsoft.
    Защиты от таких дурацких действий, как удаление всех секторов и попытку выхода в 3d режим просто не предусмотрели. А тебе что, очень надо :)
    Это если ты, как я понял, удаляешь 1 сектор при помощи ctrl+delete, в котором находится старт игрока. а красные сектора надо оъединять - "j" кнопочка :)
     
  6. LipSheZ Пахан

    LipSheZ

    Регистрация:
    1 окт 2007
    Сообщения:
    908
    Правильно, от слова join. MARDER, как же их ты удаляешь?

    Друзья, я хочу шокировать вас и предупреждаю, что падать может быть больно, убедитесь, что рядом нет мебели с острыми углами. А известие моё такое: появился НОВЫЙ (совершенно новый) редактор для Дюка. Создал его Максим Чемякин, молодой весьма талантливый программист (очень молодой - ему 18!). Мэпстер теперь отдыхает! Редактор-то этот новый на уровне UnrealEd (это для Дюка-то!!!), позволяющий вытворять изощрённейшие безумства с геометрией уровней, со внутренней системой скриптов и подробнейшим хелпом! Невероятно! Возможностей столько, что надо неделю как минимум без сна, еды и сортира провести перед монитором, неотрываясь, и тогда только можно хоть что-то понять. Безумный редактор, инструмент для воплощения любых мэпперских фантазий! Пробуйте, я сам ещё ничего не шпарю, пока что научился только геометрические объекты строить кое-как. Это фантастика! А-а-а, держите меня!

    Пока я не упал и не хряпнулся головой об угол, скорее печатаю ссылку на этот мега-редактор: http://lezsite.narod.ru/files/lebuildr.rar

    С ума сойти! Ну, чудеса!
     
    K.Alexey, unreal doom, kulguy и 2 другим нравится это.
  7. Nil Любимый цвет — голубой

    Nil

    Регистрация:
    30 апр 2007
    Сообщения:
    1.974
    LipSheZ, ну я и билд изучал без сна, еды и сортира. в особенности Blood mapedit с его X системой :) Вот его хорошо бы переписать! но там нужны навыки обратной разработки, при том, что он ещё и шифрует карту, сволочь! и документации к формату карт не существует в природе.
    За редактор спасибо, шас посмотрю!

    Добавлено через 1 минуту
    ААА! режим Ctrl+shift+alt+f10 зохавал мой моск! всем качать и смотреть! без вариантов. печально, что отсутствует привычная возможность менять высоту сектора из 3d вида :(
     
    Последнее редактирование: 5 мар 2008
  8. kulguy Дабл Арчвайл

    kulguy

    Регистрация:
    12 сен 2007
    Сообщения:
    376
    LipSheZ, вау... Наконец-то я нашел редактор не тормозяцкий, с понятным междумордием и русским языком (мануал, междумордие). УРАААА :yahoo:
     
    Последнее редактирование: 5 мар 2008
  9. VorteX DrAgON Троллей не кормлю, сами сдохнут.

    VorteX DrAgON

    Legacy

    Регистрация:
    20 сен 2004
    Сообщения:
    3.050
    kulguy,
    Не мог бы ты орать потише? А то я аж оглох
     
    kulguy нравится это.
  10. LipSheZ Пахан

    LipSheZ

    Регистрация:
    1 окт 2007
    Сообщения:
    908
    Однако ж, у LEBuild'а есть один недостаток - скорость переключения 2d и 3d. Впрочем, это, наверное, потому, что комп у меня допотопный. Ну ничего-ничего, через неделю я куплю новый, современный, тогда уж поменьше тормозить будет!:spiteful:
     
  11. kulguy Дабл Арчвайл

    kulguy

    Регистрация:
    12 сен 2007
    Сообщения:
    376
    LipSheZ, а ты не знаешь как текстурировать в ЛЕ сектора?
     
  12. LipSheZ Пахан

    LipSheZ

    Регистрация:
    1 окт 2007
    Сообщения:
    908
    Сначала перехожу в 3d-режим (Alt+F11), затем навожу указку на нужную поверхность и дважды нажимаю "V". Перед тем, как менять режимы, убедитесь, что указатель позиции "игрока" (зелёная стрелка в 2d) находится внутри сектора. Далее выбираю нужную текстуру и давлю Enter, как это и было в M32. Я ещё, кстати, так и не понял как управлять позицией "игрока" - в M32 её можно было менять "стрелками", а как в LEB, не знаю пока. Для того, чтобы LEB работал чуть быстрее, можно выключить декоративные функции в его сеттингах. Во вкладке "Вид" можно найти "Конфигурацию отображения...", клицаем туды. В новом окне убираем галочки с:

    • "Показать fps"
    • "Включить искры"
    • "Показать время сеанса"
    • "Включить тень указателя мыши"
    • "Интерполяция перемещения мыши"

    Эти навороты будут сильно тормозить редактор на слабых машинах. Ещё можно в "Настройках Lebuild..." (вкладка "Сервис") поставить максимальную нагрузку на процессер. Так у меня вроде как немного побыстрее теперь работает...
    Наверняка есть другой способ. Надо поискать (чем я прямо сейчас и займусь).
     
    Последнее редактирование: 5 мар 2008
    kulguy и kreol нравится это.
  13. New Beast

    New Beast

    Регистрация:
    7 янв 2005
    Сообщения:
    21
    Начнём с того, что моя фамилия Чинякин, а лет мне пока что 17 (не удосужился сверить с хомяком? ;) )... а всё редактирование в LEBuild через 2D делается (3D там это скорее фича), в том числе и текстурирование, и изменение высоты. Просто текстуры врубаешь и вперёд. Многие клавиши совпадают с мапстеровскими и все описаны в хелпе.

    Не знаю, где ты там нашёл зелёную стрелку (стартовая позиция коричневой стрелкой отображаетсо)... но при нажатии ALT+F11 попадаешь туда, куда навёл мышу. Стартовая позиция используется при вызове трёхмерного вида из меню. А в самом 3D привычное WSAD управление... И можно запросто перемещаться вне сектора - движок полигоны рендерит...
     
  14. LipSheZ Пахан

    LipSheZ

    Регистрация:
    1 окт 2007
    Сообщения:
    908
    Здорово, что ты разегался на этом форуме. Твои советы, как создателя редактора LEBuild, нам очень нужны. С твоей помощью мы быстрее освоим редактор.:drink:
    Макс, пардон, я дальтоник. Зелёный, коричневый и красный вижу одинаково, ну, а тут попробовал наугад написать...

    New Beast, а ты в языке CON разбираешься?
     
    Последнее редактирование: 6 мар 2008
  15. New Beast

    New Beast

    Регистрация:
    7 янв 2005
    Сообщения:
    21
    LipSheZ, в конах более-менее шпарю, в CROSSROADS Series реализовал потенциал обычного Duke Atomic, позже немного поразбирался с возможностями EDuke32, понял как прожектайлы создавать, события обрабатывать, картинки на экране отображать. Дальнейшему освоению помешало отсутствие подробной документации...
     
  16. LipSheZ Пахан

    LipSheZ

    Регистрация:
    1 окт 2007
    Сообщения:
    908
    Слушай, я тут немного запнулся на кодинге самонаводящегося RPG-проджектайла. Сначала приведу код, а потом скажу в чём заключается проблема.



    gamevar ANGVAR 0 0
    gamevar angproj 0 0
    gamevar x 0 0
    gamevar y 0 0
    gamevar MX 0 0
    gamevar MY 0 0
    gamevar zdistproj 0 0
    gamevar TEMP_AAA 0 0
    gamevar enemyextra 0 0
    gamevar ANGVAR1 0 0
    gamevar angproj1 0 0
    gamevar SEEK_DIST 5700 0
    gamevar zdistproj 0 0
    gamevar TEMP 0 0
    gamevar TEMP2 0 0
    gamevar TEMP3 0 0

    state heatseekcode
    ifvarn TEMP_AAA -1 {
    getactor[TEMP_AAA].x MX
    getactor[TEMP_AAA].y MY
    getactor[TEMP_AAA].extra enemyextra
    getactor[THISACTOR].x x
    getactor[THISACTOR].y y
    getactor[THISACTOR].ang angproj
    ifvarg enemyextra 0
    {
    subvarvar MX x
    subvarvar MY y
    getangle ANGVAR MX MY
    ifvarl angproj 0 setvar angproj 2048
    ifvarg angproj 2048 setvar angproj 0
    setvarvar angproj1 angproj
    setvarvar ANGVAR1 ANGVAR
    ifvarvarl ANGVAR angproj
    {
    subvarvar angproj1 ANGVAR1
    ifvarg angproj1 1024 addvar angproj 32
    else ifvarl angproj1 1024 subvar angproj 32
    setactor[THISACTOR].ang angproj
    }
    else ifvarvarl angproj ANGVAR
    {
    subvarvar ANGVAR1 angproj1
    ifvarg ANGVAR1 1024 subvar angproj 32
    else ifvarl ANGVAR1 1024 addvar angproj 32
    setactor[THISACTOR].ang angproj
    }
    ldist TEMP THISACTOR TEMP_AAA
    getactor[THISACTOR].z TEMP2
    addvar TEMP2 6192
    getactor[TEMP_AAA].z TEMP3
    subvarvar TEMP3 TEMP2
    shiftvarl TEMP3 8
    divvarvar TEMP3 TEMP
    getactor[THISACTOR].zvel zdistproj
    ifvarvarl zdistproj TEMP3 addvar zdistproj 356
    else ifvarvarg zdistproj TEMP3 subvar zdistproj 356
    setactor[THISACTOR].zvel zdistproj
    }
    }
    ends

    onevent EVENT_GAME
    switch RETURN
    case RPG
    getactor[THISACTOR].x x
    getactor[THISACTOR].y y
    getactor[THISACTOR].ang angproj
    ifvarg enemyextra 0
    subvarvar MX x
    subvarvar MY y
    getangle ANGVAR MX MY
    ifvarl angproj 0 setvar angproj 2048
    ifvarg angproj 2048 setvar angproj 0
    ifrnd 20 addvar angproj 24
    else ifrnd 20 subvar angproj 24
    setactor[THISACTOR].ang angproj
    getactor[THISACTOR].zvel zdistproj
    ifrnd 20 addvar zdistproj 280
    else ifrnd 20 subvar zdistproj 280
    setactor[THISACTOR].zvel zdistproj
    findnearactorvar PIGCOP SEEK_DIST TEMP_AAA state heatseekcode
    findnearactorvar SHARK SEEK_DIST TEMP_AAA state heatseekcode
    findnearactorvar PIGCOPSTAYPUT SEEK_DIST TEMP_AAA state heatseekcode
    findnearactorvar LIZTROOP SEEK_DIST TEMP_AAA state heatseekcode
    findnearactorvar LIZMAN SEEK_DIST TEMP_AAA state heatseekcode
    findnearactorvar LIZMANSTAYPUT SEEK_DIST TEMP_AAA state heatseekcode
    findnearactorvar COMMANDER SEEK_DIST TEMP_AAA state heatseekcode
    findnearactorvar COMMANDERSTAYPUT SEEK_DIST TEMP_AAA state heatseekcode
    findnearactorvar OCTABRAIN SEEK_DIST TEMP_AAA state heatseekcode
    findnearactorvar OCTABRAINSTAYPUT SEEK_DIST TEMP_AAA state heatseekcode
    findnearactorvar ROTATEGUN SEEK_DIST TEMP_AAA state heatseekcode
    findnearactorvar RECON SEEK_DIST TEMP_AAA state heatseekcode
    findnearactorvar TANK SEEK_DIST TEMP_AAA state heatseekcode
    findnearactorvar BOSS1 SEEK_DIST TEMP_AAA state heatseekcode
    findnearactorvar BOSS2 SEEK_DIST TEMP_AAA state heatseekcode
    findnearactorvar BOSS3 SEEK_DIST TEMP_AAA state heatseekcode
    findnearactorvar BOSS4 SEEK_DIST TEMP_AAA state heatseekcode
    break
    endswitch
    endevent



    Пояснения:
    Код:
    gamevar ANGVAR 0 0
    gamevar angproj 0 0
    gamevar x 0 0
    gamevar y 0 0
    gamevar MX 0 0
    gamevar MY 0 0
    gamevar zdistproj 0 0
    gamevar TEMP_AAA 0 0
    gamevar enemyextra 0 0
    gamevar ANGVAR1 0 0
    gamevar angproj1 0 0
    gamevar SEEK_DIST 5700 0
    gamevar zdistproj 0 0
    gamevar TEMP 0 0
    gamevar TEMP2 0 0
    gamevar TEMP3 0 0
    
    state heatseekcode
    ifvarn TEMP_AAA -1 // если дистанция между RPG и ближайшим монстром < SEEK_DIST (то есть 5700 BU), то выполняется следующее...
    {
      getactor[TEMP_AAA].x MX // берём в качестве источника этой переменной координату обнаруженной цели x
      getactor[TEMP_AAA].y MY // берём в кач-ве источника данной переменной координату обнаруженной цели y
      getactor[TEMP_AAA].extra enemyextra // записывает HP монстра, на которого нацелена ракета в переменную enemyextra
      getactor[THISACTOR].x x // записываем х-коорд. данного проджектайла в эту переменную
      getactor[THISACTOR].y y // записываем х-коорд. данного проджектайла в эту переменную
      getactor[THISACTOR].ang angproj // присвоить значению переменной angproj направление этого проджектайла (угол, от 0 до 2048)
      ifvarg enemyextra 0 // если здоровье монстра, на которого нацелена ракета > 0
      {
         subvarvar MX x
         subvarvar MY y
         getangle ANGVAR MX MY // вычисляем точный угол, повернув на который, данный проджектайл будет идеально точно наведён на цель. Мы берём это значение, но пока никуда не перенаправляем переменную, иначе от такого проджеклайла было бы невозможно увернуться. Теперь задача: заскриптовать плавность поворота проджектайла в сторону цели, чтобы он послепенно направлялся на ближайшего монстра, а не мгновенно (иначе будет 100% вероятность того, что монстр не сможет от него уйти).
         ifvarl angproj 0 setvar angproj 2048 // поскольку диапозон измерения угла объекта цикличен (от 0 до 2048 Build Unit'ов), нужно объяснить игре, в какой момент сбрасывать значение угла, чтобы не было превышения лимитов (от 0 до 2048). Для этого обозначаем, что как только значение переменной больше 2048, мы приравниваем её нулю, и наоборот, когда угол проджектайла < 0, мы приравниваем её 2048. В этом случае 0 = 2048 = 4096 = <пердыдущ. * 2> и т. д. 
         ifvarg angproj 2048 setvar angproj 0 // см. предыдущ. комментарий.
         setvarvar angproj1 angproj // в этот момент дублируем переменные
         setvarvar ANGVAR1 ANGVAR // см. стр. выше
         ifvarvarl ANGVAR angproj // если воображаемое точное направление продж'а в Build Unit'ах (см. ANGVAR) меньше значения текущего угла проджа, тоже в BU, то...
         {
           subvarvar angproj1 ANGVAR1 // "в уме" фиксируем разницу этих двух переменных
           ifvarg angproj1 1024 addvar angproj 32 // в этом случае плавно поворачиваем продж направо
           else ifvarl angproj1 1024 subvar angproj 32 // а так налево.
           setactor[THISACTOR].ang angproj // обновляем направление ракеты с новыми значениями
         }
         else ifvarvarl angproj ANGVAR // здесь аналогично, но с реверсом условий
         {
           subvarvar ANGVAR1 angproj1
           ifvarg ANGVAR1 1024 subvar angproj 32
           else ifvarl ANGVAR1 1024 addvar angproj 32
           setactor[THISACTOR].ang angproj
         }
    // далее до конца этого state рассчитывается направление по вертикали, но этот момент не столь важен, и поэтому я не стану там писать пояснения
    
         ldist TEMP THISACTOR TEMP_AAA
         getactor[THISACTOR].z TEMP2
         addvar TEMP2 6192
         getactor[TEMP_AAA].z TEMP3
         subvarvar TEMP3 TEMP2
         shiftvarl TEMP3 8
         divvarvar TEMP3 TEMP
         getactor[THISACTOR].zvel zdistproj
         ifvarvarl zdistproj TEMP3 addvar zdistproj 356
         else ifvarvarg zdistproj TEMP3 subvar zdistproj 356
         setactor[THISACTOR].zvel zdistproj
        }
      }
    ends
    
    onevent EVENT_GAME // это событие обновляет значения всех переменных, запущенных в нём, каждое мгновение. До команды findnearactor я рэндомизирую направление проджектайла, чтобы создать эффект "криволетящей" ракеты. Смотрится красиво. Этот эффект выключается, как только ракета приблизилась к какому-нибудь монстру ближе, чем на 5700 BU и активируется код в state heatseekcode.
    switch RETURN
    case RPG
    getactor[THISACTOR].x x
    getactor[THISACTOR].y y
    getactor[THISACTOR].ang angproj
    ifvarg enemyextra 0
    subvarvar MX x
    subvarvar MY y
    getangle ANGVAR MX MY
    ifvarl angproj 0 setvar angproj 2048
    ifvarg angproj 2048 setvar angproj 0
    ifrnd 20 addvar angproj 24
    else ifrnd 20 subvar angproj 24
    setactor[THISACTOR].ang angproj
    getactor[THISACTOR].zvel zdistproj
    ifrnd 20 addvar zdistproj 280
    else ifrnd 20 subvar zdistproj 280
    setactor[THISACTOR].zvel zdistproj
    findnearactorvar PIGCOP SEEK_DIST TEMP_AAA state heatseekcode 
    findnearactorvar SHARK SEEK_DIST TEMP_AAA state heatseekcode 
    findnearactorvar PIGCOPSTAYPUT SEEK_DIST TEMP_AAA state heatseekcode 
    findnearactorvar LIZTROOP SEEK_DIST TEMP_AAA state heatseekcode 
    findnearactorvar LIZMAN SEEK_DIST TEMP_AAA state heatseekcode 
    findnearactorvar LIZMANSTAYPUT SEEK_DIST TEMP_AAA state heatseekcode 
    findnearactorvar COMMANDER SEEK_DIST TEMP_AAA state heatseekcode 
    findnearactorvar COMMANDERSTAYPUT SEEK_DIST TEMP_AAA state heatseekcode 
    findnearactorvar OCTABRAIN SEEK_DIST TEMP_AAA state heatseekcode 
    findnearactorvar OCTABRAINSTAYPUT SEEK_DIST TEMP_AAA state heatseekcode 
    findnearactorvar ROTATEGUN SEEK_DIST TEMP_AAA state heatseekcode 
    findnearactorvar RECON SEEK_DIST TEMP_AAA state heatseekcode 
    findnearactorvar TANK SEEK_DIST TEMP_AAA state heatseekcode 
    findnearactorvar BOSS1 SEEK_DIST TEMP_AAA state heatseekcode 
    findnearactorvar BOSS2 SEEK_DIST TEMP_AAA state heatseekcode 
    findnearactorvar BOSS3 SEEK_DIST TEMP_AAA state heatseekcode 
    findnearactorvar BOSS4 SEEK_DIST TEMP_AAA state heatseekcode 
    break
    endswitch
    endevent
    
    Проблема такая: ракета наводится на монстра, даже когда она его "не видит". Если монстр находится за стеной (внутреннего или внешнего сектора - не важно), она наводится на монстра, которого даже я не вижу, и, влетев в стену, взрывается. Нужно использовать комманду наподобие ifcanseetarget или ifcansee, но во взаимодействии двух акторов, а не APLAYER'а и актора (для второго случая подходят эти команды). New Beast, как ты считаешь, что можно сделать, чтобы "научить" ракету видеть не только монстров, но и препятствия, загораживающие их?

    Ребята, если у кого-нибудь есть девственные файлы user.con, defs.con и game.con для AtomicEdition, то, плз, прицепите их к следующему вашему сообщению. :)
     
    Последнее редактирование: 6 мар 2008
  17. New Beast

    New Beast

    Регистрация:
    7 янв 2005
    Сообщения:
    21
    Угу. Тоже об этом раздумывал, в SKYTOWN хотел похожую фигню сделать. Короче ручная плазменная установка, у которой два ствола вперёд направлены, а третий на поворотной платформе находится и мочит монстров автоматически, когда их увидит. До реализации дело не дошло, но как это дело выглядит в теории я представляю. Функция findnearactorvar нам не понадобится. Проверку на видимость нужно делать функцией hitscan. Угловые коэффиценты вычисляем через getangle, sin, cos (либо через нормализацию вектора с помощью sqrt, это быстрее и точнее); не забываем про z-смещение. Рандомизацию, если надо, можно потом через randvar сделать. Если без подробностей, это дело так выглядит:

    Код:
    setvar r00 4096
    whilevarn r00 0 // Обход всех actor'ов
    {
      add r00 -1
      getactor[r00].picnum r01
      state ispicnumenemy
      ifvarn r01 0 // Является врагом
        state checkactorhit // Проверка на видимость
    }
    
     
    LipSheZ нравится это.
  18. LipSheZ Пахан

    LipSheZ

    Регистрация:
    1 окт 2007
    Сообщения:
    908
    New Beast, спасибо, буду пробовать. Ещё вопрос к тебе - как сделать ракету чувствительной к тем монстрам, которые меня ещё не обнаружили. Например, я, зная, что монстр, не заметивший меня, стоит за углом, пускаю ракету где-то по касательной, но она тупо пролетает мимо него. Может быть, команда findnearsprite? Я мог бы сам сейчас это проверить, но мне надо собираться в универ... А что из себя представляет SkyTown?

    Макс, прицепи к следующему сообщению нетронутые User.con, Game.con, Defs.con, но только если они нетронутые (без юзерских модификаций) и для версии Atomic Edition.
     
    Последнее редактирование: 6 мар 2008
  19. Grue13 вице-дегенералиссимус

    Grue13

    Регистрация:
    26 апр 2006
    Сообщения:
    10.111
    ОК
     

    Вложения:

    LipSheZ нравится это.
  20. LipSheZ Пахан

    LipSheZ

    Регистрация:
    1 окт 2007
    Сообщения:
    908
    Ты имеешь в виду это?
    Код:
    subvar r00 1
     
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление