Сейчас 11:53:09 Пятница, 3 мая, 2024 год
[ x ] Главная ⇒ Форум ⇐ RSS Файлы Cтатьи Картинки В о й т и   или   з а р е г и с т р и р о в а т ь с я


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 2 из 2
  • «
  • 1
  • 2
Модератор форума: PUVer, SirNikolas, Ty3uK  
Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » убийство гидры
убийство гидры
[DS]Дата: Среда, 08 Июня 2011, 19:21:42 | Сообщение # 26
9 уровень
Группа: Проверенные
Сообщений: 1116
Награды: 0
Репутация: 527
Блокировки:
Чтобы копии рексара не появлялись

 

ZabeiДата: Среда, 08 Июня 2011, 19:23:06 | Сообщение # 27
7 уровень
Группа: Проверенные
Сообщений: 479
Награды: 0
Репутация: 125
Блокировки:
Quote (BuРyC)
нет, мне нужно, что бы не создавались копии героев, которые их убивают.
 

BuРyCДата: Среда, 08 Июня 2011, 19:24:29 | Сообщение # 28
3 уровень
Группа: Пользователи
Сообщений: 74
Награды: 0
Репутация: -27
Блокировки:
да, копии рексара и т.п
 

AjaccioДата: Среда, 08 Июня 2011, 19:45:45 | Сообщение # 29
7 уровень
Группа: Проверенные
Сообщений: 299
Награды: 1
Репутация: 239
Блокировки:
Попробуйте-ка это:



hmm


XOR EAX, EAX
MOV EAX, 00H ;; NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.
 

[DS]Дата: Среда, 08 Июня 2011, 19:58:19 | Сообщение # 30
9 уровень
Группа: Проверенные
Сообщений: 1116
Награды: 0
Репутация: 527
Блокировки:
Химичил химичил получилось то, что вместо рексара теперь та самая гидра вылезает на своем месте.

 

BuРyCДата: Среда, 08 Июня 2011, 20:00:00 | Сообщение # 31
3 уровень
Группа: Пользователи
Сообщений: 74
Награды: 0
Репутация: -27
Блокировки:
ты это уже тестил?
 

AjaccioДата: Среда, 08 Июня 2011, 20:08:38 | Сообщение # 32
7 уровень
Группа: Проверенные
Сообщений: 299
Награды: 1
Репутация: 239
Блокировки:
У меня никаких проблем не обнаружено (копий нет). nate

XOR EAX, EAX
MOV EAX, 00H ;; NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.
 

[DS]Дата: Среда, 08 Июня 2011, 20:09:19 | Сообщение # 33
9 уровень
Группа: Проверенные
Сообщений: 1116
Награды: 0
Репутация: 527
Блокировки:
BuРyC, у Ajaccio все работает, вроде.

 

SirNikolasДата: Среда, 08 Июня 2011, 20:15:08 | Сообщение # 34
Группа: Модераторы
Сообщений: 6729
Награды: 1
Репутация: 1867
Блокировки:
Quote (Ajaccio)
if IsUnitType(GetTriggerUnit(), UNIT_TYPE_HERO) == false && !IsUnitType(who, UNIT_TYPE_SUMMONED) {return true}
Утечка локального юнита who.

Добавлено (08-06-2011, 20:15)
---------------------------------------------
А вообще все должно работать.


 

SunCreepДата: Среда, 08 Июня 2011, 20:16:33 | Сообщение # 35
9 уровень
Группа: Проверенные
Сообщений: 1136
Награды: 0
Репутация: 141
Блокировки:
"Гуёвые" как говорит одна общеизвестная личность триггеры,но всё же.

тык!
 

AjaccioДата: Среда, 08 Июня 2011, 20:26:07 | Сообщение # 36
7 уровень
Группа: Проверенные
Сообщений: 299
Награды: 1
Репутация: 239
Блокировки:
Quote (SirNikolas)
Утечка локального юнита who.

nate

А я вообще не трогал код, да-да. Только заменял имена переменных на понятные, когда разбирался в принципе работы.
Не спрашиваете меня где была ошибка. Я не знаю, оно само заработало. fuckyeah


XOR EAX, EAX
MOV EAX, 00H ;; NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO.
 

[DS]Дата: Среда, 08 Июня 2011, 20:38:00 | Сообщение # 37
9 уровень
Группа: Проверенные
Сообщений: 1116
Награды: 0
Репутация: 527
Блокировки:
я думал еще на вджассе сделать
Code

library CreepRevive
globals
         private constant integer EnemyPlayerId   = 12
         private constant string  ReviveEffect  = "Abilities\\Spells\\Undead\\RaiseSkeletonWarrior\\RaiseSkeleton.mdl" //the effect at respawn
         private constant real    TimeTillRevive = 10.00
         private filterfunc       filter
         private trigger          CreepReviveTrigger = CreateTrigger()
         private hashtable        Hash               = InitHashtable()
     endglobals

     private function TrueFilter takes nothing returns boolean
         return true
     endfunction

     private function CreepRevive takes nothing returns nothing
         local unit u3 = GetTriggerUnit()
         local unit u4
         if GetOwningPlayer(u3) == Player(EnemyPlayerId) then
             call TriggerSleepAction(TimeTillRevive)  
             set u4 = CreateUnit(Player(EnemyPlayerId),LoadInteger(Hash, GetHandleId(u3), 0),LoadReal(Hash, GetHandleId(u3), 1),LoadReal(Hash, GetHandleId(u3), 2),LoadReal(Hash, GetHandleId(u3), 3))
             call DestroyEffect(AddSpecialEffect(ReviveEffect,LoadReal(Hash, GetHandleId(u3), 1),LoadReal(Hash, GetHandleId(u3), 2)))
             call SaveInteger(Hash,GetHandleId(u4), 0, LoadInteger(Hash, GetHandleId(u3), 0))
             call SaveReal(Hash,GetHandleId(u4), 1, LoadReal(Hash, GetHandleId(u3), 1))
             call SaveReal(Hash,GetHandleId(u4), 2, LoadReal(Hash, GetHandleId(u3), 2))
             call SaveReal(Hash,GetHandleId(u4), 3, LoadReal(Hash, GetHandleId(u3), 3))
             call FlushChildHashtable(Hash, GetHandleId(u3))
         endif
         set u3 = null
         set u4 = null
     endfunction

     function vJass_Creep_Revive takes nothing returns nothing
         local unit u3
         local group grooup = CreateGroup()
         set filter = Filter(function TrueFilter)
         call GroupEnumUnitsOfPlayer(grooup, Player(EnemyPlayerId),filter)
         loop
             set u3 = FirstOfGroup(grooup)
             exitwhen u3 == null
             call SaveInteger(Hash,GetHandleId(u3), 0, GetUnitTypeId(u3))
             call SaveReal(Hash,GetHandleId(u3), 1, GetUnitX(u3))
             call SaveReal(Hash,GetHandleId(u3), 2, GetUnitY(u3))
             call SaveReal(Hash,GetHandleId(u3), 3, GetUnitFacing(u3))
             call GroupRemoveUnit(grooup,u3)
             set u3 = null
         endloop
         call TriggerRegisterAnyUnitEventBJ(CreepReviveTrigger, EVENT_PLAYER_UNIT_DEATH )
         call TriggerAddAction(CreepReviveTrigger, function CreepRevive)
         set CreepReviveTrigger = null
         call DestroyGroup(grooup)
         set grooup = null
     endfunction
endlibrary


 

BuРyCДата: Среда, 08 Июня 2011, 20:43:29 | Сообщение # 38
3 уровень
Группа: Пользователи
Сообщений: 74
Награды: 0
Репутация: -27
Блокировки:
Ajaccio , Спасибо, действительно работает.
Только мне очень интересно, почему после записи юнитов через bool, все заработоло, а через for group нет. :)
 

Форум о Warcraft 3 » Раздел для картостроителей » Вопросы по картостроению » убийство гидры
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск:

Copyright © 2006 - 2024 Warcraft3FT.info При копировании материалов c сайта ставьте, пожалуйста, активную обратную ссылку на нас • Design by gReeB04ki ©
Хостинг от uCoz