Layh 0 Postado Julho 31 Share Postado Julho 31 Olá xTibianos! Estava precisando de um suporte para a questão de depot nas houses. Ao adicionar um depot na house o jogador não consegue acessar os itens que estão no seu depot original aquele que fica localizado no CP. Alguém sabe como resolver isso? Link para o comentário Compartilhar em outros sites More sharing options...
0 El Rusher 36 Postado Setembro 4 Share Postado Setembro 4 Olá! Isso acontece porque cada depot no Tibia é vinculado a uma determinada "town" (cidade). Quando você coloca um depot em uma house, ele é tratado como um novo depot separado do depot original localizado no CP (temple) da cidade. Para resolver esse problema, você precisará garantir que ambos os depots (o da house e o do CP) estejam vinculados à mesma "town ID" e que eles compartilhem a mesma "depot ID" Verifique a Town ID: Certifique-se de que a "town ID" do depot na house seja a mesma do depot original no CP. Essa informação geralmente está definida no arquivo map ou no código da script que cria o depot. Vincule o Depot ID: Verifique o depotid do depot da house e do depot no CP. Ambos precisam compartilhar o mesmo depotid para que os itens sejam acessíveis de qualquer um dos depots. Scripts e Configurações: Em alguns casos, pode ser necessário ajustar o código do servidor para garantir que os depots compartilhem o mesmo inventário. Dependendo do código do servidor, você pode precisar revisar as funções que lidam com a criação e gestão de depots para garantir que eles estejam corretamente sincronizados. Outra opção é criar ou modificar um script LUA que faz a checagem e sincronização entre os depots. Isso pode ser feito no evento de abertura do depot, onde você sincroniza os itens entre os depots do CP e da casa do jogador. Um exemplo básico de script: local function syncDepots(player) local mainDepot = player:getDepot(1) -- CP depot ID local houseDepot = player:getDepot(2) -- House depot ID (ajuste conforme o ID do depot na casa) -- Sincroniza itens do depot da casa com o CP for i = 0, houseDepot:getCapacity() - 1 do local item = houseDepot:getItem(i) if item then mainDepot:addItemEx(item) end end end function onUse(player, item, fromPosition, target, toPosition, isHotkey) syncDepots(player) -- Continuar a lógica normal de abrir o depot... end Link para o comentário Compartilhar em outros sites More sharing options...
0 wenderotpoke 0 Postado Setembro 14 Share Postado Setembro 14 Em 03/09/2024 em 21:43, Holograma disse: Olá! Isso acontece porque cada depot no Tibia é vinculado a uma determinada "town" (cidade). Quando você coloca um depot em uma house, ele é tratado como um novo depot separado do depot original localizado no CP (temple) da cidade. Para resolver esse problema, você precisará garantir que ambos os depots (o da house e o do CP) estejam vinculados à mesma "town ID" e que eles compartilhem a mesma "depot ID" Verifique a Town ID: Certifique-se de que a "town ID" do depot na house seja a mesma do depot original no CP. Essa informação geralmente está definida no arquivo map ou no código da script que cria o depot. Vincule o Depot ID: Verifique o depotid do depot da house e do depot no CP. Ambos precisam compartilhar o mesmo depotid para que os itens sejam acessíveis de qualquer um dos depots. Scripts e Configurações: Em alguns casos, pode ser necessário ajustar o código do servidor para garantir que os depots compartilhem o mesmo inventário. Dependendo do código do servidor, você pode precisar revisar as funções que lidam com a criação e gestão de depots para garantir que eles estejam corretamente sincronizados. Outra opção é criar ou modificar um script LUA que faz a checagem e sincronização entre os depots. Isso pode ser feito no evento de abertura do depot, onde você sincroniza os itens entre os depots do CP e da casa do jogador. Um exemplo básico de script: local function syncDepots(player) local mainDepot = player:getDepot(1) -- CP depot ID local houseDepot = player:getDepot(2) -- House depot ID (ajuste conforme o ID do depot na casa) -- Sincroniza itens do depot da casa com o CP for i = 0, houseDepot:getCapacity() - 1 do local item = houseDepot:getItem(i) if item then mainDepot:addItemEx(item) end end end function onUse(player, item, fromPosition, target, toPosition, isHotkey) syncDepots(player) -- Continuar a lógica normal de abrir o depot... end É possível fazer isso por uma action? Tipo eu configuro um item com a id XXXX e quando o payer clicar nele vai abrir como DEPOT... Link para o comentário Compartilhar em outros sites More sharing options...
0 El Rusher 36 Postado Setembro 16 Share Postado Setembro 16 Em 14/09/2024 em 03:02, wenderotpoke disse: É possível fazer isso por uma action? Tipo eu configuro um item com a id XXXX e quando o payer clicar nele vai abrir como DEPOT... sim.. Crie um script chamado depot_sync.lua com o seguinte conteúdo: local function syncDepots(player) local mainDepot = player:getDepot(1) -- ID do depot do CP local houseDepot = player:getDepot(2) -- ID do depot na casa (ajuste conforme necessário) -- Sincroniza os itens do depot da casa com o depot do CP for i = 0, houseDepot:getCapacity() - 1 do local item = houseDepot:getItem(i) if item then mainDepot:addItemEx(item) end end end function onUse(player, item, fromPosition, target, toPosition, isHotkey) syncDepots(player) player:sendTextMessage(MESSAGE_INFO_DESCR, "Seus depots foram sincronizados com sucesso.") return true end Substitua XXXX pelo ID do item que você quer usar para abrir e sincronizar o depot. Como Funciona: O script sincroniza os itens do depot da house com o depot do CP (central) sempre que o jogador clicar no item configurado. A função syncDepots cuida da sincronização dos itens entre os depots. A função onUse é o evento que ocorre quando o jogador clica no item. Ela chama a função de sincronização e exibe uma mensagem ao jogador. Com isso, o jogador pode clicar no item específico e sincronizar seus depots. Depois, registre a action no arquivo actions.xml, associando o item com o script: <action itemid="XXXX" script="depot_sync.lua"/> Link para o comentário Compartilhar em outros sites More sharing options...
0 wenderotpoke 0 Postado Setembro 17 Share Postado Setembro 17 14 horas atrás, Holograma disse: sim.. Crie um script chamado depot_sync.lua com o seguinte conteúdo: local function syncDepots(player) local mainDepot = player:getDepot(1) -- ID do depot do CP local houseDepot = player:getDepot(2) -- ID do depot na casa (ajuste conforme necessário) -- Sincroniza os itens do depot da casa com o depot do CP for i = 0, houseDepot:getCapacity() - 1 do local item = houseDepot:getItem(i) if item then mainDepot:addItemEx(item) end end end function onUse(player, item, fromPosition, target, toPosition, isHotkey) syncDepots(player) player:sendTextMessage(MESSAGE_INFO_DESCR, "Seus depots foram sincronizados com sucesso.") return true end Substitua XXXX pelo ID do item que você quer usar para abrir e sincronizar o depot. Como Funciona: O script sincroniza os itens do depot da house com o depot do CP (central) sempre que o jogador clicar no item configurado. A função syncDepots cuida da sincronização dos itens entre os depots. A função onUse é o evento que ocorre quando o jogador clica no item. Ela chama a função de sincronização e exibe uma mensagem ao jogador. Com isso, o jogador pode clicar no item específico e sincronizar seus depots. Depois, registre a action no arquivo actions.xml, associando o item com o script: <action itemid="XXXX" script="depot_sync.lua"/> To ligado mas eu falo da seguinte forma, o item não está configurado como um DEPOT nos itens, até por que a source que tenho aqui não permite ter DEPOT itens na house, sempre que abre o servidor ela remove a DP da casa a ideia que pensei seria ter um OnUse que transformasse o item que foi usado numa depot Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Layh 0
Olá xTibianos!
Estava precisando de um suporte para a questão de depot nas houses. Ao adicionar um depot na house o jogador não consegue acessar os itens que estão no seu depot original aquele que fica localizado no CP.
Alguém sabe como resolver isso?
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados