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

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™ Ответить с цитированием
Старый 11.08.2009, 13:50   #2681
Новичок
 
Аватар для Plastilines
 
Регистрация: 30.04.2009
Адрес: г. Омск
Сообщений: 15
Репутация: 1 [+/-]
Fro11yM, мне было бы проще кинуть тебе карту, чем писать здесь триггеры. Нипиши мыло, я тебе карту туда кину.
Plastilines вне форума  
Отправить сообщение для Plastilines с помощью ICQ Ответить с цитированием
Старый 16.08.2009, 12:15   #2682
Новичок
 
Регистрация: 16.08.2009
Сообщений: 2
Репутация: 0 [+/-]
Всем ку=( У меня карта ну... больших размеров(хорошо что комп позволяет) и вот, у меня на середине карты пишет: достигнуто максимальное допустимое значение декораций"! Я знаю на 100% что как-то можно увеличить лимит обьектов на карте если похимичить в свойствах редактора.. я весь интернет облазил и ниче не нашол. может кто знает как это сделать?

Добавлено через 20 минут
P.S. после прочтения сайта хгм мой мозг чють не лопнул. Кстат, я со всеми тригерами разобрался кроме одного... я никак не могу понять зачем нужен тригеры:
For Each (Integer "A,BVariable) DO (Action,MultipleAction)
-что значит целое численное А или В? я долго гадал наф это нуно так и не понял!
Ппц... У мну много вопросов. р

Последний раз редактировалось WhiteDeil; 16.08.2009 в 12:37. Причина: Добавлено сообщение
WhiteDeil вне форума  
Отправить сообщение для WhiteDeil с помощью ICQ Отправить сообщение для WhiteDeil с помощью Skype™ Ответить с цитированием
Старый 16.08.2009, 17:52   #2683
Игрок
 
Аватар для Бальназар
 
Регистрация: 23.09.2006
Адрес: На Краю Времени
Сообщений: 631
Репутация: 239 [+/-]
Цитата:
Сообщение от WhiteDeil Посмотреть сообщение
Всем ку=( У меня карта ну... больших размеров(хорошо что комп позволяет) и вот, у меня на середине карты пишет: достигнуто максимальное допустимое значение декораций"! Я знаю на 100% что как-то можно увеличить лимит обьектов на карте если похимичить в свойствах редактора.. я весь интернет облазил и ниче не нашол. может кто знает как это сделать?
Могу ошибаться, ибо давно редактор в глаза видел. Но по-моему - никак =) Если нужно больше декораций и прочей ереси качай другой редактор - WE Unlimited 1.20.
По поводу второго вопроса я пас. С триггерами был знаком, но больно давно
__________________
"Carry on, you will always remember
Carry on, nothing equals the splendor
Now your life's no longer empty
Surely heaven waits for you"
Бальназар вне форума  
Отправить сообщение для Бальназар с помощью ICQ Ответить с цитированием
Старый 18.08.2009, 21:52   #2684
Новичок
 
Регистрация: 09.06.2009
Сообщений: 30
Репутация: 2 [+/-]
WhiteDeil, http://xgm.ru/files.php?do=search&ti...esc&perpage=50

Добавлено через 1 минуту
2 вопрос - http://xgm.ru/forum/showthread.php?t=20405

Последний раз редактировалось °Silenser°; 18.08.2009 в 21:53. Причина: Добавлено сообщение
°Silenser° вне форума  
Ответить с цитированием
Старый 18.08.2009, 22:20   #2685
Новичок
 
Регистрация: 16.08.2009
Сообщений: 2
Репутация: 0 [+/-]
спс... терь не придется создавать по 100 триггеров. Никто не знает как заставить лес падать как только 4 воина встанут на руны (именно 4 а не 1-3 воина) и так чтоб он обратно возрастал где-то в промежутке 30-50сек? у мну или лес не падает либо тут-же вырастает!
WhiteDeil вне форума  
Отправить сообщение для WhiteDeil с помощью ICQ Отправить сообщение для WhiteDeil с помощью Skype™ Ответить с цитированием
Старый 20.08.2009, 23:32   #2686
Предвестник
 
Регистрация: 02.05.2007
Адрес: Ростов-на-Дону (")0_0(")
Сообщений: 170
Репутация: 257 [+/-]
WhiteDeil,
Вот карта-пример.
В ней удовлетворены все твои нужды.

Для того чтобы "убить лес" (зона с 4 башнями), нужно поставить Праудмура, Джайну, Келя и Артеса на квадратную поляну перед ними. Лес регенится в промежутке от 30 до 50 секунд.

Варик 1.24
__________________
Как из маминой, из спальни, ололо ПЫЩЬ ПЫЩЬ риальнэ...

WarCraft III : SURViVAL Map Project

Последний раз редактировалось Хорус; 21.08.2009 в 14:45.
Хорус вне форума  
Отправить сообщение для Хорус с помощью ICQ Ответить с цитированием
Старый 23.08.2009, 17:36   #2687
Новичок
 
Аватар для Nekit1234007
 
Регистрация: 19.12.2007
Сообщений: 50
Репутация: 6 [+/-]
Цитата:
Сообщение от Хорус Посмотреть сообщение
Варик 1.24
Если там нет РБ и не используются Хеш таблицы, то версия не имеет значения
Nekit1234007 вне форума  
Отправить сообщение для Nekit1234007 с помощью ICQ Отправить сообщение для Nekit1234007 с помощью AIM Отправить сообщение для Nekit1234007 с помощью Skype™ Ответить с цитированием
Старый 09.09.2009, 14:05   #2688
Новичок
 
Аватар для Plastilines
 
Регистрация: 30.04.2009
Адрес: г. Омск
Сообщений: 15
Репутация: 1 [+/-]
°Silenser°, вот я не совсем согласен с тем что сказано в статье про утечки. Редактор триггеров - это полный аналог jass. Только в нем есть свои + и -, как и в jass. На самом деле в редакторе триггеров можно сделать так, чтобы не было утечек. В статье сказано, что "Periodic Event" вызывает утечки, и что любой юнит даже после смерти продолжает занимать место в памяти. Например я хочу, чтобы волны юнитов шли через каждые 30 сек. Как это сделать по другому? Просто вместо "Periodic Event" сделать "Elapsed Time" (хотя событие можно поставить любое) и поставить цикл:
"For each (Integer A) from 1 to 10000 (к примеру), do actions"
Цикл - Действия
Боевая единица - Create Units...
Wait 30 seconds
Это уже не будет вызывать утечек потому, что это цикл.
Далее нужно создать целочисленную переменную (назовем ее N и присвоим ей начальное значение = 1), и каждой переменной обозначать каждый последующий создаваемый в цикле отряд.
Set N = (N+1)
Получится, что первый отряд закодирован 1, второй - 2, третий - 3 и т.д.
После этого сделать триггер, который будет контролить момент, когда отряд будет уничтожен и сделать в нем действие "Remove unit from the game".
Вот и все. Никаких утечек. Можно еще проще сделать: обозначать переменной не отряд, а каждого отдельного юнита (допустим, если я хочу сделать отряд из 3-х юнитов, то завести на каждого юнита по переменной). Правда в этом случае придется увеличить число триггеров. Но все же утечек не будет.
Plastilines вне форума  
Отправить сообщение для Plastilines с помощью ICQ Ответить с цитированием
Старый 09.09.2009, 15:05   #2689
Новичок
 
Аватар для Nekit1234007
 
Регистрация: 19.12.2007
Сообщений: 50
Репутация: 6 [+/-]
Цитата:
Сообщение от Plastilines Посмотреть сообщение
Редактор триггеров - это полный аналог jass
Нет.
Цитата:
Сообщение от Plastilines Посмотреть сообщение
"For each (Integer A) from 1 to 10000 (к примеру), do actions"
Цикл - Действия
Боевая единица - Create Units...
Wait 30 seconds
Дубизм.
Цитата:
Сообщение от Plastilines Посмотреть сообщение
отряд закодирован
лол.
Легче оптимайзить так (Нужен JNGP):
Код:
scope RemoveDiedUnits initializer init

private function cond takes nothing returns boolean
    return not IsUnitType(GetDyingUnit(),UNIT_TYPE_HERO) // чтоб случайно героя не удалить, а то не воскреснет
endfunction

private function remove takes nothing returns nothing
    local unit u=GetDyingUnit()
    call TriggerSleepAction(60.) // скок ждать после смерти
    call RemoveUnit(u)
    set u=null
endfunction

private function init takes nothing returns nothing
    local trigger t=CreateTrigger()
    call TriggerRegisterAnyUnitEventBJ(t,EVENT_PLAYER_UNIT_DEATH)
    call TriggerAddCondition(t,Condition(function cond))
    call TriggerAddAction(t,function remove)
endfunction

endscope
Nekit1234007 вне форума  
Отправить сообщение для Nekit1234007 с помощью ICQ Отправить сообщение для Nekit1234007 с помощью AIM Отправить сообщение для Nekit1234007 с помощью Skype™ Ответить с цитированием
Старый 09.09.2009, 23:05   #2690
Новичок
 
Аватар для Plastilines
 
Регистрация: 30.04.2009
Адрес: г. Омск
Сообщений: 15
Репутация: 1 [+/-]
Nekit1234007, насчет "нет" и "дубизм" - пустые слова, ты доказательства выложи, тогда может быть соглашусь. А я вообще-то спрашивал на счет утечек памяти, а ты про них вообще ничего не сказал. И еще, если ты знаешь как создавать через jass, то дай ссылку, где про него можно поподробнее прочитать, либо напиши на мыло.
Plastilines вне форума  
Отправить сообщение для Plastilines с помощью ICQ Ответить с цитированием
Старый 10.09.2009, 12:40   #2691
Новичок
 
Аватар для Nekit1234007
 
Регистрация: 19.12.2007
Сообщений: 50
Репутация: 6 [+/-]
Plastilines, перевод твоего трига в жасс:
Код:
function Trig_SpawnCreeps_Actions takes nothing returns nothing
    set bj_forLoopAIndex = 1
    set bj_forLoopAIndexEnd = 10000
    loop
        exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
        call CreateNUnitsAtLoc( 1, 'hfoo', Player(0), GetRectCenter(GetPlayableMapRect()), bj_UNIT_FACING )
        call TriggerSleepAction( 30.00 )
        set bj_forLoopAIndex = bj_forLoopAIndex + 1
    endloop
endfunction

//===========================================================================
function InitTrig_SpawnCreeps takes nothing returns nothing
    set gg_trg_SpawnCreeps = CreateTrigger(  )
    call TriggerAddAction( gg_trg_SpawnCreeps, function Trig_SpawnCreeps_Actions )
endfunction
Это быдло. Надо так:
Код:
function spawnUnits takes nothing returns nothing
    call CreateUnit(Player(0),'hfoo',0.,0.,270.)
endfunction

function InitTrig_SpawnCreeps takes nothing returns nothing
    call TimerStart(CreateTimer(),30.,true,function spawnUnits)
endfunction
Что касается "нет", так это как минимум то, что нельзя юзать локалки без кастом скриптов, ещё нельзя юзать трекабли и 95% БЖ функций (это те функции которае юзает ГУИ) лишние, или вызывают утечки... Я бы сказал больше, но читай хгм.

Последний раз редактировалось Nekit1234007; 15.12.2010 в 18:42.
Nekit1234007 вне форума  
Отправить сообщение для Nekit1234007 с помощью ICQ Отправить сообщение для Nekit1234007 с помощью AIM Отправить сообщение для Nekit1234007 с помощью Skype™ Ответить с цитированием
Старый 10.09.2009, 22:29   #2692
Новичок
 
Аватар для Plastilines
 
Регистрация: 30.04.2009
Адрес: г. Омск
Сообщений: 15
Репутация: 1 [+/-]
Во! Это уже более понятный ответ Здесь уже что-то более похожее на язык программирования. Теперь соглашусь. А теперь, если можно, скажи где научиться пользоваться jass. Скинь ссылку на мыло.
Plastilines вне форума  
Отправить сообщение для Plastilines с помощью ICQ Ответить с цитированием
Старый 10.09.2009, 22:38   #2693
Новичок
 
Аватар для Nekit1234007
 
Регистрация: 19.12.2007
Сообщений: 50
Репутация: 6 [+/-]
Plastilines, тут важные темы почитай
Nekit1234007 вне форума  
Отправить сообщение для Nekit1234007 с помощью ICQ Отправить сообщение для Nekit1234007 с помощью AIM Отправить сообщение для Nekit1234007 с помощью Skype™ Ответить с цитированием
Старый 14.09.2009, 09:05   #2694
Новичок
 
Аватар для DragonSpirit
 
Регистрация: 11.09.2009
Сообщений: 11
Репутация: 0 [+/-]
Цитата:
Сообщение от Nekit1234007 Посмотреть сообщение
private function init takes nothing returns nothing
local trigger t=CreateTrigger()
call TriggerRegisterAnyUnitEventBJ(t,EVENT_PLAYER_UNIT_ DEATH)
call TriggerAddCondition(t,Condition(function cond))
call TriggerAddAction(t,function remove)
endfunction
WTF?

не увидел обнуления локалки типа триггер

А ещё лучше делать событие без бж (имхо цикл лучше,но можно каждому событие отдельно прописывать)

Код:
private function init takes nothing returns nothing
    local trigger t=CreateTrigger()
    local integer i = 0
    loop
    exitwhen i > 12
    call TriggerRegisterPlayerUnitEvent(t, Player(i), EVENT_PLAYER_UNIT_DEATH, null)
    set i = i+1
    endloop
    call TriggerAddCondition(t,Condition(function cond))
    call TriggerAddAction(t,function remove)
    set t = null
endfunction
+ предпочтитльнее юзать библиотеки опять же имхо

Последний раз редактировалось DragonSpirit; 14.09.2009 в 09:12.
DragonSpirit вне форума  
Ответить с цитированием
Старый 14.09.2009, 13:56   #2695
Новичок
 
Аватар для Nekit1234007
 
Регистрация: 19.12.2007
Сообщений: 50
Репутация: 6 [+/-]
Цитата:
Сообщение от DragonSpirit Посмотреть сообщение
предпочтитльнее юзать библиотеки
А мне сдесь не надо чтобы эти функи были в самом верху.
Цитата:
Сообщение от DragonSpirit Посмотреть сообщение
не увидел обнуления локалки типа триггер
Нет смысла, триггер работает всегда, удаляться не будет.
Цитата:
Сообщение от DragonSpirit Посмотреть сообщение
лучше делать событие без бж
Лучше, но эта бж ничего плохого не делает, утечек и т.п. не вызывает.

З.Ы. ты с хгм я тебя знаю =)
Nekit1234007 вне форума  
Отправить сообщение для Nekit1234007 с помощью ICQ Отправить сообщение для Nekit1234007 с помощью AIM Отправить сообщение для Nekit1234007 с помощью Skype™ Ответить с цитированием
Старый 14.09.2009, 21:05   #2696
Новичок
 
Аватар для DragonSpirit
 
Регистрация: 11.09.2009
Сообщений: 11
Репутация: 0 [+/-]
Nekit1234007, я тебя тоже =)
Цитата:
Сообщение от Nekit1234007 Посмотреть сообщение
не увидел обнуления локалки типа триггер
локалки всегда нужно обнулять(производные от хэндла),т.к помимо самого триггера в памяти будет висеть ещё и ссылка на него....
Цитата:
Сообщение от Nekit1234007 Посмотреть сообщение
А мне сдесь не надо чтобы эти функи были в самом верху.
всё равно я предпочитаю библиотеки
DragonSpirit вне форума  
Ответить с цитированием
Старый 19.09.2009, 13:15   #2697
Новичок
 
Регистрация: 19.09.2009
Сообщений: 2
Репутация: 0 [+/-]
я не профи по редактору вот и спрашиваю:как мне зделать так чтобы такая та группа появилась там и бежала туда а вторая появилась там и бежала сюда и так неограниченное число раз

Последний раз редактировалось foxford; 19.09.2009 в 13:21.
foxford вне форума  
Ответить с цитированием
Старый 21.09.2009, 22:58   #2698
Новичок
 
Аватар для DragonSpirit
 
Регистрация: 11.09.2009
Сообщений: 11
Репутация: 0 [+/-]
foxford, поподробнее плиз
DragonSpirit вне форума  
Ответить с цитированием
Старый 24.09.2009, 19:39   #2699
Новичок
 
Регистрация: 24.09.2009
Сообщений: 1
Репутация: 0 [+/-]
Помогите пожалуйста, у меня в редакторе отсутствует функция Game Cache - Save (Last Created Game Cache). Не могу кампанию создать =((
Есть только: Хэш-таблица - Save Gamecache Handle, но я не уверен то ли это и вообще не умею ей пользоваться =((
vexellion вне форума  
Ответить с цитированием
Старый 25.09.2009, 22:06   #2700
Новичок
 
Регистрация: 19.09.2009
Сообщений: 2
Репутация: 0 [+/-]
DragonSpirit я хочу зделать так штобы такието люди появлялись в одном месте и бежали бья всех в другое место на подобе DOTA allstars на пути
foxford вне форума  
Ответить с цитированием
Ответ


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

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

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


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


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