Главная | Регистрация | Вход Приветствую Вас Гость | RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 3 из 6
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • »
Модератор форума: Mary  
Dark Wonderland » American Mcgee's Alice » Моды, наработки » Создание карт для Алиски
Создание карт для Алиски
bormoglotДата: Понедельник, 2009-08-17, 12:04 PM | Сообщение # 31
♣Alice'sDEAD♠
Группа: Пользователи
Сообщений: 1961
Награды: 3
Статус: Offline
Ох, я думал, у меня ошибка


"Представь себе много маленьких
длинных одноэтажных домиков, разделенных на крошечные комнаты. И все эти
домики едут в заранее выбранном направлении..." Макс Фрай
 
Lucy_AcidДата: Понедельник, 2009-08-17, 9:36 PM | Сообщение # 32
☾☜I must be dreaming...☞☽
Группа: Пользователи
Сообщений: 2620
Награды: 3
Статус: Offline
Bormoglot, решение проблемы найдено wink . Открываем в папке bin (путь C:\FAKKTools\bin)редактор QE3Radiant. В нем открываем(open) карту, потом сохраняем в папке alicemap и проделываем фигню с консолью, тьфу, командной строкой. Написано это раньше. Всё! happy

♠ Мы все тут сумасшедшие....♠

Only a few find the way; some don't recognize it when they do; some don't ever want to
 
MysteltainnДата: Вторник, 2009-08-18, 7:25 AM | Сообщение # 33
Освоившийся
Группа: Пользователи
Сообщений: 60
Награды: 0
Статус: Offline
Lucy_Acid, карта с водой у меня тоже глючит, сменил текстуру - глючит. Удалил ее и сделал заново, и все работает.
На карте с дверью неправильно указали параметр World Origin, вот она и летает.
То что карты мои не открываются в GtkRadiant'e очень странно. У меня ваши работают.
Прикрепления: maphatter.rar (475.6 Kb) · mapwater.rar (134.0 Kb)


Have you ever seen the movie "Have Dreams, Will Travel" ??
 
Lucy_AcidДата: Вторник, 2009-08-18, 9:14 PM | Сообщение # 34
☾☜I must be dreaming...☞☽
Группа: Пользователи
Сообщений: 2620
Награды: 3
Статус: Offline
Спасибо! Только я ничего в Факковском редакторе не смыслю cry

♠ Мы все тут сумасшедшие....♠

Only a few find the way; some don't recognize it when they do; some don't ever want to
 
YurikoLSDДата: Среда, 2009-08-19, 10:45 PM | Сообщение # 35
Гипнокотэ!
Группа: Пользователи
Сообщений: 154
Награды: 0
Статус: Offline
Блин...ну почему ж нельзя всё это дело организовать хотя бы в том же 3DstudioMax'e... бы в 100 раз легче...

- What da f*ck is that, K????
- This is the russian "lyohgii golod" monster, J...
 
Lucy_AcidДата: Среда, 2009-08-19, 10:46 PM | Сообщение # 36
☾☜I must be dreaming...☞☽
Группа: Пользователи
Сообщений: 2620
Награды: 3
Статус: Offline
Ну тогда придется и это учить, где какая кнопочка, а как текстуры загрузить...... dry

♠ Мы все тут сумасшедшие....♠

Only a few find the way; some don't recognize it when they do; some don't ever want to
 
YurikoLSDДата: Среда, 2009-08-19, 10:54 PM | Сообщение # 37
Гипнокотэ!
Группа: Пользователи
Сообщений: 154
Награды: 0
Статус: Offline
Я лет в 12-13 пережила сильнейшее увлечение всевозможными редакторами, вы мне только скажите как перенести, и я вам такого наделаю по сюжетам своих снов, что вы меня будете вторым МакГи называть tongue

- What da f*ck is that, K????
- This is the russian "lyohgii golod" monster, J...
 
Lucy_AcidДата: Воскресенье, 2009-08-23, 2:40 PM | Сообщение # 38
☾☜I must be dreaming...☞☽
Группа: Пользователи
Сообщений: 2620
Награды: 3
Статус: Offline
Уже страшно)))) МакГи не будет делать игры, если вы его обгоните))

Добавлено (2009-08-23, 2:40 Pm)
---------------------------------------------
А что делать, если вода опять не будет работать?? Mysteltainn, обьясните!


♠ Мы все тут сумасшедшие....♠

Only a few find the way; some don't recognize it when they do; some don't ever want to
 
MysteltainnДата: Воскресенье, 2009-08-23, 4:09 PM | Сообщение # 39
Освоившийся
Группа: Пользователи
Сообщений: 60
Награды: 0
Статус: Offline
Сегодня объясняю что такое триггеры.
-- Ахтунг: пример для GtkRadiant'а. Специально нашел все используемые в игре триггеры и записал для этого редактора. В HMF2 Radiant можно проделать все тоже самое, там даже больше, т.к часть от игры Heavy Metal: FAKK 2.
--- Скачать entities.ent и закинуть в GtkRadiant 1.5.0\q3.game\baseq3. Для HMF2 Radiant ничего делать ненужно.

В основном триггеры используются как спусковые механизмы. Например, зашли в определенную зону, появилась пачка монстриков. Полет на паре и прыжки на грибах - тоже триггеры.
Так как же сделать его? Делаем brush необходимых размеров, текстурируем его (если автоматом не текстурируется) common/trigger. С такой текстурой в игре он будет не заметен, т.е прозрачен. Дальше жмем в окне с сеткой правую кнопку (не забываем выделить то, из чего делаем триггер) и выбираем из группы trigger ... что хотим, то и выбираем=\

Для примера рассмотрим триггер accelerate. В игре он позволяет Алисе летать на пару. Летать, конечно, будем вверх, поэтому делаем его высоким.

Почти все триггеры имеют ряд настоек, так называемых ключей (key). Посмотрим сколько их у триггера accelerate. Для этого выделяем его и жмем N.
Видим ключ Speed и сразу присваиваем его значение -1 (-1 - лететь вверх). Можно попробовать другие, положительные значения, но вверх лететь Алиса точно не будет=)
На этом создание триггера закончено, можно проверять в игре... Встали ни триггер, и что? не летит!! .. а если прыгнуть? ... В игре (как мне помнится) на пар всегда прыгали или падали сверху, не помню такого - встал и полетел =\

Ну а теперь кратко по остальным триггерам:

--- trigger_catmessage
Из название можно догадаться что делает =)
Все понятно вроде, но ничего не работает =( ... знаю как сделать говорящего кота, но об этом в другой раз.
Keys:
target: Cat_message (Нужно указать путь к звуковому файлу *.wav)

--- trigger_changelevel
Тоже понятно что за зверь. Переход на следующий уровень.
Прекрасно работает.
Keys:
Map: имя карты (например pandemonium)

--- trigger_fall
Алиса с криками летит вниз и появляется окно с LSD. Ключей тут нет, зато есть Spawnflag.
Spawnflag - он либо есть, либо нет. Самое трудное понять, что он делает, т.к обозначется цифрой=\
Ставим галочку напротив spawn256 и все... с 512 ничего не происходит. Можно выбрать оба, можно ни одного.... куча вариантов для экспериментов=\
Сделали но опять чтото не так работает.. Алиса не кричит, LSD не появляется и еще куча проблем. Можно нажать ~ и посмотреть, на что там игра ругается, а можно сразу читать дальше=)
В папке Maps создаем такой файл Имя_карты.scr и добавляем в него следующий текст:

#include "scripts/utils.scr"
#include "scripts/cinematics.scr"
void main()
{

}

Проверяем в игре работу триггера, все должно работать. Про *.scr файлы может тоже расскажу когда-нибудь=\

--- trigger_hurt
Встаем в зону триггера и нас беспощадно бьет... просто бьет.
Keys:
damage: числовое значение (пробовал 1, 100, 10000 ... бьет одинаково, не понял что делает)
damagetype: fire либо оставить пустым (если fire, будем гореть разумеется)
setdamage: числовое значение (вот тут ставим, по сколько будет бить... при 100 Алиса умирает)

--- trigger_multiple и trigger_once работают одинаково, только once - один раз, а multiple - много.
Смысл в том, что задевая эти триггеры запускается что-то посложнее... например диалог с котом, о том что одного ножа мало.
Напишу пока один ключ. В игре он не использовался, но проверить работоспособность можно.
Keys:
message: текстовое_сообщение (появляется по середине экрана)

--- trigger_push
С помощью этого триггера на грибах скакали...
Keys:
angle: числовое значение (-1 - Вверх!, от 0 до 360 - будет толкать в стороны, -2 тоже использовали разработчики, возможно это вниз)
speed: числовое значение (расстояние, на которое летим, например 500 клеток(каких таких клеток? ... в редакторе все по клеткам))

--- trigger_relay и trigger_remove
Хз что делают.. =\

--- trigger_teleport
Последний триггер, телепортирует в место назначения. Его нужно указать, т.к никаких ключей тут тоже нет.
Ставим триггер например перед порталом и создаем подобным образом (также как триггер) функцию func_teleportdest. Эта функция и будет местом, в которое телепортнет триггер. Осталось их соединить. Сначало выбираем триггер, а затем с шифтом функцию (чтоб было выделено 2 браша сразу) и жмем Ctrl+k. Если появилась линия между ними, то все ОК.

Про триггеры на сегодня все.
P.S: Про spawnflag'и не спрашивайте, я не знаю что они делают. Везде отметил их ?? в в комментариях.

Прикрепления: 5114686.jpg (108.8 Kb) · 6959211.jpg (295.1 Kb) · entities.ent (37.3 Kb)


Have you ever seen the movie "Have Dreams, Will Travel" ??
 
WhiteKnightДата: Вторник, 2009-08-25, 4:28 PM | Сообщение # 40
Барон Вандерландский
Группа: Clockwork Team
Сообщений: 1315
Награды: 4
Статус: Offline
Вопрос немножко не по теме, не могу перевести "игровую" карту bsp в формат map для редактора. Пробовал использовать WinBsp, q3map2 из GtkRadiant, ничего её не берёт... В первом случае говорит номер, вроде 42 и FAKK2, во-втором тоже ругается.
 
MysteltainnДата: Воскресенье, 2009-08-30, 11:56 AM | Сообщение # 41
Освоившийся
Группа: Пользователи
Сообщений: 60
Награды: 0
Статус: Offline
Про перевод карты из bsp в map тоже ничего не нашел. WinBsp работает только с картами для hl и его модов, а q3map2 - с играми, которые поддерживает редактор. Версию (42) и тип карты (FAKK, RBSP, IBSP) легко можно поменять с помощью Hex-редактора, но все равно ничего не получается. Ругается таким образом: odd lump size (1464) in lump 1. Так что увы...

Have you ever seen the movie "Have Dreams, Will Travel" ??
 
MysteltainnДата: Пятница, 2009-09-18, 11:09 PM | Сообщение # 42
Освоившийся
Группа: Пользователи
Сообщений: 60
Награды: 0
Статус: Offline
*Как сделать говорящего чешира*

В редакторе HMF2 Radiant выбираем Characters->CheshireCat. Открываем его свойства (клавиша N). В поле Key пишем targetname, а в поле Value имя для использования в скриптах (напиример knife_cat). Все, редактор можно закрывать и компилировать карту.
Переходим к скрипу с разговором. В папке Maps создаем имя_карты.scr файл и открываем его блокнотом.
Приведу пример самого простого разговора: кот появился, сказал пару фраз и исчез.

#include "scripts/cinematics.scr"
#include "scripts/utils.scr"
void main()
{

Func_Sound_Init();

dialogtext.dt_loadfile ("cat_action.tlk");
soundtrack( "sound/music/gvillage.mus" );
waitForPlayer();

music( "normal", "normal" );

$knife_cat.alpha(0);
$knife_cat.notsolid();
wait(2);

$knife_cat.anim( "sit_idle1" );

$knife_cat.fadein(2.0, 1.0 );
$knife_cat.playsound( "sound/character/cheshire_cat/appear.wav" );
wait(2);

dialogtext.dt_clear();
dialogtext.dt_fadetime( 4.0 );
$knife_cat.playdialog( "sound/character/cheshire_cat/vo/cat011.wav" );

waitForDialog( $knife_cat, 1 );
$knife_cat.fade(2.0, 0.0 );
$knife_cat.playsound( "sound/character/cheshire_cat/disappear.wav" );
wait(3);

$knife_cat.remove();
}

Поясню, что это тут написано.
Такая конструкция должна быть в каждом файле со скриптом. Основной код располагается между фигурных скобок после void main().
#include "scripts/cinematics.scr"
#include "scripts/utils.scr"
// #include "maps/cinematics/enter.scr" - два слеша означают комментарий и игра не учитывает эту строку.
// Если их убрать а файла cinematics/enter.scr не будет, то в консоль вылетит ошибка при загрузке карты.
void main()
{

}

Func_Sound_Init();

dialogtext.dt_loadfile ("cat_action.tlk"); - загружаем файл с диалогоми
soundtrack( "sound/music/gvillage.mus" ); - устанавливаем музыку на уровень
waitForPlayer();

music( "normal", "normal" );

Следующие строки делаю кота невидимым и ... как будто его нет. Команда wait - ждать количество секунд указанное в скобках, перед выполнением следующей строки.
$knife_cat.alpha(0);
$knife_cat.notsolid();
wait(2);

$knife_cat.anim( "sit_idle1" ); - анимация, в данном случае кот будет сидеть.

$knife_cat.fadein(2.0, 1.0 ); - тут можно настроить скорость появления кота
$knife_cat.playsound( "sound/character/cheshire_cat/appear.wav" ); - это стандартный звук при появлении, но можно и любой другой поставить.
wait(2);

dialogtext.dt_clear();
dialogtext.dt_fadetime( 4.0 );
$knife_cat.playdialog( "sound/character/cheshire_cat/vo/cat011.wav" ); - фраза, которую кот произносит. Субтитры появляются автоматически.

waitForDialog( $knife_cat, 1 ); - ждем пока чешир договарит, и кот исчезает.
$knife_cat.fade(2.0, 0.0 );
$knife_cat.playsound( "sound/character/cheshire_cat/disappear.wav" );
wait(3);

$knife_cat.remove();


Вот и все, все просто. Кому интересно - пишите, спрашивайте. Можно еще камеру сделать в движении с анимацией Алисы.. или еще чего.

Прикрепления: knife_cat.rar (414.0 Kb) · 6746405.jpg (69.0 Kb)


Have you ever seen the movie "Have Dreams, Will Travel" ??
 
WhiteKnightДата: Суббота, 2009-09-19, 11:44 AM | Сообщение # 43
Барон Вандерландский
Группа: Clockwork Team
Сообщений: 1315
Награды: 4
Статус: Offline
Я когда-то догадался, что map - это текстовый файл, его можно править блокнотом. Будете смеяться, но для меня это лучший способ создания карт, поскольку в редакторе я ничего не понимаю. Mysteltainn, я знаю, что я слишком надоедливый, но нет ли где-нибудь в справке описания команд и операторов в картах. Вообще, наверное, можно рисовать карты без редактора, но с калькулятором для вычисления координат, и использовать этот редактор только для проверки правильности, как просмотрщик. И вот я ещё что заметил: в игре, кроме файлов bsp (карта) scr (скрипт карты) присутствуют snd (возможно, отвечает за звуки окружающей среды, текстовый, но в конце бинарный символ, после end и новой строки, в бинарном коде это 00) pth (вообще непонятно, что это, файл полу-текстовый, полу-бинарный). Про них тоже расскажете?
 
MysteltainnДата: Суббота, 2009-09-19, 1:17 PM | Сообщение # 44
Освоившийся
Группа: Пользователи
Сообщений: 60
Награды: 0
Статус: Offline
Создавать карты в блокноте ? ... да проще "Убить время".
Редактор несложный, есть много туториалов по его использованию для Quake 3. Команды и операторы есть одинаковые для всех игр на этом движке, но есть и много новых. Так что берем wordpad и смотрим карты из игры (bsp). Можно найти используемые текстуры, модели, триггеры, функции и т.д. В общем все, кроме геометрии уровня.
В snd записываются звуки, например огня. В pth путь, например на первом уровне гном ходит по определенному маршруту. Создается в редакторе с помощью точек, которые соединяются между собой.
Попробую сделать пример на основе взятия ножа, там тоже используется pth. Заодно и про камеру расскажу.


Have you ever seen the movie "Have Dreams, Will Travel" ??
 
WhiteKnightДата: Суббота, 2009-09-19, 2:57 PM | Сообщение # 45
Барон Вандерландский
Группа: Clockwork Team
Сообщений: 1315
Награды: 4
Статус: Offline
Я сначала подумал, что файл pth компилированный (в нём столько HEX символов). Но потом оказалось, что в pth, сохранёнках (sav,spv) есть строка "Alice Archive Version 1", а в самом начале файла ALIC (весь код приводить не буду, его можно посмотреть в любом HEX-редакторе). Возможно, это есть и в других типах файлов из игры. Чем бы их открыть или распаковать, не знаю, возможно поможет GAUP для Total Commander (буду проверять). Похоже, что эти архивы занимают больше места, чем "неупакованные" файлы и созданы только для того, чтобы их не меняли посторонние. Ни одна утилита их распаковывать не умеет, хотя на паре страниц есть описание формата одного из файлов сохранёнок и приведён код его заголовка. Про cik и ssv неправильно написал, там другое кодирование. Про изменение карт - в моде Extreme Overkill меняли через cfg файлы со ссылкой в scr на них. Это по сути то же, как если мы вызываем на уровне какой-то объект или что угодно, но там это зафиксировано в скриптах. Раньше я подумал, что можно бы создать декомпилятор на основе того компилятора карт из fakktools(q3map), но там есть исходные коды примерно половины утилит, а для нашего q3map он отсутствует.

Сообщение отредактировал WhiteKnight - Суббота, 2009-09-19, 3:53 PM
 
Dark Wonderland » American Mcgee's Alice » Моды, наработки » Создание карт для Алиски
  • Страница 3 из 6
  • «
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • »
Поиск:

By JDark since 2004
Designed by Anamorphia
Хостинг от uCoz