Выдача вещей по steam id не пашет(

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
хотелось бы давать вещь по стим иду, но не дает, знаю что можно сделать так
Код:
  DebugPrint('[BAREBONES] OnPlayerPickHero')
  DebugPrintTable(keys)

  local hero = EntIndexToHScript( keys.heroindex )
  local player = EntIndexToHScript(keys.player)
  local steam_id = PlayerResource:GetSteamAccountID(hero:GetPlayerOwnerID())
    print(steam_id)
    
    if not steam_id then
    return 
    end
    local DubgAdmin = 
    {
    145852783,-- ya        
    }
    if steam_id == 145852783 then
        hero:AddItemByName("item_wk_essence")
    end
но мне такое не пойдет.
 

I_GRIN_I

Друзья CG
15 Мар 2016
1,335
105
local DubgAdmin =
{
[145852783] = true
}
if DubgAdmin[steam_id] then
hero:AddItemByName("item_wk_essence")
end
 
  • Нравится
Реакции: almazist1

almazist1

Продвинутый
Последнее редактирование:

xDes

Продвинутый
8 Ноя 2018
232
34
Проект
Boss Survival Adventure
у меня так
Код:
function CAddonAdvExGameMode:OnNPCSpawned(data)
    local npc = EntIndexToHScript(data.entindex)
    if npc:IsRealHero() and npc.bFirstSpawned == nil then
            npc.bFirstSpawned = true
            local playerID = npc:GetPlayerID()
            local steamID = PlayerResource:GetSteamAccountID(playerID)
        if steamID == 99999999 then    -- кому
                npc:AddItemByName("item_gift") ----take item
                npc:AddNewModifier( npc, nil, "modifier_omninight_guardian_angel", { duration = 6 } )
        end
        end
        end
 

almazist1

Продвинутый
у меня так
Код:
function CAddonAdvExGameMode:OnNPCSpawned(data)
    local npc = EntIndexToHScript(data.entindex)
    if npc:IsRealHero() and npc.bFirstSpawned == nil then
            npc.bFirstSpawned = true
            local playerID = npc:GetPlayerID()
            local steamID = PlayerResource:GetSteamAccountID(playerID)
        if steamID == 99999999 then    -- кому
                npc:AddItemByName("item_gift") ----take item
                npc:AddNewModifier( npc, nil, "modifier_omninight_guardian_angel", { duration = 6 } )
        end
        end
        end
не пашет(
 

xDes

Продвинутый
8 Ноя 2018
232
34
Проект
Boss Survival Adventure

Код:
    ListenToGameEvent('npc_spawned', Dynamic_Wrap(CAddonAdvExGameMode, 'OnNPCSpawned'), self)

function CAddonAdvExGameMode:OnNPCSpawned(data)
    local npc = EntIndexToHScript(data.entindex)
    if npc:IsRealHero() and npc.bFirstSpawned == nil then
            npc.bFirstSpawned = true
            local playerID = npc:GetPlayerID()
            local steamID = PlayerResource:GetSteamAccountID(playerID)
            if steamID == 99999999 then    -- кому
                npc:AddItemByName("item_heart") ----take item
                npc:AddNewModifier( npc, nil, "modifier_omninight_guardian_angel", { duration = 6 } )
        end
        end
        end
вот так у меня и работает на 100%


I_GRIN_I, помоги с моим вопросом....
 

almazist1

Продвинутый
Код:
    ListenToGameEvent('npc_spawned', Dynamic_Wrap(CAddonAdvExGameMode, 'OnNPCSpawned'), self)

function CAddonAdvExGameMode:OnNPCSpawned(data)
    local npc = EntIndexToHScript(data.entindex)
    if npc:IsRealHero() and npc.bFirstSpawned == nil then
            npc.bFirstSpawned = true
            local playerID = npc:GetPlayerID()
            local steamID = PlayerResource:GetSteamAccountID(playerID)
            if steamID == 99999999 then    -- кому
                npc:AddItemByName("item_heart") ----take item
                npc:AddNewModifier( npc, nil, "modifier_omninight_guardian_angel", { duration = 6 } )
        end
        end
        end
вот так у меня и работает на 100%


I_GRIN_I, помоги с моим вопросом....
мб я свой стим ид путаю , как точнее его узнать?
steamID64: 76561198106118511
steamID3: [U:1:145852783]
steamID: STEAM_1:1:72926391
 

almazist1

Продвинутый
Ну распринтуй steam_id, лол. Может у тебя вообще предмет с ошибкой, потому и не пашет.
предмет в порядке
Код:
  DebugPrint('[BAREBONES] OnPlayerPickHero')
  DebugPrintTable(keys)

  local hero = EntIndexToHScript( keys.heroindex )
  local player = EntIndexToHScript(keys.player)
  local steam_id = PlayerResource:GetSteamAccountID(hero:GetPlayerOwnerID())
    print(steam_id)
    
    if not steam_id then
    return
    end
    local DubgAdmin =
    {
    145852783,-- ya       
    }
    if steam_id == 145852783 then
        hero:AddItemByName("item_wk_essence")
    end
так дается
по другому нет
 
Реклама: