4

» WarCraft 3 / Длительность команды отставить на 1.26

короче удаляешь Амов у героев даешь ему канал с приказом стоп ставишь ему xgm.guru/p/wc3/unique-spells-castpt-castbsw
call BlzSetUnitRealField( whichUnit, UNIT_RF_CAST_POINT, 0 )
call BlzSetUnitRealField( whichUnit, UNIT_RF_CAST_BACK_SWING, 0 )
function SetUnitAbilityCptNCbsw takes unit whichUnit, integer abilityId returns nothing
	if abilityId == 'AHtc' then
		call BlzSetUnitRealField( whichUnit, UNIT_RF_CAST_POINT, 0.666 )
		call BlzSetUnitRealField( whichUnit, UNIT_RF_CAST_BACK_SWING, 1.000 )
	elseif abilityId == 'AHtb' then
		call BlzSetUnitRealField( whichUnit, UNIT_RF_CAST_POINT, 0.750 )
		call BlzSetUnitRealField( whichUnit, UNIT_RF_CAST_BACK_SWING, 0.700 )
	elseif abilityId == 'AHbn' then
		call BlzSetUnitRealField( whichUnit, UNIT_RF_CAST_POINT, 1.300 )
		call BlzSetUnitRealField( whichUnit, UNIT_RF_CAST_BACK_SWING, 0.700 )
	elseif abilityId == 'ANcl' then
		call BlzSetUnitRealField( whichUnit, UNIT_RF_CAST_POINT, 0.100 )
		call BlzSetUnitRealField( whichUnit, UNIT_RF_CAST_BACK_SWING, 0.100 )
	endif
endfunction

function Trig_LearnedSkill_Actions takes nothing returns nothing
	if GetLearnedSkillLevel() == 1 then
		call UnitRemoveAbility(GetLearningUnit(), GetLearnedSkill())
		call SetUnitAbilityCptNCbsw(GetLearningUnit(), GetLearnedSkill())
		call UnitAddAbility(GetLearningUnit(), GetLearnedSkill())
	endif
endfunction
4

» Прочее / Microsoft сократила 1900 сотрудников

еба думал Майк Ибарра доконца будет там работать, вот что значит сделка на 75 млрд$, богатые тоже плачут
4

» WarCraft 3 / Как сделать модели не кликабелиной

или даже можешь так создаешь другого юнита юнит под приставкой твой юнит(желательно должен быть летающим тогда вообще красное выделение не будет видно, а чтоб он не мог атаковать даешь ему способность Cargo Hold Orc Burrow) элементарно ватсон
4

» WarCraft 3 / Как сделать модели не кликабелиной

вот уменя что вышло
модели всеравно кликабелина
так на одну модель так даже легче нужно 2 морфа Srtt(одна в другого юнита, один в твоего юнита) добавляешь ее одновременно(очеред сам потестишь в игре) потом даешь москиты отнимаешь москиты и он не кликабельный (но пикается группой)
4

» WarCraft 3 / Как сделать модели не кликабелиной

скорпион а как сделать модели не кликабелиной
вот так делается смотри на код надо способность Srtt я его усоворшенствовал щяс скину (S004 это Srtt)
4

» WarCraft 3 / Как сделать модели не кликабелиной


но это вообще отключение для всего, если что
это типо москиты? бля я то делал даммиикаст москиты систему с морфом и со скинами(с таймером 0.05 сек) чтобы они пикались в группе...
4

» WarCraft 3 / Почему способность утекает?

Ну код конечно у тебя не ахти, вот пример кода из доты:

function IsUnitDead takes unit u returns boolean
  return GetUnitTypeId(u)<1 or IsUnitType(u,UNIT_TYPE_DEAD)==true
endfunction

function ID1 takes nothing returns boolean
  local trigger t=GetTriggeringTrigger()
  local integer S5I=GetHandleId(t)
  local integer PCI=(LoadInteger(HashData,(S5I),(30)))
  local unit P8I=NYI(PCI)
  local integer IE1=(LoadInteger(HashData,(S5I),(43)))
  local unit P7I=NYI(IE1)
  local real IF1=(LoadReal(HashData,(S5I),(44)))
  local unit IG1=(LoadUnitHandle(HashData,(S5I),(45)))
  local real x=GetUnitX(IG1)
  local real y=GetUnitY(IG1)
  local real QJI=GetUnitX(P8I)
  local real QKI=GetUnitY(P8I)
  local real IH1=IF1*0.03
  local real IZ1=UEI(x,y,QJI,QKI)
  local real IV1=x+IH1*Cos(IZ1*bj_DEGTORAD)
  local real IW1=y+IH1*Sin(IZ1*bj_DEGTORAD)
  local boolean IX1=(LoadBoolean(HashData,(S5I),(698)))
  local boolean IY1=(LoadBoolean(HashData,(S5I),(818)))
  call SetUnitX(IG1,IV1)
  call SetUnitY(IG1,IW1)
  call SetUnitFacing(IG1,IZ1)
  if IsUnitDead(P8I)and IX1==false or(((LoadInteger(HashData,(GetHandleId((P8I))),((4422))))==1)==true and IY1==true)then
    call KillUnit(IG1)
    call NXI(PCI)
    call FlushChildHashtable(HashData,(S5I))
    call S0I(t)
  elseif UTI(QJI,QKI,IV1,IW1)<=IH1 then
    call KillUnit(IG1)
    set GK=P7I
    set HK=P8I
    call ExecuteFunc((LoadStr(HashData,(S5I),(46))))
    call NXI(PCI)
    call FlushChildHashtable(HashData,(S5I))
    call S0I(t)
  endif
  set t=null
  set P8I=null
  set P7I=null
  set IG1=null
  return false
endfunction

function IJ1 takes unit P7I,unit P8I,integer IK1,string IL1,real IF1,boolean IM1 returns trigger
  local trigger t=CreateTrigger()
  local integer S5I=GetHandleId(t)
  local real QXI=GetUnitX(P7I)
  local real QYI=GetUnitY(P7I)
  local real IN1=GetUnitFacing(P7I)
  call TriggerRegisterTimerEvent(t,0.03,true)
  call TriggerAddCondition(t,Condition(function ID1))
  call SaveReal(HashData,(S5I),(44),((IF1)*1.0))
  call SaveInteger(HashData,(S5I),(30),(NKI(P8I)))
  call SaveStr(HashData,(S5I),(46),(IL1))
  call SaveInteger(HashData,(S5I),(43),(NKI(P7I)))
  call SaveUnitHandle(HashData,(S5I),(45),(CreateUnit(GetOwningPlayer(P7I),IK1,QXI,QYI,IN1)))
  call SaveBoolean(HashData,(S5I),(698),(false))
  call SaveBoolean(HashData,(S5I),(818),(IM1))
  set WK=t
  set t=null
  return WK
endfunction
Это готовая наработка для создание снарядов из юнитов,
используется так
  local trigger t=IJ1(DKI,GetEnumUnit(),'h0D8',"MT3",400,false)
кто кастер, кто цель, ид юнита снаряда, имя функции которая вызывается при попадании, скорость в секунду, уничтожаем снаряд если цель подохла или недосигаем.
Функция возвращает триггер, на ID которого мы можем записать остальные данные и получить их в другой функции.
Код тоже не идеален, но вполне удобен, юзаются триггеры вместо таймеров, т.к тут отслеживаются события.
local geu = GetEnumUnit()
geu = nil zabyl
4

» WarCraft 3 / Пирокластическое уничтожение

вот код
function tonton(u,angle,r,dummy1,TempReal,TempTimer,e7,e11,e12,x1,y1,dummyglobus,angle1)
local i = 0
    local x = GetUnitX(u)
    local y = GetUnitY(u)
    local d = 1500.00
    local richter
while true do
local e = AddSpecialEffect("Objects\\Spawnmodels\\Other\\NeutralBuildingExplosion\\NeutralBuildingExplosion.mdl",x,y)
BlzSetSpecialEffectPitch(e,math.rad(-90))
BlzSetSpecialEffectYaw(e,math.rad(angle1))
BlzSetSpecialEffectScale(e,5)
BlzSetSpecialEffectHeight(e,550)
DestroyEffect(e)
local dummy = CreateUnitEx( GetOwningPlayer(u), FourCC("u006"), x, y, angle )
SetUnitScale(dummy, 2.00, 2.00, 2.00 )
KillUnit( dummy )
d = d - 100.00
        if d <= 0.00 then break end
         x,y = PolarProjectionXY(x,y,150,angle)
    end
dummy1 = CreateUnitEx( GetOwningPlayer(u), FourCC("u00L"), x, y, 270.00 )
    SetUnitFlyHeight( dummy1, 300.00, 0.00 )
    local t1 = CreateTimer( )
TimerStart( t1, 0.01, true,function()
 local r = r - 0.50
   SetUnitScale(dummy1, r, r, r )
    if r <= 1.00 then
        KillUnit(dummy1)
        PauseTimer(t1)
        DestroyTimer(t1)
    else
    end
end)
    local richter = TempReal
    if (richter > 5.0) then
        richter = 5.0
    end
    if (richter < 2.0) then
        richter = 2.0
    end
    CameraSetTargetNoiseEx(TempReal*2.0, TempReal*Pow(10,richter),true)
    CameraSetSourceNoiseEx(TempReal*2.0, TempReal*Pow(10,richter),true)
TimerStart( TempTimer, 0.01, true, function()
    local richter
    TempReal = TempReal - 0.50
 richter = TempReal
    if (richter > 5.0) then
        richter = 5.0
    end
    if (richter < 2.0) then
        richter = 2.0
    end
CameraSetTargetNoiseEx(TempReal*2.0, TempReal*Pow(10,richter),true)
CameraSetSourceNoiseEx(TempReal*2.0, TempReal*Pow(10,richter),true)
    if TempReal <= 0.00 then
         SetDayNightModels( "Environment\\DNC\\DNCAshenvale\\DNCAshenValeTerrain\\DNCAshenValeTerrain.mdx", "Environment\\DNC\\DNCAshenvale\\DNCAshenValeUnit\\DNCAshenValeUnit.mdx" )
        CameraSetSourceNoise(0, 0)
        CameraSetTargetNoise(0, 0)
        PauseTimer(TempTimer)
DestroyTimer(TempTimer)
    end
end)
e7 = AddSpecialEffect("Objects\\Spawnmodels\\Human\\SmallFlameSpawn\\SmallFlameSpawn.mdl",x1,y1)
BlzSetSpecialEffectPitch(e7,math.rad(-90))
BlzSetSpecialEffectYaw(e7,math.rad(angle1))
BlzSetSpecialEffectScale(e7,4)
BlzSetSpecialEffectHeight(e7,550)
BlzPlaySpecialEffect(e7,ANIM_TYPE_BIRTH)
local t7 = CreateTimer()
TimerStart(t7,7,false,function()
DestroyEffect(e7)
DestroyTimer(t7)
end)
local dummy = CreateUnit(GetOwningPlayer(u),FourCC("u00M"),GetUnitX(u),GetUnitY(u),0)
SetUnitFlyHeight(dummy,50,0)
KillUnit(dummy)
    SetDayNightModels( "", "" )
   i = 2  
    while true do
local e8 = AddSpecialEffect("Doodads\\Cinematic\\TownBurningFireEmitter\\TownBurningFireEmitter.mdl",x1,y1)
BlzSetSpecialEffectPitch(e8,math.rad(-90))
BlzSetSpecialEffectYaw(e8,math.rad(angle1))
BlzSetSpecialEffectScale(e8,5)
BlzSetSpecialEffectHeight(e7,550)
local t8 = CreateTimer()
TimerStart(t8,2,false,function()
DestroyEffect(e8)
DestroyTimer(t8)
end)
local e9 = AddSpecialEffect("Objects\\Spawnmodels\\Other\\NeutralBuildingExplosion\\NeutralBuildingExplosion.mdl",x1,y1)
BlzSetSpecialEffectPitch(e9,math.rad(-90))
BlzSetSpecialEffectYaw(e9,math.rad(angle1))
BlzSetSpecialEffectScale(e9,5)
BlzSetSpecialEffectHeight(e9,550)
DestroyEffect(e9)
local e10 = AddSpecialEffect("Abilities\\Spells\\Other\\Incinerate\\FireLordDeathExplode.mdl",x1,y1)
BlzSetSpecialEffectPitch(e10,math.rad(-90))
BlzSetSpecialEffectYaw(e10,math.rad(angle1))
BlzSetSpecialEffectScale(e10,5)
BlzSetSpecialEffectHeight(e10,550)
BlzSetSpecialEffectTimeScale(e10,0.7)
DestroyEffect(e10)
local e10 = AddSpecialEffect("Abilities\\Spells\\Other\\Incinerate\\FireLordDeathExplode.mdl",x1,y1)
BlzSetSpecialEffectPitch(e10,math.rad(-90))
BlzSetSpecialEffectYaw(e10,math.rad(angle1))
BlzSetSpecialEffectScale(e10,5)
BlzSetSpecialEffectHeight(e10,550)
BlzSetSpecialEffectTimeScale(e10,0.7)
DestroyEffect(e10)
local e10 = AddSpecialEffect("Abilities\\Spells\\Other\\Doom\\DoomDeath.mdl",x1,y1)
BlzSetSpecialEffectPitch(e10,math.rad(-90))
BlzSetSpecialEffectYaw(e10,math.rad(angle1))
BlzSetSpecialEffectScale(e10,3)
BlzSetSpecialEffectHeight(e10,550)
BlzSetSpecialEffectTimeScale(e10,0.2)
DestroyEffect(e10)
local e10 = AddSpecialEffect("war3mapImported\\WarStompCaster.mdx",x1,y1)
BlzSetSpecialEffectPitch(e10,math.rad(-90))
BlzSetSpecialEffectYaw(e10,math.rad(angle1))
BlzSetSpecialEffectScale(e10,3)
BlzSetSpecialEffectHeight(e10,550)
DestroyEffect(e10)
local e10 = AddSpecialEffect("war3mapImported\\WarStompCaster.mdx",x1,y1)
BlzSetSpecialEffectPitch(e10,math.rad(-90))
BlzSetSpecialEffectYaw(e10,math.rad(angle1))
BlzSetSpecialEffectScale(e10,4)
BlzSetSpecialEffectHeight(e10,550)
DestroyEffect(e10)
local e10 = AddSpecialEffect("war3mapImported\\WarStompCaster.mdx",x1,y1)
BlzSetSpecialEffectPitch(e10,math.rad(-90))
BlzSetSpecialEffectYaw(e10,math.rad(angle1))
BlzSetSpecialEffectScale(e10,3)
BlzSetSpecialEffectHeight(e10,550)
BlzSetSpecialEffectTimeScale(e10,0.65)
DestroyEffect(e10)
local e10 = AddSpecialEffect("war3mapImported\\WarStompCaster.mdx",x1,y1)
BlzSetSpecialEffectPitch(e10,math.rad(-90))
BlzSetSpecialEffectYaw(e10,math.rad(angle1))
BlzSetSpecialEffectScale(e10,4)
BlzSetSpecialEffectHeight(e10,550)
BlzSetSpecialEffectTimeScale(e10,0.65)
DestroyEffect(e10)
local e10 = AddSpecialEffect("war3mapImported\\WarStompCaster.mdx",x1,y1)
BlzSetSpecialEffectPitch(e10,math.rad(-90))
BlzSetSpecialEffectYaw(e10,math.rad(angle1))
BlzSetSpecialEffectScale(e10,3)
BlzSetSpecialEffectHeight(e10,550)
BlzSetSpecialEffectTimeScale(e10,0.4)
DestroyEffect(e10)
local e10 = AddSpecialEffect("war3mapImported\\WarStompCaster.mdx",x1,y1)
BlzSetSpecialEffectPitch(e10,math.rad(-90))
BlzSetSpecialEffectYaw(e10,math.rad(angle1))
BlzSetSpecialEffectScale(e10,4)
BlzSetSpecialEffectHeight(e10,550)
BlzSetSpecialEffectTimeScale(e10,0.4)
DestroyEffect(e10)
local e10 = AddSpecialEffect("war3mapImported\\WarStompCaster.mdx",x1,y1)
BlzSetSpecialEffectPitch(e10,math.rad(-90))
BlzSetSpecialEffectYaw(e10,math.rad(angle1))
BlzSetSpecialEffectScale(e10,3)
BlzSetSpecialEffectHeight(e10,550)
BlzSetSpecialEffectTimeScale(e10,0.25)
DestroyEffect(e10)
local e10 = AddSpecialEffect("war3mapImported\\WarStompCaster.mdx",x1,y1)
BlzSetSpecialEffectPitch(e10,math.rad(-90))
BlzSetSpecialEffectYaw(e10,math.rad(angle1))
BlzSetSpecialEffectScale(e10,4)
BlzSetSpecialEffectHeight(e10,550)
BlzSetSpecialEffectTimeScale(e10,0.25)
DestroyEffect(e10)
local e10 = AddSpecialEffect("Abilities\\Spells\\Items\\AIsm\\AIsmTarget.mdl",x1,y1)
BlzSetSpecialEffectPitch(e10,math.rad(-90))
BlzSetSpecialEffectYaw(e10,math.rad(angle1))
BlzSetSpecialEffectScale(e10,3)
BlzSetSpecialEffectHeight(e10,550)
BlzSetSpecialEffectTimeScale(e10,0.5)
DestroyEffect(e10)
local e10 = AddSpecialEffect("Abilities\\Spells\\Items\\AIsm\\AIsmTarget.mdl",x1,y1)
BlzSetSpecialEffectPitch(e10,math.rad(-90))
BlzSetSpecialEffectYaw(e10,math.rad(angle1))
BlzSetSpecialEffectScale(e10,4)
BlzSetSpecialEffectHeight(e10,550)
BlzSetSpecialEffectTimeScale(e10,0.5)
DestroyEffect(e10)
local e10 = AddSpecialEffect("Abilities\\Spells\\Other\\Levelup\\LevelupCaster.mdl",x1,y1)
BlzSetSpecialEffectPitch(e10,math.rad(-90))
BlzSetSpecialEffectYaw(e10,math.rad(angle1))
BlzSetSpecialEffectScale(e10,3)
BlzSetSpecialEffectHeight(e10,550)
BlzSetSpecialEffectTimeScale(e10,0.5)
DestroyEffect(e10)
local e10 = AddSpecialEffect("Abilities\\Spells\\Other\\Levelup\\LevelupCaster.mdl",x1,y1)
BlzSetSpecialEffectPitch(e10,math.rad(-90))
BlzSetSpecialEffectYaw(e10,math.rad(angle1))
BlzSetSpecialEffectScale(e10,4)
BlzSetSpecialEffectHeight(e10,550)
BlzSetSpecialEffectTimeScale(e10,0.5)
DestroyEffect(e10)
      i = i - 1
        if i <= 0 then break end
    end
e11 = AddSpecialEffect("Abilities\\Spells\\Other\\Awaken\\Awaken.mdl",x1,y1)
BlzSetSpecialEffectPitch(e11,math.rad(-90))
BlzSetSpecialEffectYaw(e11,math.rad(angle1))
BlzSetSpecialEffectScale(e11,4)
BlzSetSpecialEffectHeight(e11,50)
BlzSetSpecialEffectTimeScale(e11,7)
DestroyEffect(e11)
local tand = CreateTimer( )
 TimerStart(tand, 0.15, false, function()
BlzSetSpecialEffectTimeScale(e11,1)
DestroyTimer(tand)
end)
e12 = AddSpecialEffect("Abilities\\Spells\\Human\\ReviveHuman\\ReviveHuman.mdl",x1,y1)
BlzSetSpecialEffectPitch(e12,math.rad(-90))
BlzSetSpecialEffectYaw(e12,math.rad(angle1))
BlzSetSpecialEffectScale(e12,4)
BlzSetSpecialEffectHeight(e12,50)
BlzSetSpecialEffectTimeScale(e12,7)
DestroyEffect(e12)
local tand1 = CreateTimer()
TimerStart(tand1,0.15,false,function()
BlzSetSpecialEffectTimeScale(e12,1)
DestroyTimer(tand1)
end)
SetUnitTimeScale( dummyglobus, 0.10 )
end
Загруженные файлы
4

» WarCraft 3 / Shinobi Rumble v0.7fix2

сделал шаманство с даммикастами теперь спеллы будут толкать другие спеллы(даммикасты не выделяемы их нельзя атаковать покоцать но толкать можно другими спеллами)
4

» WarCraft 3 / Shinobi Rumble v0.7fix2

это же нл только в 100 раз хуже
а ну да гуй вейт, карта запускающаяся на редакторе 15 минут)(нл-_-) я бы поработал над нл но решил на луа перевести и создать с 1 сезоонами(тише едешь дальше будешь) в рефе
Загруженные файлы