pro100master #1 - 3 недели назад 3

» WarCraft 3 / Как убрать на панели приказов кнопку?

команда это абилки по нему равкод удаляй
pro100master #2 - 4 недели назад -2

» WarCraft 3 / Отлов цели приказа

а не проше каждый юнит иметь структура массива таргетов, если его таргет предмет тыкаеш и получаеш id стуктура а потом узнаем чей его владелец таргета в хеше что позволяет многомерные цепочки предметов
pro100master #3 - 4 недели назад 0

» WarCraft 3 / Как ходить по дну?

Sylvanas, если хотите чтоб он под водой и на земле ходил то морфи как у нага селедка уходит под воду с помошью скил и вылезает
pro100master #4 - 4 недели назад -4

» WarCraft 3 / Как ходить по дну?

делай летающий и высоту на -50 и радуй
pro100master #5 - 4 недели назад 0

» WarCraft 3 / Операции сравнения

UrsaBoss, скажи зачем вам столько байтов... для процента вполне 10000 int максимум как во всех популярных играх к примеру l2 имеет 1000000 int рандом
pro100master #6 - 4 недели назад 0

» WarCraft 3 / Операции сравнения

и кстати делай на int так лучше например у мя 0.0505 это как 505 int и проблем нет...
то есть 505/10000 = 0.0505
pro100master #7 - 4 недели назад 0

» WarCraft 3 / Операции сравнения

не проще добавить 0.5 или отнимать
pro100master #8 - 4 недели назад 0

» WarCraft 3 / Проблемы с ордером

видимо он хотел многомерный массив это изи делает но ему сложно!
pro100master #9 - 4 недели назад -4

» WarCraft 3 / Как сделать, чтобы большие юниты рассталкивали маленьких

ZeroCaty, для стояших оталкивании нет у варика механик физик.. Так как там строго физический размер проверяет через поиск пути... Хотите что то свое делай Unity варик не для продвинутых кодирование
pro100master #10 - 4 недели назад 0

» WarCraft 3 / Может кто скинуть установщик JNGP R1.2?

UrsaBoss, такой не бывает чтобы он зависал при основного пробайтовый проверка if-ов так как в обычный редактор будет говорить такой ошибку.... JNGP это расширеный не как влияет на if
pro100master #11 - 4 недели назад 0

» WarCraft 3 / Повышение уровня способности триггерно

вроде у техника есть если здание апгрейдил то и автоматически способность заменяет вроде берсерк юнит меняет после апгрейда
pro100master #12 - 4 недели назад 0

» WarCraft 3 / Как сделать, чтобы большие юниты рассталкивали маленьких

ZeroCaty, разве не провал у хуман вольшебница брать? она умеет толкать из него делай копия большим и маленким и радуй...
pro100master #13 - 4 недели назад 0

» WarCraft 3 / Как запретить игрокам обмениваться древесиной?

игрок 1 и игрок 2 делать запрет передачи древесину через триггер
либо сделать каждый игрок видимый но не союзник а нетральный и многое способов к чему вы задаете вопросы?
pro100master #14 - 4 недели назад 8

» WarCraft 3 / Не могу найти подходящую ауру

это надо в константы включить статусы для здания
pro100master #15 - 4 недели назад -6

» WarCraft 3 / Невыделяемость на время

nvc123, не бред я его чекал в коде и ок...
pro100master #16 - 4 недели назад -8

» WarCraft 3 / Невыделяемость на время

мда
заноси юнит в переменную в 1 очередь а потом уже дай ему мосскит тогда юнит останет в переменную и удаляй и радуй
pro100master #17 - 4 недели назад -2

» WarCraft 3 / Создание триггерных иллюзий

Этого мы уже разжевали 1000 раз лучше используй предметный для создание клона из него ловите
pro100master #18 - 1 месяц назад 0

» WarCraft 3 / Сравнение кода по производительности

PT153, 1 сек равно 1000 милисекунд если что в дробь поймеш
pro100master #19 - 1 месяц назад -6

» WarCraft 3 / Сравнение кода по производительности

PT153, у таймер же идет микросекунд так что думай.
pro100master #20 - 1 месяц назад 0

» WarCraft 3 / Поддержка cJass

зачем вы делаете 1.29 если оно ни кто не играет. Лучше делай 1.26 пока можеш и тогда легче перейди
pro100master #21 - 1 месяц назад 1

» WarCraft 3 / Связанные handle-объекты

зачем очишать если можно сделать 1 события на всех любых действии
pro100master #22 - 1 месяц назад -2

» WarCraft 3 / Как добавить отдельный слот под оружие?

Такой система я делал давно 100 лет назад. Что можно иметь 2 оружии одинаковые на право и на лево носить если такого оружия или дворучные на 1 руку вот скачай и шамани..
Вот моя древная тема: xgm.guru/forum/showthread.php?t=58297 Там на GUI.
pro100master #23 - 1 месяц назад 2

» WarCraft 3 / Стандартный зомби с анимацией поедания трупов

8gabriel8, анимация установи зомби и будет труп на плече
pro100master #24 - 1 месяц назад 0

» WarCraft 3 / Стандартный зомби с анимацией поедания трупов

8gabriel8, компания найди и там зомби допольнительный
pro100master #25 - 1 месяц назад 0

» WarCraft 3 / Стандартный зомби с анимацией поедания трупов

текстуры бери зомби и сунь в гулей вот и счастья =) А так это юнит зомби который носит труп на плече как работник...
pro100master #26 - 1 месяц назад (отредактировано ) 2

» WarCraft 3 / Скрипт для вара?

ClotPh, Для коментарии достаточно написать блок кода
/*
* name -  Название героя
* Создаем переменную имя для героя
*/
local string name = null
Вот так делай так ускорит понимание кашу кода другим людям
pro100master #27 - 1 месяц назад 4

» RenderEdge / [RenderEdge] Memory Hack

Venommm, можно укажи отрицательный от текушего размера блока в обратный и он уйдет
pro100master #28 - 1 месяц назад 0

» WarCraft 3 / Взаимосвязь.

Стас Орлов, удали руссификатор оно ломает редактору!
pro100master #29 - 1 месяц назад 0

» WarCraft 3 / Переменная

в группу запихни выбраных юнитов (Хоть статью читай полено чем тупых вопросов задавать) За день 12 вопрос от тебя боже
pro100master #30 - 1 месяц назад 0

» WarCraft 3 / Отряд

quq_CCCP, верно я бы его перенес в инициализация и спокойно проверять
pro100master #31 - 1 месяц назад 0

» WarCraft 3 / Рав коды

это число достаточно получить например для юнита GetUnitTypeID(...) и так далее
pro100master #32 - 1 месяц назад 0

» WarCraft 3 / [Мемхак] Как указать виз. количество текущий и максимальный еды

DracoL1ch, Не понял как я поменяю количество еды приносяший?
DracoL1ch, или абилка такой есть?
DracoL1ch, или ты имел виду создать типо так но на основе юнита (Сам писал)
set amount = R2I(amount) - R2I(this[u])
            
            if amount < 0 then
                set amount = -amount
                set rawcode = rawcode + this.count
            endif
            
            set abilityId = this.count - 1
            set abilityLevel = 4
            set currentAbility = rawcode + abilityId
            loop
                exitwhen amount == 0
                
                if amount >= powersOf2[abilityId * 3 + (abilityLevel - 2)] then
                    call UnitAddAbility(u, currentAbility)
                    call SetUnitAbilityLevel(u, currentAbility, abilityLevel)
                    call UnitRemoveAbility(u, currentAbility)
                    
                    set amount = amount - powersOf2[abilityId * 3 + (abilityLevel - 2)]
                else
                    set abilityLevel = abilityLevel - 1
                    if abilityLevel <= 1 then
                        set abilityId = abilityId - 1
                        set abilityLevel = 4
                        set currentAbility = rawcode + abilityId
                    endif
                endif
            endloop
Сделал если кому нужно контроль максимальной еды
// RUS: Создаем 8 юнит еду (Каждый шаг увиличивает 2ух-кратный)
//! runtextmacro UnitStart()
//! i CreateUnit("hfoo", "zxF", "ufma", "8", "FOOD", "BTNMonsterLure.blp")
//! runtextmacro UnitEnd()

//! textmacro UnitStart
    /* RUS: Тут можно убрать если не стоит (MemoryHack)
    //! externalblock extension=lua ObjectMerger $FILENAME$
    //! i function CreateUnit(base, prefix, field, count, name, icon)
    //! i     k = 0
    //! i     j = 0
    //! i     for i = 0, (count - 1) do
    //! i         j = j + 1
    //! i         createobject(base, prefix .. string.sub(chars, k + 1, k + 1))
    //! i         makechange(current, "unam", "Unit - " .. name)
    //! i         makechange(current, "utip", "")
    //! i         makechange(current, "utub", "")
    //! i         makechange(current, "unsf", "(+" .. tostring(2^i) .. ")")
    //! i         makechange(current, "uico", "ReplaceableTextures\\CommandButtons\\" .. icon)
    //! i         makechange(current, field, 2^i)
    //! i         k = k + 1
    //! i     end
    //! i end
    //! i setobjecttype("units")
    //! i chars = "abcdefghijklmnopqrstuvwxyz"
    */
//! endtextmacro

//! textmacro UnitEnd
    /* RUS: Тут можно убрать если не стоит (MemoryHack)
    //! endexternalblock
    */
//! endtextmacro

globals
    constant integer xe_MAX_PLAYERS        = 7
    
    // RUS: Контроль еды
    constant integer xe_COUNT_FOOD         = 8
    constant integer xe_RAWCODE_FOOD       = 'zxFa'
endglobals

struct Food
    private static group   array groups[xe_MAX_PLAYERS]
    private static integer array powers[xe_COUNT_FOOD]
    
    private static method onInit takes nothing returns nothing
        local integer i = 1
        
        set thistype.powers[0] = 1
        
        loop
            exitwhen i > xe_COUNT_FOOD
            set thistype.powers[i] = thistype.powers[i - 1] * 2
            set i = i + 1
        endloop
        
        set i = 0
        loop
            exitwhen i == xe_MAX_PLAYERS
            set thistype.groups[i] = CreateGroup()
            set i = i + 1
        endloop
    endmethod
    
    public static method operator []= takes player p, integer i returns nothing
        local integer count = xe_COUNT_FOOD - 1
        local group g = thistype.groups[GetPlayerId(p)]
        local unit u = FirstOfGroup(g)
        
        loop
            exitwhen u == null
            call RemoveUnit(u)
            call GroupRemoveUnit(g, u)
            set u = FirstOfGroup(g)
        endloop
        
        loop
            exitwhen i == 0
            if i >= thistype.powers[count] then
                call GroupAddUnit(g, CreateUnit(p, xe_RAWCODE_FOOD + count, 0., 0., 0.))
                set i = i - thistype.powers[count]
            else
                set count = count - 1
            endif
        endloop
        
        set u = null
        set g = null
    endmethod
endstruct
pro100master #33 - 1 месяц назад 0

» WarCraft 3 / Пассивка

юнит получает урон
условие random(0, 10000) <= 400
дейсвия что хочеш блокируй урон и прочего но лучше готовый библиотека скачай
а 400 равен 4% шанса
Это я привел пример так что не копируй =)
pro100master #34 - 1 месяц назад 0

» WarCraft 3 / Отряд

UrsaBoss, зачем ты обнуляещ boolexp омг его нет нужды обнулять
pro100master #35 - 1 месяц назад 0

» WarCraft 3 / [Алгоритм] Поправь где ошибка в алгоритме!

Причину нашел что раньше было "xe_RAWCODE_FOOD *-* count" поэтому давали не правильно, но путем поиска нашел причину и исправил на *+*
pro100master #36 - 1 месяц назад 0

» WarCraft 3 / Фатал после игры. Часть 3

DracoL1ch, а разве ты в блог не писал что строка зло причиняет в мемхаке =)
pro100master #37 - 1 месяц назад 4

» WarCraft 3 / КАК защитить карту от Ladik's MPQ Editor ?

зачем защищать карту не пойму людей который бойтся показать красоту кода или обьектов... Хотите свои права делай на Unity или других там как раз имеет лизенция право зашит. А варик открытая и доступная даже гласит правило когда вы 1 раз открыли редактор
pro100master #38 - 1 месяц назад 0

» WarCraft 3 / [Мемхак] Как указать виз. количество текущий и максимальный еды

ScopteRectuS, ты в натуре не вникаеш кода в доте реализован на текушего еду который можно менять. Но не максимальную его можно лишь получить Get а увеличить еду нужно создавать юнит с единиц едой (Не понял проходи мимо) Ответ дан уже.
pro100master #39 - 1 месяц назад 0

» WarCraft 3 / [Мемхак] Как указать виз. количество текущий и максимальный еды

ScopteRectuS, а ты пробуй омг его можно получить только Get а текуший можно менять в стандартной
pro100master #40 - 1 месяц назад 0

» WarCraft 3 / Как возродить созданного юнита?

чтобы ресал мертвых юнитов надо получить значение тип юнита умираюшего и заносить в массив пока таймер или вейт не выполнит свою задачу и вытаскивай из массива и создай юнит по типу
pro100master #41 - 1 месяц назад 0

» WarCraft 3 / Катакомбы

Бордер, добавил бы бесмертный монстр который нельзя агрить например червяк как в фильме "дрожь" его можно лишь заманить в ловушку. Иначе сожрет и пол должен твердый чтобы его не могли жрать и многое бы помог но я мя свой проект по крупному =)
pro100master #42 - 1 месяц назад 0

» WarCraft 3 / Сумма характеристик всех героев

вот и получаем общий статы вссех героев
count_hero_created - Количество героев созданых на карте оно будет расти как будет создавать
heroes - массив героев
и можете спокойно получать из данных all_stats в любом месте куда хочеш
прикреплены файлы
pro100master #43 - 1 месяц назад 0

» WarCraft 3 / Сумма характеристик всех героев

а у тя просто получает текуший героя при цикл и вносиш но не увеличивает поэтому ты увидиш общий как 1 героя
pro100master #44 - 1 месяц назад 0

» WarCraft 3 / Сумма характеристик всех героев

счетчик растет при создание героя? из него получаем циклом который в массиве сохранили и прибавляем от текушего и получаем прирост потом снова обнуляем и снова циклом расчитать
pro100master #45 - 1 месяц назад 0

» WarCraft 3 / [Мемхак] Как указать виз. количество текущий и максимальный еды

Fakov, еду максимальную то есть я могу его триггером циклом создать юнит с 1 едой прирост и удалять.. а хотел без создание юнита так как еду я не использую в игре а тупо визуально менять
Хотя не важно. Пусть будет создавая 100 юнит на 1 игрока при этом еше и 6 игрока то лаги но пофиг как то.
function SetFood takes player p, integer i returns nothing
    local boolean isDeleteFood = false
    local group g
    local unit u
    
    if i < 0 then
        call BJDebugMsg("|cffFF0000Error|r|cffFFFF00:|r |cff8080FF Food |r|cffFFFF00:|r ")
        return
    endif
    
    set i = i - GetPlayerState(p, PLAYER_STATE_RESOURCE_FOOD_CAP)
    
    if i < 0 then
        set i = -(i)
        set isDeleteFood = true
        set g = GetUnitsOfPlayerAndTypeId(p, rawcode_food)
    endif
        
    loop
        exitwhen i == 0
        if isDeleteFood then
            set u = FirstOfGroup(g)
            call RemoveUnit(u)
            call GroupRemoveUnit(g, u)
        else
            set food_unit = CreateUnit(p, rawcode_food, GetStartLocationX(0), GetStartLocationY(0), 0.)
            call ShowUnit(food_unit, false)
            call UnitAddAbility(food_unit, 'Aloc')
        endif
        set i = i - 1
    endloop
    
    if isDeleteFood then
        call GroupClear(g)
        call DestroyGroup(g)
        set g = null
        set u = null
    endif
endfunction
pro100master #46 - 1 месяц назад 0

» WarCraft 3 / Jass

на гуи просто вноси GetDataUnit(умерший) и сохрани хендл и таймер после чего берем хендл и тип и ресай даже без jass можно
pro100master #47 - 1 месяц назад 0

» WarCraft 3 / Плавающий текст

у тестаг есть функция жизни вот его и указывай и оно автоматом удаляет тестагом
pro100master #48 - 2 месяца назад 0

» WarCraft 3 / Воскрешение всех героев

создай массив с 12 значении в него запихай герои при пиков.... Если волна пройдено чекаем каждый игрока мертв ли герой то воскрешаем после этого условия можно уже обший передвинуть в позицию
pro100master #49 - 2 месяца назад 0

» WarCraft 3 / Своя подсветка функций

Borodach, есть опция включить автонаобор списком!
pro100master #50 - 2 месяца назад 0

» WarCraft 3 / Система Save/Load для PUBG

то есть тип героя integer хранить в сейве что ли?