Как удалить героя игрока, если тот отключился?

GooDDarK

Активный
27 Окт 2017
102
2
steamcommunity.com
Проект
Naruto Wars Reborn
Как можно удалить героя или сменить команду игрока на "наблюдателя" (если такое есть вообще), если игрок отключился и вернуть героя игрока или самого игрока в команду, в которой он был, если он переподключился?

Про функции OnDisconnect и OnReconnect знаю, но как именно это сделать ваще хз...
 
Как можно удалить героя или сменить команду игрока на "наблюдателя" (если такое есть вообще), если игрок отключился и вернуть героя игрока или самого игрока в команду, в которой он был, если он переподключился?

Про функции OnDisconnect и OnReconnect знаю, но как именно это сделать ваще хз...
Если ты хочешь, что бы героя просто не было на месте, AddNoDraw(),его спрячет
 
Если ты хочешь, что бы героя просто не было на месте, AddNoDraw(),его спрячет

Не, над именно удалить. У меня прост скрипт возрождает и тпшит на респаун игроков после их смерти, но если кто-то ливнет, то кастомка тупо зависает, когда скрипт пытается возродить и/или тпшнуть героя игрока, который ливнул...
 
Не, над именно удалить. У меня прост скрипт возрождает и тпшит на респаун игроков после их смерти, но если кто-то ливнет, то кастомка тупо зависает, когда скрипт пытается возродить и/или тпшнуть героя игрока, который ливнул...
Проверяй на то, что герой вальдный и всё
 
Lua:
function CustomGameMode:InitGameMode () --В пустой скобке оставь что было по стандарту
    ListenToGameEvent("player_disconnect", Dynamic_Wrap(CustomGameMode, "OnDisconnect"), self)
    ListenToGameEvent("player_reconnected", Dynamic_Wrap(CustomGameMode, "OnReconnect"), self)
end
function CustomGameMode:OnDisconnect(keys)
    local hero = PlayerResource:GetPlayer(keys.PlayerID):GetAssignedHero()
    hero:RespawnHero(false,false)
    hero:AddNewModifier(hero, nil, "modifier_phoenix_supernova_hiding", nil)
end
function CustomGameMode:OnReconnect(keys)
    local hero = PlayerResource:GetPlayer(keys.PlayerID):GetAssignedHero()
    hero:AddNewModifier(hero, nil, "modifier_phoenix_supernova_hiding", {duration = 0.00})
end
 
Последнее редактирование:
Lua:
function CustomGameMode:InitGameMode () --В пустой скобке оставь что было по стандарту
    ListenToGameEvent("player_disconnect", Dynamic_Wrap(CustomGameMode, "OnDisconnect"), self)
    ListenToGameEvent("player_reconnected", Dynamic_Wrap(CustomGameMode, "OnReconnect"), self)
end
function CustomGameMode:OnDisconnect(keys)
    local hero = PlayerResource:GetPlayer(keys.PlayerID):GetAssignedHero()
    hero:RespawnHero(false,false)
    hero:AddNewModifier(hero, nil, "modifier_phoenix_supernova_hiding", nil)
end
    hero:RemoveItem(hero:GetItemInSlot(0))
    hero:RemoveItem(hero:GetItemInSlot(1))
end
function CustomGameMode:OnReconnect(keys)
    local hero = PlayerResource:GetPlayer(keys.PlayerID):GetAssignedHero()
    hero:AddNewModifier(hero, nil, "modifier_phoenix_supernova_hiding", {duration = 0.00})
end
У тебя код кривой
 
Реклама: