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

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

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

BloodTC for EDuke32

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

?

Вы ждете выхода ТС легендарной игры?

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

    50 голосов
    94,3%
  2. Нет

    3 голосов
    5,7%
  1. M210

    M210

    Регистрация:
    19 мар 2008
    Сообщения:
    670
    LipSheZ, спасибо, щас поиграюсь:spiteful:

    Добавлено через 18 часов 39 минут
    ну так че, мне кто-нить поможет???:rolleyes:

    Добавлено через 15 минут
    для начала бы сделать просто дерево, чтобы при попадании в него ракеты оно бы сгорало, в бладе есть анимация!
    вот например код спрайта, чтобы он разлетался на железки

    define tree1
    actor tree1
    fall
    ifcount 32
    {
    resetcount
    ifp palive
    ifpdistl 1480
    ifp phigher
    {
    addphealth -1
    palfrom 16 16
    ifrnd 96
    sound DUKE_LONGTERM_PAIN
    }
    }
    ifhitweapon
    {
    sound VENT_BUST
    debris SCRAP1 10
    ifrnd 128
    spawn BLOODPOOL
    else
    spawn BLOODPOOL
    killit
    }
    enda
    типа, разлетелся и вместо спрайта образовалась кровь :)
    я тока начал изучать кон-коды, и так что кто-нить скажет что надо изменит, чтобы при попадании в этот спрайт появлялась анимация горения дерева, т.е. несколько последующий картинок, а после этого, появлялась картинка обугленного ствола дерева :)

    еще хорошо бы узнать,что сделать, чтобы этот код работал отдельно от game.con
    если его просто подключить как отдельный кон-файл в game.con, то выдаются ошибка
     
    Последнее редактирование: 30 мар 2008
  2. LipSheZ Пахан

    LipSheZ

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

    Лучше код ставить в специальные рамочки.
    Перед (или после) ifpdistl 1480 хорошо бы поставить ifcansee. Иначе если колючее дерево, например, находится за стеной, но на дистанции < 1480 от APLAYER'а, то ты всё равно будешь получать повреждения. Команда ifcansee предотвратит этот "баг". (Если перед тобой не будет никаких секторных препятствий при дист. < 1480.)

    Не пойму зачем ты поставил ifp phigher.

    Вот это - полная чушь. Просто напиши: "spawn BLOODPOOL". Получится то же самое. И ещё, зачем кровь под деревом?
    Название объектов надо писать заглавными буквами!
    Обозначаешь в con'ах анимацию с помощью action.
    Пример:
    action TREE_BURNING 0 <кол-во картинок в анимации> 1 1 12 // в данном случае action выполняет функцию схожую с define - первоначальное обозначение. При последующем юзании с этой анимацией команда работает по-другому.

    Я не знаю сколько картинок в анимации дерева, возьму 5 картинок (от балды).

    Примерный код:
    action TREE1_BURNING 0 5 1 1 12
    action TREE1_BURNED <номер картинки обуглившегося дерева>
    define TREE1
    ...
    Сегодня я очень занят, завтра всё допишу, не волнуйся. :)

    Лучше код ставить в специальные рамочки.
    Перед (или после) ifpdistl 1480 хорошо бы поставить ifcansee. Иначе если колючее дерево, например, находится за стеной, но на дистанции < 1480 от APLAYER'а, то ты всё равно будешь получать повреждения. Команда ifcansee предотвратит этот "баг". (Если перед тобой не будет никаких секторных препятствий при дист. < 1480.)

    Не пойму зачем ты поставил ifp phigher.

    Вот это - полная чушь. Просто напиши: "spawn BLOODPOOL". Получится то же самое. И ещё, зачем кровь под деревом?
    Название объектов надо писать заглавными буквами!
    Обозначаешь в con'ах анимацию с помощью action.
    Пример:
    action TREE_BURNING 0 <кол-во картинок в анимации> 1 1 12 // в данном случае action выполняет функцию схожую с define - первоначальное обозначение. При последующем юзании с этой анимацией команда работает по-другому.

    Я не знаю сколько картинок в анимации дерева, возьму 5 картинок (от балды).

    Примерный код:
    Код:
    action TREE1_BURNING 0 5 1 1 12
    action TREE1_BURNED <номер картинки обуглившегося дерева>
    define TREE1
    actor TREE1
    ...
    ifhitweapon action TREE1_BURNING
    ifaction TREE1_BURNING ifactioncount 5
    {
      cstat 0
      action TREE1_BURNED
    }
    enda
    
     
  3. M210

    M210

    Регистрация:
    19 мар 2008
    Сообщения:
    670
    да я знаю что это полная чушь, просто это были мои эксперименты, и я вообще не знаю, для чего нужна половина комманд, которая испотльзуется в этом объекте...
    на счет bloodpool - я просто решил оставить оператор else, вдруг бы пригодился
    я знаю для чего он нужен=)
    я вообще хотел сделать бочку с органикой...типа в бладе были такие...
    вот нашел еще debris SCRAP1 10 который делает осколки в виде железок, а 10 - число фрагментов...вот я и хотел сделать чтобы почка разлеталась на куски и из под нее выливалась кровь....еще можно было вставать куски мяса из нее, но я пока не думал, как это можно сделать, как бы предполажения есть, но пока не знаю на скокамысли правильные.
    еще я не понял как сделать разбиваемый объект в стекле, минуя оператор state break...и чтото тама :) например знать чем заменить этот же debris SCRAP1 10 , чтобы куски были не железные,а стеклянные
     
  4. LipSheZ Пахан

    LipSheZ

    Регистрация:
    1 окт 2007
    Сообщения:
    908
    Если что-то не понятно, пиши в теме, отведённой для редактирования Дюка. Не понятна какая-нибудь команда - ради Бога, спрашивай. Просто у меня не всегда бывает время, чтобы залезть на форум, но как только появляется минутка, я тут как тут. :)

    Лишними строками очень легко себя запутать. Я очень советую тебе комментировать в файлах-скриптах каждый шаг. Делается это так:

    Код:
    gamevar actorhealthvar 0 0
    
    state changeactorpallete // обозначение начало "штампа"
    getactor[THISACTOR].extra actorhealthvar // переводим кол-во HP актора в переменную actorhealthvar
    ifvarl actorhealthvar 30 setactor[THISACTOR].pal 7 // если здоровье актора < 30 HP, он меняет окраску на жёлтую.
    ends // конец "штампа"
    
    или так:
    Код:
    gamevar picnumvar 0 0
    
    onevent EVENT_GAME
    getactor[THISACTOR].picnum picnumvar
    switch picnumvar
    {
      case LIZTROOP
      case PIGCOP
      case LIZMAN
      case COMMANDER
        state changeactorpallete
    }
    endswitch
    endevent
    /*
    Применяем штамп к нескольким врагам.
    */
    
    Таким образом, комментарии можно ставить либо после // в конце строки, либо в рамочках /* */

    Кстати, я неверно тебе подсказал как оформить action THRE1_BURNED. Там вместо первого нуля надо поставить число, которому соответствует разница: <номер первого фрейма этого action'а> МИНУС <номер актора, которого мы за'difine'ели>. Это число может быть отрицательным, если tile акора находится после tile'а начально фрейма action'а.
    Используй команду lotsofglass
    Юзай guts JIBS<number> <кол-во>.

    А вообще не надо в скриптах накручивать лишнего, из-за этого я теперь имею кучу ошибок в скриптах своего мода и не могу толком разобраться в чём проблемы и как их исправлять.
     
  5. M210

    M210

    Регистрация:
    19 мар 2008
    Сообщения:
    670
    Спасибо. Ну это будут маленькие обьекты,которые просто могут разрушаться, не думаю,что они вызовут серьездные ошибки)

    Добавлено через 21 час 34 минуты
    Код:
    449: warning: expected a action,found a define.
    In actor TREE9
    8525: error: expected a keyword but found cstat0
    что делать дальше?
     
    Последнее редактирование: 31 мар 2008
  6. LipSheZ Пахан

    LipSheZ

    Регистрация:
    1 окт 2007
    Сообщения:
    908
    Между cstat и 0 обязательно должен быть пробел. Ты понимаешь, что такое cstat?
     
  7. M210

    M210

    Регистрация:
    19 мар 2008
    Сообщения:
    670
    Прикольно,если убрать cstat0,то дерево сгорает и изчезает. Но как сделать,чтобы оно сгорало только от бомб и ракет,а то оно сгорает даже если его пнуть ногой :D

    Добавлено через 2 минуты
    Что такое Cstat не знаю,но видать это замена спрайта

    Добавлено через 10 минут
    Поставил 0, разницы не заметил:) дерево изчезает

    Добавлено через 56 минут
    Так,с деревом разобрался, остается :) вот теперь пытаюсь связать ifhitweapon и ifwasweapon RADIUSEXPLOSION. Но чето не получается. А как еще забкокировать "этот пенек" чтобы через него нельзя было пройти
     
    Последнее редактирование: 1 апр 2008
  8. LipSheZ Пахан

    LipSheZ

    Регистрация:
    1 окт 2007
    Сообщения:
    908
    Не-а. Замена спрайта (вернее, актора ) - это cactor. С помощью cstat'а ты можешь задавать различные свойства спрайтам. Cstat совсем не обязательно должен быть равен нулю, есть разные варианты:
    • 0 - спрайт не обладает ни одним из нижеуказанных свойств.
    • 1 - Блокировка спрайта. То есть, если ты перед собой видишь дерево с cstat'ом, равным 1, то оно будет для тебя препятствием, "сквозь которое" ты не сможешь пройти. Чтобы пойти дальше, тебе нужно обойти дерево или перепрыгнуть через него. :)
    • 2 - Делает спрайт слегка прозрачным.
    • 4 - Переворачивает спрайт вверх тормашками.
    • 8 - Посмотри на себя в зеркало. В отражении твой cstat будет равен 8, впрочем, как и всех объектов в отражении от вертикальной плоскости (короче, лево=право, право=лево, понимаешь?).
    • 16 - Располагает спрайт по вертикали и делает его плоским. Теперь он не будет "поворачиваться к тебе "лицом", а скорее будет похож на лист бумаги. Просто представь себе бумажный лист приклеенный к стене. Так вот его cstat будет = 16.
    • 32 - Тот же самый лист бумаги, но на сей раз валяющийся на полу, ну, или к потолку. Тоже плоский. Здесь спрайт будет расположен по горизонтали.
    • 64 - Если спрайт плоский, то ты его сможешь видеть только с одной стороны, а с другой (противоположной) он будет невидимым.
    • 128 - Рисует спрайт наполовину погружённым в воду. Как бы обрезает его нижнюю половину.
    • 256 - Свойство, схожее с блокировкой (cstat 1), но эта блокировка действует только на projectile'ы. Ещё это называется чувствительностью к проджектайлам.
    • 512 - То же, что и cstat 2, но здесь спрайт будет ещё более прозрачным. Имей в виду, что 512 просто так юзать нельзя, можно 514 (типа, 2 + 512, см. примечание 2).
    • 32768 - Невидимый спрайт. Это не прозрачность, это полностью невидимый спрайт
    Примечания:
    1. Cstat можно применять как к спрайтам, так и к стенам, в т. ч. к маскирующим стенам. В M32 жми "M", чтобы поставить masked wall.
    2. Можно комбинировать разные свойства путём сложения числовых эквивалентов каждого свойства. Так, cstat 80 сочетает 2 свойства (16 + 64). Ну-ка, тебе такая задачка, напиши-ка мне, какие свойства имеет спрайт с cstat'ом 611?

    Ifhitweapon - это обобщение, а ifwasweapon - уточнение. Смотри:
    Код:
    actor MYACTOR
    ifhitweapon
    {
      ifwasweapon RPG <do something>
      else ifwasweapon SPIT <do something>
      и так далее...
    }
    enda
    
    Поставь для пенька sctat 1 (или включающий 1, см. примечания). ;)
     
    Последнее редактирование: 1 апр 2008
  9. M210

    M210

    Регистрация:
    19 мар 2008
    Сообщения:
    670
    Спасиб! Ты ща для меня открыл много нового!) на счет задачки,думаю так: 1+32+64+2+512. Типа блокировка, гориз.располож, видна одна сторона и 2й уровень прозрачности.так? :)

    Добавлено через 32 минуты
    И про уточнение...как раз я и не знаю,что ставить в do somethink после else. В 1й поидее ставишь экшн бернинг,а после элс остается неизменной.вот как сказать проге,чтобы она не трогала спрайт если оружие не взрывное
     
    Последнее редактирование: 1 апр 2008
  10. LipSheZ Пахан

    LipSheZ

    Регистрация:
    1 окт 2007
    Сообщения:
    908
    Докладываю, что вышел ещё один апдейт для EDuke32. Качайте.

    Есть также и соурс код для него - http://wiki.eduke32.com/stuff/eduke32_src_20080401.zip. Но это для тех, кто разбирается в Си и СиПиПи.

    M120, хочу вот ещё что пояснить: cstat можно ведь не только в CON'ах задавать. В Mapster'е'32 всё это спокойно ставится (если значения cstat'ов, выставленные в редакторе, не будут перекрываться скриптовыми).

    1 - "B"
    2 - "T"
    4 - "F"
    8 - Ещё дважды "F"
    16 - "R"
    32 - второй раз "R"
    64 - "1" для плоского спрайта
    128 - "С"
    256 - Ctrl + "H"
    512 - "T" (второй раз)
    32768 - ? (не знаю :))


    Заметь, что если в M32 в 3d навести указатель на спрайт и нажать "F" один раз, то к его cstat'у добавится 4, если два раза - то 12=8+4 (к первоначальному cstat'у), а если три - то прибавится 8. То есть это как бы не равноверно происходит.

    Ясен перец, что если ты приплюсуешь cstat 1 к 256, то получится ахинея, ибо 1 -это уже и есть 256.

    Совершенно верно, пятёрка тебе с тремя плюсами! Хе-хе, дальше задачки будут всё сложнее и сложнее, но это ж для твоего блага, ведь так? ;) Тяжело в учении, да легко в бою! Ну-ка, теперь тебе такой вопрос на засыпку - какая разница между двумя понятиями - спрайт и актор?
    Гх-х-х, а зачем тебе вообще здесь else. Ты понимаешь, что такое else? Ну, если тебе хочется ты можешь поставить:
    Код:
    if<condition> <collation> nullop
    
    Это чтобы у тебя не стояло пустого esle.
     
    Последнее редактирование: 1 апр 2008
  11. M210

    M210

    Регистрация:
    19 мар 2008
    Сообщения:
    670
    Все, наконец-то могу писать сообщения со своего компа!!! Теперь могу и цитаты выставлять :)

    ну в общем идет у меня такая вот вещь:
    Код:
     action TREE4_BURNING 0 9 1 1 12
    action TREE4_BURNED 9
    
    actor TREE4
    	ifhitweapon action TREE4_BURNING
    
            ifaction TREE4_BURNING ifactioncount 9
    {
    	cstat 1
    	action TREE4_BURNED
    }
    enda
    
    Если написать ifhitweapon { ifwasweapon RADIUSEXPLOSION { action TREE4_BURNING } } то прога этот код не воспринимает (может конечно чего и не дописываю, может нужно пояснение), а команда else(расшифровывается вроде как "иначе" оператора if(если)) не стоит, то логически и должно получится, что действие будет происходить, только с ifwasweapon, но иногда, else необходим, и без него ничего не работает, пока что разобраться сложно, ибо я не программист :)



    Ну чисто логически, актор - это дейсвтующий спрайт, над которым произодится действие или он сам действует, а спрайт - это просто картинка, типа,например, элемент дизайна на карте:spiteful:
     
  12. LipSheZ Пахан

    LipSheZ

    Регистрация:
    1 окт 2007
    Сообщения:
    908
    Это потому что ты их подключил в начале главного game.con файла. Там же считывание инфы идёт сверху вниз, а не на оборот. Вот, допустим, ты написал новый con-файл, в котором вызавал (не определял, а вызывал, это огромная разница) state standard_jibs (этот стэйт есть в game.con, определяется в районе 140й строки, посмотри). Вот так он в чистом виде выглядит:

    Код:
    state standard_jibs 
      guts JIBS2 1
      guts JIBS3 2
      guts JIBS4 3
      guts JIBS5 2
      guts JIBS6 3
      ifrnd 6
      {
        guts JIBS1 1
        spawn BLOODPOOL
      }         // a badly drawn spine
    
      state jib_sounds
    ends
    
    Ну так вот, сам посуди, если ты этот файл впихнёшь в самом начале game.con, то игра просто не будет знать, что такое state standard_jibs. Ведь в таком случае он будет вызван прежде, чем определён, а этого делать нельзя, потому что state должен быть сначала задан (определён), и только потом вызван (применён). Понимаешь? Это всё равно, что ты напишешь примерно такое:
    Код:
    actor ABCDE
    что-то там
    бла
    бла
    бла
    enda
    
    define ABCDE 10000 // цифра от балды
    
    Здесь define стоит после команды actor. Результат - ругонь компилятора в виде сообщения об ошибке типа: "actor ABCDE is undefined". Поэтому сначала определяй, потом используй.


    Попробуй вот так:
    Код:
    action TREE4_BURNING 0 9 1 1 12
    action TREE4_BURNED 9
    
    actor TREE4
    fall
    cstat 1
    ifhitweapon 
    {
      ifwasweapon RADIUS_EXPLOSION 
      ifwasweapon RPG  
      ifwasweapon FIREEXT 
      {
          action TREE4_BURNING
          ifrnd 50 spawn BURNING
      }
      else ifrnd 50 guts JIBS1 1
    }
    ifaction TREE4_BURNING ifactioncount 9 action TREE4_BURNED break
    enda
    
    Почти правильно. Просто актор - заскриптованный спрайт, только и всего. ;)
     
    Последнее редактирование: 1 апр 2008
    M210 нравится это.
  13. M210

    M210

    Регистрация:
    19 мар 2008
    Сообщения:
    670
    так хрень какая то получается, причем при выстреле из RPG иногда вываливается кусочек мяса guts JIBS1 1, это кстати ради прикола, из дерева то?:good:
    ну короче все что стреляет пролетает дерево насквозь :( и кстати необязательно, чтобы из под дерева появлялся огонь ;)
    вот еще хочу уточнить, зачем нужен ifrnd и на что влияет 50 на эту команду,а также команда break мне не совсем понятна, переводится как "сломано" :) и еще, ты на соседнюю тему тоже поглядывай ;)

    Добавлено через 13 минут
    значит написал такой вот код:
    Код:
    action TREE3_BURNING 0 10 1 1 12
    action TREE3_BURNED 10
    
    actor TREE3
    cstat 257
    ifhitweapon 
    {
      ifwasweapon RADIUSEXPLOSION 
       
      {
          action TREE3_BURNING
          ifrnd 50 spawn BURNING
      } 
    
    }
    
    ifaction TREE3_BURNING ifactioncount 9 action TREE3_BURNED break
    enda
    
    в таком случае и игрок через дерево не проходит и пули через него не пролетают, НО!!! если сразу выстрелить из ракетницы, дерево сгорает, а если сначала его попинать или пострелять из пистолета, то после выстрела из ракетницы, дерево почему то не сгорает :( В чем причина???
    кстати, RADIUS_EXPLOSION пишется без нижнего прочерка:yes:

    Добавлено через 1 минуту
    и кстати исправил пару своих багов, TREE3_BURNING 0 10 1 1 12 тут :)

    Добавлено через 35 минут
    Код:
    ifhitweapon 
    {
      ifwasweapon RADIUSEXPLOSION { action TREE3_BURNING }  
      else ifwasweapon RPG { action TREE3_BURNING }  
      else ifwasweapon FIREEXT { action TREE3_BURNING }
    }
    
    вот мое последнее достижение, но боюсь дальше у меня дело не пойдет :baby:
     
    Последнее редактирование: 2 апр 2008
  14. LipSheZ Пахан

    LipSheZ

    Регистрация:
    1 окт 2007
    Сообщения:
    908
    А то! Прикол, конечно!
    Ну, как знаешь. Я ж не видел этого дерева.
    Забавно ты сформулировал. Ну, ifrnd <value> <do something> - это дословно "с вероятностью <число от 1 до 255> сделать что-либо". Иногда нам в школе ставят оценки по пятибальной шкале, реже по десятибальной. У нас, у людей, вероятность измеряется в процентах, т. е. от 1 до 100, а у Дюка немного по-другому - от 1 до 255. Там другая "шкала" оценивания вероятности. 100 наших процентов соответствуют 255ти Дюковским. Ну-ка, посчитай, какова вероятность <do something>'га (в процентах), если ifrnd равен 64.
    Я напишу завтра, уже спать пора.
    Я-то поглядываю, а ты вот, похоже, нет. Почитай, что я тама тебе написал.
    Так ты полностью уже разобрался с деревом? Давай двигаться теперь дальше и не вешать нос. :)
     
  15. M210

    M210

    Регистрация:
    19 мар 2008
    Сообщения:
    670
    25 с долями процентов это будет :) Хорошая команда кстати, прикольно)))

    Я по-моему там последняя фраза моя:rolleyes:
     
  16. LipSheZ Пахан

    LipSheZ

    Регистрация:
    1 окт 2007
    Сообщения:
    908
    Ты прав.

    Проще так записать:
    Код:
    ifhitweapon 
    {
      ifwasweapon RADIUSEXPLOSION 
      ifwasweapon RPG 
      ifwasweapon FIREEXT
        action TREE3_BURNING // при такой записи action выполняется всеми if'ами.
    }
    
    Что за баги-то? А как было??
    Попробуй вместо команды actor использовать useractor. Напиши следующее вместо строки с actor'ом:
    Код:
    useractor notenemy TREE3 20000
    
     
    M210 нравится это.
  17. M210

    M210

    Регистрация:
    19 мар 2008
    Сообщения:
    670
    было
    Код:
    action TREE3_BURNING 0 9 1 1 12
    action TREE3_BURNED 9
    
    получается, что вместо пенька появлялся "недогоревшее" дерево :)

    Так уже лучше, но теперь при каждом выстреле возвращается TREE3_BURNING, т.е. дерево сгорает заново
    ...черт, это никогда не кончиться((

    Добавлено через 1 минуту
    в том то и дело,что так не работает.

    Код:
    useractor notenemy TREE3 20000,что такое 20000?
     
    Последнее редактирование: 2 апр 2008
  18. LipSheZ Пахан

    LipSheZ

    Регистрация:
    1 окт 2007
    Сообщения:
    908
    Ну и ну. Я потом проверю, должно ж так работать. Это очень странно.
    Это здоровье деревца. Эдакая уловка, чтобы ты мог почти бесконечно пинать и расстреливать actor'а, но анимация горения благодаря этому теперь будет включаться когда надо.
    Вот что. Попробуй обозначить спрайт обугленного пенька через define, это у нас будет отдельный актор, который мы заскриптуем и будем включать вместо TREE3, как только пройдёт один полный цикл TREE3_BURNING'а. А заскриптуем мы его вот так:
    Код:
    define CHARRYBOLE
    
    actor CHARRYBOLE
    fall
    sctat 1
    ifrnd 50 spawn BURNING // это если хочется
    enda
    
    actor THEE3
    <то, что уже есть...>
    ifactioncount 9 cactor CHARRYBOLE // всемо твоего кода, начинающегося с этой же команды.
    enda
    
    M120, прошу, пиши нормально, мне тяжело читать такие сообщения, какие-то обрывки фраз, недостающие знаки препинания, лишние буквы и т. д. Ну... неприятно это. Извини.
     
  19. Teron Lifeslayer Malkavian

    Teron Lifeslayer

    Регистрация:
    14 ноя 2004
    Сообщения:
    7.603
    LipSheZ

    Ну, яркий пример есть даже на первом уровне дюка. Все помним мостик к кнопке выхода у черного входа в кинотеатр? Спокойненько висит себе, да, нету стен и потолка над ним, зато без всяких порталов. Это конечно упрощенный пример технологии, но все таки пример.
    Пример номер два: уровень с грузовым кораблем в Атомике, он многоуровневый, плюс под самим кораблем еще можно поплавать.
     
  20. LipSheZ Пахан

    LipSheZ

    Регистрация:
    1 окт 2007
    Сообщения:
    908
    Ну, ты меня извини, ТАМ ЖЕ СПРАЙТЫ!

    На уровне с кораблём сплошные телепорты и тоже спрайты!
    Стандартные телепорты: SE x, 7.
     
    Последнее редактирование: 2 апр 2008
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление