Подскажите пожалуйста

GameLorD

Пользователь
2 Июн 2019
40
0
Проект
Dragon defence
Как использовать RemoveItem () ? Мне все время пишет nil value... Или мне нужно не это? Суть в том, что мне необходимо забрать предмет у персонажа из инвентаря, когда он входит в триггер определенный. Мне нужно таким образом сделать некий квест. И если кто знает гайд, как создавать квест, скиньте пожалуйста, нигде нарыть не могу (либо хреново гуглю, либо просто тупой..).
 

I_GRIN_I

Друзья CG
15 Мар 2016
1,335
105
hero:RemoveItem(сюда передаешь предмет, который нашел через getiteminslot или как то по другому)
Гайд по квестам:
 
  • Нравится
Реакции: Niker323

GameLorD

Пользователь
2 Июн 2019
40
0
Проект
Dragon defence
hero:RemoveItem(сюда передаешь предмет, который нашел через getiteminslot или как то по другому)
Гайд по квестам:
Я пробовал следующим образом.
local item = unit:HasItemInInvetary ("item_quest")
RemoveItem (item)

И оно не работает
 

GameLorD

Пользователь
2 Июн 2019
40
0
Проект
Dragon defence
Нее.. Не работает(((
РЕШЕНИЕ! Я смогу сделать это следующим образом:
Код:
function quest (event)
   local unit = event.activator
   if  unit:HasItemInInventory ("item_quest_1") then
        for i=0, 8, 1 do
            local quest = unit:GetItemInSlot(i)
            if quest ~= nil then
                if quest:GetName () == "item_quest_1" then
                    unit:RemoveItem (quest)
                end
            end
        end
    end
end
 

Dangalor

Пользователь
11 Авг 2016
32
0
Нее.. Не работает(((
Вот смотри у меня есть удаление предметов при их подборе
Код:
local heroEntity = EntIndexToHScript(keys.HeroEntityIndex)
    local itemEntity = EntIndexToHScript(keys.ItemEntityIndex)
    local player = PlayerResource:GetPlayer(keys.PlayerID)
    local itemname = keys.itemname
    if itemname == "item_enchanted_mango" then
        heroEntity:RemoveItem(itemEntity)
    end

Попробуй не через unit:HasItemInInvetary ("item_quest") а unit:FindItemInInventory("item_quest")
 

Dangalor

Пользователь
11 Авг 2016
32
0
РЕШЕНИЕ! Я смогу сделать это следующим образом:
Код:
function quest (event)
   local unit = event.activator
   if  unit:HasItemInInventory ("item_quest_1") then
        for i=0, 8, 1 do
            local quest = unit:GetItemInSlot(i)
            if quest ~= nil then
                if quest:GetName () == "item_quest_1" then
                    unit:RemoveItem (quest)
                end
            end
        end
    end
end

можешь и так) но зачем нагромождать код?
 

I_GRIN_I

Друзья CG
15 Мар 2016
1,335
105
unit:HasItemInInvetary ("item_quest") просто проверяет есть ли предмет в инвентаре или нет и возвращает true или false, а не инстанс предмета, можно использовать FindItemInInventory и я же сразу написал тебе как использовать функцию RemoveItem, что unit:RemoveItem, а ты все равно просто ее юзаешь
 
Реклама: