Панорама, гайд или обучение

xDes

Продвинутый
8 Ноя 2018
232
34
Проект
Boss Survival Adventure
День добрый, хотел бы попросить помощи у более опытных. Возможно есть какой-то гайд (я не нашел что-то рабочее) или кто-то может научить работать с панорамой.
В частности нужно вызывать по триггеру примерно вот такоеrub.png
и когда бьешь босса вот такоеrub2.png
готов оплатить за обучение, или за пример или за гайд.
 

xDes

Продвинутый
8 Ноя 2018
232
34
Проект
Boss Survival Adventure
да спасибо, я видел это, но не совсем то да и все понять не могу, например там типо убей 15 крипов, а что их считает и передает в js я понять не могу.
 

xDes

Продвинутый
8 Ноя 2018
232
34
Проект
Boss Survival Adventure
1.png ну вот, я вижу что он тут задает, но оно никак не связано с lua, или оно не должно быть связано? но тогда как он узнает что мне надо убить например 10 npc_unit? и как он понимает сколько их убито если он нигде не считает их?
 

xDes

Продвинутый
8 Ноя 2018
232
34
Проект
Boss Survival Adventure
да смотрел но чет проморгал..., сорри за тупость, сейчас буду вникать...
 

xDes

Продвинутый
8 Ноя 2018
232
34
Проект
Boss Survival Adventure
вроде разобрался и все работает как в видео, но есть одно но, я хочу чтобы оно считало убитых крипов, а оно как бы не считает)
Код:
бла бла бла....

local gol = 0;
    
 if killed_unit:GetUnitName() == "npc_dota_red" then
    local gol = gol + 1;
    if gol >= 11 then
    CustomGameEventManager:Send_ServerToAllClients("quest_remove_quest", {id =11})
    else
    CustomGameEventManager:Send_ServerToAllClients("quest_update_quest", { max = 11, current=gol, id =11})
    
end
end
end

function quest()
    CustomGameEventManager:Send_ServerToAllClients("quest_create_quest", {name = "Neighborhood", desc = "Kill all Greevil's", max = 11, id =11})
    CustomGameEventManager:Send_ServerToAllClients("quest_update_quest", { max = 11, current=0, id =11})   
end

он прибавляет 1 и все на этом, как я понимаю он постоянно делает 0+1, а как сделать чтобы он перезаписывал переменную?
 

xDes

Продвинутый
8 Ноя 2018
232
34
Проект
Boss Survival Adventure
в том то и дело что пробовал по всякому, и нифига не получается
вывожу принтом gol мне пишет:
1
1
 

xDes

Продвинутый
8 Ноя 2018
232
34
Проект
Boss Survival Adventure
короче я понял, триггер 2 раза вызывался почему-то, но все равно не работает. Сейчас сделал так: есть некий триггер, активируя который вызывается функция из файла trigger.lua
Код:
function prt(t)
    GameRules:SendCustomMessage(''..t,0,0)
end

function show_message(trigger)
            GameRules:SendCustomMessage("бля бля бля", 0, 0)
            CustomGameEventManager:Send_ServerToAllClients("quest_create_quest", {name = "сделай то и то", desc = "убей того-то", max = 11, id =11})
            CustomGameEventManager:Send_ServerToAllClients("quest_update_quest", { max = 11, current=0, id =11}) 
end
он еще мне сообщение в чат пишет, и мой квест запускает(тригеры будут на входах в зоны запускать разные квесты)

воот.. а ищет убитого он в файле addon_game_mode.lua вот так:

Код:
function CAddonAdvExGameMode:OnEntityKilled( keys )
    local killed_unit = EntIndexToHScript( keys.entindex_killed )
    local killer = EntIndexToHScript( keys.entindex_attacker )
        if killed_unit and killed_unit:IsRealHero() then
        local newItem = CreateItem( "item_tombstone", killed_unit, killed_unit )
        newItem:SetPurchaseTime( 0 )
        newItem:SetPurchaser( killed_unit )
        local tombstone = SpawnEntityFromTableSynchronous( "dota_item_tombstone_drop", {} )
        tombstone:SetContainedItem( newItem )
        tombstone:SetAngles( 0, RandomFloat( 0, 360 ), 0 )
        FindClearSpaceForUnit( tombstone, killed_unit:GetAbsOrigin(), true ) 
end
local bAllPlayersDead = true
        for nPlayerID = 0, DOTA_MAX_TEAM_PLAYERS-1 do
        if PlayerResource:GetTeam( nPlayerID ) == DOTA_TEAM_GOODGUYS then
            if not PlayerResource:HasSelectedHero( nPlayerID ) then
                bAllPlayersDead = false
            else
                local hero = PlayerResource:GetSelectedHeroEntity( nPlayerID )
            if hero and hero:IsAlive() or hero:IsReincarnating() then
                bAllPlayersDead = false
                end
            end
        end
    end

    if bAllPlayersDead then
        GameRules:MakeTeamLose( DOTA_TEAM_GOODGUYS )
        return
    end
--------------------------------------------------------------------снега
if killed_unit:GetUnitName() == "npc_snow" then
         GameRules:SetGameWinner( DOTA_TEAM_BADGUYS )
    end


if killed_unit:GetUnitName() == "npc_snow2" then
         GameRules:SetGameWinner( DOTA_TEAM_BADGUYS )
    end


if killed_unit:GetUnitName() == "npc_snow3" then
         GameRules:SetGameWinner( DOTA_TEAM_BADGUYS )
    end

--------------------------------------------------------------------финал
if killed_unit:GetUnitName() == "FINAL" then                    --necro
         GameRules:SetGameWinner( DOTA_TEAM_GOODGUYS )

end
local gol = 0;
  
if killed_unit:GetUnitName() == "npc_dota_red" then
    gol = gol + 1;
    if gol >= 11 then
    CustomGameEventManager:Send_ServerToAllClients("quest_remove_quest", {id =11})
    else
    CustomGameEventManager:Send_ServerToAllClients("quest_update_quest", { max = 11, current=gol, id =11})
    print(gol)
end
end
end

я часть кода выкинул, т.к. там всякая хрень однотипная.
сейчас работает так:
загрузка карты - квеста нету
наступил на триггер - включился квест - 0 из 11
убиваю "npc_dota_red" - становится 1 из 11(в консоль приходит 1)
убиваю 2-го "npc_dota_red" -остается 1 из 11(в консоль приходит 1)
 

xDes

Продвинутый
8 Ноя 2018
232
34
Проект
Boss Survival Adventure
ребята помогите, если надо я готов заплатить за решение некоторых проблем
 

I_GRIN_I

Друзья CG
15 Мар 2016
1,335
105
ребята помогите, если надо я готов заплатить за решение некоторых проблем
Код:
gol = 0;
function CAddonAdvExGameMode:OnEntityKilled( keys )
    local killed_unit = EntIndexToHScript( keys.entindex_killed )
    local killer = EntIndexToHScript( keys.entindex_attacker )
        if killed_unit and killed_unit:IsRealHero() then
        local newItem = CreateItem( "item_tombstone", killed_unit, killed_unit )
        newItem:SetPurchaseTime( 0 )
        newItem:SetPurchaser( killed_unit )
        local tombstone = SpawnEntityFromTableSynchronous( "dota_item_tombstone_drop", {} )
        tombstone:SetContainedItem( newItem )
        tombstone:SetAngles( 0, RandomFloat( 0, 360 ), 0 )
        FindClearSpaceForUnit( tombstone, killed_unit:GetAbsOrigin(), true )
end
local bAllPlayersDead = true
        for nPlayerID = 0, DOTA_MAX_TEAM_PLAYERS-1 do
        if PlayerResource:GetTeam( nPlayerID ) == DOTA_TEAM_GOODGUYS then
            if not PlayerResource:HasSelectedHero( nPlayerID ) then
                bAllPlayersDead = false
            else
                local hero = PlayerResource:GetSelectedHeroEntity( nPlayerID )
            if hero and hero:IsAlive() or hero:IsReincarnating() then
                bAllPlayersDead = false
                end
            end
        end
    end

    if bAllPlayersDead then
        GameRules:MakeTeamLose( DOTA_TEAM_GOODGUYS )
        return
    end
--------------------------------------------------------------------снега
if killed_unit:GetUnitName() == "npc_snow" then
         GameRules:SetGameWinner( DOTA_TEAM_BADGUYS )
    end


if killed_unit:GetUnitName() == "npc_snow2" then
         GameRules:SetGameWinner( DOTA_TEAM_BADGUYS )
    end


if killed_unit:GetUnitName() == "npc_snow3" then
         GameRules:SetGameWinner( DOTA_TEAM_BADGUYS )
    end

--------------------------------------------------------------------финал
if killed_unit:GetUnitName() == "FINAL" then                    --necro
         GameRules:SetGameWinner( DOTA_TEAM_GOODGUYS )

end
if killed_unit:GetUnitName() == "npc_dota_red" then
    gol = gol + 1;
    if gol >= 11 then
    gol = 0;
    CustomGameEventManager:Send_ServerToAllClients("quest_remove_quest", {id =11})
    else
    CustomGameEventManager:Send_ServerToAllClients("quest_update_quest", { max = 11, current=gol, id =11})
    print(gol)
end
end
end
 
  • Нравится
Реакции: xDes

xDes

Продвинутый
8 Ноя 2018
232
34
Проект
Boss Survival Adventure
очень благодарен тебе!
 
Реклама: