CustomGames.ru - Dota 2 пользовательские игры

Абилка после добавления не юзается

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн I_GRIN_I

  • Продвинутый
  • 528
  • Мощь: 9
  • Научиться бы скриптить...
Добавляю абилку через AddAbility, потом устанавливаю ей SetLevel, пробовал еще и через UpgradeAbility.
Кто знает в чем проблема?
Пассивки при этом типо работают, но на самом деле нет
« Последнее редактирование: 15-01-2017, 01:11:31 от I_GRIN_I »

Оффлайн Илья

  • Супермодератор
  • 2041
  • Мощь: 19
Надо код смотреть.

А абилки стандартные? Ты с ними ничего не делал?

Оффлайн I_GRIN_I

  • Продвинутый
  • 528
  • Мощь: 9
  • Научиться бы скриптить...
Илья, абилки самые обычные.
Вот код:
Код
function SpellShop:BuyAbility(keys)
    DeepPrintTable(keys)
    local playerid = keys.playerid
    if PlayerResource:HasSelectedHero(playerid) then
        local hero = PlayerResource:GetSelectedHeroEntity(playerid)
        local abilityid = keys.abid
        local abilityname = spells[keys.abtype][abilityid]
        local cost = cost[abilityname]
        if cost == nil then
            cost = 0
        end
        local requiredslots = keys.requiredslotsfotab
        if keys.cost ~= cost then
        end
        if hero then
            if cost <= _G.SPAndSlots[playerid]["SP"] and requiredslots <= _G.SPAndSlots[playerid]["Slots"] then
                local ability = hero:AddAbility(abilityname)
                if keys.replacedwith ~= "" then
                    hero:AddAbility(keys.replacedwith)
                    if keys.replacedwith == "shredder_return_chakram" then
                        hero:AddAbility("shredder_return_chakram_2")
                    end
                    print("REPLACEWITH")
                end
                if keys.withaghanim ~= "" then
                    hero:AddAbility(keys.withaghanim)
                    print("withaghanim")
                end
                if keys.addpanel1 ~= "" then
                    if keys.addpanel1 == "wisp_spirits_in" then
                        hero:AddAbility("wisp_empty1")
                    else
                        hero:AddAbility(keys.addpanel1)
                    end
                    print("addpanel1")
                end
                if keys.addpanel2 ~= "" then
                    if keys.addpanel2 == "wisp_spirits_out" then
                        hero:AddAbility("wisp_empty2")
                    else
                        hero:AddAbility(keys.addpanel2)
                    end
                    print("addpanel2")
                end
                ability:SetLevel(1)
                EmitSoundOn("General.Buy",PlayerResource:GetPlayer(playerid))
                _G.SPAndSlots[playerid]["SP"] = _G.SPAndSlots[playerid]["SP"] - cost
                _G.SPAndSlots[playerid]["Slots"] = _G.SPAndSlots[playerid]["Slots"] - requiredslots
                CustomGameEventManager:Send_ServerToPlayer(PlayerInstanceFromIndex(playerid+1),"SpellPointsNow",{sp = _G.SPAndSlots[playerid]["SP"]})
                CustomGameEventManager:Send_ServerToPlayer(PlayerInstanceFromIndex(playerid+1),"SlotsNow",{sl = _G.SPAndSlots[playerid]["Slots"]})
            end
        end
    end
end

Оффлайн I_GRIN_I

  • Продвинутый
  • 528
  • Мощь: 9
  • Научиться бы скриптить...
Я пробовал еще и через FindAbilityByName искать абилку и устанавливать, все так же

Оффлайн CryDeS

  • Друзья CG
  • 1208
  • Мощь: 12
У фримана вчера такая же херня была, пока не понятно с чем связано.

Оффлайн I_GRIN_I

  • Продвинутый
  • 528
  • Мощь: 9
  • Научиться бы скриптить...
Никто так и не решил трабл?


Кстати еще, можно через код как то хоткей менять способности?
« Последнее редактирование: 26-01-2017, 03:25:18 от I_GRIN_I »

Оффлайн Danis

  • Продвинутый
  • 268
  • Мощь: 2
попробуй у героев поубирать таланты
Код
		"Ability10"					""
"Ability11" ""
"Ability12" ""
"Ability13" ""
"Ability14" ""
"Ability15" ""
"Ability16" ""
"Ability17" ""
У некоторых героев таланты могут быть и дальше (20 скилл или 22)
Создай Героя
Мод  - steamcommunity.com/...ils/?id=750146414
[свернуть]