Ir para conteúdo

Posts Recomendados

Bem bem bem bem.. venho trazer aqui um sistema/script seja la como quiser chamar que me chamou bema a tenção por ser bem interessante.. Feito pelo Karain (qual pedi autorização para repostar).. inicialmente havia sido feito para 0.4, inspirado num mini game para mc mas com a tendência de mudança e pedidos da comunidade o mesmo foi atualizado..

 

Não me peçam 0.4 pois ele não disponibilizou.. e bem.. atualizem-se né... eu não suporto 0.4 (para quem não entende, não suporto de não apóio)

 

.~> Sobre o sistema - Como funciona <~.

Primeiramente, se o jogador decidir se juntar a lista de espera do evento ele irá utilizar o comando !join hunger games e pronto.. estará na lista de espera.

fc4b71f2f012e7348303a7b1b55f9667.png

Depois de um tempo e quantidade de players para o evento (ambos configuráveis), assim que o evento começar eles serão teleportados para um local; terão todos seus items removidos de forma segura para um depot (configurável)

Em cada mapa haverá chests que tem uma chance (random) de conter alguns items, o player precisa encontrar e coletar com intenção de sobreviver e ser o último player vivo. Premio configurável

7013b08211a4d0262c12edded6df280e.png

.~> Mapa<~.

2435n5h.jpg

vxdx02.jpg

2wqbl1u.jpg

o mapa não foi feito pelo Karain, caso você seja dono do mapa e tenha como provar, por favor informe para que seu nome seja colocado nos créditos

Download Do Mapa Aqui

 

P.s.: não sei colocar scan nem como faz, se for preciso scan alguém faz por favor que eu edito o post

 

Bug conhecido (mas acho que para server que não fique reiniciando isso não venha a ser um problema..) não testei essa parte para ver o que realmente ocorre.. //

[edit]Código para correção do bug (não oficial) após o hunger.lua do global events[/edit]

- alguns items podem não retornar ao player após o evento, mesmo que tenha sido carregado no mapa e nos scripts, no entanto, irá funcionar se o player tiver visitado o depot ao menos uma vez, em que o server ficou online

Changelog

1.0.0 23 de julho 2015 : Liberado
1.0.1 29 de julho 2015 : Arrumado a atualziaçãod e items no chest após um player o abrir.
1.0.2 30 de julho 2015 :
-Corrigido um erro fatal que acontecia quando um player morria ou dava logout enquanto no evento.
-Adicionado o comando !ragequit que faz o jogador se matar enquanto no evento. 
1.0.3 8 de agosto 2015: Corrigido bug que fazia o evento death ser executado em qualquer situação pvp, arquivos alterados:
- creaturescripts/scripts/hunger.lua
1.0.4 9 de agosto 2015: Corrigido um debug no client por conta de broadcasts, obrigado ao silveralol, arquivos alterados:
-globalevents/scripts/hunger.lua
-creaturescripts/scripts/hunger.lua
-creaturescripts/scripts/eventlogout.lua
1.0.5 30 de agosto 2015 (não oficial): Adicionado uma alteração para o problema de recuperação de items
-globalevents/scripts/hunger.lua

.~> Códigos <~.

Em globalevents/globalevents.xml

<globalevent type="startup" name="hunger" script="hunger.lua"/>

Crie um arquivo chamado hunger.lua em globalevents/scripts e cole isso

 

 

 

currentgameid = 201
killstreak = 60013
depotbox= {x=700,y=760,z=5} --location of a depot box, recommended to be accessible by players incase of bugs or crashes
game = {{name="Hunger Games Arena 1", cheststartid=60100, minplayers=8, maxplayers=16, chests=299, startpos={
    {x = 814, y = 760, z = 7},
    {x = 809, y = 758, z = 7},
    {x = 807, y = 753, z = 7},
    {x = 809, y = 748, z = 7},
    {x = 814, y = 746, z = 7},
    {x = 819, y = 748, z = 7},
    {x = 821, y = 753, z = 7},
    {x = 819, y = 758, z = 7},
    {x = 811, y = 759, z = 7},
    {x = 808, y = 756, z = 7},
    {x = 808, y = 750, z = 7},
    {x = 811, y = 747, z = 7},
    {x = 817, y = 747, z = 7},
    {x = 820, y = 750, z = 7},
    {x = 820, y = 756, z = 7},
    {x = 817, y = 759, z = 7}
    }
    },
        {
    name="Hunger Games Arena 2", cheststartid=61100, minplayers=2, maxplayers=4, chests=299, startpos={
    {x = 1036, y = 910, z = 6},
    {x = 1032, y = 906, z = 6},
    {x = 1036, y = 902, z = 6},
    {x = 1040, y = 906, z = 6}
    }
    },
        {
    name="Hunger Games Arena 3", cheststartid=62100, minplayers=4, maxplayers=8, chests=299, startpos={
    {x = 1047, y = 1158, z = 7},
    {x = 1048, y = 1158, z = 7},
    {x = 1052, y = 1158, z = 7},
    {x = 1053, y = 1158, z = 7},
    {x = 1047, y = 1167, z = 7},
    {x = 1048, y = 1167, z = 7},
    {x = 1052, y = 1167, z = 7},
    {x = 1053, y = 1167, z = 7}
    }
    }
    }

    availablearenas = {1,2,3} -- script starts with all arenas as "available"
    gameplayers = {}
    prize = {{2160,1},{5097,10},{2128,1}}

function Player:removeAllItems() -- function to clear the player's inventory
    local depotpos = Tile(Position(depotbox.x, depotbox.y, depotbox.z)):getItemByType(ITEM_TYPE_DEPOT)
    local depotid = getDepotId(depotpos:getUniqueId())
    local depot = self:getDepotChest(depotid,true)
    local box = depot:addItem(1988)
    box:setAttribute(ITEM_ATTRIBUTE_NAME,"player gear box")
    for i=1,10 do
        local item = self:getSlotItem(i)
        if item then
            item:moveTo(box)
        end
    end
end

function Player:getBackItems() -- function to clear the player's inventory
    local depotpos = Tile(Position(depotbox.x, depotbox.y, depotbox.z)):getItemByType(ITEM_TYPE_DEPOT)
    local depotid = getDepotId(depotpos:getUniqueId())
    local depot = self:getDepotChest(depotid,true)
    local box = depot:getItem(0)
    for i= box:getSize()-1, 0, -1 do
        local item = box:getItem(i)
        if item then
            item:moveTo(self)
        end
    end
    --box:remove()
end

local function teleportThing(seconds)
    if seconds <= 0 and #queue >= 1 then
    local looparenas = availablearenas -- preventing possible conflicts with looping
        for a,b in pairs(looparenas) do
            if #queue >= game[looparenas[a]].minplayers then
                local p = 1
                while p < game[looparenas[a]].maxplayers do
                    for i, pname in pairs(queue) do
                        local player = Player(pname)
                        if player then
                            player:setStorageValue(currentgameid, looparenas[a])
                            local pos = Position(game[looparenas[a]].startpos[p].x, game[looparenas[a]].startpos[p].y, game[looparenas[a]].startpos[p].z)
                            player:teleportTo(pos)
                            player:removeAllItems()
                            player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Welcome to The Hunger Games, Your objective is to loot, kill and be the last man standing, Good luck!")
                            if gameplayers[looparenas[a]] == nil then
                                gameplayers[looparenas[a]] = {}
                            end
                            table.insert(gameplayers[looparenas[a]], player:getName())
                            table.remove(queue,i)
                        end
                    end
                    p = p+1
                end
                for i = game[looparenas[a]].cheststartid, game[looparenas[a]].cheststartid+game[looparenas[a]].chests do
                    Game.setStorageValue(i, -1)
                end
                Game.broadcastMessage(MESSAGE_EVENT_ADVANCE,"Hunger Games started in " ..game[looparenas[a]].name.."!")
                for k,v in pairs(availablearenas) do
                    if v == r then
                        table.remove(availablearenas,i)
                    end
                end
            else
                for _, player in pairs(queue) do
                    Player(player):sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Sorry, There is not enough players to start "..game[availablearenas[a]].name)
                end
            end
        end
    return true
    end
    if seconds == 60 then
        for _, player in pairs(queue) do
            Player(player):sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "The Hunger Games will begin in " .. seconds/60 .. " minute, Get Ready!")
        end
    elseif seconds % 60 == 0 and seconds ~= 60 and seconds ~= 300 and seconds < 300 then
        for _, player in pairs(queue) do
            Player(player):sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "The Hunger Games will begin in " .. seconds/60 .. " minutes!")
        end
    elseif seconds == 300 then
        Game.broadcastMessage(MESSAGE_EVENT_ADVANCE,"The Hunger Games will begin in " .. seconds/60 .. " minutes! To join say /join hunger games")
    end
    if seconds ~= 0 then
        addEvent(teleportThing, 60000, seconds - 60)
    end
    return true
end

function onStartup()
    teleportThing(60)
    return true
end 

 

 

 

Em 30/08 o usuário Mokerhamer apareceu com uma solução para o problema que fazia com que alguns players não conseguissem recuperar os items após o evento, adicionando uma função clone, então funciona abrindo ou não o dp antes do evento.. estou sem pc novamente então não pude testar e o Karain até o momento não se pronunciou, de qualquer maneira parece promissor então vou colocar aparte. alterem por conta e risco.

 

Altere a função player:getbackitems do código acima por este

 

 

function Player:getBackItems() -- function to clear the player's inventory
  local depotpos = Tile(Position(depotbox.x, depotbox.y, depotbox.z)):getItemByType(ITEM_TYPE_DEPOT)
  local depotid = getDepotId(depotpos:getUniqueId())
  local depot = self:getDepotChest(depotid,true)
  local box = depot:getItem(0)
  for i= box:getSize()-1, 0, -1 do
  local item = box:getItem(i)
  if item then
  item:clone():moveTo(self)
  end
  end
  box:remove() --unqued this function to clean the depot after duplicating it to player.
end 

 

 

 

Em creaturescripts/creaturescripts.xml

<event type="logout" name="eventlogout" script="eventlogout.lua"/>
<event type="death" name="hunger" script="hunger.lua"/>

Em creaturescripts/scripts/login.lua antes do return true

player:registerEvent("hunger")

Em creaturescripts/scripts/eventlogout.lua

 

 

 

function onLogout(player)
local gameid = player:getStorageValue(currentgameid)
if(gameid > 0 ) then
player:getBackItems()
player:setStorageValue(currentgameid, -1)
if gameplayers[gameid] then
for i=1,#gameplayers[gameid] do
Player(gameplayers[gameid][i]):sendTextMessage(MESSAGE_STATUS_CONSOLE_RED, player:getName() .. " has left the hunger games with "..player:getStorageValue(killstreak).." kills | Tributes still alive: " .. #gameplayers[gameid])
end
for k,v in pairs(gameplayers[gameid]) do
if v == player:getName() then
table.remove(gameplayers[gameid],k)
end
end
end
player:setStorageValue(killstreak, 0)
player:teleportTo((player:getTown()):getTemplePosition())
if gameplayers[gameid] and #gameplayers[gameid] == 1 then
Player(gameplayers[gameid][1]):getBackItems()
Player(gameplayers[gameid][1]):setStorageValue(gameid, -1)
Game.broadcastMessage(MESSAGE_EVENT_ADVANCE,gameplayers[gameid][1] .." Has won The Hunger Games in ".. game[gameid].name .." with "..Player(gameplayers[gameid][1]):getStorageValue(killstreak).." Kill Streaks! Congratulations!")
Player(gameplayers[gameid][1]):teleportTo((Player(gameplayers[gameid][1]):getTown()):getTemplePosition())
Player(gameplayers[gameid][1]):setStorageValue(killstreak, 0)
for _, item in pairs(prize) do
Player(gameplayers[gameid][1]):addItem(item[1],item[2])
end
for k,v in pairs(gameplayers[gameid]) do
if v == gameplayers[gameid][1] then
table.remove(gameplayers[gameid],i)
end
end
table.insert(availablearenas, gameid)
elseif gameplayers[gameid] and #gameplayers[gameid] < 1 then
Game.broadcastMessage(MESSAGE_EVENT_ADVANCE,game[gameid].name .." Has Ended without winners because all players have left the game!")
table.insert(availablearenas, gameid)
end
end
for k,v in pairs(queue) do
if v == player:getName() then
table.remove(queue,i)
end
end
return true
end

 

 

 

Em creaturescripts/scripts/hunger.lua

 

 

 

function onDeath(player, corpse, killer, mostDamageKiller, unjustified, mostDamageUnjustified)
local gameid = player:getStorageValue(currentgameid)
if gameid > 0 then
if killer and killer:isPlayer() then
for _, gamer in pairs(gameplayers[gameid]) do
Player(gamer):sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, player:getName() .. " has been killed by " .. killer:getName() .. " with "..player:getStorageValue(killstreak).." kills | Tributes still alive: " .. #gameplayers[gameid])
end
killer:setStorageValue(killstreak, killer:getStorageValue(killstreak)+1)
else
for _, gamer in pairs(gameplayers[gameid]) do
Player(gamer):sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, player:getName() .. " has died with "..player:getStorageValue(killstreak).." kills | Tributes still alive: " .. #gameplayers[gameid])
end
end
player:setStorageValue(killstreak, 0)
player:setStorageValue(currentgameid, -1)
player:getBackItems()
for k,v in pairs(gameplayers[gameid]) do
if v == player:getName() then
table.remove(gameplayers[gameid],k)
end
end
if #gameplayers[gameid] == 1 then
Game.broadcastMessage(MESSAGE_EVENT_ADVANCE,Player(gameplayers[gameid][1]):getName() .." Has won The Hunger Games in ".. game[gameid].name .." with ".. Player(gameplayers[gameid][1]):getStorageValue(killstreak) .." Kill Streaks! Congratulations!")
Player(gameplayers[gameid][1]):teleportTo((Player(gameplayers[gameid][1]):getTown()):getTemplePosition())
Player(gameplayers[gameid][1]):setStorageValue(killstreak, 0)
Player(gameplayers[gameid][1]):setStorageValue(currentgameid, -1)
Player(gameplayers[gameid][1]):getBackItems()
for _, item in pairs(prize) do
Player(gameplayers[gameid][1]):addItem(item[1],item[2])
end
for k,v in pairs(gameplayers[gameid]) do
if v == gameplayers[gameid][1] then
table.remove(gameplayers[gameid],i)
end
end
table.insert(availablearenas, gameid)
end
end
return true
end

 

 

 

Em talkactions/talkactions.xml

<talkaction words="!join" separator=" " script="join.lua"/>
<talkaction words="!ragequit" separator=" " script="leave.lua"/>

Em talkactions/scripts/join.lua

 

 

 

local gamename = {
    "hunger games"
}
queue = {}

function onSay(player, words, param)
    local id = 0
    for i=1, #gamename do
        if param == gamename[i] then
            id = i
        end
    end
    local currentgame = player:getStorageValue(currentgameid)
    if (id ~= 0) then
        if currentgame <= 0 then
            for _, playerid in pairs(queue) do
                if player:getName() == playerid then
                player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You are already queue for this game.")
                return player:getPosition():sendMagicEffect(CONST_ME_POFF)
                end
            end
            table.insert(queue, player:getName())
            player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You have queued up for "..gamename[id].." with "..#queue.." total players")
            return player:getPosition():sendMagicEffect(CONST_ME_MAGIC_BLUE)
        else
            player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You are already in a game.")
            return player:getPosition():sendMagicEffect(CONST_ME_POFF)
        end
    else
        player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "!join hunger games")
        return player:getPosition():sendMagicEffect(CONST_ME_POFF)
    end
end 

 

 

 

Em talkactions/scripts/leave.lua

 

 

 

function onSay(player, words, param)
local currentgame = player:getStorageValue(currentgameid)
if currentgame > 0 then
return player:addHealth(-player:getMaxHealth())
else
player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "You can only do that in an event game.")
return player:getPosition():sendMagicEffect(CONST_ME_POFF)
end
end

 

 

 

Em actions/actions.xml

<!-- Hunger Games Chests -->
<action fromaid="60101" toaid="60499" script="games/hunger.lua"/>
<action fromaid="61101" toaid="61499" script="games/hunger.lua"/>
<action fromaid="62101" toaid="62499" script="games/hunger.lua"/> 
 

Em actions/scripts/hunger.lua

 

 

 

local tier = {
{                    --tier1
{id =2120 , chance = 10, count = 1}, --rope
{id =2554 , chance = 5, count = 1}, --shovel
{id =1991 , chance = 10, count = 1}, --bag
{id =1998 , chance = 5, count = 1}, --backpack
{id =2376 , chance = 10, count = 1}, --sword1
{id =2409 , chance = 5, count = 1}, --sword2
{id =2461 , chance = 10, count = 1}, --helmet1
{id =2458 , chance = 5, count = 1}, --helmet2
{id =2467 , chance = 10, count = 1}, --armor1
{id =2464 , chance = 5, count = 1}, --armor2
{id =2649 , chance = 10, count = 1}, --legs1
{id =2648 , chance = 5, count = 1}, --legs2
{id =2643 , chance = 10, count = 1}, --feet1
{id =2642 , chance = 5, count = 1}, --feet2
{id =2684 , chance = 20, count = 10}, --food1
{id =2689 , chance = 20, count = 10}, --food2
{id =2691 , chance = 20, count = 10}, --food3
{id =2677 , chance = 20, count = 20}, --food4
{id =2674 , chance = 20, count = 10}, --food5
{id =2386 , chance = 10, count = 1}, --axe1
{id =2441 , chance = 5, count = 1}, --axe2
{id =2437 , chance = 10, count = 1}, --club1
{id =2398 , chance = 5, count = 1}, --club2
{id =2190 , chance = 5, count = 1}, --wand1
{id =2191 , chance = 5, count = 1}, --wand2
{id =2456 , chance = 5, count = 1}, --bow1
{id =7438 , chance = 5, count = 1}, --bow2
{id =2512 , chance = 10, count = 1}, --shield1
{id =2529 , chance = 5, count = 1}, --shield2
{id =2331 , chance = 10, count = 10}, --rune1
{id =2313 , chance = 5, count = 10}, --rune2
{id =2544 , chance = 10, count = 10}, --ammo1
{id =2545 , chance = 5, count = 10}, --ammo2
{id =8704 , chance = 10, count = 1}, --potion1
{id =7618 , chance = 5, count = 1} --potion2
},
{                    --tier2
{id =2392 , chance = 10, count = 1}, --sword1
{id =7385 , chance = 5, count = 1}, --sword2
{id =2460 , chance = 10, count = 1}, --helmet1
{id =2480 , chance = 5, count = 1}, --helmet2
{id =2465 , chance = 10, count = 1}, --armor1
{id =2463 , chance = 5, count = 1}, --armor2
{id =2478 , chance = 10, count = 1}, --legs1
{id =2647 , chance = 5, count = 1}, --legs2
{id =11303 , chance = 10, count = 1}, --feet1
{id =7453 , chance = 5, count = 1}, --feet2
{id =2428 , chance = 10, count = 1}, --axe1
{id =2429 , chance = 5, count = 1}, --axe2
{id =2439 , chance = 10, count = 1}, --club1
{id =2423 , chance = 5, count = 1}, --club2
{id =2188 , chance = 5, count = 1}, --wand1
{id =8921 , chance = 5, count = 1}, --wand2
{id =8857 , chance = 5, count = 1}, --bow1
{id =8855 , chance = 5, count = 1}, --bow2
{id =2524 , chance = 10, count = 1}, --shield1
{id =2525 , chance = 5, count = 1}, --shield2
{id =2288 , chance = 10, count = 10}, --rune1
{id =2274 , chance = 5, count = 10}, --rune2
{id =7364 , chance = 10, count = 10}, --ammo1
{id =15648 , chance = 5, count = 10} --ammo2

}
}
function onUse(player, item, fromPosition, itemEx, toPosition, isHotkey)
    chesttier = math.floor(((item.actionid % 1000) + 100 ) / 200)
    if Game.getStorageValue(item:getActionId()) ~= 1 then
    for a=item:getSize()-1 , 0, -1 do
        item:getItem(i):remove() -- cleaning any old remaining items from previous games.
    end
    for i=1,20 do
        percentage = math.random(1,100)
        randomitem = math.random(1,#tier[chesttier])
            if percentage <= tier[chesttier][randomitem].chance then
            item:addItem(tier[chesttier][randomitem].id, math.random(1,tier[chesttier][randomitem].count))    --adding random item
            end
    end
    Game.setStorageValue(item:getActionId(), 1)
    end
end 

 

 

 

Curtiu da um rep ae né.. não arranca pedaço da mão e incentiva a trazer mais.. se você for sovina e n gostar de dar rep, ao menos um obrigado ja ta bom.. pelo menos mostra que esta valendo a pena ficar procurando sistemas maneiros para trazer, pedir autorização e traduzir as informações...

 

[edit] para evitar problemas façam testes antes, fui informado por pm que as vezes mesmo indo ao dp antes alguns items ainda não retornam.. eu fiz um teste básico no sistema e não tive esse problema.. mas é melhor prevenir, por isso antes de colocar o sistema on no seu server façam stress test :) .Certamente o Karain esta tentando resolver mas mesmo assim eu fiz um post no seu tópico perguntando sobre informações mais detalhadas sobre e se esta sendo feito algo :)

 

[edit 08/08] Alteração no script - vide Changelog

[edit 09/08] Alteração no script - vide Changelog

[edit 30/08] Alteração para o script - vide Changelog

Editado por DeCarvalho
Link para o comentário
Compartilhar em outros sites

Muiitoo bom cara! obrigado por compartilhar com o pessoal do XTibia

 

Muito Obrigado :D

Opa, amigo você poderia passar o mapa para 8.60? tentei abrir mas deu unsupported version

iai fera, faz assim, abre um mapa novo e ir em file>import>import map

Link para o comentário
Compartilhar em outros sites

Opa, deu certo obrigado.

 

Que bom :D

Caramba!! Show de bola cara :)

É muito maneiro.. apesar de eu não saber criar, gosto de procurar coisas interessantes pois sei que muita gente não procura por não saber ingles/espanhol ou por não ter intimidade com o 'computador'

 

.~^ mesmo que um ou 2 comentários, e umas curtidas já da uma animada em saber que não é tempo 'perdido' :) estar garimpando os forums gringos em busca de 'coisas' interessantes :)

 

Grato pelos reps e comments :)

Editado por DeCarvalho
Link para o comentário
Compartilhar em outros sites

Muito legal esse evento, obrigado por compartilhar conosco!

 

:D maneiro mesmo :D

 

seria dahora transformar esse evento em um mod bem legal. tipo war system .. haha'

 

Agora basta alguém com conhecimento para tal e com vontade de fazê-lo :D

Link para o comentário
Compartilhar em outros sites

Eu não posso dar suporte pois não entendo, eu trouxe o sistema, testei aqui e não tive problema.. posso primeiramente pensar que você pode estar usando alguma versão abaixo de 1.1 e/ou 'copiou' algo errado e/ou fez alguma alteração..

 

Caso esteja usando realmente o 1.2 mais novo, me informe o que fez para eu tentar replicar aqui e informar ao karain para poder ter um suporte correto..

 

Grato e desculpe

 

// Acabei de ver que você postou o erro lá no tópico dele :) vou acompanhar para que caso seja resolvido eu possa 'atualizar' aqui o post (caso seja necessário)

 

// script hunger.lua em creaturescripts/scripts atualizado ... o erro acima citado se deve ao fato de um player atacar outro antes do evento começar.. mas ja havia sido corrigido, eu não atualizei pois não havia changelog no post principal do Karain..

 

script atualizado com a nova versão..

Editado por DeCarvalho
Link para o comentário
Compartilhar em outros sites

  • 3 weeks later...

Em 30/08 o usuário Mokerhamer apareceu com uma solução para o problema que fazia com que alguns players não conseguissem recuperar os items após o evento, adicionando uma função clone, então funciona abrindo ou não o dp antes do evento.. estou sem pc novamente então não pude testar e o Karain até o momento não se pronunciou, de qualquer maneira parece promissor então vou colocar aparte. alterem por conta e risco.

 

Altere a função player:getbackitems do código no arquivo hunger.lua em globalevents/scripts por este

 

 

 

function Player:getBackItems() -- function to clear the player's inventory
  local depotpos = Tile(Position(depotbox.x, depotbox.y, depotbox.z)):getItemByType(ITEM_TYPE_DEPOT)
  local depotid = getDepotId(depotpos:getUniqueId())
  local depot = self:getDepotChest(depotid,true)
  local box = depot:getItem(0)
  for i= box:getSize()-1, 0, -1 do
  local item = box:getItem(i)
  if item then
  item:clone():moveTo(self)
  end
  end
  box:remove() --unqued this function to clean the depot after duplicating it to player.
end 

 

 

 

Post principal atualizado com a informação referente.. Caso alguma novidade apareça o mesmo será atualziado novamente e quantas vezes forem necessárias.

 

Grato

 

[edit]@Lumus uma vez você havia comentado que muitas vezes mesmo acessando o dp o problema ocorria.. não sei se você teria o sistema ai ainda, mas se tiver seria interessante dar uma testada :D o Moker informa que com esse update o sistema esta agora 100%.. caso teste, ficaria grato por um feedback :D traz mais credibilidade :3 :V

Editado por DeCarvalho
Link para o comentário
Compartilhar em outros sites

  • 1 month later...
  • 1 month later...
×
×
  • Criar Novo...