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

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™ Ответить с цитированием
Старый 25.03.2008, 20:27   #1861
Юзер
 
Аватар для Malcolmishe
 
Регистрация: 07.06.2007
Сообщений: 307
Репутация: 14 [+/-]
3D Designer
угу... метод 2 мне определенно нравится... не уверен, что на 100% понял как конкретно ты предлагаешь это запустить (что-то башка сегодня туго работает ), но идея мне ясна... надо подумать...

вот что нашел за пару минут в гугле:
Уравнение окружности: (параметрические координаты)
для окружности с центром (j, k) и дариусом r:
x(t) = r cos(t) + j ; y(t) = r sin(t) + k

Вот только что такое параметрические координаты? Нифига не помню... второй курс был так давно... на этой странице нифига больше не написано... углы в радианах или градусах? Или пофигу? В общем думаю

Последний раз редактировалось Malcolmishe; 25.03.2008 в 20:42.
Malcolmishe вне форума  
Ответить с цитированием
Старый 25.03.2008, 20:31   #1862
Заблокирован
 
Аватар для 3D Designer
 
Регистрация: 12.05.2006
Адрес: Где-то в этой галактике..
Сообщений: 0
Репутация: 14 [+/-]

Предупреждения: 400
Из поста 1854 карту кто-нить качал? Хотелось бы услышать отзывы и критику
3D Designer вне форума  
Отправить сообщение для 3D Designer с помощью ICQ Ответить с цитированием
Старый 25.03.2008, 20:33   #1863
Юзер
 
Аватар для Malcolmishe
 
Регистрация: 07.06.2007
Сообщений: 307
Репутация: 14 [+/-]
скачал, ща посмотрю. А зачем ты их паролишь?
Malcolmishe вне форума  
Ответить с цитированием
Старый 25.03.2008, 20:34   #1864
Заблокирован
 
Аватар для 3D Designer
 
Регистрация: 12.05.2006
Адрес: Где-то в этой галактике..
Сообщений: 0
Репутация: 14 [+/-]

Предупреждения: 400
Malcolmishe
Ты знаешь, я сам не особо понял что я написал..ща вот сижу и сам думаю...в каком-то порыве написал это)) Но чувство, что если это сделать, то оно будет работать) Ща вникну в твою функцию, отпишусь

Добавлено через 48 секунд
Цитата:
Сообщение от Malcolmishe Посмотреть сообщение
скачал, ща посмотрю. А зачем ты их паролишь?
Да н езнаю..чтоб левые люди не качали))Только с форума) Ведь мне по ка оценка нужна, а не распространение

Добавлено через 5 минут
http://edu.ioffe.ru/register/?doc=physica/lect.ch3.tex Вот это надо вкурить и все будет понятно..я ща попробую пока наваять более менее правильную систему триггеров с этой формулой

Добавлено через 8 минут
Вопрос!! Косинус и синус умеет джасс считать??И как это записывать?

Последний раз редактировалось 3D Designer; 25.03.2008 в 20:42. Причина: Добавлено сообщение
3D Designer вне форума  
Отправить сообщение для 3D Designer с помощью ICQ Ответить с цитированием
Старый 25.03.2008, 20:43   #1865
Юзер
 
Аватар для Malcolmishe
 
Регистрация: 07.06.2007
Сообщений: 307
Репутация: 14 [+/-]
Ок, тачай. И я тоже попробую. Потом сравним.
Malcolmishe вне форума  
Ответить с цитированием
Старый 25.03.2008, 20:45   #1866
Заблокирован
 
Аватар для 3D Designer
 
Регистрация: 12.05.2006
Адрес: Где-то в этой галактике..
Сообщений: 0
Репутация: 14 [+/-]

Предупреждения: 400
x=r*cos(a)
y=r*sin(a)
Исходя из этого мы можем легко находить координаты точек, куда должен двигаться юнит!!! Ура геометрии!! Осталось проверить, поддерживает ли этот бред джасс

Добавлено через 1 минуту
Иначе ща нету смысла делать что-то

Добавлено через 2 минуты
Хотя..можно посчитать уже готовые значения на каждые 0, 5 ,10, 15 градусов..но тогда уже проще делать просто областями и не заморачиваться.

Добавлено через 13 минут
Я пока ничего не делаю..до выяснения этих моментов.

Последний раз редактировалось 3D Designer; 25.03.2008 в 20:59. Причина: Добавлено сообщение
3D Designer вне форума  
Отправить сообщение для 3D Designer с помощью ICQ Ответить с цитированием
Старый 25.03.2008, 21:26   #1867
Юзер
 
Регистрация: 14.06.2005
Сообщений: 188
Репутация: 20 [+/-]
Великое уравнение окружности знать надо (x^2+y^2=R^2) =)) и не обязательно лезть в полярные координаты:

Код:
function Trig_Go_Actions takes nothing returns nothing

if udg_i == 0 then - верхняя полуокружность
    set udg_t = ( udg_t + 100.00 )
    if ( udg_t >= udg_R ) then
        set udg_i = 1
    else
        set udg_y = SquareRoot(udg_R*udg_R - udg_t * udg_t)
    endif
endif

if udg_i == 1 then  - нижняя полуокружность
    set udg_t = ( udg_t - 100.00 )
    if ( udg_t <= -udg_R ) then
        set udg_i = 0
    else
        set udg_y = -SquareRoot(udg_R*udg_R - udg_t * udg_t)
    endif
endif

call IssuePointOrderLocBJ( gg_unit_hfoo_0000, "move", Location(udg_t, udg_y))

endfunction

//===========================================================================
function InitTrig_Go takes nothing returns nothing
    set gg_trg_Go = CreateTrigger(  )
    call TriggerRegisterTimerEventPeriodic( gg_trg_Go, 0.50 )
    call TriggerAddAction( gg_trg_Go, function Trig_Go_Actions )
endfunction
Столько переменных ввел, чтобы понятнее было. На самом деле код можно укоротить вдвое, как и количество переменных.

Ну, вот собсно карта:
http://slil.ru/25618450
GadenbIsh вне форума  
Отправить сообщение для GadenbIsh с помощью ICQ Ответить с цитированием
Старый 25.03.2008, 21:40   #1868
Заблокирован
 
Аватар для 3D Designer
 
Регистрация: 12.05.2006
Адрес: Где-то в этой галактике..
Сообщений: 0
Репутация: 14 [+/-]

Предупреждения: 400
GadenbIsh
Гымс))Прикольно, работает. Ток че-то смысла кода я не очень понял..ну да ладно..примерно понятно.
3D Designer вне форума  
Отправить сообщение для 3D Designer с помощью ICQ Ответить с цитированием
Старый 25.03.2008, 21:48   #1869
Юзер
 
Регистрация: 14.06.2005
Сообщений: 188
Репутация: 20 [+/-]
Алгоритм прост.
Есть две переменные т (считай х) и у. А также i. Если i = 0 то описываем верхнюю полуокружность, если = 1, то нижнюю.

Каждую 0.50 секунды увеличиваем х на шаг.
высчитываем y по формуле: y = Корень(R^2 - t^2)
У нас есть координаты следующей точки.. Отправляем туда юнита
Так он опишет первую вернхюю полуокружность. Когда сравняется с радиусом (т.е. полуокрожность описана), то делаем i = 1 и начинаем вычитать из t шаг, а Y высчитывать по той же формуле только с минусом. Когда T<-R, тогда мы описали нижнюю и пора бы описать верхнюю, i снова меняется на 0 и все идет сначала.
GadenbIsh вне форума  
Отправить сообщение для GadenbIsh с помощью ICQ Ответить с цитированием
Старый 25.03.2008, 21:58   #1870
Юзер
 
Аватар для Malcolmishe
 
Регистрация: 07.06.2007
Сообщений: 307
Репутация: 14 [+/-]
GadenbIsh
скачал. В джасе я почти 0, так что как сделано не понял. В принципе работает, но юнит выписывает скорее не окружность, а эллипс, вытянутый наискосок. И в левом нижнем и правом верхнем краях делает довольно резкий поворот.

вот что получилось у меня: http://ifolder.ru/5881342
без джаса, но через периодик евент. К тому же не оптимизировано. Судя потому, что я читал на хгм мой вариант через часок-другой игры может капитально засрать память. Я особо в подробности не вдавался, но на сколько понял, оптимизировать не так уж трудно.

Добавлено через 2 минуты
Причем неожиданно для себя сделал сие творение без всяких синусов и косинусов. Просто полярные кородинаты и прибавление постоянной величины к углу. Чтобы переменную "угол" не зашкалило, каждый раз, когда она становится равна 360 задаю ей значение 0

Последний раз редактировалось Malcolmishe; 25.03.2008 в 22:08. Причина: Добавлено сообщение
Malcolmishe вне форума  
Ответить с цитированием
Старый 25.03.2008, 22:08   #1871
Юзер
 
Регистрация: 14.06.2005
Сообщений: 188
Репутация: 20 [+/-]
"Кривизна" круга настраивается шагом и временем повторая триггера. Немного поиграть с цифрами (относительно скорости пехотинца) и будет норм.
GadenbIsh вне форума  
Отправить сообщение для GadenbIsh с помощью ICQ Ответить с цитированием
Старый 25.03.2008, 22:13   #1872
Юзер
 
Аватар для Malcolmishe
 
Регистрация: 07.06.2007
Сообщений: 307
Репутация: 14 [+/-]
А моя версия как? Совсем нубская, или я не безнадежен?
3D Designer
интересно всетаки посмотреть твой вариант.
Malcolmishe вне форума  
Ответить с цитированием
Старый 25.03.2008, 22:27   #1873
Заблокирован
 
Аватар для 3D Designer
 
Регистрация: 12.05.2006
Адрес: Где-то в этой галактике..
Сообщений: 0
Репутация: 14 [+/-]

Предупреждения: 400
Цитата:
Сообщение от Malcolmishe Посмотреть сообщение
интересно всетаки посмотреть твой вариант.
Мой вариант через синусы и косинусы..но как оказалось в джассе нету встроенных функций для их вычисления. Принцип мой я расписывал.
3D Designer вне форума  
Отправить сообщение для 3D Designer с помощью ICQ Ответить с цитированием
Старый 25.03.2008, 22:31   #1874
Юзер
 
Регистрация: 14.06.2005
Сообщений: 188
Репутация: 20 [+/-]
Как нет? я аж испугался=) sin и cos называются, они даже в триггерах есть
Math-Sine
Math-Cosine

Malcolmishe хз, ща посмотрю
GadenbIsh вне форума  
Отправить сообщение для GadenbIsh с помощью ICQ Ответить с цитированием
Старый 25.03.2008, 22:33   #1875
Заблокирован
 
Аватар для 3D Designer
 
Регистрация: 12.05.2006
Адрес: Где-то в этой галактике..
Сообщений: 0
Репутация: 14 [+/-]

Предупреждения: 400
GadenbIsh
Я прост ов джассе не 0, а даже -1))) Раз так, ща попробую замутить. Скоро баиньки, так может седня-может завтра выложу
3D Designer вне форума  
Отправить сообщение для 3D Designer с помощью ICQ Ответить с цитированием
Старый 25.03.2008, 22:33   #1876
Юзер
 
Аватар для Malcolmishe
 
Регистрация: 07.06.2007
Сообщений: 307
Репутация: 14 [+/-]
Цитата:
Сообщение от 3D Designer Посмотреть сообщение
как оказалось в джассе нету встроенных функций для их вычисления
Гыыы. Я тоже хотел через синусы сделать, правда немного иначе чем ты. Я собирался сделать с событием "юнит входит в регион" и регион обозначать координатами, но как оказалось в события нельзя вставлять переменные. Так что оставалось делать через периодик с проверкой. Зато случайно заметил/вспомнил/сообразил, что можно просто к углу прибавлять...

О! Только что придумал! Можно делать регион в редакторе и перемещать его в целевую точку, и только тогда уже запускать триггер с событием "юнит входит в регион"... может сработать.
Malcolmishe вне форума  
Ответить с цитированием
Старый 25.03.2008, 22:36   #1877
Юзер
 
Регистрация: 14.06.2005
Сообщений: 188
Репутация: 20 [+/-]
Malcolmishe
Да нормальный вариант, просто с точки зрения оптимизации полярные координаты лучше не использовать. По мне так в ДСК намного удобнее и экономнее=)

Да и проверка такая мне не очень понравилась.
GadenbIsh вне форума  
Отправить сообщение для GadenbIsh с помощью ICQ Ответить с цитированием
Старый 25.03.2008, 22:36   #1878
Заблокирован
 
Аватар для 3D Designer
 
Регистрация: 12.05.2006
Адрес: Где-то в этой галактике..
Сообщений: 0
Репутация: 14 [+/-]

Предупреждения: 400
Malcolmishe
Ты знаешь, очень даже логично у тебя получилось!! Довольно просто и понятно! ПОлучается радиус окружности можно изменять, меняя у Wait параметр, а ...количество сторон параметром angle=angle+X!! Круть!
3D Designer вне форума  
Отправить сообщение для 3D Designer с помощью ICQ Ответить с цитированием
Старый 25.03.2008, 22:43   #1879
Юзер
 
Аватар для Malcolmishe
 
Регистрация: 07.06.2007
Сообщений: 307
Репутация: 14 [+/-]
Неа, фигушки! С регионом не работает!!

Добавлено через 8 минут
3D Designer
не, радус надо менять не вэйтом. Там вообще вэйта нет, есть периодик эвент. И чем меньше там будет число, тем менее "дерганым" будет движение (т.е. будут меньше остановки).
А радиус надо менять, меняя параметр "радиус" во всех полярных координатах. А на счет сторон - ты прав.
Вот только с оптимизацией бяда.

Добавлено через 14 минут
Цитата:
Сообщение от GadenbIsh Посмотреть сообщение
Math-Sine
Math-Cosine
ой! И правда!

Добавлено через 19 минут
Цитата:
Сообщение от GadenbIsh Посмотреть сообщение
Да и проверка такая мне не очень понравилась.
А как лучше проверку сделать? Я думал может что-то типа "юнит остановился" или "юнит закончил выполнять приказ", но ничего такого не нашел...

Добавлено через 3 часа 41 минуту
3D Designer
Поигрался в твою мапу. Ну вроде ниче так. Я вообще не особо ценитель РТС, за очень редким исключением, и варя - одно из них. По большей части варя мне в свое время приглянулась из-за элементов РПГ и шикарнейшего редактора, позволяющего не только новые ландшафты рисовать, но создавать почти все, что в голову взбредет. Так что для меня почти все melee мапы практически одинаковы. И твоя не хуже большинсва. Вот.

Последний раз редактировалось Malcolmishe; 26.03.2008 в 02:25. Причина: Добавлено сообщение
Malcolmishe вне форума  
Ответить с цитированием
Старый 26.03.2008, 09:05   #1880
Юзер
 
Аватар для BAD CAT
 
Регистрация: 22.12.2007
Адрес: Мясокомбинат
Сообщений: 214
Репутация: 63 [+/-]
Цитата:
Сообщение от 3D Designer Посмотреть сообщение
Из поста 1854 карту кто-нить качал? Хотелось бы услышать отзывы и критику
Неплохая карта тока все очень симетрично
Кто нибудь киньте ссылку на карту ЛСкой
Заранье спс
__________________
Стреляю по Собакам и Кроликам
http://www.tf2items.com/id/sahab95
BAD CAT вне форума  
Ответить с цитированием
Ответ


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

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

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


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


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