Простые вопросы #3

  • Автор темы Автор темы ZLOY
  • Дата начала Дата начала
Хотел бы спросить, кастомка не запускается, помогите пожалуйста.
Запускаю и выходит бесконечно повторяющийся текст а потом выходит обратно в лоббиIMG_20200926_041213.jpg
 
Хотел бы спросить, кастомка не запускается, помогите пожалуйста.
Запускаю и выходит бесконечно повторяющийся текст а потом выходит обратно в лобби
Возможно её нужно обновить. Выйди из доты зайди к себе в мастерскую и нажми "отписаться" потом "подписаться" и она обновится если в этом дело.
 
Хотел бы спросить, кастомка не запускается, помогите пожалуйста.
Запускаю и выходит бесконечно повторяющийся текст а потом выходит обратно в лоббиПосмотреть вложение 1145
Если ты ее залил в доту в скрытом режиме, то запускать ее можно только на Локальном сервере.
 
Не могу удалить партикл 6 штук перепробовал использовал разные типы привязок даже в глобальную переменную воткнул... пробовал DestroyParticle сразу после его создания прописывать в общем кучу всего перепробовал... Партикл удаляется только с удалением сущности, если к ней привязан больше никак... в чем косяк? подскажите пожалуйста
Lua:
            _G.jopa = ParticleManager:CreateParticle("particles/econ/items/bloodseeker/bloodseeker_eztzhok_weapon/bloodseeker_bloodrage_eztzhok_ovr_arc_pnt.vpcf", PATTACH_POINT_FOLLOW, target)
            ParticleManager:SetParticleControl(jopa, 0, target:GetOrigin() )
            ParticleManager:SetParticleControl(jopa, 3, target:GetOrigin() )
            ParticleManager:ReleaseParticleIndex(jopa)

            if jopa then
                  ParticleManager:DestroyParticle(jopa, true)
                  ParticleManager:ReleaseParticleIndex(jopa)
                  print(jopa) --13 ..14 ..15 (просто пишет индекс партикла.. хотя вроде должно быть nil )
                  print("destroy")
            end
 
После ReleaseParticleIndex индекс уже не привязан к партиклу и удалить его невозможно
 
  • Нравится
Реакции: dovernento
После ReleaseParticleIndex индекс уже не привязан к партиклу и удалить его невозможно
Ох СПАСИБИЩЕ!! тебе пол дня с этой ерундой возился. Не знаю, как 4 месяца без понимания этого прожил здесь.. это жесть...))
 
Люди, подскажите как сделать общее золото и опыт, как делают в некоторых кастомках с рпг составляющей. Важно, чтобы все члены команды продолжали получать золото и опыт даже будучи мертвыми.
Пожалуйста, опишите максимально подробно, чтобы хватило ума понять даже у того, кто только начал осваивать разработку карт.
 
максимально подробно = код скинуть?

через фильтры голды и экспы это делается(скорее всего)

подключаешь фильтры, в них всегда возвращаешь false
в голде прибавляешь к общему количеству(хранишь в переменной), а затем выдаешь всем через SetGold
ну ещё надо вычитать у всех при покупке чего либо, это наверное через фильтр приказов лучше сделать
в экспе просто даешь всем экспу через AddExperience
чтобы пройтись по всем игрокам используй цикл

Lua:
for i = 0, PlayerResource:GetPlayerCount() do -- проход по всем игрокам
    if PlayerResource:IsValidPlayer(i) then -- GetPlayerCount считает и наблюдателей тоже, поэтому на всяк чекаем чтоб игрок был игроком
        local hero PlayerResource:GetPlayerOwner(i):GetAssignedHero() -- получаем героя
        hero:SetGold(1337, true) -- для фильтра голды
        hero:AddExperience(666, DOTA_ModifyXP_Unspecified, false, false) -- для фильтра экспы
    end
end
лучше сделать это функцией, чтобы не копипастить по сто раз

скорее всего есть способы получше, но тут уже сам думай, мне лень
 
максимально подробно = код скинуть?

через фильтры голды и экспы это делается(скорее всего)

подключаешь фильтры, в них всегда возвращаешь false
в голде прибавляешь к общему количеству(хранишь в переменной), а затем выдаешь всем через SetGold
ну ещё надо вычитать у всех при покупке чего либо, это наверное через фильтр приказов лучше сделать
в экспе просто даешь всем экспу через AddExperience
чтобы пройтись по всем игрокам используй цикл

Lua:
for i = 0, PlayerResource:GetPlayerCount() do -- проход по всем игрокам
    if PlayerResource:IsValidPlayer(i) then -- GetPlayerCount считает и наблюдателей тоже, поэтому на всяк чекаем чтоб игрок был игроком
        local hero PlayerResource:GetPlayerOwner(i):GetAssignedHero() -- получаем героя
        hero:SetGold(1337, true) -- для фильтра голды
        hero:AddExperience(666, DOTA_ModifyXP_Unspecified, false, false) -- для фильтра экспы
    end
end
лучше сделать это функцией, чтобы не копипастить по сто раз

скорее всего есть способы получше, но тут уже сам думай, мне лень

Из объяснения понял, что для начала мне стоит изучить фильтры, потому что слышу о них впервые. Если честно, надеялся на кнопку, которая будет действовать как, например, "включить/отключить первую кровь" или "указать кол-во получаемого золота за тик". Но, придется немного обходными путями идти к желаемому результату.
В любом случае, спасибо за подсказку. Поднаберусь знаний и расшифрую ваше послание свыше на мою пустую головешку))
 
Из объяснения понял, что для начала мне стоит изучить фильтры, потому что слышу о них впервые. Если честно, надеялся на кнопку, которая будет действовать как, например, "включить/отключить первую кровь" или "указать кол-во получаемого золота за тик". Но, придется немного обходными путями идти к желаемому результату.
В любом случае, спасибо за подсказку. Поднаберусь знаний и расшифрую ваше послание свыше на мою пустую головешку))
Ну вообще в настройках гейммода вроде как есть gpm и xpm, и стоит там для начала посмотреть
 
Зашифровать с помощью dedicated key
 
Я не представляю что там в Angel Arena Reborn и в какой отдельной папке там код лежит
 
Есть альтернатива кроме dedicatedkey, а то покупать сервер ради того чтобы код спрятать
 
Тебе не нужен сервер, тебе просто с помощью ключа нужно код зашифровать.
 
Если вообще не знаешь как это делать, то забей просто)
 
В Custom Hero Clash так зашифровано. Они нашли либу с реализацией aes на луа и с помощью неё все сделали
 
Реклама: