DeCarvalho 65 Postado Agosto 2, 2015 Share Postado Agosto 2, 2015 (editado) 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. 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 .~> Mapa<~. 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 Agosto 30, 2015 por DeCarvalho Link para o comentário Compartilhar em outros sites More sharing options...
Mudrock 326 Postado Agosto 2, 2015 Share Postado Agosto 2, 2015 Muiitoo bom cara! obrigado por compartilhar com o pessoal do XTibia Link para o comentário Compartilhar em outros sites More sharing options...
SkyDarkyes 104 Postado Agosto 2, 2015 Share Postado Agosto 2, 2015 Opa, amigo você poderia passar o mapa para 8.60? tentei abrir mas deu unsupported version Link para o comentário Compartilhar em outros sites More sharing options...
DeCarvalho 65 Postado Agosto 2, 2015 Autor Share Postado Agosto 2, 2015 Muiitoo bom cara! obrigado por compartilhar com o pessoal do XTibia Muito Obrigado 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 More sharing options...
SkyDarkyes 104 Postado Agosto 3, 2015 Share Postado Agosto 3, 2015 Opa, deu certo obrigado. Link para o comentário Compartilhar em outros sites More sharing options...
Administrador Administrador 1435 Postado Agosto 3, 2015 Administrador Share Postado Agosto 3, 2015 Caramba!! Show de bola cara Link para o comentário Compartilhar em outros sites More sharing options...
DeCarvalho 65 Postado Agosto 3, 2015 Autor Share Postado Agosto 3, 2015 (editado) Opa, deu certo obrigado. Que bom 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 Agosto 3, 2015 por DeCarvalho Link para o comentário Compartilhar em outros sites More sharing options...
Bruno 535 Postado Agosto 3, 2015 Share Postado Agosto 3, 2015 Muito legal esse evento, obrigado por compartilhar conosco! Link para o comentário Compartilhar em outros sites More sharing options...
SkyDangerous 395 Postado Agosto 3, 2015 Share Postado Agosto 3, 2015 seria dahora transformar esse evento em um mod bem legal. tipo war system .. haha' Link para o comentário Compartilhar em outros sites More sharing options...
DeCarvalho 65 Postado Agosto 3, 2015 Autor Share Postado Agosto 3, 2015 Muito legal esse evento, obrigado por compartilhar conosco! maneiro mesmo 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 Link para o comentário Compartilhar em outros sites More sharing options...
curruwilliam 28 Postado Agosto 8, 2015 Share Postado Agosto 8, 2015 Deu um erro aqui: Me ajuda :v Link para o comentário Compartilhar em outros sites More sharing options...
DeCarvalho 65 Postado Agosto 8, 2015 Autor Share Postado Agosto 8, 2015 (editado) 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 Agosto 8, 2015 por DeCarvalho Link para o comentário Compartilhar em outros sites More sharing options...
DeCarvalho 65 Postado Agosto 30, 2015 Autor Share Postado Agosto 30, 2015 (editado) 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 o Moker informa que com esse update o sistema esta agora 100%.. caso teste, ficaria grato por um feedback traz mais credibilidade :3 :V Editado Agosto 30, 2015 por DeCarvalho Link para o comentário Compartilhar em outros sites More sharing options...
Askov 0 Postado Outubro 2, 2015 Share Postado Outubro 2, 2015 Finciona para TFS 1.0? Link para o comentário Compartilhar em outros sites More sharing options...
OcruxBiel 4 Postado Novembro 25, 2015 Share Postado Novembro 25, 2015 Aonde eu ajusto o tempo? Gostaria que checasse se tem players na fila a cada 10segundos... se sim fosse pro evento em 3segs. Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados