29

» Битва Зимой / Царь земли

Aws:
А почему именно "царь"?
Потому, что так прикольнее. А ещё я и найт сталкер - мы так решили назвать для большего разнообразия.
29

» WarCraft 3 / Карта из компании

Принятый ответ
Если ты о карте из главной кампании, это надо искать в mpq архиве, открыв через Mpq Master (или др. подобный архиватор)
В данном случае, если мы хотим карту из frozen throne, то открываем war3xlocal.mpq, там будет папка Maps/FrothenThrone/Campaign
Раскрыть картинку
Или если из рока то war3.mpq : /Maps/Campaign
Загруженные файлы
29

» WarCraft 3 / Dummy Sphere System

Спасибо больше за модель и за то, что я смогу сделать стихийного мага в своей карте к версии 0.6c ещё более прикольным... Пример довольно хороший получился.
Конечно можно было в системе организовать стек... и сделать логические переменные и всё такое..) (К чему лишние хлопоты, и этого примера хватит а смышлёные жассеры сделают свой подход) :)
29

» Битва Зимой / Тёмная тюремщица

Ее выводили в окружающем ужасе?
Ой, не заметил. Наверно автоправка... На самом деле я там писал "выбраться" Или как будет лучше?)
29

» WarCraft 3 / Генератор Спецэффектов

Тест с добавлением по эти ссылкам показал отриц. результат
set utmp = CreateUnit( Player(0), 'h000', 0., 0.,0. )
call AddSpecialEffectTarget( "units\\human\\Peasant\\Peasant.mdl", utmp, "EDIT_ME_1" )
call AddSpecialEffectTarget( "units\\human\\Peasant\\Peasant.mdl", utmp, "EDIT_ME_2" )
call AddSpecialEffectTarget( "units\\human\\Peasant\\Peasant.mdl", utmp, "EDIT_ME_3" )
call AddSpecialEffectTarget( "units\\human\\Peasant\\Peasant.mdl", utmp, "EDIT_ME_4" )
В стандартных моделях указываться пример: Foot Left Ref или Chest Ref и т.п.
А что если вам попробовать так: SphereOne Ref, SphereTwo Ref; Как думаете, - сработает?
А потом обращаться к ним как: SphereOne, SphereTwo без 'Ref'...
Второй способ указывании в пути двое путей моделей через запятую тоже показали не лучший результат, модель эффекта просто исчезла.
29

» WarCraft 3 / Генератор Спецэффектов

JesusHipster:
KingMaximax, интересно, а есть линк?
нет, нужно будет скопировать аттач
Простите, немного ступил не заметил что там для каждой сферы можно свой путь вводить.
Хотя ещё имел ввиду что-то вроде наложения двух эффектов на 1 внутреннюю дамми модели.. Значит можно указать по ref ссылке да, т.е. AdddSpecialEffectTeraget( "model", dummy, "EDIT_ME1"? Если да, то круть. Хоть лишний код на такое писать не придётся.
29

» WarCraft 3 / Генератор Спецэффектов

Прикольно. Ещё подобное на хайве делали, только из 6 или 8 сфер.
Кстати, а если в пути прописать две модели через запятую, то они покажутся поочередно?
29

» WarCraft 3 / Безумие

Принятый ответ
Если значение меньше 0 хоть на .01 то твой герой или б.е. будет неуязвима. Это внутренний баг игры.
Хотя в этой фишке бессмертия есть и свои плюсы. Однако будет восполнять хп от этого процента, если по воину бьют магической атакой, или же при получении им урона от заклинания, которое наносит маг. урон.
Если хотите просто уменьшать наносимый урон, то делать лучше это через триггер.
Так же можешь в сокрытой способности на основе книга заклинаний делать блок урон на основе доспехи гор... Др. вариантов много...
29

» Битва Зимой / Хозяин озёр

BrEd Pitt, сейчас поправлю. Благодарю за нахождение ошибок. Просто когда я делал карту, строчил много кода. И с описанием возился одновременно. А наш редактор орфографии\текста\описаний немного был без компа и ноута, а щас не может поправить всё... Т.к. либо ему мешают, либо времени нет.. Да ещё у него W.E. и War3 не запускаются, что даже установка directx не помогает.. Всякое бывает..
BrEd Pitt:
Озеро-хозяин
lakehost - озерный хозяин
Не думал, что кто-то обратит внимание на эту мелочь. xd
29

» Битва Зимой / Хозяин озёр

BrEd Pitt:
Тварь, пришедшая из глубин озёр,
которая является хозяином озер. Тварь
способна черпать колоссальную энергию из-под тех
тайных глубин озера, откуда эта тварь пришла. Она может
застать врага врасплох и уничтожить своей магией тьмы.
Такое чудовище служит в рядах легиона.
Тварь, пришедшая из глубин озер и являющаяся их хозяином. Существо способно черпать колоссальную энергию из-под тех тайных глубин, откуда пришла. Она может застать врага врасплох и уничтожить своей магией тьмы. Такое чудовище служит в рядах Легиона.
Спасибо, превосходная поправка текста.
29

» WarCraft 3 / Несколько игрушечных зданий

bazeba:
какие триггеры, какие дамики? Все довольно просто поменяй строку приказа на другую и все, и по идее они будут работать по отдельности
Такое прокатит только со способностью на основе канала. (На основе ANcl) Метод, который предложил - не поможет.
29

» Битва Зимой / Пеладин

Кристофер:
BrEd Pitt:
Почему гг не Чак Норрис, а какой-то Баблан?
Если найдуться фанаты карты и решать единогласно, чтобы ещё ему добавили имя Чак Норис - добавим. xd
Я за. А то баблан звучит как-то по-еврейски.
Изменим имя, то предложите на какое, только не фан.
Я уже говорил с Димой, он тоже говорил, что имя не очень. Хотя лучше дам имя "Дарен Аргентум" - так звучнее?
29

» WarCraft 3 / Несколько игрушечных зданий

Это проблему нельзя обойти, ведь у них один и тот же приказ. Разве что делать через триерные костыли, что не очень красиво будет выглядеть. Разве что, можно разместить по способностям на основе "Книга заклинаний", что будет не очень красиво выглядеть.
Или сделать терригенно всё так, типа в той точке создаётся при помощи паузы, анимации birth с опр. установленными временными рамками, а ещё проверка условий на то что:< можно ли построить на в данной местности?>.
В общем придётся как нить да изощриться с кодом, или GUI. Ну или помудрить со способностью...
Ещё вариант: Сделать инвентарь №2:
Типа инвентарь способностей. Можно через системку, или задействовать дамика носителя.
29

» WarCraft 3 / Снижение видимости героев

Не рекомендуется: Ставить одинаковые дальности обзоры дня и ночи, или слишком маленькие. Так же в некоторых случаях, если воскресить резко героя, после его смерти, то тоже может уменьшиться обзор.
29

» Битва Зимой / Битва Зимой 0.6 off ( Испытание 2)

Mrachny:
Не нашёл ошибок, но проект просто идеальный!
В командной игре по сети обязательно найдутся, я просто нутром чую, что ещё как найдутся.
Благодарю за комплимент и проявление интереса к проекту.
29

» Битва Зимой / Пеладин

Почему гг не Чак Норрис, а какой-то Баблан?
Если найдуться фанаты карты и решать единогласно, чтобы ещё ему добавили имя Чак Норис - добавим. xd
Однообразно звучит. Божественный удар?
Просто чтобы они намекают: "Мне дан дар бога, чтобы дать тебе удар от бога". Хотя мог забыть переименовать под божественный удар.
Почему "Пеладины"?
Потому, что мне так захотелось и мой друг Дима говорил пр игрока с таким ником в WoW. Он так прикольно рассказывал, что я решил сделать Пеладина в БЗ. (Типа особого почти сверх Паладина)
29

» WarCraft 3 / Обязательно ли чистить хэш?

FlushChildHashtable() очищает определённую строку по id, полученного от хендла в хеш таблице.
Если вы больше не используете его т.е. при окончании работа таймера или смерти юнита, на котором висели данные через хеш таблицу, погиб и он не геройского типа.
То рекомендуется использовать.
Если в ней сохраняются много данных.
Ну кончено рекомендуется зачищать, однако при условии что данные в хеш таблице используются для таймеров управляющих нест. способностями, системой возрождения и т.д.
Если хотите что-то постоянное - лучше использовать массивы или структуры для данных операций.
Будьте любезны, изъясняться как можно точнее.
29

» WarCraft 3 / Увеличение количества текста в кнопках диалога

Принятый ответ
Никак, это у тебя не получится. Ну чтобы не восходил за рамки - нужно разрешение экрана по больше.
А ещё можно сделать совместно с таблицей или доской лидеров, или текст игры на неограниченное время, потом очистив от него экран. Просто оформив так, чтобы смотрелось и текст в кнопках из 1-3 слов был отсылкой к этим описаниям.
29

» WarCraft 3 / Как добавить на карте стихии и виды урона?

Принятый ответ
Graf_Men9999, всё куда проще. Можно просто всё хранить в массиве, или структуре. с наименованиями Fire, Earth, Water и т.д. можно наносить урон костылём методом ссылок
Допустим у нас есть функция костыль Damage( id1, id2, dmg, Type )
И массив данных от игрока или массив со стеком на все войска...
Так же можно отлавливать урон через EventDamage, если воин который наносит уроном, и его атака относиться к стихии.
Где пример:
real array Fire
constant integer FIRE = 0x0
Примерно внутри костыля Damage()
//
	if Type = FIRE then
		call UnitDamageTarget( Unit[id1], Unit[id2], dmg - (dmg * Fire[id2], true, true, ATTACK_TYPE_CHAOS, DAMAGE_TYPE_UNKNOWN, null)
	endif
//
29

» Битва Зимой / Герои

Night_Sta1ker:
лучше D вместо G, поудобнее будет
(да, по доте убедился)
Хорошо, исправлено.
Ведь эта ключевая клавиша будет для более мощной способности. Раз считаешь так будет удобнее - да будет так.
29

» WarCraft 3 / Оптимизация

Принятый ответ
Yury13:
Ох щи
function InitTrig_check takes nothing returns nothing
set gg_trg_check = CreateTrigger( )
call TriggerRegisterTimerEvent( gg_trg_check, 0.1, true )
call TriggerAddAction ( gg_trg_check, function Trig_check_Actions )
endfunction
Вставь ниже
и переименуй ту триггерную вкладку "Безымянный триггер 001" на "check"
НЗМ: Вам сударь, учить и ещё раз учить JASS
Лучше используйте JPNG XGM'a (cJass,vJass) или HiveWorkShop'а в котором только vJass
29

» WarCraft 3 / Оптимизация

Вот так лучше, 0x10000 - взято из TimerUtils (Где считывается кол-во таймеров по хендлу, возможно не учли внутренние таймеры BJ)

function Trig_check_Actions takes nothing returns nothing
	local timer Timer = CreateTimer ()
	local string S = I2S(GetHandleId(Timer)-0x10000)
	call BJDebugMsg(S)
	call DestroyTimer (Timer)
	set S = null
	set Timer = null
	
endfunction
29

» WarCraft 3 / Blizzard выпустит 1.27 для WarCraft 3

  1. Надувалово это или нет мы не знаем.
  2. Погубит ли патч некоторые фичи, к примеру баг с добавлением доп. запаса здоровья
  3. Появятся ли такие функции как: GetUnitArmorDef\GetUnitArmor; GetUnitAttack, GetUnitAttackMedium и т.п. как и реакция GetTriggeringPlayer() на события с типом tracktable, или вообще не будет трек типа а возможно что новое либо просто.
  4. Совершенные диалоговые окна? мб.
  5. Он сказал вроде что-то про правки баланса -> скорее всего это будет..
  6. Однако когда он рассказывал про выход патча, однозначно что-то хотят добавить ещё новое(???)
  7. Что я думаю об этом:
Хорошо было бы, чтобы принцип скрипотвания не меняли, но добавили бы парочку полезных функций, улучшили вар от утечек внутренних. Ну ещё чтобы у игры появились новые типы, и ещё чтобы можно было создавать структуры.
Чтобы можно было редактировать файл, где хранятся больше тексты для заданий, и различный описаний для прочего..
STRING_001
{
text
}
А так же чтобы у него была собственная подсветка кода + создание отдельных листов не GUI, а для скриптов. Было бы здорово.. XD
Я закончил, конечно всего этого вряд можно ожидать хорошего. Мои друзья говорили, что будет тупо правка баланса, они так считают.
НЗМ: Так ожидаешь нововведений, которые будут шикарны, но потом возможно окажется лажа...
29

» WarCraft 3 / Сделать Таймер в %

Принятый ответ
Можно примерно так: Jass
function TimerSet takes timerdialog td, timer t, real max, string tname returns nothing
    local real rm = TimerGetRemaining(t)
    local integer pc = R2I((rm/max)*10.)
    TimerDialogSetTitle(td, tname + " [|cff03FF03"+SubString("IIIIIIIIII",0,pc)+"|r|cffFF0303"+SubString("__________",0,10-pc)+"|r]")
endfunction 
Пример GUI:
inside
Загруженные файлы
29

» Кузня Волчачки / Как я представляю свою разметку jass

Clamp:
Берёшь такой, просишь исходники cJass у ADOLF'а и радостно переписываешь под себя.
раньше они на cjass.xgm.guru были, не нашёл почему-то.

ifexit
"Если выход"
проще просто "exit" (что я, кстати, сам использую).
Вообще часть этого можно дефайнами сделать, но не всё.
Дефайны хороши, что нет у в vJass. Особенно объявлять псевдотипы объявлять.
Мне без разницы на чем кодить vJass, сJass или JASS2...
Добавлю:
Хоть я и позабавился с дефайнами, но все равно не хватает несколько фишек....
code
Тестил define, ничего так. Но немного не так. XD
#include "cJassKing_MaximaxVers.j"
//#include "kj_lib.j"


library TimerGroup initializer Ini{
    ^pointer(TimerGroup)
    ^add pointer(TimerGroup,^t,Timer)
    ^add pointer(TimerGroup,^i,Step)
    
    _no tgClear(^pointer i){
        pointer(TimerGroup,Timer,i) = _nl
        pointer(TimerGroup,Step,i) = _ni
    }
    
    ^no Ini(){
        ^init pointer(TimerGroup)
        
    }
}

library TimerSetting initializer Ini{
    ^pointer ts_Tmr = _ni
    ^h Hash
    
    ^pointer trhd(^pointer Timer){
        _re LoadInteger( Hash, _hi(pointer(TimerGroup,Timer,Timer)), _ni )
    }
    
    ^pointer NewTimer(^pointer px, ^r ix, ^c fcode ){
        ts_Tmr =  ^p_loc(TimerGroup)
        pointer(TimerGroup,Timer,ts_Tmr) = cr ^t
        SaveInteger( Hash, _hi(pointer(TimerGroup,Timer,ts_Tmr)),_ni, px )
        _tRun( pointer(TimerGroup,Timer,ts_Tmr), ix, false, fcode )
        _re ts_Tmr
    }
    
    ^pointer NewTimerEx(^pointer px, ^r ix, ^c fcode ){
        ts_Tmr =  ^p_loc(TimerGroup)
        pointer(TimerGroup,Timer,ts_Tmr) = cr ^t
        _tRun( pointer(TimerGroup,Timer,ts_Tmr), ix, true, fcode )
        _re ts_Tmr
    }
    
    _no CrashTime(^pointer Timer){
        clear ^h(Hash,_hi(pointer(TimerGroup,Timer,Timer)))
        free ^t(pointer(TimerGroup,Timer,Timer))
        ^p_unloc(TimerGroup,Timer)
    }
    
    ^no Ini(){
        
        Hash = cr ^h
    }
}