22

» WarCraft 3 / Как разрешить юнитам проходить под мостом?

а че не проверять если юнит вошел в облость если кординат равен справа или лево, то установить его нижний высота на 0 то есть он будет проходить под мостом, а если юнит вошел внизу или верху то установить высоту 100 и расчитать длину моста и высота уклона чтобы менять высота при катый тик так как мост не прямой такой.. Конечно это бредовый для таких вар3 пойдет механика магнетизма
22

» WarCraft 3 / auto-cast способности

ловить приказ если приказ отдан цель или стоп то кидать замедление вручную в выбраной цели иначе в случаем рандом выбрать в радиуса от товер
22

» WarCraft 3 / Как отследить навык перерождение(реинкарнация)?

а зачем просто переменную равно 0.50 это даже GUI можно а наработка просто копировать и ставить и забудь о ней
22

» WarCraft 3 / Как отследить навык перерождение(реинкарнация)?

есть уже наработка библиотек чтобы оследить события что он был умер с крестом
Detect the instant when a unit starts reincarnating
Event: Game - DeathEvent Becomes Equal to 0.50

Detect when a unit is brought back to life via Reincarnation, Resurrect or Reanimate
Event: Game - DeathEvent Becomes Equal to 2.00

You can differentiate between the three of these as well. If it is summoned, that means it was reanimated. If IsUnitReincarnating[UDex] is true, that means it finished reincarnating. Otherwise, it was simply resurrected.

Detect when a unit is loaded into a transport
Event: Game - CargoEvent Becomes Equal to 1.00
Unit: CargoTransportUnit[UDex] --- The unit who loaded this unit

Detect when a unit is unloaded from a transport
Event: Game - CargoEvent Becomes Equal to 2.00
Unit: CargoTransportUnit[UDex] --- The unit who unloaded this unit

Detect when a unit transforms into a new unit type
Event: Game - UnitTypeEvent Becomes Equal to 1.00
Unit Type: UnitTypeOf[UDex] --- The previous unit type

Detect the instant before a unit is completely removed from the game
Event: Game - UnitIndexEvent Becomes Equal to 2.00

To detect when any unit is created (including pre-placed units)
Event: Game - UnitIndexEvent Becomes Equal to 1.00

To detect when a new unit is summoned (fires after the Create event)
Event: Game - UnitIndexEvent Becomes Equal to 0.50
Unit: SummonerOfUnit[UDex]

To detect when any unit dies (including units created dead)
Event: Game - DeathEvent Becomes Equal to 1.00
Unit: KillerOfUnit[UDex]
22

» WarCraft 3 / Hashtable или array

на самом дела это вы так видите структура, но после компиляция карт оно сделает как обычный jass с различными переменные и функции для работы с структуром
22

» WarCraft 3 / Фаталит карта

а чем не угодил менять урон числом а потом уже наносить последный урон... А то события ловит каждый урон так и появилось рекурсия
22

» WarCraft 3 / Можно ли добавить больше 4-х способностей на предмет?

через спеллбук добавляй
а триггер инициализировать всех спеллбук в блок игроков...
22

» WarCraft 3 / Поиск элемента БД

avuremybe, в том и зачем хотел чтобы нагрузку всю игру играть, сразу викинут тапками ваши карту?
22

» Show Your Skill / Show Your Skill

FrigatPlay, через render edge а что еше с мемхак также
FrigatPlay, просто создаеш текстура в низ и растягиваеш на вкус потом уже поверх ложить кнопочки и тексты не вижу сложного!!!
22

» WarCraft 3 / Не работает переключаемая способность на основе книги заклинаний

Зачем скрыть спелбук каждый нажатие способности и получше gui напиши если ты хочеш медуза стрела так бери опен дота
22

» RenderEdge / [RenderEdge] Memory Hack

Я так понимаю можно выполнить библиотеку функцию через std_call1 и другие аргументы если ранее зарегистрирован
set адрес память функция = GetModuleProcAddress(RENDEREDGE_DLL, "название функции")
не будет ли барахлить если я возму библиотеку у основного вызов функции??
22

» WarCraft 3 / Поиск элемента БД

чем не угодил индификатор зависимости от максимального количеств слота ?? вот пример

globals
	public constant integer MAX_UNIT_STATES = 100
endglobals

struct TypeUnit
        private static hashtable type_units
        
        public static constant integer KEY_STATE_TYPE = 0
        public static constant integer KEY_STATE_VALUE = 1
        
        readonly integer state_count = 0
        
        static method operator [] takes integer id returns thistype
            return LoadInteger(thistype.type_units, 0, id)
        endmethod
        
        static method create takes integer id returns thistype
            local thistype this = thistype.allocate()
            call SaveInteger(thistype.type_units, 0, id, this)
            return this
        endmethod
        
        public method addState takes State s, integer v returns nothing
            call SaveInteger(thistype.type_units, this, KEY_STATE_TYPE * MAX_UNIT_STATES + state_count, s)
            call SaveInteger(thistype.type_units, this, KEY_STATE_VALUE * MAX_UNIT_STATES + state_count, v)
            set state_count = state_count + 1
        endmethod
        
        public method getStateType takes integer i returns State
            return LoadInteger(thistype.type_units, this, KEY_STATE_TYPE * MAX_UNIT_STATES + i)
        endmethod
        
        public method getStateValue takes integer i returns integer
            return LoadInteger(thistype.type_units, this, KEY_STATE_VALUE * MAX_UNIT_STATES + i)
        endmethod
        
        private static method onInit takes nothing returns nothing
            set thistype.type_units = InitHashtable()
            call BJDebugMsg("type_units: " + I2S(GetHandleId(thistype.type_units)))
        endmethod
    endstruct
Вот так легче и удобно подбирать циклом... ясно что это пример но реализовать ясно
Циклом легче подбирать если такого есть хеша счетчик
Подбор цико вот как выглядит...
// i = 0
// tu = TypeUnit[unit id]
// item = null
loop
            exitwhen i == tu.state_count 
    
            set item = tu.getStateType(i)
                
			тут уже знаем предмет или что хотите шаманите
            
             set i = i + 1
        endloop
22

» WarCraft 3 / Таймер или Регион

сохранить позиция если длина очень длино то заставить двигать к точку с переодическим таймером.... после чего работай
22

» WarCraft 3 / Бафф Аура

Не правильно вы написали GUI
И группу лучше изначально собрать после чего подбирать каждый юнит и удалить из группы после чего группу удалить.. иначе утечка
22

» WarCraft 3 / Жертвенник - переобучение.

CaZaNoVa, это близзардский способность который делает как обучение войск то есть его нельзя менять на свой юнит
CaZaNoVa, Но можно взять пример Гиппогриф с Лучница у ночные эльфы там моментально соединяет
22

» WarCraft 3 / Жертвенник - переобучение.

CaZaNoVa, ну хз способность это как строение там и строит тень
CaZaNoVa, а может берет только классификация работник, нежить
22

» WarCraft 3 / Система общего здоровья.

Вы че такие смешные GUI это и есть jass каким боком вы хотите писать GUI без jass математикой?