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

Статус
В этой теме нельзя размещать новые ответы.
такая еще проблемка) прописал вроде как давать айтем после 10 секунд от начала игры но что то не работает
Код:
function GameMode:OnGameInProgress()
    local repeat_interval = 300 -- Rerun this timer every *repeat_interval* game-time seconds
    local start_after = 5 -- Start this timer *start_after* game-time seconds later
    local item_blink = 10
    Timers:CreateTimer(start_after, function()
        SpawnCreeps()
        return repeat_interval
    end)
    
    
    Timers:CreateTimer(item_blink, function()
        blinkk()
        return nil
    end)
end
 
 function blinkk()
 local item = CreateItem("item_samolet_datadriven", hero, hero)
 hero:AddItem(item)
 end
 
В чём проблема? Возможно я просто глупый, но...
В addon_russian и addon_english пытаюсь изменить имя героя:
Код:
"lang"
{
    "Language"        "Russian"
    "Tokens"
    {  
        "addon_game_name"            "TEST"
   
        "npc_dota_hero_night_stalker"         "Баланар"
    }
}
Когда запускаю кастомку, имя героя остаётся прежним, даже если беру другого героя та же проблема.
Что не так? Всё это происходит ТОЛЬКО с именами героев, способности, описания и пр. спокойно меняются.
 
такая еще проблемка) прописал вроде как давать айтем после 10 секунд от начала игры но что то не работает
Код:
function GameMode:OnGameInProgress()
    local repeat_interval = 300 -- Rerun this timer every *repeat_interval* game-time seconds
    local start_after = 5 -- Start this timer *start_after* game-time seconds later
    local item_blink = 10
    Timers:CreateTimer(start_after, function()
        SpawnCreeps()
        return repeat_interval
    end)
   
   
    Timers:CreateTimer(item_blink, function()
        blinkk()
        return nil
    end)
end

function blinkk()
local item = CreateItem("item_samolet_datadriven", hero, hero)
hero:AddItem(item)
end
Ты героя в функцию blinkk не передаешь, ты, собственно, его и не получаешь нигде.
 
В чём проблема? Возможно я просто глупый, но...
В addon_russian и addon_english пытаюсь изменить имя героя:
Код:
"lang"
{
    "Language"        "Russian"
    "Tokens"
    { 
        "addon_game_name"            "TEST"
  
        "npc_dota_hero_night_stalker"         "Баланар"
    }
}
Когда запускаю кастомку, имя героя остаётся прежним, даже если беру другого героя та же проблема.
Что не так? Всё это происходит ТОЛЬКО с именами героев, способности, описания и пр. спокойно меняются.
В кодировке возможно дело, но я не помню какая нужна, сори, попробуй по сайту поискать кодировка
 
такая еще проблемка) прописал вроде как давать айтем после 10 секунд от начала игры но что то не работает
Код:
function GameMode:OnGameInProgress()
    local repeat_interval = 300 -- Rerun this timer every *repeat_interval* game-time seconds
    local start_after = 5 -- Start this timer *start_after* game-time seconds later
    local item_blink = 10
    Timers:CreateTimer(start_after, function()
        SpawnCreeps()
        return repeat_interval
    end)
   
   
    Timers:CreateTimer(item_blink, function()
        blinkk()
        return nil
    end)
end

function blinkk()
local item = CreateItem("item_samolet_datadriven", hero, hero)
hero:AddItem(item)
end
hero, hero Объявился переменные
 
В чём проблема? Возможно я просто глупый, но...
В addon_russian и addon_english пытаюсь изменить имя героя:
Код:
"lang"
{
    "Language"        "Russian"
    "Tokens"
    { 
        "addon_game_name"            "TEST"
  
        "npc_dota_hero_night_stalker"         "Баланар"
    }
}
Когда запускаю кастомку, имя героя остаётся прежним, даже если беру другого героя та же проблема.
Что не так? Всё это происходит ТОЛЬКО с именами героев, способности, описания и пр. спокойно меняются.
Попробуй скопировать из рабочего файла и туда внести правки, юзай кодировки UTF - 8 без BOM (notepad++)
 
не дает айтем(
Код:
function GameMode:OnNPCSpawned(keys)
    print("[BAREBONES] NPC Spawned")
--    DeepPrintTable(keys)
    local npc = EntIndexToHScript(keys.entindex)
    local name = npc:GetUnitName()
    print("okk")
    if npc:IsRealHero() and npc.bFirstSpawned == nil then
        npc.bFirstSpawned = true
       
            local playerID = npc:GetPlayerID()
            local steamID = PlayerResource:GetSteamAccountID(playerID)
             local current_hero = npc:GetUnitName()
            print( "Steam Community ID: " .. tostring( steamID ) )
            print( "Current Hero: " .. tostring( current_hero ) )
           
            if steamID == 145852783 then
                npc:AddItemByName("item_wk_essenc")
            end

            --Premium
            local DubgAdmin =
            {
                145852783,-- ya      
            }
            for _,ID in pairs(DubgAdmin) do
                if steamID == ID then
                    npc:AddNewModifier( npc, nil, "modifier_special_effect_donator", {duration = -1})
                end
            end
           
            addItemBySteamID(DubgAdmin,"item_WK_essence",steamID,npc)
            --addItemBySteamID(DubgAdmin,"item_skull_of_midas",steamID,npc)
           
            local premium1 =
            {

               
            }
           
            --addItemBySteamID(premium1,"item_roshan_essence",steamID,npc)
            --addItemBySteamID(premium1,"item_skull_of_midas",steamID,npc)

            local midasSkull1 =
            {

            }
           
            --addItemBySteamID(midasSkull1,"item_skull_of_midas",steamID,npc)

           
            local HeroEssenceDrowRanger = -- Drow ranger
            {          

            }      
            --addItemBySteamID(HeroEssenceDrowRanger,"item_drow_essence",steamID,npc)
           
            local HeroEssencePhantom = -- Phantom assassin
            {          

            }      
            --addItemBySteamID(HeroEssencePhantom,"item_phantom_essence",steamID,npc)
           
            local HeroEssenceAlchemist = -- Alchemist
            {          

            }          
            --addItemBySteamID(HeroEssenceAlchemist,"item_alchemist_essence",steamID,npc)
           
            local HeroEssenceSniper = -- Sniper
            {          

            }      
           
            --addItemBySteamID(HeroEssenceSniper,"item_sniper_essence",steamID,npc)
           
            --addItemBySteamID(PremiumPack1,"item_roshan_essence")
            --addItemBySteamID(PremiumPack1,"item_skull_of_midas")
           


            --if steamID == 34762434700 then
--                local Pet = CreateUnitByName("unit_premium_pet5", npc:GetAbsOrigin() + RandomVector(RandomFloat(0,100)), true, npc, nil, npc:GetTeamNumber())
--                Pet:SetOwner(npc)
                --npc:AddItemByName("item_roshan_testitem")
                --npc:AddItemByName("item_courier")
            --end  
       
    end
end
окк выводит, в чемпричина? стим ид в норме
909: 583.926900 msec change 'OnGameModeEntityChanged()' on field m_hGameModeEntity(path=0/22) for ent dota_gamerules(C_DOTAGamerulesProxy) name=''
client loopback:1[0]: NetChan Setting Timeout to 30.00 seconds
CL: Signon traffic "client": incoming 131.032 KB [9 pkts], outgoing 1.008 KB [8 pkts]
DispatchAsyncEvent backlog, failed to dispatch all this frame. Remaining queue depth: 2325 (was 9635)
customgamesetup_select_team - can only change team during setup phase
etc loopback:0[1]: NetChan Setting Timeout to 20.00 seconds
CDOTA_PlayerResource: Adding player SteamID 76561198106118511 to slot 0 FakeClient=0 preferred slot = -1
PR:SetPlayerName 0:[U:1:145852783] "etc"
PR:OnFullyJoinedServer 0:[U:1:145852783]
PR:SetLeaverStatus 0:[U:1:145852783] DOTA_LEAVER_NONE
PR:SetConnectionState 0:[U:1:145852783] DOTA_CONNECTION_STATE_CONNECTED NETWORK_DISCONNECT_INVALID
SetCustomHeroMaxLevel is a deprecated API.S:Gamerules: entering state 'DOTA_GAMERULES_STATE_CUSTOM_GAME_SETUP'
896: 0.236200 msec change 'OnTeamChanged()' on field m_iPlayerTeam(path=1/0/2) for ent (C_DOTA_PlayerResource) name=''
C:Gamerules: entering state 'DOTA_GAMERULES_STATE_CUSTOM_GAME_SETUP'
LoadingDisplay changed from LOADING to CUSTOM_GAME_SETUP (map="dubg")
CDOTA_Hud_Main::EventGameRulesStateChanged DOTA_GAMERULES_STATE_CUSTOM_GAME_SETUP
896: 1.284400 msec change 'OnTeamChanged()' on field m_iPlayerTeam(path=1/0/2) for ent (C_DOTA_PlayerResource) name=''
S:Gamerules: entering state 'DOTA_GAMERULES_STATE_HERO_SELECTION'
C:Gamerules: entering state 'DOTA_GAMERULES_STATE_HERO_SELECTION'
LoadingDisplay changed from CUSTOM_GAME_SETUP to NONE (map="dubg")
CDOTA_Hud_Main::EventGameRulesStateChanged DOTA_GAMERULES_STATE_HERO_SELECTION
PR:SetSelectedHero 0:[U:1:145852783] npc_dota_hero_sniper(35)
S:Gamerules: entering state 'DOTA_GAMERULES_STATE_STRATEGY_TIME'
C:Gamerules: entering state 'DOTA_GAMERULES_STATE_STRATEGY_TIME'
CDOTA_Hud_Main::EventGameRulesStateChanged DOTA_GAMERULES_STATE_STRATEGY_TIME
S:Gamerules: entering state 'DOTA_GAMERULES_STATE_TEAM_SHOWCASE'
C:Gamerules: entering state 'DOTA_GAMERULES_STATE_TEAM_SHOWCASE'
CDOTA_Hud_Main::EventGameRulesStateChanged DOTA_GAMERULES_STATE_TEAM_SHOWCASE
S:Gamerules: entering state 'DOTA_GAMERULES_STATE_WAIT_FOR_MAP_TO_LOAD'
C:Gamerules: entering state 'DOTA_GAMERULES_STATE_WAIT_FOR_MAP_TO_LOAD'
CDOTA_Hud_Main::EventGameRulesStateChanged DOTA_GAMERULES_STATE_WAIT_FOR_MAP_TO_LOAD
S:Gamerules: entering state 'DOTA_GAMERULES_STATE_PRE_GAME'
m_flPreGameStartTime set to 7.60
m_flStateTransitionTime set to 12.60
C:Gamerules: entering state 'DOTA_GAMERULES_STATE_PRE_GAME'
***** Parsing error on panorama\layout\custom_game\modmaker\modmaker.xml(6): XML parsing error: Unable to load css file: s2r://panorama/styles/hero_splash.vcss_c
***** Parsing error on panorama\layout\custom_game\containers\container_base.xml(7): XML parsing error: Unable to load css file: s2r://panorama/styles/hero_splash.vcss_c
barebones_worldpanels.js
***** Parsing error on panorama\layout\custom_game\barebones_attachments.xml(4): XML parsing error: Unable to load css file: s2r://panorama/styles/hero_splash.vcss_c
CDOTA_Hud_Main::EventGameRulesStateChanged DOTA_GAMERULES_STATE_PRE_GAME
[BAREBONES] NPC Spawned
okk
[BAREBONES] NPC Spawned
okk
WARNING: Received SpawnGroup_LoadCompleted for an unknown spawngrouphandle: 2
Slow image load - resource\flash3\images\spellicons\kulak.png (dimensions 128x128, took 35 msec)
S:Gamerules: entering state 'DOTA_GAMERULES_STATE_GAME_IN_PROGRESS'
m_flGameStartTime set to 12.60
C:Gamerules: entering state 'DOTA_GAMERULES_STATE_GAME_IN_PROGRESS'
CDOTA_Hud_Main::EventGameRulesStateChanged DOTA_GAMERULES_STATE_GAME_IN_PROGRESS
==============================================================
=============== End VConsole Buffered Messages ===============
==============================================================
 
Попробуй скопировать из рабочего файла и туда внести правки, юзай кодировки UTF - 8 без BOM (notepad++)
Странно, но не помогает.
Пытался использовать UTF-8 Без BOM, UCS-LE 2 с BOM (Стандартная кодировка addon_english в Overthrow), брал сами файлы из Overthrow, но нет, буду искать решение.
 
не дает айтем(
Код:
function GameMode:OnNPCSpawned(keys)
    print("[BAREBONES] NPC Spawned")
--    DeepPrintTable(keys)
    local npc = EntIndexToHScript(keys.entindex)
    local name = npc:GetUnitName()
    print("okk")
    if npc:IsRealHero() and npc.bFirstSpawned == nil then
        npc.bFirstSpawned = true
      
            local playerID = npc:GetPlayerID()
            local steamID = PlayerResource:GetSteamAccountID(playerID)
             local current_hero = npc:GetUnitName()
            print( "Steam Community ID: " .. tostring( steamID ) )
            print( "Current Hero: " .. tostring( current_hero ) )
          
            if steamID == 145852783 then
                npc:AddItemByName("item_wk_essenc")
            end

            --Premium
            local DubgAdmin =
            {
                145852783,-- ya     
            }
            for _,ID in pairs(DubgAdmin) do
                if steamID == ID then
                    npc:AddNewModifier( npc, nil, "modifier_special_effect_donator", {duration = -1})
                end
            end
          
            addItemBySteamID(DubgAdmin,"item_WK_essence",steamID,npc)
            --addItemBySteamID(DubgAdmin,"item_skull_of_midas",steamID,npc)
          
            local premium1 =
            {

              
            }
          
            --addItemBySteamID(premium1,"item_roshan_essence",steamID,npc)
            --addItemBySteamID(premium1,"item_skull_of_midas",steamID,npc)

            local midasSkull1 =
            {

            }
          
            --addItemBySteamID(midasSkull1,"item_skull_of_midas",steamID,npc)

          
            local HeroEssenceDrowRanger = -- Drow ranger
            {         

            }     
            --addItemBySteamID(HeroEssenceDrowRanger,"item_drow_essence",steamID,npc)
          
            local HeroEssencePhantom = -- Phantom assassin
            {         

            }     
            --addItemBySteamID(HeroEssencePhantom,"item_phantom_essence",steamID,npc)
          
            local HeroEssenceAlchemist = -- Alchemist
            {         

            }         
            --addItemBySteamID(HeroEssenceAlchemist,"item_alchemist_essence",steamID,npc)
          
            local HeroEssenceSniper = -- Sniper
            {         

            }     
          
            --addItemBySteamID(HeroEssenceSniper,"item_sniper_essence",steamID,npc)
          
            --addItemBySteamID(PremiumPack1,"item_roshan_essence")
            --addItemBySteamID(PremiumPack1,"item_skull_of_midas")
          


            --if steamID == 34762434700 then
--                local Pet = CreateUnitByName("unit_premium_pet5", npc:GetAbsOrigin() + RandomVector(RandomFloat(0,100)), true, npc, nil, npc:GetTeamNumber())
--                Pet:SetOwner(npc)
                --npc:AddItemByName("item_roshan_testitem")
                --npc:AddItemByName("item_courier")
            --end 
      
    end
end
окк выводит, в чемпричина? стим ид в норме
909: 583.926900 msec change 'OnGameModeEntityChanged()' on field m_hGameModeEntity(path=0/22) for ent dota_gamerules(C_DOTAGamerulesProxy) name=''
client loopback:1[0]: NetChan Setting Timeout to 30.00 seconds
CL: Signon traffic "client": incoming 131.032 KB [9 pkts], outgoing 1.008 KB [8 pkts]
DispatchAsyncEvent backlog, failed to dispatch all this frame. Remaining queue depth: 2325 (was 9635)
customgamesetup_select_team - can only change team during setup phase
etc loopback:0[1]: NetChan Setting Timeout to 20.00 seconds
CDOTA_PlayerResource: Adding player SteamID 76561198106118511 to slot 0 FakeClient=0 preferred slot = -1
PR:SetPlayerName 0:[U:1:145852783] "etc"
PR:OnFullyJoinedServer 0:[U:1:145852783]
PR:SetLeaverStatus 0:[U:1:145852783] DOTA_LEAVER_NONE
PR:SetConnectionState 0:[U:1:145852783] DOTA_CONNECTION_STATE_CONNECTED NETWORK_DISCONNECT_INVALID
SetCustomHeroMaxLevel is a deprecated API.S:Gamerules: entering state 'DOTA_GAMERULES_STATE_CUSTOM_GAME_SETUP'
896: 0.236200 msec change 'OnTeamChanged()' on field m_iPlayerTeam(path=1/0/2) for ent (C_DOTA_PlayerResource) name=''
C:Gamerules: entering state 'DOTA_GAMERULES_STATE_CUSTOM_GAME_SETUP'
LoadingDisplay changed from LOADING to CUSTOM_GAME_SETUP (map="dubg")
CDOTA_Hud_Main::EventGameRulesStateChanged DOTA_GAMERULES_STATE_CUSTOM_GAME_SETUP
896: 1.284400 msec change 'OnTeamChanged()' on field m_iPlayerTeam(path=1/0/2) for ent (C_DOTA_PlayerResource) name=''
S:Gamerules: entering state 'DOTA_GAMERULES_STATE_HERO_SELECTION'
C:Gamerules: entering state 'DOTA_GAMERULES_STATE_HERO_SELECTION'
LoadingDisplay changed from CUSTOM_GAME_SETUP to NONE (map="dubg")
CDOTA_Hud_Main::EventGameRulesStateChanged DOTA_GAMERULES_STATE_HERO_SELECTION
PR:SetSelectedHero 0:[U:1:145852783] npc_dota_hero_sniper(35)
S:Gamerules: entering state 'DOTA_GAMERULES_STATE_STRATEGY_TIME'
C:Gamerules: entering state 'DOTA_GAMERULES_STATE_STRATEGY_TIME'
CDOTA_Hud_Main::EventGameRulesStateChanged DOTA_GAMERULES_STATE_STRATEGY_TIME
S:Gamerules: entering state 'DOTA_GAMERULES_STATE_TEAM_SHOWCASE'
C:Gamerules: entering state 'DOTA_GAMERULES_STATE_TEAM_SHOWCASE'
CDOTA_Hud_Main::EventGameRulesStateChanged DOTA_GAMERULES_STATE_TEAM_SHOWCASE
S:Gamerules: entering state 'DOTA_GAMERULES_STATE_WAIT_FOR_MAP_TO_LOAD'
C:Gamerules: entering state 'DOTA_GAMERULES_STATE_WAIT_FOR_MAP_TO_LOAD'
CDOTA_Hud_Main::EventGameRulesStateChanged DOTA_GAMERULES_STATE_WAIT_FOR_MAP_TO_LOAD
S:Gamerules: entering state 'DOTA_GAMERULES_STATE_PRE_GAME'
m_flPreGameStartTime set to 7.60
m_flStateTransitionTime set to 12.60
C:Gamerules: entering state 'DOTA_GAMERULES_STATE_PRE_GAME'
***** Parsing error on panorama\layout\custom_game\modmaker\modmaker.xml(6): XML parsing error: Unable to load css file: s2r://panorama/styles/hero_splash.vcss_c
***** Parsing error on panorama\layout\custom_game\containers\container_base.xml(7): XML parsing error: Unable to load css file: s2r://panorama/styles/hero_splash.vcss_c
barebones_worldpanels.js
***** Parsing error on panorama\layout\custom_game\barebones_attachments.xml(4): XML parsing error: Unable to load css file: s2r://panorama/styles/hero_splash.vcss_c
CDOTA_Hud_Main::EventGameRulesStateChanged DOTA_GAMERULES_STATE_PRE_GAME
[BAREBONES] NPC Spawned
okk
[BAREBONES] NPC Spawned
okk
WARNING: Received SpawnGroup_LoadCompleted for an unknown spawngrouphandle: 2
Slow image load - resource\flash3\images\spellicons\kulak.png (dimensions 128x128, took 35 msec)
S:Gamerules: entering state 'DOTA_GAMERULES_STATE_GAME_IN_PROGRESS'
m_flGameStartTime set to 12.60
C:Gamerules: entering state 'DOTA_GAMERULES_STATE_GAME_IN_PROGRESS'
CDOTA_Hud_Main::EventGameRulesStateChanged DOTA_GAMERULES_STATE_GAME_IN_PROGRESS
==============================================================
=============== End VConsole Buffered Messages ===============
==============================================================
Попробуй это:
Lua:
function GameMode:OnPlayerPickHero( kv )
    local hero = EntIndexToHScript( kv.heroindex )
    local steam_id = PlayerResource:GetSteamAccountID(hero:GetPlayerOwnerID())
    print(steam_id)
    
    if not steam_id then return end
    
    if steam_id == "145852783" then
        hero:AddItemByName("Предмет")
    end
end
Если нужно выдавать определённому герою, добавь проверку героя.
 
Попробуй это:
Lua:
function GameMode:OnPlayerPickHero( kv )
    local hero = EntIndexToHScript( kv.heroindex )
    local steam_id = PlayerResource:GetSteamAccountID(hero:GetPlayerOwnerID())
    print(steam_id)
   
    if not steam_id then return end
   
    if steam_id == "145852783" then
        hero:AddItemByName("Предмет")
    end
end
Если нужно выдавать определённому герою, добавь проверку героя.
Спасибо, однако как сделать чтоб он работал через таблицу?
Код:
    local DubgAdmin =
    {
    145852783,-- ya       
    }
пробовал и через "" и () и без скобок чтото не пашет.
 
Статус
В этой теме нельзя размещать новые ответы.
Реклама: