ImbaStyle, я для начала тоже так думал), много раз пытался использовать его как написано на мануал, короче про конструирование макросов слишком коротко написалина cjass manual любой человек не поймет такую статью
quq_CCCP, виджитайзер слишком медленный, Ultimate opt непонятный, +они оба ведь защишают карту, мне этого ненужно тоесть я хочу чтоб мои обьектные данные о войсках и.т.д обратно восстановились когда угодно, чтоб world editor мог открывать
scope Ichigo initializer Init
define {
private GETSUGA = 'A171' // Getsuga Tenshou
}
private nothing Getsuga_Actions()
{
timer t = CreateTimer()
integer h = GetHandleId(t)
group ag = CreateGroup()
unit u = GetTriggerUnit()
unit d = CreateUnit( GetOwningPlayer(u), 'nbel', GetWidgetX(u),GetWidgetY(u), GetUnitFacing(u) )
real x
real y
real r
DestroyEffect(AddSpecialEffect( "Abilities\\Spells\\Human\\ThunderClap\\ThunderClapCaster.mdl",GetWidgetX(u),GetWidgetY(u)))
SaveUnitHandle(H,h,0,u)
SaveUnitHandle(H,h,1,d)
SaveReal(H,h,50,1.40)
SaveGroupHandle(H,h,51,ag)
TimerStart(t,0.025,true, lambda nothing()
{
timer t = GetExpiredTimer()
integer h = GetHandleId(t)
group g = CreateGroup()
real x
real y
real r
unit e
unit u = LoadUnitHandle(H,h,0)
unit d = LoadUnitHandle(H,h,1)
real time = LoadReal(H,h,50)
group ag = LoadGroupHandle(H,h,51)
r = GetUnitFacing(d)
x = GetWidgetX(d) + 30*Cos(r * 0.0174)
y = GetWidgetY(d) + 30*Sin(r * 0.0174)
SetUnitPosition(d, x,y)
SetUnitFacing(d, GetUnitFacing(d))
SaveReal(H, h, 4, LoadReal(H, h, 4)+.02)
GroupEnumUnitsInRange(g,GetWidgetX(d),GetWidgetY(d),250.00,null)
loop
e = FirstOfGroup(g)
GroupRemoveUnit(g,e)
exitwhen e ==null
if IsUnitInGroup(e, ag) == false and GetUnitAbilityLevel(e,'Asph')==0 and IsUnitEnemy(e, GetOwningPlayer(u)) == true and IsUnitType(e,UNIT_TYPE_DEAD) == false and IsUnitType(e,UNIT_TYPE_STRUCTURE) == false and IsUnitType(e,UNIT_TYPE_ANCIENT) == false then
if GetUnitAbilityLevel(u,GETSUGA)==1 then
UnitDamageTarget( u, e, 120, true,true,ATTACK_TYPE_NORMAL, DAMAGE_TYPE_FIRE,WEAPON_TYPE_WHOKNOWS )
elseif GetUnitAbilityLevel(u,GETSUGA)==2 then
UnitDamageTarget( u, e, 180, true,true,ATTACK_TYPE_NORMAL, DAMAGE_TYPE_FIRE,WEAPON_TYPE_WHOKNOWS )
elseif GetUnitAbilityLevel(u,GETSUGA)==3 then
UnitDamageTarget( u, e, 250, true,true,ATTACK_TYPE_NORMAL, DAMAGE_TYPE_FIRE,WEAPON_TYPE_WHOKNOWS )
elseif GetUnitAbilityLevel(u,GETSUGA)==4 then
UnitDamageTarget( u, e, 300, true,true,ATTACK_TYPE_NORMAL, DAMAGE_TYPE_FIRE,WEAPON_TYPE_WHOKNOWS )
endif
GroupAddUnit(ag,e)
SaveGroupHandle(H,h,51,ag)
endif
endloop
DestroyGroup(g)
if time < 0 then
DestroyGroup(ag)
RemoveUnit( d )
PauseTimer(t)
FlushChildHashtable(H,h)
DestroyTimer(t)
else
SaveReal(H, h, 50, time - 0.025)
endif
u = null
d = null
g = null
ag = null
e = null
t = null
})
t = null
u = null
ag = null
t = null
d = null
}
// —-----------------------------------------------------— АКТИВАЦИЯ —-----------------------------------------------------— //
private boolean Getsuuga_Gives()
{
return GetSpellAbilityId() == GETSUGA
}
// —-----------------------------------------------------— ИНИЦИАЛИЗАЦИЯ —-----------------------------------------------------— //
private nothing Init()
{
integer i = 0
trigger t = CreateTrigger()
loop
exitwhen i > 16
TriggerRegisterPlayerUnitEvent(t, Player(i), EVENT_PLAYER_UNIT_SPELL_EFFECT, null)
i++
endloop
TriggerAddCondition(t,Condition(function Getsuuga_Gives))
TriggerAddAction(t,function Getsuga_Actions)
t=null
}
// —-----------------------------------------------------— ИНИЦИАЛИЗАЦИЯ —-----------------------------------------------------— //
endscope
quq_CCCP, даже на таймере спел лагает nvc123, Destroy_Trigger() Удаляет триггер спустя 60 секунд кажется это код фрога nvc123, хэндлами у меня все в поряде не превышает nvc123, и еще Destroy_Group() тоже из доты
//!===============================================================================================================================
// 2) Sokatsui
//!===============================================================================================================================
function White_Periodic takes nothing returns boolean
local trigger t=GetTriggeringTrigger()
local integer h=GetHandleId(t)
local unit u=LoadUnitHandle(H,h,0)
local unit d=LoadUnitHandle(H,h,1)
local real r=LoadReal(H,h,2)
local real spellX=LoadReal(H,h,3)
local real spellY=LoadReal(H,h,4)
local group g=LoadGroupHandle(H,h,5)
local real x = GetUnitX(d) + 50 * Cos(GetUnitFacing(d) * 0.0174)
local real y = GetUnitY(d) + 50 * Sin(GetUnitFacing(d) * 0.0174)
local real re
local unit c
local integer i=0
call SetUnitPosition(d, x,y)
set re=bj_RADTODEG * Atan2(spellY - y, spellX - x)
call SetUnitFacing(d, re)
call SaveReal(H,h,2,r-50.00)
if r <=100.00 then
call UnitApplyTimedLife(d,'BTLF',0.01)
loop
exitwhen i>2
set c = CreateUnit(GetOwningPlayer(u),'h100',GetWidgetX(d),GetWidgetY(d),GetRandomReal(1.00,360.00))
call UnitApplyTimedLife(c,'BTLF',4)
call DestroyEffect(AddSpecialEffect("Abilities\\Spells\\Human\\ThunderClap\\ThunderClapCaster.mdl",GetUnitX(c),GetUnitY(c)))
set i=i+1
endloop
if GetUnitAbilityLevel(u,'AA76')==1 then
call DamageSpell(g,d,250,110)
elseif GetUnitAbilityLevel(u,'AA76')==2 then
call DamageSpell(g,d,500,180)
elseif GetUnitAbilityLevel(u,'AA76')==3 then
call DamageSpell(g,d,500,250)
elseif GetUnitAbilityLevel(u,'AA76')==4 then
call DamageSpell(g,d,500,320)
endif
call Destroy_Group(g)
call FlushChildHashtable(H,h)
call Destroy_Trigger(t)
else
endif
set c=null
set t=null
set d=null
set u=null
set g=null
return false
endfunction
function WhiteRipple takes nothing returns nothing
local trigger t=CreateTrigger()
local integer h=GetHandleId(t)
local unit u=GetTriggerUnit()
local real x = GetUnitX(u) + 50 * Cos(GetUnitFacing(u) * 0.0174)
local real y = GetUnitY(u) + 50 * Sin(GetUnitFacing(u) * 0.0174)
local real spellX=GetSpellTargetX()
local real spellY=GetSpellTargetY()
local unit d
local real dx
local real dy
local real r
set d = CreateUnit(GetOwningPlayer(u),'ubot',GetUnitX(u),GetUnitY(u),GetUnitFacing(u))
call UnitApplyTimedLife(d,'BTLF',3)
set dx = spellX - GetUnitX(d)
set dy = spellY - GetUnitY(d)
set r = SquareRoot(dx * dx + dy * dy)
call SaveUnitHandle(H,h,0,u)
call SaveUnitHandle(H,h,1,d)
call SaveReal(H,h,2,r)
call SaveReal(H,h,3,spellX)
call SaveReal(H,h,4,spellY)
call SaveGroupHandle(H,h,5,NewGroup())
call TriggerRegisterTimerEvent(t,0.025,true)
call TriggerAddCondition(t,Condition(function White_Periodic))
set t=null
set d=null
set u=null
endfunction
Matvey2, стандартными способностями я тоже пользуюсь) но они ограничены, к примеру где ты будешь брать способность скачок с другими эффектами,? и способность channel? таких одинаковых способностей нет
quq_CCCP, я и так все создаю триггерно, даже деревья, моя карта пустая в едиторе,
просто проблема не к загрузке карты и открытии we,
а в самой редакторе обьектов при копировании конкретного обьекта и вставки и.т.д
» WarCraft 3 / Отключить авто сохранении карты в JassHelper?
» WarCraft 3 / как отключить авто созд резерв.копию карты Jass NewGen?
» WarCraft 3 / Как правильно инициализировать способности и юнитов в массиве?
» WarCraft 3 / Как правильно инициализировать способности и юнитов в массиве?
» WarCraft 3 / хранить функцию в макросе cjass define?
а какие символы разбивания про разбивку чечи не шло же
» WarCraft 3 / хранить функцию в макросе cjass define?
» WarCraft 3 / Почему slk optimizier 3 удаляет предметы?
Ред. Кет
» WarCraft 3 / Fatal Error при загрузке карты?
» WarCraft 3 / Fatal Error при загрузке карты?
» WarCraft 3 / есть ли ограничения EVENT на вк3?
nvc123, Destroy_Trigger() Удаляет триггер спустя 60 секунд кажется это код фрога
nvc123, хэндлами у меня все в поряде не превышает
nvc123, и еще Destroy_Group() тоже из доты
Ред. nvc123
» WarCraft 3 / есть ли ограничения EVENT на вк3?
» WarCraft 3 / вызовы функции внутри другой функции тормозят вар)
» WarCraft 3 / как через одним пер.таймером?
» WarCraft 3 / Как создать хитрого и сложного ИИ для карты типа дота?
там на барахолке старая дота,и без аи ты в курсе xpadd91?
» WarCraft 3 / Как создать хитрого и сложного ИИ для карты типа дота?
nvc123, статьи уже устарели, ты,хоть сам читал?
там нету про аи дота
» WarCraft 3 / Как создать хитрого и сложного ИИ для карты типа дота?
» WarCraft 3 / Нужна модель? - Вам сюда!
нужен модель Азога из фильма Хоббит?
или из игры The Battle For Middle Earth?
со всеми анимациями
» WarCraft 3 / Как ускорить New Gen примерно 390 нестандартными обьектами?
nvc123, если изменить слк карта будет играбельна в других варах?
» WarCraft 3 / Как ускорить New Gen примерно 390 нестандартными обьектами?
» WarCraft 3 / Как ускорить New Gen примерно 390 нестандартными обьектами?
просто проблема не к загрузке карты и открытии we,
а в самой редакторе обьектов при копировании конкретного обьекта и вставки и.т.д
» WarCraft 3 / как редактировать w3o?
» WarCraft 3 / можно ли использовать одну глобалку ко всем юнитам?
» WarCraft 3 / Anti-Mage's из Dota
есть только откыртый код доты 6.83с на playdota.com и открытые обьекты и все
» WarCraft 3 / Kunkka's Torrent из Dota
эта способность не раз меня выручала в доте мочить врагов в доте)