CustomGames.ru - Dota 2 пользовательские игры

Спавнится что-то типо илюзий игроков которые были убиты на моей карте

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн MapMaker

  • 5
  • Мощь: 0
Прошу помочь я делал карту по одном видео типа как сделать респавн крипов так вот крипы спавнятся но после убийства игрока и башни спавнятся что-то типа илюзий и ето не дает играть вот код помогите пж--------------------------------------------------------------------------------
-- Integer constants
--------------------------------------------------------------------------------
_G.nNEUTRAL_TEAM = 4
_G.nCREATURE_RESPAWN_TIME = 60
 
if CAddonTemplateGameMode == nil then
        CAddonTemplateGameMode = class({})
end
 
function Precache( context )
        --[[
                Precache things we know we'll use.  Possible file types include (but not limited to):
                        PrecacheResource( "model", "*.vmdl", context )
                        PrecacheResource( "soundfile", "*.vsndevts", context )
                        PrecacheResource( "particle", "*.vpcf", context )
                        PrecacheResource( "particle_folder", "particles/folder", context )
        ]]
end
 
function OnEntityKilled (event)
    local killedEntity = EntIndexToHScript(event.entindex_killed)
        local sCreatureName = killedEntity:GetUnitName()
        local vSpawnLoc = killedEntity.vSpawnLoc
        if (vSpawnLoc == nil) then
                print ("location not found")
                vSpawnLoc = killedEntity:GetOrigin()
        end
        local vSpawnVector = killedEntity.vSpawnVector
         
        GameRules:GetGameModeEntity():SetContextThink (string.format( "CreatureThink_%d", event.entindex_killed ), function () SpawnUnit(sCreatureName, vSpawnLoc, vSpawnVector) end, nCREATURE_RESPAWN_TIME)
 end
 
 function SpawnUnit (sCreatureName, vSpawnLoc, vSpawnVector)
        local hUnit = CreateUnitByName(sCreatureName, vSpawnLoc, true, nil, nil, nNEUTRAL_TEAM )
        hUnit:SetForwardVector(vSpawnVector)
        hUnit.vSpawnLoc = vSpawnLoc
        hUnit.vSpawnVector = vSpawnVector
 end
 
-- Create the game mode when we activate
function Activate()
        GameRules.AddonTemplate = CAddonTemplateGameMode()
        GameRules.AddonTemplate:InitGameMode()
        ListenToGameEvent("entity_killed", OnEntityKilled, nil)
       
        local allUnits = FindUnitsInRadius(nNEUTRAL_TEAM,
                              Vector(0, 0, 0),
                              nil,
                              FIND_UNITS_EVERYWHERE,
                              DOTA_UNIT_TARGET_TEAM_FRIENDLY,
                              DOTA_UNIT_TARGET_ALL,
                              DOTA_UNIT_TARGET_FLAG_NONE,
                              FIND_ANY_ORDER,
                              false)   
        print (allUnits)
        for k, hUnit in pairs( allUnits ) do
                hUnit.vSpawnLoc = hUnit:GetOrigin()
                hUnit.vSpawnVector = hUnit:GetForwardVector()
                print (hUnit.vSpawnVector)
        end
end
 
function CAddonTemplateGameMode:InitGameMode()
        print( "Template addon is loaded." )
        GameRules:GetGameModeEntity():SetThink( "OnThink", self, "GlobalThink", 2 )
end
 
-- Evaluate the state of the game
function CAddonTemplateGameMode:OnThink()
        if GameRules:State_Get() == DOTA_GAMERULES_STATE_GAME_IN_PROGRESS then
                --print( "Template addon script is running." )
        elseif GameRules:State_Get() >= DOTA_GAMERULES_STATE_POST_GAME then
                return nil
        end
        return 1
end

Оффлайн Илья

  • Супермодератор
  • 1892
  • Мощь: 16
Ну ты и спавнишь абсолютно всех, кто умирает:

Код
function OnEntityKilled (event)
    local killedEntity = EntIndexToHScript(event.entindex_killed)
        local sCreatureName = killedEntity:GetUnitName()
        local vSpawnLoc = killedEntity.vSpawnLoc
        if (vSpawnLoc == nil) then
                print ("location not found")
                vSpawnLoc = killedEntity:GetOrigin()
        end
        local vSpawnVector = killedEntity.vSpawnVector
         
        GameRules:GetGameModeEntity():SetContextThink (string.format( "CreatureThink_%d", event.entindex_killed ), function () SpawnUnit(sCreatureName, vSpawnLoc, vSpawnVector) end, nCREATURE_RESPAWN_TIME)
 end

Если ты этого не понимаешь из своего куска кода, то посиди за учебником по lua.

Оффлайн MapMaker

  • 5
  • Мощь: 0
Кто-то может помочь мне и переписать етот код чтобы не спавнились все а только нейтральные крипы? помогите пожалуйста

Оффлайн Adam Smith

  • Друзья CG
  • 466
  • Мощь: 6
  • жрять жри его
Кто-то может помочь мне и переписать етот код чтобы не спавнились все а только нейтральные крипы? помогите пожалуйста
Для начала, прочитай этот гайд. Он поможет.
By PG.Freeman

Оффлайн MapMaker

  • 5
  • Мощь: 0

Оффлайн Илья

  • Супермодератор
  • 1892
  • Мощь: 16
Я не русский

С этого и надо было начинать. Кто тогда?
А то легко принять за ленивого ребенка.

Оффлайн MapMaker

  • 5
  • Мощь: 0
Я из Украины, немного плохо знаю русский.

Оффлайн MapMaker

  • 5
  • Мощь: 0
Лучше бы вы за это время помогли исправить код а не говорить о моем русском....

Онлайн ZLOY

  • Супермодератор
  • 360
  • Мощь: 4