Перейти к содержанию

kotovstomat

Ветераны
  • Постов

    135
  • Зарегистрирован

Весь контент kotovstomat

  1. Как таковой информации по физике игры нигде нет. Как правильно заметил san, все численные взаимоотношения между параметрами персонажа "прошиты" в arcanum.exe Возможно, стоит обратиться к Crypton в этой теме.
  2. Все клево. Осталось дождаться виновника торжества, чтобы он нас осенил крестным знамением на благое дело.
  3. Я очень классно веду монолог сам с собою. Как я уже говорил, с помощью команды distance between (obj) and (obj): get in (num) проверить существование треугольника невозможно, но это возможно сделать, вычислив стороны треугольника через координаты. Следующая проблема, с которой я столкнулся по ходу написания скрипта - нет команды извлечения квадратного корня. Но и тут я оказался хитрее бездушной машины, и нашел таблицу квадратных корней целых чисел. Если вас все еще интересует правильный скрипт работы Пушки Гаусса, я его напишу.
  4. Дополню тему. Рассуждая логически, имеется треугольник с вершинами Att(x1,y1), EO(x2,y2), CLO(x3,y3). x123, y123 имеют целые положительные значения (int) относительно левого верхнего тайла (1,1) WorldMap. Как проверить принадлежность точек Att, EO и CLO к одной линии? Att, EO и CLO будут находиться на одной линии при выполнении условия d(Att->EO) + d(EO->CLO) = d(Att->CLO), т.е. когда треугольник не будет существовать. Но этот метод проверки неприменим из-за того, что d измеряется в тайлах (поверьте мне на слово, мне лень рисовать).
  5. http://www.freewebarcade.com/game/air-battle/
  6. ViRGiL7, ты будешь продолжать делать Мифриловый Револьвер? Помимо изменения Magic Compicity на положительное значение, я предлагаю высчитывать вероятность попадания не из скилла Firearms, а из Magical/Technological Aptitude. WorldEdManual: stat (num) of (obj): store in (num) ... 16 magic tech aptitude ... На Мифриловый Револьвер повесить скрипты с точками входа _HIT и _MISS, где будет идти перерасчет вероятности попадания в зависимости от Magical/Technological Aptitude, т.е., скилл Firearms участвовать не будет. Очевидный минус такого решения - отображаемая вероятность попадания не будет совпадать с фактической.
  7. Это очень интересно, спасибо большое.
  8. 0. Attachee = Triggerer //волшебная строка 1. loop for Everyone in Vicinity //начало цикла 2. distance between Attachee and Extra Object: get in Local 0 //расстояние между стреляющим и целью 3. distance between Attachee and Current Looped Object: get in Local 1 //расстояние между стреляющим и побочной целью 4. distance between Extra Object and Current Looped Object: get in Local 2 //расстояние между целью и побочной целью 5. IF Attachee can see Current Looped Object //на тот случай, если побочная цель находится за стеной THEN do nothing ELSE goto line X //проверка следующей побочной цели 6. IF Local 2 == 1 //определение области поражения побочной цели THEN do nothing ELSE goto line X //проверка следующей побочной цели 7. IF Local 0 <= Local 1 //определение области поражения побочной цели THEN do nothing ELSE goto line X //проверка следующей побочной цели 8. IF Local 0 == Local 1 //определение области поражения побочной цели THEN goto line X //проверка следующей побочной цели [секция с нанесением урона побочной цели] X. loop end //конец цикла Y. return and SKIP default Attachee также будет являться Current Looped Object, избежать этого помогает строка 6. Повреждения будут наноситься по следующей маске: ##### ##### ##### ##### ##### ,где * побочная цель, CLO * цель, EO * стреляющий, Attachee При попадании в область поражения побочной цели более 1 CLO можно отсечь остальных, вставив в цикл loop break. Для каждого CLO можно создавать n вложенных циклов, но тогда действие оружия будет больше похоже на chain lightning. Задать большее расстояние поражения побочной цели (аналогично тому что наглядно можно увидеть в crimson land) этим путем невозможно. Существует другая возможность: get location of (obj) and store X in (num) and Y in (num), для Att, EO и CLO, а далее сравнением X и Y. У меня плохо с математикой, я точно знаю что EO и СLO будут находиться на одной линии при равных X или Y, это уже 4 направления, а как определить другие направления? Направлений криттера 8 (facing direction), но при стрельбе возможно попадание вне этих 8 направлений. Почему бы не изменить звук выстрела на более аутентичный? FOT, gausssingle1.WAV
  9. Ужасно он выглядит, потому что растянут и слишком много синего по краям. Немного поэкспериментировал в PS, обрезал изображение, сменил цвета: В итоге получилось это: Архив с обрезанным .psd, .bmp и .art забирать здесь.
  10. Изучил тему. Вот что пишет Zammy: На этом дискуссии на тему новых зарядов заканчиваются, поиск так же не выдает ничего интересного. Получается, добавить новый прототип пуль в игру можно, но для оружия, стреляющего новыми пулями, они будут идентичны родным, обычным пулям.
  11. Открываем WorldEdManual и читаем: HIT when called: when a successful attack is performed by a critter on a target triggerer: critter attachee: item extra object: target (may be NULL if the critter is throwing item at a location) effect of RETURN AND SKIP DEFAULT: no effect. This script is called for informational reasons only. It cannot prevent the hit. Следовательно, предотвратить событие выстрела невозможно. Точек входа в скрипт, предшествующих выстрелу, тоже нет. Есть альтернативное решение. transform Attachee into basic prototype (num) используя номер прототипа, превращаем оружие в само себя, при этом оно снимается в инвентарь
  12. Так может и займемся этим? Придется им тогда половой признак дорисовать.
  13. По аналогии с FO1&2 логично сделать встречу с караванами с помощью Random Encounters. WMap_Rnd.mes Encounter Index Chart {30002+num}{X, Y, Radius, Table number} # of Distinct Encounter Tables {49999}{nummax} Encounter Table {5(Table number)00}{Frequency %, Critter Count, Base Proto Num, MinLevel: <value>, MaxLevel: <value>, GlobalFlag: <value>, TriggerCount: <value>} Фактически, в случайных встречах можно задать два типа Critter разного количества. На прототип типа NPC вешается скрипт с точкой входа _FIRST_HEARTBEAT, где: 1. проверяется принадлежность NPC к координатам случайной встречи //get location of (obj) and store X in (num) and Y in (num), и далее сравнение X и Y с прописанными в скрипте фиксированными значениями области случайной встречи; при этом область будет обрезаться от круга до квадрата 2. при удачно выполненной проверке открываются широкие возможности - это и диалог, отличный от обычного, и создание объектов различных типов (в том числе и scenery); если проверка не выполняется, remove this script Визуальные средства Arcanum не позволяют создать серьезный караван, только несерьезный, с коровами Но и тут у меня припасен ответ Чемберлену, одна из первых дорожных паровых машин: Полную статью можно прочитать здесь. И, опять же, повторюсь: если найдется желающий поучаствовать артами и оригинальными идеями, ю ар велкам.
  14. При изменении RGB на Indexed color прозрачные участки вокруг изображения склеиваются с синим фоном, цвета смешиваются, давая синий цвет различного оттенка. Для arcanum.exe прозрачный только #0000ff, оттенки синего на месте бывших прозрачных пикселей проявляются в интерфейсе Арканума как синий ободок вокруг изображения. Дано: слой вырезанного искомого изображение, слой синего фона Требуется: подготовить .bmp для перевода в .art, избежав появления синего контура 0. Выбрать слой изображения во вкладке Layers панели инструментов 1. Слой изображения: Layer Style -> Stroke (Size: 2px, Position: Center, Fill Type: Color, Color: #000000) 2. Слой изображения: Select -> Load Selection -> [v] Invert -> OK 3. Image -> Mode -> Indexed Color... //подробнее о создании палитры можно прочитать здесь 4. Marque Tool (M) -> правой кнопкой мыши на Selection -> Fill (Use: Color, Mode: Normal, Opacity: 100%, [ ] Preserve Transparency) -> OK На этом все, в итоге мы получаем изображение, готовое к конвертированию в .art без синего контура, и с обводкой черным, как и все .art оригинального Арканума. Поиск не помог, если баян, удалю.
  15. Video is mega-ultra-cool. By the way, where are you from? I'm not good in coding, but i understand how much work does it take to make something like you did. I'm interesting, you are going to "repeat" all original code that Troika's programmers wrote, or you are going to make changes in process of your work?
  16. Я думал что проект изначально мертворожденный, ан нет, удивил меня упорный товарищ Криптон! Он декодирует (или как это называется) оригинальный Арканум и параллельно пишет исходники. А исходники - это же конфетка, мармеладка, с ними делай что хочешь, возможности для моддинга практически неограниченные.
  17. Кагбэ "золотой стандарт": любая англоязычная версия + Grand Fix последней версии
  18. В правом нижнем поле ProView видим следующее: >Materail: 5 (metal) >Sound_item: 4010 (swish_medium.wav) >Ground: 60+12 [Pal=0] меч ( 0x601800C0) >Schema: 60+12 [Pal=0] меч ( 0x601800C0) >Inventory: 60+12 [Pal=0] меч ( 0x601810C0) >CharModel: 60+12 [Pal=0] меч ( 0x601820C0) >Equipped: 60+12 [Pal=0] меч ( 0x601820C0) Открываем HEX-редактор, адрес 0x184: C0 10 18 60, где: С0 10 - TYPE_WEAPON, 0x00C0: меч, 60 (мануал ProView, приложение 4) 18 60 - соответсвенно, отвечает за +12 Следовательно, для решения задачи необходимо: * ProView * доблестный мануал ProView, осыпанный почестями (где см. приложение 4 с типами предметов) * изменить тип предмета на любой другой по своему желанию
  19. Если действительно менял canvas size и ничего не вышло, проверь палитру.
  20. Все клево. Выкладывай что не жалко в раздел моды Арканума отдельным постом
  21. Я потрясен. Код в студию! В первую очередь интересуют: * ледяные стрелы * превращение в волка * вампиризм
  22. Нет. Нет. Зато у тебя есть шанс стать пионером в этой области. Нет. При самом ленивом расположении духа и тела понадобится не более пяти дней. *** А чем тебе ГФ не нравится?
  23. Вот спасибо хорошо! Так и не нашел "привязки" к номеру прототипов. Зато нашел альтернативное решение: копируем из weaponeyecandy.mes нужную строку (в моем случае {75}{Art: 375, Palette: 1, Scale: 150%, Blend: Add, Flags: overlay_fb | animates, Light: 1, Light Color: (255 @ 255 @ 255)}) в scripteyecandy.mes, в скрипте пишем: 13. script eye candy: play 75 on Triggerer Здесь же возможности скрипта рождают новые загогулины прямо в мой мозг. Вот вам отрывок: 14. random number 6070 to 6071: store in Local 8 15. play sound Local 8 at Triggerer snd_item.mes: {6070}{shotgunSingle1.WAV} {6071}{shotgunSingle2.WAV} Переводя на русский язык, несколько "вариантов" одного и того же события, что дает более живой звук, вместо повторения неизменного {4080}{shoot_rifle.wav}
  24. Вполне возможно, стоит вспомнить арбалет, нежно взращенный Темным. Насколько я знаю, использован арт персонажа с двуручным ружьем, но при этом из него исправно вылетают стрелы. Следовательно, можно сделать лук (а может даже и железнодорожный штырь), стреляющий пулями и выглядящий как пистолет, но при этом вероятность попадания будет зависеть от скилла Bow, что не лезет ни в какие рамки. Мне пока что видится наиболее перспективным изменить в файле прототипа его Magic Compicity. Возможно, это и будет решением проблемы.
×
×
  • Создать...