Isso pode acontecer se a função não estiver disponível no arquivo de biblioteca onde está o seu script.
Vamos tentar fazer isso localmente:
-- Função para obter o contêiner pai de um item
function getContainerParent(container)
local items = getContainerItems(container)
if items then
for i = 1, #items do
local item = items[i]
if isInContainer(item.uid) then
return container
end
end
end
return 0
end
-- Função para adicionar o loot em uma das bags disponíveis
function addToAvailableBags(loot, player)
local playerSlotItem = getPlayerSlotItem(player, 3) -- Obtém a mochila do jogador
local bags = {} -- Lista para armazenar as bags disponíveis
-- Adiciona a mochila do jogador à lista de bags
table.insert(bags, playerSlotItem.uid)
-- Verifica se a mochila do jogador está dentro de outra bag
local container = playerSlotItem.uid
while container ~= 0 do
container = getContainerParent(container)
if container ~= 0 then
table.insert(bags, container) -- Adiciona a bag à lista de bags
end
end
-- Tenta adicionar o loot em cada bag disponível
for _, bag in ipairs(bags) do
local freeSlots = getContainerSlotsFree(bag)
if freeSlots >= 1 and freeSlots ~= 333 then
doCorpseAddLoot(getCreatureName(loot), bag, player, loot, loot) -- Adiciona o loot na bag
return true -- Retorna true para indicar que o loot foi adicionado com sucesso
end
end
return false -- Retorna false se não foi possível adicionar o loot em nenhuma bag
end
-- Verifica se o jogador é premium e está usando o auto loot
if isPremium(getCreatureMaster(cid)) and isCollectAll(getCreatureMaster(cid)) then
-- Tenta adicionar o loot em uma das bags disponíveis
if not addToAvailableBags(target, getCreatureMaster(cid)) then
doCorpseAddLoot(getCreatureName(target), corpse, getCreatureMaster(cid), target, corpse) -- Adiciona o loot na bag original se não houver outras disponíveis
end
else
doCorpseAddLoot(getCreatureName(target), corpse, getCreatureMaster(cid), target, corpse) -- Adiciona o loot na bag original se o jogador não for premium ou não estiver usando o auto loot
end
Olá xtibianos, estou com uma vaga para MAPPER remunerada no projeto em que estou trabalhando.
Pra que é a vaga?
Basicamente o objetivo é construir um reino bem detalhado como o da foto:
Até quando posso entregar?
A partir do momento em que você foi recrutado vamos decidir um prazo final porém queremos com urgência até o final de junho de 2024 (próximos 2 meses)
Como entro em contato?
Pode entrar em contato comigo diretamente pelo discord: mcolchete
Ou pode entrar em contato diretamente pelo celular: 21983242505
Manin não pegou, deu erro no final,
[Error - CreatureScript Interface]
data/creaturescripts/scripts/player/statsChange.lua:onStatsChange
Description:
data/lib/Death System.lua:1816: attempt to call global 'getContainerParent' (a nil value)
stack traceback:
data/lib/Death System.lua:1816: in function 'addToAvailableBags'
data/lib/Death System.lua:1837: in function 'doKillWildPoke'
data/creaturescripts/scripts/player/statsChange.lua:878: in function <data/creaturescripts/scripts/player/statsChange.lua:6>
Esse erro geralmente indica que o cliente está recebendo um pacote (mensagem) do servidor com um código de operação (opcode) não reconhecido ou não suportado. Isso pode acontecer se você tentar enviar dados personalizados do servidor para o cliente que o cliente não sabe como processar.
Se você puder fornecer mais detalhes sobre as alterações específicas que você fez no servidor e no cliente para aumentar o "miss" e como elas estão sendo comunicadas entre si, posso ajudar a identificar a causa específica do erro e sugerir possíveis soluções.