Форум Игромании
 
Регистрация
Справка
Пользователи Календарь Сообщения за день

Warcraft Обсуждение игр серии Warcraft, решение технических проблем

Ответ
 
Опции темы
Старый 18.07.2005, 21:31   #1
Мастер
 
Аватар для INCWADRA
 
Регистрация: 03.04.2007
Адрес: Сайтама
Сообщений: 391
Репутация: 92 [+/-]
Создание карт, модов для WarCraft 3

Прежде чем задать вопрос прочитайте следующее:
Полезные ссылки, программы и прочее..., Оглавление "Библиотеки Творцов"

Данная тема предназначена для решения каких либо проблем или помощи в создании карт и модов для игры Warcraft 3. Немного о наборе инструментов, которые понадобятся нам в создании и редактировании:

WorldEditor

Скрытый текст:

Автор: Blizzard Entertainment
Тип: Редактор мира Warcraft 3
Способ распространения: На диске с игрой
Язык: Русский
Версия: 1.21b
О программе:
Официальный редактор карт для вара очень удобен и вполне не сложен. Редактор похож на своего предшественника StarEdit (редактор мира StarCraft), но он все равно отличается большой функциональностью и интерфейсом. Больше информации можно узнать на Wikpedia
Альтернативные редакторы:Прочие программы:
  • War3FileConverter - программа предназначена для конвертирования моделий и текстур.
  • WC3 Image Extractor II - мощная программа для просмотра и конвертирования текстур .BLP в изображения .TGA и обратно.
  • PowerMPQ - Хороший редактор архивов вара, таких как .MPQ .W3M .W3X и т.д.
  • WinMPQ - Более старший и запатентованный редактор .MPQ
  • Jass Craft - Отличный редактор Jass кода.
  • Wc3MapOptimizer - Оптимизатор карт.
  • Warcraft III Viewer (рус.) - Просмоторщик моделей вара
  • War3 Model Editor (рус.) - Редактор моделей вара. Но на нем нельзя создавать модели с нуля.
  • Button Manager - Программа для добавление рамок к иконкам.
  • MdlVis 1.39b - Лучший в своем роде редактор моделей.
  • Справочник по триггерам
  • Еще программы вы можете найти на сайтах Wc3Campaigns, HiveWorkshop и XGM.

Полезные ссылки:

Последний раз редактировалось Emix; 04.01.2011 в 10:42.
INCWADRA вне форума  
Отправить сообщение для INCWADRA с помощью ICQ Отправить сообщение для INCWADRA с помощью Skype™ Ответить с цитированием
Старый 16.02.2009, 22:30   #2381
Новичок
 
Аватар для RazArt
 
Регистрация: 06.02.2009
Адрес: Нижний Новгород
Сообщений: 57
Репутация: -24 [+/-]
balda13, дополнительно -> игровые константы, там найдешь в конце списка что-то вроде "Единиц брони за единицу ловкости"
RazArt вне форума  
Отправить сообщение для RazArt с помощью ICQ Отправить сообщение для RazArt с помощью Skype™ Ответить с цитированием
Старый 20.02.2009, 12:23   #2382
Новичок
 
Аватар для KindDevil
 
Регистрация: 19.02.2009
Адрес: Самара
Сообщений: 11
Репутация: 0 [+/-]
Дайте адресок учебника по World Editor.
KindDevil вне форума  
Ответить с цитированием
Старый 20.02.2009, 16:41   #2383
Юзер
 
Регистрация: 14.01.2009
Адрес: И целого мира мало.
Сообщений: 166
Репутация: 40 [+/-]
Я нащёл чото,но это не учебник ,а ГРОМАДНАЯ статья.
Скрытый текст:
Krovosos_777 вне форума  
Отправить сообщение для Krovosos_777 с помощью ICQ Отправить сообщение для Krovosos_777 с помощью Skype™ Ответить с цитированием
Старый 21.02.2009, 02:16   #2384
Новичок
 
Регистрация: 11.02.2009
Сообщений: 16
Репутация: 1 [+/-]
народ а как модели в world editor запихнуть?
Dr1p вне форума  
Ответить с цитированием
Старый 21.02.2009, 09:57   #2385
Юзер
 
Регистрация: 14.01.2009
Адрес: И целого мира мало.
Сообщений: 166
Репутация: 40 [+/-]
Как импортировать модель
Итак, ты скачал откуда-нибудь модель, предназначенную для war3 и не знаешь что с ней делать. Разберемся, что и в каком порядке нужно делать.

Модель состоит из нескольких файлов:
1. Сама по себе модель *.mdx
2. Возможно, специальная модель портрет *_portrait.mdx
3. Могут быть еще несколько файлов *.blp (текстуры).

Обычно еще прилагается файл с инструкцией. Но когда-то я и сам не смог разобраться даже с инструкциями. Так что продолжаем.

Итак, у тебя имеется архив с моделью. Сделай следующее:
1. Создай новый каталог
2. Разархивируй в него архив с моделью.
Теперь в архиве находятся несколько файлов или даже каталогов - наша модель

Далее, идем в редактор и делаем следующее:
1. Через меню запускаешь
Модуль-> Менеджер импорта (f12)
2. Открывается окном менеджера. Через меню делаешь команду
Файл->Импорт файла
Имопртируешь в менеджер все файлы, которые находятся в каталоге с моделью и подкаталогах, созданных при архивации

Обычно модели стыкуются с текстурами только если имеется определенная структура каталогов. И эту структуру нужно повторить в менеджере импорта.

Проделай следующее:
1. В менеджере импорта выбери файл с моделью (он имеет расширение mdx)
2. Два раза щелкни на файле (или нажми enter)
3. Нажми флажок "Нестандартный путь"
4. У тебя будет написано war3mapImported\<model>.mdx
Измени название на <model>.mdx
5. Нажми ok.

Теперь твоя импортированная модель будет храниться как бы в корневике сценария (ведь сценарий - это своеобразный архив). Если имеется еще одна модель с портретом (у нее будет название *_portrait.mdx) - сделай с ней то же самое.

Теперь нужно решить, куда импортировать текстуры. Помнишь я говорил, что должна сохраняться структура? Так вот, допустим, что наша текстура распаковалась в папку textures\<имя текстуры>.blp

Тогда мы должны прописать для импортированной текстуры в менеджере импорта точно такой же нестандартный путь:
textures\<имя текстуры>.blp
Изменять пути к текстурам - по тому же алгоритму, по которому мы меняли пути к модели .

В менеджере импорта раскидываешь все файлы в нужные каталоги .

Далее, очень важно: сохрани сценарий.

Только теперь в редакторе объектов назначать в качестве модели только что импортированную (выбираешь модель из списка imported). И при этом можно будет сразу же посмотреть эту модель.

Если ты попробуешь использовать импортированную модель до того, как сценарий будет сохранен, то при размещении в редакторе вместо модели ты увидишь черный квадрат. Запоздалое сохранение не поможет. Если это произошло - сохрани сценарий, выйди из редактора и снова войди.

Возможен случай, когда пути прописаны как я сказал, но модель все равно не отображается. Можно попробовать отыскать ошибку. Открываешь файл mdx при помощи блокнота. Там будет абра-кадабра, но ближе к началу будет имется список использованных текстур и пути, которые необходимо прописать.
(это всё с хгм)
Krovosos_777 вне форума  
Отправить сообщение для Krovosos_777 с помощью ICQ Отправить сообщение для Krovosos_777 с помощью Skype™ Ответить с цитированием
Старый 22.02.2009, 23:47   #2386
Новичок
 
Аватар для ORKSTIG
 
Регистрация: 06.03.2008
Сообщений: 14
Репутация: 2 [+/-]
подскажите плз как делать умения, а именно мне нужно умение подобное "Мощи Гор", тоесть например...ну был обычный голем а на каком небудь лвле у него появлялась умение чтобы превратится в огненного+(соотвецтвенно) улучшение характеристик на %(тоесть у него увеличивается сила на 5%,10% и т.п.)...ну вот вообщем чтобы менялся облик и характеристики (эт я щас само сабой о герое говарю)
ORKSTIG вне форума  
Ответить с цитированием
Старый 22.02.2009, 23:55   #2387
Юзер
 
Регистрация: 14.01.2009
Адрес: И целого мира мало.
Сообщений: 166
Репутация: 40 [+/-]
Цитата:
Сообщение от ORKSTIG Посмотреть сообщение
подскажите плз как делать умения, а именно мне нужно умение подобное "Мощи Гор", тоесть например...ну был обычный голем а на каком небудь лвле у него появлялась умение чтобы превратится в огненного+(соотвецтвенно) улучшение характеристик на %(тоесть у него увеличивается сила на 5%,10% и т.п.)...ну вот вообщем чтобы менялся облик и характеристики (эт я щас само сабой о герое говарю)
Незнаю...смотри эквиваленты у способности мощи гор и перевоплащения у Иллидана.
Krovosos_777 вне форума  
Отправить сообщение для Krovosos_777 с помощью ICQ Отправить сообщение для Krovosos_777 с помощью Skype™ Ответить с цитированием
Старый 23.02.2009, 09:19   #2388
Игрок
 
Аватар для Dark Vesemir
 
Регистрация: 18.02.2009
Адрес: Пустота
Сообщений: 844
Репутация: 133 [+/-]
У "Мощи" таких изменений не предусмотренно, а вот у перевоплощения - самое оно.
__________________
~~~~~~~~~~~Дело нередко кажутся погаными. Но по моему личному опыту, обычно все гораздо хуже.~~~~~~~~~~~
Dark Vesemir вне форума  
Отправить сообщение для Dark Vesemir с помощью ICQ Ответить с цитированием
Старый 25.02.2009, 16:00   #2389
Новичок
 
Аватар для balda13
 
Регистрация: 24.08.2006
Сообщений: 49
Репутация: 1 [+/-]
Thumbs up Два вопроса

1)Как сделать что герои разных кланов возрождались в определённой области и с каждым уровнем время возрастало?
2)Как сделать арену как в Петросянщине? Тоесть качаться только ночью.
__________________
На 20 % круче
balda13 вне форума  
Ответить с цитированием
Старый 25.02.2009, 18:31   #2390
Юзер
 
Регистрация: 14.01.2009
Адрес: И целого мира мало.
Сообщений: 166
Репутация: 40 [+/-]
Цитата:
Сообщение от balda13 Посмотреть сообщение
1)Как сделать что герои разных кланов возрождались в определённой области и с каждым уровнем время возрастало?
2)Как сделать арену как в Петросянщине? Тоесть качаться только ночью.
1)Создаёшь переменную(целочеслительную) назови например "Timer_Dead_Hero".(не забудь поставить массив 1!!!-Важно)

Тригер:
1.Событие>юннит(Тут не забудь об условить кажодого подвласного героя,тоесть моздать переменную типа "Боевая еденица" и опять массив 1-Важно!!!)умирает.(и можеш назвать премен. "Hero").
2.Условие>xD
3.Действие>установить "Timer_Dead_Hero" как "Timer_Dead_Hero"+5(к это пример,тоесть в 1 раз будет 5 секунд,а за каждый последующий будет бульше,так что ставь вместо "5" сколько тебе надо).
Запустить таймер с истечением времени в "Timer_Dead_Hero"массив-номер игрока>владелец>умирающий юннит,так же используй такой же массив для "Timer_Dead_Hero".(можно не "Timer_Dead_Hero" а "Timer_Spawn_Hero",так логичней)
Тригер #2:
Событие>Таймер истекает.(Hero с масивом).
Условие>))))
Действие>Герой>Мнгноменно оживить Hero в указаной области.

Добавлено через 1 час 46 минут
Короче сделай так если не нужен таймер
1.Событие>юннит(Тут не забудь об условить кажодого подвласного героя,тоесть моздать переменную типа "Боевая еденица" и опять массив 1-Важно!!!)умирает.(и можеш назвать премен. "Hero").
2.Условие>xD
3.Действие>установить "Timer_Dead_Hero" как "Timer_Dead_Hero"+5(к это пример,тоесть в 1 раз будет 5 секунд,а за каждый последующий будет бульше,так что ставь вместо "5" сколько тебе надо).
Ждать "Timer_Dead_Hero"
Действие>Герой>Мгновенно оживить Hero в указаной области

Добавлено через 1 час 50 минут
Цитата:
Сообщение от balda13 Посмотреть сообщение
2)Как сделать арену как в Петросянщине? Тоесть качаться только ночью.
Так:
Надо просто в действие так:
Если время больше 18:00 и меньше 6:00 то ничего не делать иначе двигать его в область арены.(это когда он вощёл в нужную тебе область).

Последний раз редактировалось Krovosos_777; 25.02.2009 в 20:22. Причина: Добавлено сообщение
Krovosos_777 вне форума  
Отправить сообщение для Krovosos_777 с помощью ICQ Отправить сообщение для Krovosos_777 с помощью Skype™ Ответить с цитированием
Старый 27.02.2009, 12:40   #2391
Новичок
 
Аватар для balda13
 
Регистрация: 24.08.2006
Сообщений: 49
Репутация: 1 [+/-]
Smile Krovosos_777

C ареной всё получилось, а вот с воскрешением не очень. Скинь ссылку на карту пример.
__________________
На 20 % круче
balda13 вне форума  
Ответить с цитированием
Старый 27.02.2009, 13:25   #2392
Новичок
 
Аватар для RazArt
 
Регистрация: 06.02.2009
Адрес: Нижний Новгород
Сообщений: 57
Репутация: -24 [+/-]
http://rghost.ru/131419 - вот моя будущая мапа, там мало что готово, но основы положены, там довольно интересная система респа крипов и героев, без ошибочная (имхо , так что качай и разбирайся
RazArt вне форума  
Отправить сообщение для RazArt с помощью ICQ Отправить сообщение для RazArt с помощью Skype™ Ответить с цитированием
Старый 27.02.2009, 13:50   #2393
Юзер
 
Регистрация: 14.01.2009
Адрес: И целого мира мало.
Сообщений: 166
Репутация: 40 [+/-]
RazArt, ты дал ему сложную систему,а он ещё новичок,даже толком переменные не знает,а эта система для хотябы средних в картостоительстве,так что вот лёгкая система.
Krovosos_777 вне форума  
Отправить сообщение для Krovosos_777 с помощью ICQ Отправить сообщение для Krovosos_777 с помощью Skype™ Ответить с цитированием
Старый 27.02.2009, 13:59   #2394
Новичок
 
Аватар для RazArt
 
Регистрация: 06.02.2009
Адрес: Нижний Новгород
Сообщений: 57
Репутация: -24 [+/-]
Да лан тебе, чё там сложного? Я сам новичок в картостроительстве...
RazArt вне форума  
Отправить сообщение для RazArt с помощью ICQ Отправить сообщение для RazArt с помощью Skype™ Ответить с цитированием
Старый 27.02.2009, 14:20   #2395
Юзер
 
Регистрация: 14.01.2009
Адрес: И целого мира мало.
Сообщений: 166
Репутация: 40 [+/-]
RazArt, Я вижу с переменными у тебя ни когда не было проблем,и ты всегда был таким опытным "новичком"(сарказм).
Так вот вспомни времена когда ты понятие не имел чо такое "Переменная"...............
.....хотя впринципе мне понятен ход твоих мыслей,я тоже учился таким способом-тоесть открывал карты и сидел по 10 часов пыхтел(понямал чо и как),так и научился всему чо знаю ща,а balda13 тож советую так сделать.
Krovosos_777 вне форума  
Отправить сообщение для Krovosos_777 с помощью ICQ Отправить сообщение для Krovosos_777 с помощью Skype™ Ответить с цитированием
Старый 27.02.2009, 14:23   #2396
Новичок
 
Аватар для RazArt
 
Регистрация: 06.02.2009
Адрес: Нижний Новгород
Сообщений: 57
Репутация: -24 [+/-]
Ну что такое переменные я ещё лет в 12 узнал...
А вообще, ну что собстно сложного в моей системе? Там просто "много букаф", а так там всё предельно просто, правда я думаю лучше CV заменить на глобалку...
RazArt вне форума  
Отправить сообщение для RazArt с помощью ICQ Отправить сообщение для RazArt с помощью Skype™ Ответить с цитированием
Старый 27.02.2009, 14:30   #2397
Юзер
 
Регистрация: 14.01.2009
Адрес: И целого мира мало.
Сообщений: 166
Репутация: 40 [+/-]
RazArt, Я тож в 12 и мну ща 13.
Ну разве не видно что он новичок.Ё моё эт почти тоже самое что и.........ну незнаю.....например выучить всю квантомую физику сидя на скале,всего с 3 шоколадками на всю оставшуюся жизнь...хотя нет...например обьяснять что такое переменная китайцу на русском....и только со временем он поймёт....что такое переменные......или..........что вы сбежали из
психушки))))))))))...............

Ой Блин извеняюсь за оффтоп.

Последний раз редактировалось Krovosos_777; 27.02.2009 в 17:10.
Krovosos_777 вне форума  
Отправить сообщение для Krovosos_777 с помощью ICQ Отправить сообщение для Krovosos_777 с помощью Skype™ Ответить с цитированием
Старый 27.02.2009, 14:30   #2398
Новичок
 
Аватар для RazArt
 
Регистрация: 06.02.2009
Адрес: Нижний Новгород
Сообщений: 57
Репутация: -24 [+/-]
Да кста, я не был опытным новичком, я был легко поддающимся обучению...
Вы только что написали бред...

Эх... лан, если он реально не знает что такое переменные, то, balda13, вам сюда...

Последний раз редактировалось RazArt; 27.02.2009 в 14:40. Причина: Добавлено сообщение
RazArt вне форума  
Отправить сообщение для RazArt с помощью ICQ Отправить сообщение для RazArt с помощью Skype™ Ответить с цитированием
Старый 27.02.2009, 14:46   #2399
Юзер
 
Регистрация: 14.01.2009
Адрес: И целого мира мало.
Сообщений: 166
Репутация: 40 [+/-]
Кстати у мну вопрос набежал,а начал изучать основы JASS.
Вот тут такая проблема,в одном спеле чел должен появлять в случайной облости вокруг героя,но такого нет вот код:
Скрытый текст:
function Trig_TriggerSpell_Conditions takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'Ainf' ) ) then
return false
endif
return true
endfunction

function Trig_TriggerSpell_Actions takes nothing returns nothing
local unit op=GetTriggerUnit()
local unit fu=CreateUnit(GetOwningPlayer(op),'h001',GetUnitX( op),GetUnitY(op),GetRandomReal(0.00, 360.00))
call SetUnitVertexColorBJ( fu, 25.00, 40.00, 45.00, 75.00 )
call UnitApplyTimedLife(fu, 'BTLF', 1.00)
call UnitAddAbility(fu,'Arej')
call UnitAddAbility(fu,'Aloc')
call SetUnitInvulnerable( fu, true )
call AddSpecialEffectTargetUnitBJ( "origin", fu, "Abilities\\Spells\\Other\\Doom\\DoomTarget.md l" )
call IssueTargetOrderById(fu,OrderId("rejuvination"),Ge tSpellTargetUnit())
set op=null
set fu=null
endfunction

//================================================== =========================
function InitTrig_TriggerSpell takes nothing returns nothing
set gg_trg_TriggerSpell = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_TriggerSpell, EVENT_PLAYER_UNIT_SPELL_CAST )
call TriggerAddCondition( gg_trg_TriggerSpell, Condition( function Trig_TriggerSpell_Conditions ) )
call TriggerAddAction( gg_trg_TriggerSpell, function Trig_TriggerSpell_Actions )
endfunction

В строке GetRandomReal(0.00, 360.00)) указываеться рандом,но он не действует,в чём проблема,а то вроде всё правельно.
Krovosos_777 вне форума  
Отправить сообщение для Krovosos_777 с помощью ICQ Отправить сообщение для Krovosos_777 с помощью Skype™ Ответить с цитированием
Старый 27.02.2009, 15:32   #2400
Новичок
 
Аватар для RazArt
 
Регистрация: 06.02.2009
Адрес: Нижний Новгород
Сообщений: 57
Репутация: -24 [+/-]
Как энто нет? Вот пример, на гуи кста, но я не советую его юзать, так как от полярок есть утечки, а советую заменить на это, надеюсь разберёшься в коде:
Код:
function XPolarOffset takes location loc, real dist, real angle returns real
    local real x = GetLocationX(loc) + dist * Cos(angle * bj_DEGTORAD)
    return x
endfunction

function YPolarOffset takes location loc, real dist, real angle returns real
    local real y = GetLocationY(loc) + dist * Sin(angle * bj_DEGTORAD)
    return y
endfunction

function Trig_Casting_Actions takes nothing returns nothing
local unit caster = GetSpellAbilityUnit()
local unit target = GetSpellTargetUnit()
local real distanse = GetRandomReal(150.00, 300.00)
local real angle = GetRandomReal(0, 360.00)
local location UnitLoc = GetUnitLoc(target)

if GetSpellAbilityId() == 'A000' then
call CreateNUnitsAtLoc( 1, 'hfoo', GetOwningPlayer(caster), Location(XPolarOffset(UnitLoc,distanse,angle), YPolarOffset(UnitLoc,distanse,angle)), bj_UNIT_FACING )
endif

set caster = null
set target = null
set UnitLoc = null
endfunction

function InitTrig_Casting takes nothing returns nothing
    set gg_trg_Casting_3 = CreateTrigger(  )
    call TriggerRegisterAnyUnitEventBJ( gg_trg_Casting_3, EVENT_PLAYER_UNIT_SPELL_CAST )
    call TriggerAddAction( gg_trg_Casting_3, function Trig_Casting_Actions )
endfunction
Добавлено через 26 минут
Вот пример, без утечек имхо (используя те 2 функции вместо полярок)

Последний раз редактировалось RazArt; 27.02.2009 в 15:59. Причина: Добавлено сообщение
RazArt вне форума  
Отправить сообщение для RazArt с помощью ICQ Отправить сообщение для RazArt с помощью Skype™ Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 16:43.


Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Rambler's Top100 Яндекс цитирования