я уже создавал тригеры для воскрешения(наподобие этой статьи xgm.guru/p/wc3/gui-examples-hero-revive), но спустя время всё перестало работать. на старых версиях карты всё работает.
Из-за чего это могло произойти?

Принятый ответ

проблема были в триггерах, которые я добавил с hiveworkshop'а
`
ОЖИДАНИЕ РЕКЛАМЫ...
0
19
6 лет назад
0
Похожие вопросы:

ответ
таймер убери из структуры и структуру вешай на таймер
или если героев больше 10 то делай через 1 апдейт
а вобще код полный бред,мне придётся принять одновременно как минимум 5 различных наркотических веществ чтобы сделать подобное
код
library resp{
private real array sx
private real array sy

struct rhero{
unit a
integer b
boolean c
integer d

static nothing new(unit a,integer b){
rhero this=rhero.create()
.a=a
.b=b
.c=true
.d=GetPlayerId(GetOwningPlayer(a))
}

nothing up(){
if .b==0{
ReviveHero(.a,sx[.d],sy[.d],true)
.a=null
.c=false
.d=0
}
.b--
}

}

private nothing act1(){
unit a=GetTriggerUnit()
rhero b=rhero.new(a,GetHeroLevel(a))
a=null
}

private boolean cond1(){
return IsUnitType(GetTriggerUnit(),UNIT_TYPE_HERO)
}

private nothing update(){
rhero a=12
loop{
if a.c{
a.up
}
exitwhen a==1
a--
}
}

private nothing init(){
trigger a=CreateTrigger()
timer b=CreateTimer()
TriggerRegisterAnyUnitEventBJ(a,EVENT_PLAYER_UNIT_DEATH)
TriggerAddAction(a,function act1)
TriggerAddCondition(a,function cond1)
TimerStart(b,1,true,function update)
a=null
b=null
}

}
в глобалки занеси координаты стартовых позиций
ответ
call BJDebugMsg(string) отладка в редакторе.
ответ
Искать нужно лучше.
Раздел герой на гуях, действие Revive (instanty)

0
1
6 лет назад
0
Буду рад, если предложите свою версию системы воскрешения.
0
26
6 лет назад
0
Работает на 1.26а, может ты новый патч установил? Ну или в другом триггере пытаешься героя воскресить)

Вместо (Triggering unit) (Dying unit).
0
1
6 лет назад
0
проблема были в триггерах, которые я добавил с hiveworkshop'а
Принятый ответ
Чтобы оставить комментарий, пожалуйста, войдите на сайт.