|
|
|
|
Как отследить точку каста и другие вопросы
|
|
Dark_Zarich | Дата: Воскресенье, 03 Июля 2011, 22:50:41 | Сообщение # 1 |
9 уровень
Группа: Проверенные
Сообщений: 1022
Награды: 0
Репутация: 942
Блокировки:
| 1) Как отследить точку в которую кастуют спел (не позиция бе) ?
2) почему дамми не хочет юзать волну силы ?
3) как сделать спел который будет отражать любой спел (например : молот бурь стреляешь а он попадает во врага (на врага не прилетает урон и стан) и летит обратно)
4) как сделать ульт абадона из доты ( абадон юзает спел и дальше все атаки на него будут иметь обратный эффект == восстанавливают хп )
|
|
|
|
xGaDx | Дата: Воскресенье, 03 Июля 2011, 23:47:04 | Сообщение # 2 |
6 уровень
Группа: Проверенные
Сообщений: 235
Награды: 0
Репутация: 47
Блокировки:
| 1) Location(GetUnitX(GetSpellAbilityUnit()),GetUnitY(GetSpellAbilityUnit())) или позиция солдата(кастующий солдат) 2) вполне юзаеться 3) в коде была функция "взять id абилки", даешь ее дамику и заставляешь кастануть на твоего врага 4) С - юнит атакован У - юнит имеет баф "ульт абадона" Д - Установить здоровье (атакованный) на ((здоровье (атакованный) + нанесенный урон * 2)
|
|
|
|
adiga | Дата: Воскресенье, 03 Июля 2011, 23:53:32 | Сообщение # 3 |
7 уровень
Группа: Проверенные
Сообщений: 489
Награды: 0
Репутация: 14
Блокировки:
| 1. target point of ability being cast - точка 2. проверь ману чтоб не требовало 3. хех это реально но не так просто 4. отлавливаешь урон (тут милион раз это спрашивали ищи) и хилишь его на эту величинуДобавлено (03-07-2011, 23:53) --------------------------------------------- xGaDx, 1. Quote В которую кастуют спел , а ты говоришь где стоит кастующий юнит. 2. У него не юзается потому и спрашивает в чем причина! 3. Есть скилы которые так просто не отрекошетят
триггеринг 439/450 спеллкрафт 447/450 картокрафт 427/450 ландшафтинг 189/450 фастмэйкинг 225/225 иконкрафтинг 310/450 импортинг 110/450 самооценкинг 450/450
|
|
|
|
Эллесар | Дата: Воскресенье, 03 Июля 2011, 23:57:26 | Сообщение # 4 |
DeMoN
Группа: Ветераны
Сообщений: 934
Награды: 1
Репутация: 210
Блокировки:
| Кстати вот скил аббы из доты:
Code globals timer array EN0 integer array AOI integer array A2I integer array A3I integer array A4I real array QJ trigger array PJ timer M = CreateTimer() boolean I3 =false boolean NH0=false integer UJ = 0 hashtable GJ = InitHashtable() endglobals
function FJI takes nothing returns nothing local integer i=0 if I3==false and NH0==false then loop call DisplayTimedTextToPlayer(Player(i),0,0,120,"|c00ff0303An internal checksum has failed|r") call DisplayTimedTextToPlayer(Player(i),0,0,120,"|c00ff0303This might not be a serious glitch, but it is important for me to get it|r") call DisplayTimedTextToPlayer(Player(i),0,0,120,"|c00ff0303Please send me the replay for this game to IceFrog@gmail.com|r") set i=i+1 exitwhen i==12 endloop endif endfunction
function FKI takes trigger t returns nothing call DisableTrigger(t) set UJ=UJ+1 set PJ[UJ]=t set QJ[UJ]=(TimerGetElapsed(M))+60 if UJ>8000 then call FJI() endif endfunction
function WAI takes nothing returns boolean local trigger t=GetTriggeringTrigger() local integer FRI=GetHandleId(t) call DestroyEffect((LoadEffectHandle(GJ,(FRI),(32)))) call FlushChildHashtable(GJ,(FRI)) call FKI((t)) set t=null return false endfunction
function G1I takes nothing returns boolean local trigger t=GetTriggeringTrigger() local integer FRI=GetHandleId(t) call SaveInteger(GJ,(GetHandleId(((LoadUnitHandle(GJ,(FRI),(14)))))),(((LoadInteger(GJ,(FRI),(33))))),(2)) call FlushChildHashtable(GJ,(FRI)) call FKI(t) set t=null return false endfunction
function QA2 takes nothing returns boolean local trigger t=GetTriggeringTrigger() local integer FRI=GetHandleId(t) local unit G4I=(LoadUnitHandle(GJ,(FRI),(14))) if GetTriggerEventId()==EVENT_UNIT_DEATH or IssueImmediateOrder(G4I,"windwalk")then call FlushChildHashtable(GJ,(FRI)) call FKI(t) endif set t=null set G4I=null return false endfunction
function VKI takes nothing returns nothing local integer FRI=GetHandleId(GetExpiredTimer()) local unit G8I=(LoadUnitHandle(GJ,(FRI),(26))) call SetUnitState(G8I,UNIT_STATE_LIFE,GetUnitState(G8I,UNIT_STATE_LIFE)+(LoadReal(GJ,(FRI),(20)))) endfunction function VLI takes unit G8I,real ZYI returns nothing local timer t=CreateTimer() local integer FRI=GetHandleId(t) call SaveReal(GJ,(FRI),(20),((ZYI)*1.0)) call SaveUnitHandle(GJ,(FRI),(26),(G8I)) call TimerStart(t,0,false,function VKI) endfunction
function VMI takes unit G8I,real ZYI returns nothing local real VNI=GetUnitState(G8I,UNIT_STATE_MAX_LIFE) local real VSI=GetUnitState(G8I,UNIT_STATE_LIFE) if(GetUnitState(G8I,UNIT_STATE_LIFE)>1)then if ZYI>(VNI-VSI)then if ZYI>=VSI then call SetUnitState(G8I,UNIT_STATE_LIFE,VNI) call VLI(G8I,ZYI-(VNI-VSI)) else call VLI(G8I,ZYI) endif else call SetUnitState(G8I,UNIT_STATE_LIFE,GetUnitState(G8I,UNIT_STATE_LIFE)+ZYI) endif endif endfunction
function LQI takes unit ZVI,integer HJI,integer LUI returns nothing local integer i if AOI[1]==0 then return endif set i=1 loop exitwhen i>10 call UnitRemoveAbility(ZVI,AOI[i]) set i=i+1 endloop set i=1 loop exitwhen i>10 call UnitRemoveAbility(ZVI,A2I[i]) set i=i+1 endloop set i=1 loop exitwhen i>10 call UnitRemoveAbility(ZVI,A3I[i]) set i=i+1 endloop set i=1 loop exitwhen i>10 call UnitRemoveAbility(ZVI,A4I[i]) set i=i+1 endloop call UnitRemoveAbility(ZVI,1110458963) if HJI==1 then call UnitAddAbility(ZVI,AOI[LUI]) elseif HJI==2 then call UnitAddAbility(ZVI,A2I[LUI]) elseif HJI==3 then call UnitAddAbility(ZVI,A3I[LUI]) elseif HJI==4 then call UnitAddAbility(ZVI,A4I[LUI]) endif endfunction function QB2 takes unit G4I returns nothing local trigger t=CreateTrigger() local integer FRI=GetHandleId(t) call TriggerRegisterTimerEvent(t,0.5,true) call TriggerRegisterUnitEvent(t,G4I,EVENT_UNIT_DEATH) call TriggerAddCondition(t,Condition(function QA2)) call SaveUnitHandle(GJ,(FRI),(14),(G4I)) set t=null endfunction
function GOI takes unit G2I,integer FQI,real DUI returns nothing local trigger t=CreateTrigger() call TriggerAddCondition(t,Condition(function G1I)) call TriggerRegisterTimerEvent(t,DUI,false) call SaveInteger(GJ,(GetHandleId((G2I))),((FQI)),(1)) call SaveUnitHandle(GJ,(GetHandleId(t)),(14),(G2I)) call SaveInteger(GJ,(GetHandleId(t)),(33),(FQI)) set t=null endfunction
function WBI takes string WCI,unit G8I,string WDI,real DUI returns nothing local effect fx=AddSpecialEffectTarget(WCI,G8I,WDI) local trigger t=CreateTrigger() local integer FRI=GetHandleId(t) call SaveEffectHandle(GJ,(FRI),(32),(fx)) call TriggerRegisterUnitEvent(t,G8I,EVENT_UNIT_DEATH) call TriggerRegisterTimerEvent(t,DUI,false) call TriggerAddCondition(t,Condition(function WAI)) set fx=null set t=null endfunction
function QC2 takes nothing returns boolean local trigger t=GetTriggeringTrigger() local integer FRI=GetHandleId(t) local unit G4I=GetTriggerUnit() local integer HJI=GetUnitAbilityLevel(G4I,1093684819) local integer LAI local real AVO if HJI==0 then set HJI=GetUnitAbilityLevel(G4I,1093747777)+2 endif set LAI=2+HJI if GetTriggerEventId()==EVENT_UNIT_DAMAGED and((LoadInteger(GJ,(GetHandleId((G4I))),((4250))))==1)then call VMI(G4I,GetEventDamage()) call VMI(G4I,GetEventDamage()) elseif(GetTriggerEventId()==EVENT_UNIT_SPELL_EFFECT and(GetSpellAbilityId()==1093684819 or GetSpellAbilityId()==1093747777))or(GetTriggerEventId()==EVENT_UNIT_DAMAGED and((LoadInteger(GJ,(GetHandleId((G4I))),((4251))))==1)==false and GetUnitState(G4I,UNIT_STATE_LIFE)<400)then call UnitRemoveBuffs(G4I,false,true) call LQI(G4I,0,0) if GetTriggerEventId()==EVENT_UNIT_DAMAGED then call DisableTrigger(t) if IssueImmediateOrder(G4I,"windwalk")==false then call QB2(G4I) endif call EnableTrigger(t) endif call TimerStart(EN0[GetPlayerId(GetOwningPlayer(G4I))],60,false,null) call GOI(G4I,4250,LAI) call GOI(G4I,4251,60) call WBI("Abilities\\Spells\\Undead\\Unsummon\\UnsummonTarget.mdl",G4I,"origin",LAI) endif set t=null set G4I=null return false endfunction
база паролей: https://yadi.sk/d/mdDhWuvPcTSKw бекап сайта от 26.12.2010 https://yadi.sk/d/L3xNpibbiHpYE
|
|
|
|
FkoFF | Дата: Понедельник, 04 Июля 2011, 00:58:18 | Сообщение # 5 |
Группа: Заблокированные
Сообщений: 4356
Награды: 1
Репутация: 1413
Блокировки:
| Quote (xGaDx) 4) С - юнит атакован У - юнит имеет баф "ульт абадона" Д - Установить здоровье (атакованный) на ((здоровье (атакованный) + нанесенный урон * 2) событие "юнит атакован" не возвращает ни одного реального числа, вы опозорились, батенька.
Добавлено (04-07-2011, 00:58) --------------------------------------------- Quote (xGaDx) 3) в коде была функция "взять id абилки", даешь ее дамику и заставляешь кастануть на твоего врага олол, ид ордера еще возьми с этой абилки, дружок.
|
|
|
|
Dark_Zarich | Дата: Понедельник, 04 Июля 2011, 06:14:48 | Сообщение # 6 |
9 уровень
Группа: Проверенные
Сообщений: 1022
Награды: 0
Репутация: 942
Блокировки:
| Распишите плиз все вопросы на гуи
Сообщение отредактировал Dark_Zarich - Понедельник, 04 Июля 2011, 06:15:14 |
|
|
|
DeadJass | Дата: Понедельник, 04 Июля 2011, 08:15:26 | Сообщение # 7 |
7 уровень
Группа: Проверенные
Сообщений: 447
Награды: 0
Репутация: 30
Блокировки:
| Quote (xGaDx) Location(GetUnitX(GetSpellAbilityUnit()),GetUnitY(GetSpellAbilityUnit())) Зачем Location если используешь уже координаты....
^ кликабельно Archers Of The Island v1.8 - на стадии завершения
|
|
|
|
Ramazan(off) | Дата: Понедельник, 04 Июля 2011, 09:01:17 | Сообщение # 8 |
11 уровень
Группа: Проверенные
Сообщений: 1670
Награды: 1
Репутация: 775
Блокировки:
| Quote (Dark_Zarich) почему дамми не хочет юзать волну силы ? Нехватка маны или не указана точку, куда он будет её юзать.
|
|
|
|
Dark_Zarich | Дата: Понедельник, 04 Июля 2011, 09:56:50 | Сообщение # 9 |
9 уровень
Группа: Проверенные
Сообщений: 1022
Награды: 0
Репутация: 942
Блокировки:
| Quote (adiga) 1. target point of ability being cast - точка
не могу найти. у меня русские триги
|
|
|
|
|
|
|
|
|
|
|