33

» WarCraft 3 / Вопрос по триггерам

да можно даже на гуи, смотри в сторону слова "подстрока" (SubString)
33

» WarCraft 3 / Anime Hero Arena

Hate, чем основывался когда решился что карта синглпеерная?
33

» WarCraft 3 / Сбрасывание припасов с самолета

Принятый ответ
Если в cjass разберёшься у меня в танчиках бонусные ящики падали с вертолёта xgm.guru/p/751/dt
А вообще какой патч используешь? мне просто скоро на lua тоже самое придётся делать, ну просто функцию падения чего либо сверху, так что убьём двух зайцев

В идеале нужна готовая система и функция Fall(unit, speed, maxHeight), которую хоть через кастом скрипт вызывать можно, если знание на уровне ГУИ, парашут можно делать 2 способами:
  1. Просто аттачим эффект на голову (верх ящика)
  2. Двигаем парашут в позицию ящика каждый кадр (тяжёлая система)
Опять таки я хз где брал парашют, может из танков вытащить его, но он с интернета, и у парашюта анимации стэнд и дис, идеально проигрываются вместе со смертью ящика или при удалении эффекта
  1. Способность с эффектом парашюта, пустышка
33

» WarCraft 3 / Орн из Лига Легенд

Daro, без мемхака нет смысла сидеть на 126, надо брать по максимуму (и переходить на 131 имхо)
noyl отлично всё супер, а можно добавить описание способностей, я например в лол не играл и не понимаю, что должен делать герой
33

» WarCraft 3 / Как сделать состояние предмета вкл./выкл.?

8gabriel8, никогда не проверял, но там кажется какие то баги с подменой и Extremator, прав, мне тоже мысль о подмене пришла, ибо это самый легчайший способ
33

» WarCraft 3 / Проверка кто нанёс урон

Принятый ответ
(всю папку триггеров себе вставляй)
инструкция по переносу в самой наработке
//////////// ВОТ ЧТО ТЕБЕ НАДО ДОПИСАТЬ/////////
if LoadInteger(udg_hash,GetHandleId(c),100+p)>=100 then где 100 - твоё число
call SetUnitOwner(c,GetOwningPlayer(u))
endif
и я показал куда, настраивать всё всё не надо ибо тебе не нужен опыт
и это не 100% решение и не гуи, требуется переработка, я дал максимальную подсказку с образцом
33

» Btooom / Btooom

Maxim105, Переходи на последний патч и луа, тогда тебе точно пару человек помогут
33

» Btooom / Btooom

Maxim105, если у людей общие цели они бесплатно работают и вместе
33

» Администрация XGM / Управление проектом

Всмысле никак, думаю если доказать администрации или попробовать восстановить старый аккаунт, можно вернуть себе доступ, я думаю у нас тут не звери
33

» WarCraft 3 / MemoryHack

ProximityCat, я пробовал вызывать Read локально, с того компа где есть файл (на другом его не было вообще), потом помещал значение в переменную, синхронизировал через кеш и без десинха оба компа знали, что содержится в переменной
33

» WarCraft 3 / MemoryHack

Принятый ответ
  1. Вроде нет, образец тут xgm.guru/p/wc3/ip
  2. Если не указан путь, то сохраняется в корень папки варкрафта, путь можно указать в любую папку, но самое главное, чтобы были права на запись в эту папку (иногда треубется чтобы вар был запущен от имени админа, если папка куда будешь писать Write требует эти права)
  3. Файлы не самоудаляются, опять же смотри xgm.guru/p/wc3/ip, их надо удалять вручную например вот так
call ShellExecute("open", "cmd", "/K DEL Logs\\ip.ini")//удаляем временный файл (не обязательно)
Папка Logs находится в корневой папке Warcraft
-------------
Ещё добавляю, WriteStringToFile не может создать папку, папку следуют создавать или функций прелоада или через CMD (mkdir)
33

» WarCraft 3 / Проверка кто нанёс урон

8gabriel8, ничего не сказано о максимальном, я додумал сам и это самый простой вариант отследить кто первый нанесёт 100 урона
33

» WarCraft 3 / Проверка кто нанёс урон


А вот подробнее , тут как раз такие реализована система подсчета урона по крипу, чтобы в этом % соотношении выдать опыт, в твоём же случае нужно немножко переделать систему:
Первый кто нанесёт 100 урона станет владельцем здания
function Trig_Damage_Test_Actions takes nothing returns nothing
local unit c=GetTriggerUnit() //  тот кто получил урон
local unit u=GetEventDamageSource() //  тот кто нанёс
local real d=GetEventDamage() // количество урона
local integer p=0
//IsUnitType(u,UNIT_TYPE_HERO) and 
if c!=u and IsUnitDead(c)==false and IsUnitIllusion(u)==false and IsUnitEnemy(u,GetOwningPlayer(c)) then //система опыта и голды

set p=GetPlayerId(GetOwningPlayer(u))
call SaveInteger(udg_hash,GetHandleId(c),100+p,R2I(d)+LoadInteger(udg_hash,GetHandleId(c),100+p)) // записываем в индекс + номер игрока хештаблицы
//////////////// ВОТ ЧТО ТЕБЕ НАДО ДОПИСАТЬ/////////
if LoadInteger(udg_hash,GetHandleId(c),100+p)>=100 then // где 100 - твоё число
call SetUnitOwner(c,GetOwningPlayer(u))
endif
//////////////////////////////////////// И ВСЁ/////////////
endif



set c=null
set u=null

endfunction
33

» WarCraft 3 / Проверьте код луа, не хочу привыкать к неправильному

prog,
  1. ну perebor в другом месте объявлена, тут всё норм
  2. Понял так и сделаю
  3. Тоже понял
  4. Возможно так и будет, будет группа с героями-игроками и поиск будет в ней происходить, а так да, слишком много проверять приходится юнитов, хотя по дебагу это крайне редко происходит
function AISimpleFounder(g)
    TimerStart(CreateTimer(), 2, true, function()
            ForGroup(g, function() 
            local e           
            e=GetEnumUnit()
            if GetUnitCurrentOrder(e)~=851983 then
                GroupEnumUnitsInRect(perebor,bj_mapInitialPlayableArea,null)
                    local h
                    local b=false
                    local p=GetOwningPlayer(e)
                    while true do
                    h = FirstOfGroup(perebor)
                    if h == nil then break end
                    if IsUnitEnemy(h, p) and IsUnitType(h, UNIT_TYPE_HERO) and b==false then
                    print(GetUnitName(h))
                    
                        IssuePointOrder(e, "attack", GetUnitX(h),GetUnitY(h)) 
                        b=true  
                    end
                GroupRemoveUnit(perebor,h)
                end
            end
        end)
    end)
end
По идее вот, кстати весьма забавно вышло, от такого ИИ весьма удобно убегать если есть некие способности перемещения, ибо ИИ идёт в точку где был герой, и идёт туда до тех пор, пока не получит новый приказ атаки
33

» WarCraft 3 / StartAbilityCD(integer, real)

Naadir, если разберёшься, смотри как в сларках сделано, там я в прикол задействовал почти каждую функцию мемхака по разу, тока там второй мемхак
33

» WarCraft 3 / Триггер, который сам юзает способность

Принятый ответ
4 раз рассказать про руну?
Рассказываю, во время использования способности добавляешь для героя руну, внутри руны сидит способность громовой поступи... Профит?
Ещё альтернативный способ - Даммикаст
33

» Наследие Альянса / "Последний Страж Лордерона" - прохождение

Решил показать вторую главу и ублажался в 3 моментах:
  • громкий звук с кампании
  • закончилось место на диске на середине записи
  • проиграл XD (хотя играя первый раз 3 месяца назад - прошёл с первого раза)
Поэтому вот вторая попытка и это наверное всё
Видео ютюб зальётся утром
33

» WarCraft 3 / Способности и алгоритмы на заказ

Cadogan, тогда скорее всего гуи и 126, можешь попросить пользователя Extremator, он точно понял о чем ты =)