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

Статус
В этой теме нельзя размещать новые ответы.

almazist1

Продвинутый
такая еще проблемка) прописал вроде как давать айтем после 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
 

doozer

Пользователь
9 Сен 2018
46
2
В чём проблема? Возможно я просто глупый, но...
В addon_russian и addon_english пытаюсь изменить имя героя:
Код:
"lang"
{
    "Language"        "Russian"
    "Tokens"
    {  
        "addon_game_name"            "TEST"
   
        "npc_dota_hero_night_stalker"         "Баланар"
    }
}
Когда запускаю кастомку, имя героя остаётся прежним, даже если беру другого героя та же проблема.
Что не так? Всё это происходит ТОЛЬКО с именами героев, способности, описания и пр. спокойно меняются.
 

I_GRIN_I

Друзья CG
15 Мар 2016
1,335
105
такая еще проблемка) прописал вроде как давать айтем после 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 не передаешь, ты, собственно, его и не получаешь нигде.
 

I_GRIN_I

Друзья CG
15 Мар 2016
1,335
105
В чём проблема? Возможно я просто глупый, но...
В addon_russian и addon_english пытаюсь изменить имя героя:
Код:
"lang"
{
    "Language"        "Russian"
    "Tokens"
    { 
        "addon_game_name"            "TEST"
  
        "npc_dota_hero_night_stalker"         "Баланар"
    }
}
Когда запускаю кастомку, имя героя остаётся прежним, даже если беру другого героя та же проблема.
Что не так? Всё это происходит ТОЛЬКО с именами героев, способности, описания и пр. спокойно меняются.
В кодировке возможно дело, но я не помню какая нужна, сори, попробуй по сайту поискать кодировка
 

HappyFeedFriends

Друзья CG
14 Авг 2017
540
32
Проект
Battle Heroes Arena
такая еще проблемка) прописал вроде как давать айтем после 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 Объявился переменные
 

HappyFeedFriends

Друзья CG
14 Авг 2017
540
32
Проект
Battle Heroes Arena
В чём проблема? Возможно я просто глупый, но...
В addon_russian и addon_english пытаюсь изменить имя героя:
Код:
"lang"
{
    "Language"        "Russian"
    "Tokens"
    { 
        "addon_game_name"            "TEST"
  
        "npc_dota_hero_night_stalker"         "Баланар"
    }
}
Когда запускаю кастомку, имя героя остаётся прежним, даже если беру другого героя та же проблема.
Что не так? Всё это происходит ТОЛЬКО с именами героев, способности, описания и пр. спокойно меняются.
Попробуй скопировать из рабочего файла и туда внести правки, юзай кодировки UTF - 8 без BOM (notepad++)
 

almazist1

Продвинутый
не дает айтем(
Код:
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 ===============
==============================================================
 

doozer

Пользователь
9 Сен 2018
46
2
Попробуй скопировать из рабочего файла и туда внести правки, юзай кодировки UTF - 8 без BOM (notepad++)
Странно, но не помогает.
Пытался использовать UTF-8 Без BOM, UCS-LE 2 с BOM (Стандартная кодировка addon_english в Overthrow), брал сами файлы из Overthrow, но нет, буду искать решение.
 

doozer

Пользователь
9 Сен 2018
46
2
не дает айтем(
Код:
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
Если нужно выдавать определённому герою, добавь проверку героя.
 

almazist1

Продвинутый
Попробуй это:
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       
    }
пробовал и через "" и () и без скобок чтото не пашет.
 
Статус
В этой теме нельзя размещать новые ответы.
Реклама: