Решено Не работает функция OnNPCSpawned в addon_game_mode

9essential_

Пользователь
15 Ноя 2020
42
1
steamcommunity.com
Проект
Pudge Wars Reborn
Хочу чтобы у меня были встроенные скиллы вначале игры, но у меня ничего не получается, а игра не выдаёт никакую ошибку, вот и хочу спросить что делац?

Код:
-- Generated from template

if CAddonTemplateGameMode == nil then
    CAddonTemplateGameMode = class({})
end

GOLD_PER_TICK = 100                     -- How much gold should players get per tick?
GOLD_TICK_TIME = 5                      -- How long should we wait in seconds between gold ticks?

---------------------------------------------------------------------------
-- Required .lua files
---------------------------------------------------------------------------
require( "timers" )
require( "physics" )
require( "utility_functions" )
require( "util" )
---------------------------------------------------------------------------
-- Precache
---------------------------------------------------------------------------
function Precache( context )
    --Cache sounds for traps
        PrecacheResource( "soundfile", "soundevents/memes_reborn2_sounds.vsndevts", context )
end

DOTA_GOLD_TICK_TIME = 0.5
DOTA_GOLD_PER_TICK = 1

-- Create the game mode when we activate
function Activate()
    GameRules.AddonTemplate = CAddonTemplateGameMode()
    GameRules.AddonTemplate:InitGameMode()
end

function CAddonTemplateGameMode:InitGameMode()
    print( "Template addon is loaded." )
    GameRules:GetGameModeEntity():SetThink( "OnThink", self, "GlobalThink", 2 )

    GameRules:SetGoldTickTime( 0 ) --- ЗАЕБАЛ ЖИРНЫЙ, СУКА, ПРИДЕТСЯ САМОМУ ДЕЛАТЬ ИЗ_ЗА ТЕБЯ!
    GameRules:SetGoldPerTick( 0 )

    Timers:CreateTimer(5, function() CAddonTemplateGameMode:GoldTickTimer() return DOTA_GOLD_TICK_TIME end)
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

function CAddonTemplateGameMode:OnNPCSpawned()
    local spawnedUnit = EntIndexToHScript(entindex)
    if spawnedUnit:IsRealHero() then
        npc.bFirstSpawned = true
        CAddonTemplateGameMode:OnHeroInGame(npc)
    end
    local backtrack = spawnedUnit:FindAbilityByName("faceless_void_backtrack")
    local ransack = spawnedUnit:FindAbilityByName("meepo_ransack")
    local qop_blink = spawnedUnit:FindAbilityByName("queenofpain_blink")
    local tank = spawnedUnit:FindAbilityByName("abrams_hull_upgrade")
    local mkb = spawnedUnit:FindAbilityByName("monkey_king_mkb")

    if backtrack then
        backtrack:SetLevel(1)
    end
    if ransack then
        ransack:SetLevel(1)
    end   
    if qop_blink then
        qop_blink:SetLevel(1)
    end
    if tank then
        tank:SetLevel(1)
    end
    if mkb then
        mkb:SetLevel(1)
    end       
end

function CAddonTemplateGameMode:GoldTickTimer()
    if GameRules:State_Get() == DOTA_GAMERULES_STATE_GAME_IN_PROGRESS then
        for i = 0, DOTA_MAX_PLAYERS - 1 do
            if PlayerResource:IsValidPlayerID(i) and PlayerResource:GetConnectionState(i) <= 2 then
                PlayerResource:ModifyGold(i, DOTA_GOLD_PER_TICK, true, DOTA_ModifyGold_Unspecified)
            end
        end
    end
end
 

vulkantsk

Супермодератор
Команда форума
21 Июн 2017
1,137
196
www.dotabuff.com
Проект
Roshan defense
Тебе сначало надо подключить слушатель
 

9essential_

Пользователь
15 Ноя 2020
42
1
steamcommunity.com
Проект
Pudge Wars Reborn
Тебе сначало надо подключить слушатель
Спасибо <3
 
Реклама: