28

» WarCraft 3 / Как сделать Инвентарь ?

сергант странный
если незанимает место на карте то либо мультибоард либо спелбук со стрелками
28

» WarCraft 3 / Как сделать Инвентарь ?

отличие в размере комента
если хочеш могу скинуть полную систему(добавление и удаление) на vjass а ты её переведёш на гуи
инвентарь который не будет занимать место на карте?
это что мультибоард чтоли
28

» WarCraft 3 / Случайная точка в регионе

Принятый ответ
вопервых ты в 1 и ту же ячейку пытаешся записать 2 значения (location и integer)
во вторых ты создаёш область по кординатам а следующей строчкой находиш эти же кординаты с помощью функций
в 3 ты сохранял точку в хэш и сразу же удалял её
и в 4 ты не инициализировал хэш
function Trig_SlayerUlt_Conditions takes nothing returns boolean
return GetSpellAbilityId() == 'A00V'
endfunction
function Ultaction takes nothing returns nothing
local timer st = GetExpiredTimer()
local integer sid = GetHandleId(st)
local unit su = LoadUnitHandle (udg_Hash, sid, 0)
if IsUnitType(GetEnumUnit(), UNIT_TYPE_STRUCTURE) == false and IsUnitEnemy( GetEnumUnit(), GetOwningPlayer(su)) == true then
call UnitDamageTargetBJ( su, GetEnumUnit(), 210.00, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_NORMAL )
endif
set su = null
endfunction
function UltimateRun takes nothing returns nothing
local timer st = GetExpiredTimer()
local integer sid = GetHandleId(st)
local unit su = LoadUnitHandle (udg_Hash, sid, 0)
local integer suid = GetHandleId(su)
local location suloc = LoadLocationHandle(udg_Hash, sid, 1)
local effect sueff = LoadEffectHandle (udg_Hash, sid, 2)
local real x = GetLocationX( suloc )
local real y = GetLocationY( suloc )
local rect surect = Rect( x - 600.00*0.5, y - 600.00*0.5, x + 600.00*0.5, y + 600.00*0.5 )
local location random = Location (GetRandomReal(x-600*.5,x+600*.5), GetRandomReal (y-600*.5, y+600*.5))
local integer sc = LoadInteger (udg_Hash, sid, 10)
call SetUnitPositionLoc( su, random )
call SetUnitAnimation( su, "attack" )
call AddSpecialEffectLocBJ( random, "Abilities\\Spells\\Human\\Thunderclap \\ThunderClapCaster.mdl" )
call DestroyEffectBJ ( GetLastCreatedEffectBJ() )
call AddSpecialEffectLocBJ( random, "Abilities\\Spells\\Items\\AIil\\AIilTarget.mdl" )
call DestroyEffectBJ ( GetLastCreatedEffectBJ() )
call ForGroupBJ ( GetUnitsInRangeOfLocAll(250.00, suloc), function Ultaction )
set bj_wantDestroyGroup=true
call SaveInteger(udg_Hash,sid,10,sc + 1)
if sc >= 10 then
call SetUnitPositionLoc( su, suloc )
call DestroyEffectBJ( sueff )
call SetUnitPathing( su, true )
call SetUnitInvulnerable( su, false )
call PauseUnitBJ( false, su )
call SetUnitVertexColorBJ( su, 100, 100, 100, 0.00 )
call PauseTimer(st)
call DestroyTimer(st)
call FlushChildHashtable(udg_Hash, sid)
endif
set suloc = null
set random = null
set st = null
set su = null
set sueff = null
endfunction
function Trig_SlayerUlt_Actions takes nothing returns nothing
local timer st = CreateTimer()
local integer sid = GetHandleId(st)
local unit su = GetTriggerUnit()
local integer suid = GetHandleId(su)
local location suloc = GetUnitLoc(su)
local effect sueff
local real x=GetUnitX(su)
local real y=GetUnitY(su)
call AddSpecialEffectTargetUnitBJ ( "hand right", su, "Abilities\\Weapons \\PhoenixMissile\\Phoenix_Missile.mdl" )
set sueff = GetLastCreatedEffectBJ()
call SetUnitPathing( su, false )
call SetUnitInvulnerable( su, true )
call PauseUnitBJ( true, su )
call SetUnitVertexColorBJ( su, 100, 100, 100, 50.00 )
call SaveUnitHandle(udg_Hash, sid, 0, su)
call SaveAgentHandle(udg_Hash, sid, 1, suloc)
call SaveAgentHandle(udg_Hash, sid, 2, sueff)
call SaveAgentHandle(udg_Hash, suid, 0, st)
call SaveInteger (udg_Hash, sid, 10, 1)
call TimerStart( st, .3, true, function UltimateRun )
set suloc = null
set st = null
set su = null
set sueff = null
endfunction
===========================================================================
function InitTrig_SlayerUlt takes nothing returns nothing
set gg_trg_SlayerUlt = CreateTrigger ( )
set udg_Hash=InitHashtable()
call TriggerRegisterAnyUnitEventBJ ( gg_trg_SlayerUlt, EVENT_PLAYER_UNIT_SPELL_CAST )
call TriggerAddCondition ( gg_trg_SlayerUlt, Condition( function Trig_SlayerUlt_Conditions ) )
call TriggerAddAction ( gg_trg_SlayerUlt, function Trig_SlayerUlt_Actions )
endfunction
28

» WarCraft 3 / Как сделать тригерное заклинание?

лень выкладовать скрин
лан ловите
сюда пишите и он вам показывает что нашол
Загруженные файлы
28

» WarCraft 3 / Как сделать Инвентарь ?

добавление через 2 потока удаление через ремове абилити и бд
вот пример по которому обычные предметы добавляются без текстуры
писать бд на гуи лень(кому надо могу объяснить принцип)
бд надо только для удаления
для переноса на свою карту нужны эти тригеры и дами юнит с способностью предметы герой а так же поставить дами юнита в условие 1 тригера и событие 2 тригера
Загруженные файлы
28

» Война в Школе РПГ / Война в Школе РПГ

куча ненужного импорта, гуи, уг ланд и прочее
и рпг это ролевая игра то есть игра в которой присутствуют квесты и сюжет
28

» WarCraft 3 / Как сделать тригерное заклинание?

ок тогда просто AddSpecialEffect
вроде так в гуи называется
а вобще названия нативок в гуи и джаз почти одинаковые а так как в гуи есть поиск текста а в джаз function list то искать гуи функции по названию этой функции на джазе или наоборот несложно
28

» WarCraft 3 / Как сделать тригерное заклинание?

тоесть чтобы эфект был у юнита у котрого пасивка?
native AddSpecialEffectTarget takes string modelName, widget targetWidget, string attachPointName returns effect
добавление эфекта к любому обьекту типа widget
28

» WarCraft 3 / Менять местами HP и MP

ну способности на основе предметов как результат при частом использование утечки
да ещё и на гуи без обнуления
кроме того зачем масивы если везде индекс 1?
28

» WarCraft 3 / Менять местами HP и MP

только ты одно не учёл
изменить макс хп/мп можно только предметами а если не удалять эти предметы то могут быть утечки
спел бук с уровнями не подходит так как хп и мп могут очень сильно отличатся
28

» WarCraft 3 / Как сделать Инвентарь ?

кроме того если на карте 600 предметов то делать всем копии на основе рун неочень интересно
какая моделька
ты вобще читал тригер?
название статьи хотябы
ты не в теме короче
28

» WarCraft 3 / Как сделать Инвентарь ?

что делается в редакторе обьектов?
добавление и удаление в ро есть?
28

» WarCraft 3 / Как сделать Инвентарь ?

вот пример добавления эффектов от предметов на гуи (на джазе это делается 1 триггером)
Загруженные файлы
28

» WarCraft 3 / Оживление мертвых

call IssueImmediateOrder(твой некромант, "instant" )
вот нашол на гуи
нет боевой единицы на некроманта поменяй
call IssueImmediateOrder( твой некромант, "raisedeadon" )
call TriggerSleepAction( 4.5 )
call IssueImmediateOrder( твой некромант, "raisedeadoff" )
это автокаст(если просто неработает)
Загруженные файлы
28

» WarCraft 3 / Отряды и массивы.

Принятый ответ
пичаль
перебираешь всех юнитов группы и заносиш их в массив
хотя бы весь список гуи команд выучите
и вопрос закрыть незабуть
28

» WarCraft 3 / Покупка героев

Принятый ответ
убрать героя из таверны
call RemoveUnitFromAllStock
в скобочках тип юнита
ии делается с помощью специальных функций которые работают только в ии скриптах с расширением ai