Проблема с реконнкетом

  • Официальное уведомление администрации CustomGames.RU
    В связи с масштабным техническим сбоем в инфраструктуре прежнего хостинг-провайдера (Beget), работа форума CustomGames.RU была оперативно перенесена на новую серверную площадку и развёрнута из резервной копии базы данных.

    • Безопасность данных: учётные записи и данные пользователей находятся в полной безопасности. Все пароли и защищаемые параметры хранятся исключительно в криптографически зашифрованном (хэшированном) виде — никаких критических инцидентов для аккаунтов пользователей не произошло.
    • Временные технические ограничения: на этапе синхронизации файлового хранилища часть статических материалов (пользовательские аватары и архивные вложения) временно недоступна. По мере получения доступа к файловым архивам все материалы будут восстановлены в полном объёме.

vulkantsk

Администратор
Команда форума
21 Июн 2017
1,266
207
www.dotabuff.com
Проект
Roshan defense
Когда игрок выходит я добавляю ему модифаер неуязвимости ,а когда реконнектится , то удаляю с него этот модификатор.
Так вот когда реконнект происходит , то модифаер до сих пор висит на юните , что делать ?
P.S. Kод скину позже !
 
  • Нравится
Реакции: makc45tlist
Если не удаляет именно твой модификатор, попробуй снять ВСЕ модификаторы, purge все бафы на нем и все
 
Код:
function Activate()
    ListenToGameEvent("player_disconnect", Dynamic_Wrap(GameMode, "OnDisconnect"), self)
    ListenToGameEvent("player_reconnected", Dynamic_Wrap(GameMode, "OnReconnect"), self)
end

function GameMode:OnDisconnect(keys)
    local hero = PlayerResource:GetPlayer(keys.PlayerID):GetAssignedHero()
    hero:RespawnHero(false,false)
    hero:AddNewModifier(hero, nil, "modifier_tutorial_sleep", nil)
    hero:AddNewModifier(hero, nil, "modifier_invulnerable", nil)
end

function GameMode:OnReconnect(keys)
    local hero = PlayerResource:GetPlayer(keys.PlayerID):GetAssignedHero()
    hero:RemoveModifierByName("modifier_invulnerable")
    hero:RemoveModifierByName("modifier_tutorial_sleep")
end
 
Сперва проверь, выполняется ли вообще функция и корректно ли берет класс героя, если же все верно, то попробуй наложить модифаер этот же, например на 0.05 сек
Так же есть более простая функция взятия класса героя: PlayerResource:GetSelectedHeroEntity( ID )
А еще... вроде слушатель реконнекта именно "dota_player_reconnected"
 
Последнее редактирование:
  • Нравится
Реакции: vulkantsk
Сперва проверь, выполняется ли вообще функция и корректно ли берет класс героя, если же все верно, то попробуй наложить модифаер этот же, например на 0.05 сек
Так же есть более простая функция взятия класса героя: PlayerResource:GetSelectedHeroEntity( ID )
А еще... вроде слушатель реконнекта именно "dota_player_reconnected"
откуда инфа ?
 
Реклама: