XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов> Jass
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
Goodie

offline
Опыт: 2,825
Активность:
Проблема со способностью
У меня проблема. При поднятии предмета, должно все скрываться и должен остаться только герой. После окончания баффа все возращается на места.
Проблема вот в чем: после истечения баффа, ничего на место не встает. Как и было все скрыто, так и осталось =/
((код jass
scope AstralRune initializer Starter
#include "cj_types.j"
private struct DataAstral

static group ENUM_GROUP=CreateGroup()
static unit Unit = null

unit target = null
real duration = 0.00

real Substract(){
return this.duration--
}

private static bool EnumHide(){
if(GetOwningPlayer(Unit) == GetLocalPlayer()){
ShowUnit(GetFilterUnit(),false)
BJDebugMsg(" hide unit - in structure")
}
if(GetOwningPlayer(GetFilterUnit()) == GetLocalPlayer()){
ShowUnit(Unit,false)
BJDebugMsg(" hide filter unit - in structure")
}
return true
}
private static bool EnumShow(){
ShowUnit(GetFilterUnit(),true)
ShowUnit(Unit,true)
if(GetOwningPlayer(Unit)== GetLocalPlayer()){
ShowUnit(GetFilterUnit(),true)
BJDebugMsg(" show filterunit - in structure(boolexpr)")
}
if(GetOwningPlayer(GetFilterUnit()) == GetLocalPlayer()){
ShowUnit(Unit,true)
BJDebugMsg(" show Unit - in structure(boolexpr)")
}
return true
}

void StartAstral(){
Unit = this.target
GroupEnumUnitsInRect(this.ENUM_GROUP,bj_mapInitialPlayableArea,Filter(function thistype.EnumHide))
GroupClear(this.ENUM_GROUP)
if(GetOwningPlayer(Unit) == GetLocalPlayer()){
ShowUnit(Unit,true)
BJDebugMsg(" show Unit - in structure")
}
}

void EndAstral(){
ShowUnit(Unit,true)
BJDebugMsg(" show unit - in structure")
GroupEnumUnitsInRect(this.ENUM_GROUP,bj_mapInitialPlayableArea,Filter(function thistype.EnumShow))
GroupClear(this.ENUM_GROUP)
}
endstruct
private void AstralAction(){
timer t=GetExpiredTimer()
group g=null
unit u=null
DataAstral d = GetTimerData(t)
BJDebugMsg(" Duration - " + I2S(R2I(d.duration)) + " sec.")
if(d.duration >0){
d.Substract()
else
d.EndAstral()
BJDebugMsg(" End")
ReleaseTimer(t)
d.destroy()
t=null
}
}

private bool Conditions(){
timer t=null
DataAstral d
if (GetItemTypeId(GetManipulatedItem()) == 'rsps') then
t=NewTimer()
d=DataAstral.create()
d.target = GetManipulatingUnit()
d.duration = 10.00
d.StartAstral()
SetTimerData(t,d)
TimerStart(t,1.,true,function AstralAction)
t=null
endif
return true
}
private void Starter(){
RegisterPlayerUnitEvent(EVENT_PLAYER_UNIT_PICKUP_ITEM,function Conditions)
RegisterPlayerUnitEvent(EVENT_PLAYER_UNIT_USE_ITEM,function Conditions)
}

endscope
))
Старый 16.03.2013, 20:17
agentex

offline
Опыт: 34,834
Активность:
локально скрыть юнита нельзя. будет десинк
Старый 16.03.2013, 20:50
Goodie

offline
Опыт: 2,825
Активность:
agentex, пичаль =( Есть какой нить выход?
Старый 16.03.2013, 21:04
agentex

offline
Опыт: 34,834
Активность:
да, ставить прозрачность на 100%. но естественно юнит будет виден при наведении. и тень вроде тоже.
Старый 16.03.2013, 21:18
Goodie

offline
Опыт: 2,825
Активность:
agentex, Так и думал
Ладно, буду ждать еще ответов, может ктонить сказанет
Старый 16.03.2013, 21:27
DioD

offline
Опыт: 45,134
Активность:
да без проблем:

локально скрыть юнита нельзя. будет десинк
Старый 17.03.2013, 10:47
Goodie

offline
Опыт: 2,825
Активность:
DioD, лол. Ну может альтернатива есть какая ни будь?? Кроме прозрачности.
Старый 17.03.2013, 13:38
Hate
конь вакуумный
offline
Опыт: 43,033
Активность:
<извращенец мод>
сделать 2 юнита, первый нормальный, второй без модельки и тени, менять их местами
<извращенец мод/>
Старый 17.03.2013, 13:45
Goodie

offline
Опыт: 2,825
Активность:
Hate, ваххаха. Нет уж. Ладно. Закрывайте, обойдусь без этого
<извращенец мод>
</извращенец мод>
лол
Старый 17.03.2013, 13:52
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 17:37.