Ir para conteúdo

Kuro o Shiniga

Colaborador
  • Total de itens

    271
  • Registro em

  • Última visita

  • Dias Ganhos

    12

Histórico de Reputação

  1. Thanks
    Kuro o Shiniga recebeu reputação de M i s s em [Resolvido] Sacrificio por alavanca cria um item no mapa   
    Usando um item no altar, deixei comentado as configurações do codigo, dai tu so configura ai
     
    <action itemid="2033" script="other/abc.lua"/>  
     
    local mConfig = { mTime = 5000, -- tempo que vai sumir o item e o altar mAltar = {1485, 1484}, -- IDS do altar mItemID = 2160, -- ID do item que vai aparecer na posicao X mQTDE = 100, -- quantidade de item que vai aparecer na posição X mItem = 2033, -- item que vai usar em cima do altar mPoss = {{x = 77, y = 38, z = 7}, {x = 78, y = 38, z = 7}}, -- Primeira posição é a do altar e a segunda a do item que vai aparecer } function onUse(cid, item, fromPosition, itemEx, toPosition) if item.itemid == mConfig.mItem and itemEx.itemid == mConfig.mAltar[1] then doRemoveItem(item.uid, 1) doTransformItem(itemEx.uid, mConfig.mAltar[2]) doSendMagicEffect(getThingPos(itemEx.uid), 3) doCreateItem(mConfig.mItemID, mConfig.mQTDE, mConfig.mPoss[2]) doSendMagicEffect(mConfig.mPoss[2], 10) addEvent(function() mItem = getTileItemById(mConfig.mPoss[1],mConfig.mAltar[2]).uid mItemTwo = getTileItemById(mConfig.mPoss[2],mConfig.mItemID).uid if mItem > 0 then doTransformItem(mItem, mConfig.mAltar[1]) doSendMagicEffect(getThingPos(mItem), 2) if mItemTwo > 0 then doRemoveItem(mItemTwo, mConfig.mQTDE) end end end, mConfig.mTime) else doSendMagicEffect(getThingPos(cid), 2) end end  
  2. Upvote
    Kuro o Shiniga recebeu reputação de ITALOx em [Action] Roleta   
    Sistema simples de roleta, o player clica na alavanca e um efeito corre em modo random por todos os itens da roleta, em qual item o efeito parar o player recebe o item!
     
     
    Actions :
     
    function onUse(cid, item) local possitem = { {x=82 ,y=339, z=7, id = 2160, count = 100}, -- poss de cada item, id e quantidade {x=83 ,y=339, z=7, id = 5903, count = 1}, -- poss de cada item, id e quantidade {x=84 ,y=339, z=7, id = 2494, count = 1}, -- poss de cada item, id e quantidade {x=85 ,y=339, z=7, id = 5878, count = 100}, -- poss de cada item, id e quantidade {x=86 ,y=339, z=7, id = 5786, count = 1}, -- poss de cada item, id e quantidade {x=87 ,y=339, z=7, id = 8306, count = 1}, -- poss de cada item, id e quantidade {x=88 ,y=339, z=7, id = 9931, count = 1}, -- poss de cada item, id e quantidade } local config = { tempo = 30, -- tempo de espera para jogar custo = 100000, -- custo para jogar str = 21887, -- nao mexa } local size = #possitem if getPlayerStorageValue(cid, config.str) < os.time() and getPlayerMoney(cid) >= config.custo then doPlayerRemoveMoney(cid, config.custo) setPlayerStorageValue(cid, config.str, os.time() + config.tempo) doSendMagicEffect(getThingPos(cid), 12) for i = 1, size do index = math.random(#possitem) sorteio = possitem[index] addEvent(doSendMagicEffect, 1000+400*(i-1), sorteio, 39) table.remove(possitem, index) end addEvent(doPlayerAddItem, 1000+400*size, cid, sorteio.id, sorteio.count) else doPlayerSendTextMessage(cid, 22, "Espere 30 segundos para jogar novamente, e tenha 100000gps em sua bp!") doSendMagicEffect(getThingPos(cid), 2) end end  

  3. Amei
    Kuro o Shiniga recebeu reputação de GamerGoiano em [SIMPLE] Battle Dungeon - Player X Monster   
    Sistema SIMPLES de Dungeon, o player entra no teleport e é criado alguns monstros para o jogador matar dentro de um  tempo de 30 segundos, se ele matar todos os monstro no tempo  ele recebe a recompensa em Exp e Gold, se ele não matar todos ele volta para o templo e da a chance de outro jogador entrar na Dungeon.
     
    Testado: Snowz Thyranic 3.1 [Especial Edition] (8.6)
     
    Em movements crie um arquivo do teleport da dungeon e adicione:
    function onStepIn(cid, item, position, fromPosition) local config = { posdung = {x=317, y=120, z=7}, -- poss da arena str = 15281, -- não mexer storage = 98551, -- não mexer tempo = 30, tempoarena = 30000, -- tempo que ele tem para terminar a arena 30000 = 30s monsterum = "Dragon" -- primeiro monstro que vai ser criado quando o player entrar na arena } local posstemplo = {x=63, y=42, z=7} function Tp() if isCreature(cid) then doTeleportThing(cid, posstemplo) end return true end function Str() if isCreature(cid) then setPlayerStorageValue(cid,config.storage, 0) end return true end function deletamonstro() local spec = getSpectators(config.posdung, 10, 10) if spec ~= nil then for _, s in pairs(spec) do if isMonster(s) then doRemoveCreature(s) end end end end for _, player in pairs(getPlayersOnline()) do if getPlayerStorageValue(player, config.str) >= os.time() then doTeleportThing(player, fromPosition) doPlayerSendTextMessage(cid, 22, "Já existe player em batalha!") elseif getPlayerStorageValue(player, config.str) < os.time() then setPlayerStorageValue(cid, config.str, os.time() + config.tempo) doTeleportThing(cid, config.posdung) doSendMagicEffect(getThingPos(cid), 10) doCreateMonster(config.monsterum, getThingPos(cid)) addEvent(Tp, config.tempoarena) addEvent(Str, config.tempoarena) addEvent(deletamonstro, config.tempoarena) break end end end <movevent type="StepIn" actionid="2569" event="script" value="arquivo.lua"/> CreatureScripts crie um arquivo lua e adicione :
    local monster = { --- tabela de monstro, se quiser adicionar mais e so adicionar na tabela [1] = "Dragon", [2] = "Dragon Lord", [3] = "Hydra", [4] = "Demon", } local config = { posstemplo = {x=63, y=42, z=7}, -- poss aonde o player vai ser enviado quando terminar ou se falhar storage = 98551, -- não mexa premioexp = 800000, -- tanto de exp que o player vai ganhar quant = 1000000, --- quantidade de dinheiro que vai ganhar } function onDeath(cid, corpse, deathList, target) local storage_value = getPlayerStorageValue(deathList[1], config.storage) < 1 and 1 or getPlayerStorageValue(deathList[1], config.storage) local new_value = storage_value + 1 if getCreatureName(cid) == monster[storage_value] then setPlayerStorageValue(deathList[1], config.storage, new_value) doSendMagicEffect(getPlayerPosition(deathList[1]), 12) doCreatureSay(cid, 'Fight', TALKTYPE_MONSTER) if new_value > #monster then doPlayerSendTextMessage(deathList[1], 22, "Completa!") doPlayerAddMoney(deathList[1], config.quant) doPlayerAddExp(deathList[1], config.premioexp) doTeleportThing(deathList[1], config.posstemplo) doSendMagicEffect(getThingPos(cid), 10) else doCreateMonster(monster[new_value], getThingPos(cid)) end end end <event type="death" name="dungeon" event="script" value="arquivo.lua"/> Adicione dentro do arquivo de cada monstro que vai ter na dungeon :
    <script> <event name="dungeon"/> </script>
    Configurando :
    Em movements você adiciona a poss da dungeon
    posdung = {x=317, y=120, z=7}, -- poss da arena Aqui você adiciona o primeiro monstro da dungeon 
    monsterum = "Dragon" -- primeiro monstro que vai ser criado quando o player entrar na arena Em creaturescript você adiciona a poss do templo aonde o player vai aparecer quando finalizar a dungeon
    posstemplo = {x=63, y=42, z=7}, -- poss aonde o player vai ser enviado quando terminar E aqui os monstros que vai ter na dungeon
    local monster = { --- tabela de monstro, se quiser adicionar mais e so adicionar na tabela [1] = "Dragon", [2] = "Dragon Lord", [3] = "Hydra", [4] = "Demon", } Dentro da sala da dungeon coloque ANT-LOGOUT pelo mapa editor, para evitar de jogadores fazer logout dentro da dungeon.
  4. Upvote
    Kuro o Shiniga recebeu reputação de mister17 em Roleta System   
    Cara eu fiz um para você, porem estou com pouco tempo acabei configurando poucos itens na roleta, e não configurei as alavancas, testei o sistema em um item qualquer, se foi tu que fez esse sistema que tu postou, vai ser facil configurar a alavanca e algo a mais que você queira.
     
    function onUse(cid, item) local possitem = { {x=81 ,y=339, z=7, id = 2160, count = 10}, -- poss de cada item, id e quantidade {x=82 ,y=339, z=7, id = 5903, count = 1}, -- poss de cada item, id e quantidade {x=83 ,y=339, z=7, id = 2160, count = 10}, -- poss de cada item, id e quantidade {x=84 ,y=339, z=7, id = 5878, count = 100}, -- poss de cada item, id e quantidade {x=85 ,y=339, z=7, id = 5786, count = 1}, -- poss de cada item, id e quantidade {x=86 ,y=339, z=7, id = 8306, count = 100} -- poss de cada item, id e quantidade } local config = { tempo = 30, -- tempo de espera para jogar custo = 100000, -- custo para jogar str = 21887, -- nao mexa } local size = #possitem if getPlayerStorageValue(cid, config.str) < os.time() and getPlayerMoney(cid) >= config.custo then doPlayerRemoveMoney(cid, config.custo) setPlayerStorageValue(cid, config.str, os.time() + config.tempo) doSendMagicEffect(getThingPos(cid), 12) for i = 1, size do index = math.random(#possitem) sorteio = possitem[index] addEvent(doSendMagicEffect, 1000+400*(i-1), sorteio, 39) table.remove(possitem, index) end addEvent(doPlayerAddItem, 1000+400*size, cid, sorteio.id, sorteio.count) else doPlayerSendTextMessage(cid, 22, "Espere 30 segundos para jogar novamente, e tenha 100000gps em sua bp!") doSendMagicEffect(getThingPos(cid), 2) end end O sistema percorre por todas as posições da tabela em random, ele não segue a ordem da tabela, porque se não ele iria ganhar o mesmo item sempre, o efeito corre por todas as posições mas aleatoriamente, quando o efeito parar de andar ele vai checar a posição que parou, e ver na tabela qual é o item dessa posição e adicionar ao player
     
    você so precisa adicionar pelo mapa editor os itens no chão, ver o item da posição e adicionar pelo mapa editor, para o player saber o que ele vai ganhar 
     
    espero que de certo, abraço !
  5. Amei
    Kuro o Shiniga deu reputação a Ayron5 em [Action] Roleta   
    Irei usar, thanks ^^ 
  6. Upvote
    Kuro o Shiniga recebeu reputação de Ayron5 em [Action] Roleta   
    Sistema simples de roleta, o player clica na alavanca e um efeito corre em modo random por todos os itens da roleta, em qual item o efeito parar o player recebe o item!
     
     
    Actions :
     
    function onUse(cid, item) local possitem = { {x=82 ,y=339, z=7, id = 2160, count = 100}, -- poss de cada item, id e quantidade {x=83 ,y=339, z=7, id = 5903, count = 1}, -- poss de cada item, id e quantidade {x=84 ,y=339, z=7, id = 2494, count = 1}, -- poss de cada item, id e quantidade {x=85 ,y=339, z=7, id = 5878, count = 100}, -- poss de cada item, id e quantidade {x=86 ,y=339, z=7, id = 5786, count = 1}, -- poss de cada item, id e quantidade {x=87 ,y=339, z=7, id = 8306, count = 1}, -- poss de cada item, id e quantidade {x=88 ,y=339, z=7, id = 9931, count = 1}, -- poss de cada item, id e quantidade } local config = { tempo = 30, -- tempo de espera para jogar custo = 100000, -- custo para jogar str = 21887, -- nao mexa } local size = #possitem if getPlayerStorageValue(cid, config.str) < os.time() and getPlayerMoney(cid) >= config.custo then doPlayerRemoveMoney(cid, config.custo) setPlayerStorageValue(cid, config.str, os.time() + config.tempo) doSendMagicEffect(getThingPos(cid), 12) for i = 1, size do index = math.random(#possitem) sorteio = possitem[index] addEvent(doSendMagicEffect, 1000+400*(i-1), sorteio, 39) table.remove(possitem, index) end addEvent(doPlayerAddItem, 1000+400*size, cid, sorteio.id, sorteio.count) else doPlayerSendTextMessage(cid, 22, "Espere 30 segundos para jogar novamente, e tenha 100000gps em sua bp!") doSendMagicEffect(getThingPos(cid), 2) end end  

  7. Amei
    Kuro o Shiniga deu reputação a Vampiresco em [Resolvido] [newPlayerSpawnPos] No MYTHOLOGY!   
    Obrigado KURO! Aprecio sua atenção...
     
    Dúvidas sanadas!
  8. Thanks
    Kuro o Shiniga recebeu reputação de Vampiresco em [Resolvido] [newPlayerSpawnPos] No MYTHOLOGY!   
    Sim, vai ter que entender os erros na sua distro, e tentar ir arrumando um por um, primeiro tem que entender os erros, tentar descobrir o que esta causando isso
  9. Amei
    Kuro o Shiniga recebeu reputação de Guilioti em [Resolvido] Invocar   
    item que vai summonar o monstro:
     
    local summon = { ["Dragon"] = {1}, } local config = { tempo = 3, -- exausted para usar o item storage = 28992, } function onUse(cid, item) sm = getCreatureSummons(cid) if #sm > 0 then doSendMagicEffect(getThingPos(cid), 2) doPlayerSendTextMessage(cid, 25, "Seu monstro ainda esta vivo!") return true end for l, m in pairs(summon) do if getPlayerStorageValue(cid, config.storage) < os.time() and sm then setPlayerStorageValue(cid, config.storage, os.time() + config.tempo) doConvinceCreature(cid, doSummonCreature(l, getCreaturePosition(cid))) doCreatureSay(cid, "Vai Dragon!!", 1) doSendMagicEffect(getThingPos(cid), 12) break else doPlayerSendTextMessage(cid, 25, "Espere para usar novamente!") doSendMagicEffect(getThingPos(cid), 2) end end end Item que vai remover o monstro :
    function onUse(cid, item) sm = getCreatureSummons(cid) if sm then for n, p in ipairs(sm) do doRemoveCreature(p) doSendMagicEffect(getThingPos(cid), 28) doCreatureSay(cid, "Volta Dragon!!", 1) doPlayerSendTextMessage(cid, 25, "Seu monstro foi removido!") end return true end end Actions.xml
    <action itemid="item_id" script="remover.lua"/> <action itemid="item_id" script="criar.lua"/>  
  10. Thanks
    Kuro o Shiniga recebeu reputação de Guilioti em Remover monstro   
    Primeiro tu tem que verificar se o player tem um summon, ai sim remover.
    summon = getCreatureSummons(cid)  
    Eu desenvolvi um sistema igual você deseja para um cara aqui do forum, se quiser da uma olhada, da pra tu ter uma base, ou utilizar o mesmo !
    https://www.xtibia.com/forum/topic/249076-pet-system Qualquer duvida estamos ai, abraço !
  11. Upvote
    Kuro o Shiniga recebeu reputação de Gkillersz79 em Não teleporta heeelpp   
    show
  12. Upvote
    Kuro o Shiniga recebeu reputação de Gkillersz79 em Não teleporta heeelpp   
    Não vai ser teleportado nunca, a condição para ele ser teleportado é o player ter talkState == 3
    elseif (msgcontains(msg, 'yes') or msgcontains(msg, 'Yes')) and talkState[talkUser] == 3 then em nenhum momento ele ganhou esse talkState, então nunca vai ser teleportado, retira essa condição ou adicione a talkState no player
  13. Upvote
    Kuro o Shiniga recebeu reputação de Dasdor em [NPC] Walk Hunt - Npc Caminha ate a hunt.   
    O NPC caminha junto com o player ate a hunt.
                                                                           Esse sistema é bem SIMPLES, um amigo me pediu, desenvolvi para ele e vim compartilhar com vocês
     
    Crie um arquivo lua em npcs e adicione :
     
    local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local possnpc = { --- poss que o npc vai andar {x=81 ,y=339, z=7}, {x=82 ,y=339, z=7}, {x=83 ,y=339, z=7}, {x=84 ,y=339, z=7}, {x=85 ,y=339, z=7}, {x=86 ,y=339, z=7}, {x=79, y=340, z=7} } local possplayer = { -- poss que o player vai andar {x=81 ,y=339, z=7}, {x=82 ,y=339, z=7}, {x=83 ,y=339, z=7}, {x=84 ,y=339, z=7}, {x=85 ,y=339, z=7}, {x=86 ,y=339, z=7} } local pid = getNpcId() -- não mexa local config = { -- não mexa str = 150729, tempo = 30, } function andarnpc() for i, pos in ipairs(possnpc) do addEvent(doTeleportThing, 1000+400*(i-1), pid, pos) end end function andarplayer(cid) for i, posdois in ipairs(possplayer) do if isCreature(cid) then addEvent(doTeleportThing, 1000+500*(i-1), cid, posdois) end end end for _, player in pairs(getPlayersOnline()) do if msgcontains(msg, "hunt") and getPlayerStorageValue(player, config.str) >= os.time() then selfSay("Não posso atender você agora!", cid) break end if msgcontains(msg, "hunt") and getPlayerStorageValue(player, config.str) < os.time() then setPlayerStorageValue(cid, config.str, os.time() + config.tempo) selfSay("Vou te levar ate a caverna misteriosa !", cid) andarnpc() andarplayer(cid) break end end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())  
    Configuração :
     
    Aqui é aonde o npc vai andar, são as mesma poss que o player vai andar, porem você tem que por uma ultima poss para o npc, nessa ultima poss você coloca a posição aonde o npc estava antes do jogador falar com ele !
    local possnpc = { --- poss que o npc vai andar {x=81 ,y=339, z=7}, {x=82 ,y=339, z=7}, {x=83 ,y=339, z=7}, {x=84 ,y=339, z=7}, {x=85 ,y=339, z=7}, {x=86 ,y=339, z=7}, {x=79, y=340, z=7} } Essa é a poss do inicio, aonde o npc vai aparecer quando ele levar o jogador, não esqueca de colocar a posição correta, se não o npc vai ficar dentro da hunt com o player, e outros players não vão conseguir encontrar o npc.
    {x=79, y=340, z=7} -- poss aonde o npc tava antes de levar o player para a hunt OBS: Existe um tempo para poder falar com o NPC, caso o npc esteja levando algum player para a hunt, outro jogador não pode conversar com ele, ate que ele complete a caminhada, caso queira mudar o tempo edite aqui :
     
    tempo = 30, -- 30 = 30 segundos  
  14. Upvote
    Kuro o Shiniga recebeu reputação de Sexyboyy em [NPC] Walk Hunt - Npc Caminha ate a hunt.   
    O NPC caminha junto com o player ate a hunt.
                                                                           Esse sistema é bem SIMPLES, um amigo me pediu, desenvolvi para ele e vim compartilhar com vocês
     
    Crie um arquivo lua em npcs e adicione :
     
    local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local possnpc = { --- poss que o npc vai andar {x=81 ,y=339, z=7}, {x=82 ,y=339, z=7}, {x=83 ,y=339, z=7}, {x=84 ,y=339, z=7}, {x=85 ,y=339, z=7}, {x=86 ,y=339, z=7}, {x=79, y=340, z=7} } local possplayer = { -- poss que o player vai andar {x=81 ,y=339, z=7}, {x=82 ,y=339, z=7}, {x=83 ,y=339, z=7}, {x=84 ,y=339, z=7}, {x=85 ,y=339, z=7}, {x=86 ,y=339, z=7} } local pid = getNpcId() -- não mexa local config = { -- não mexa str = 150729, tempo = 30, } function andarnpc() for i, pos in ipairs(possnpc) do addEvent(doTeleportThing, 1000+400*(i-1), pid, pos) end end function andarplayer(cid) for i, posdois in ipairs(possplayer) do if isCreature(cid) then addEvent(doTeleportThing, 1000+500*(i-1), cid, posdois) end end end for _, player in pairs(getPlayersOnline()) do if msgcontains(msg, "hunt") and getPlayerStorageValue(player, config.str) >= os.time() then selfSay("Não posso atender você agora!", cid) break end if msgcontains(msg, "hunt") and getPlayerStorageValue(player, config.str) < os.time() then setPlayerStorageValue(cid, config.str, os.time() + config.tempo) selfSay("Vou te levar ate a caverna misteriosa !", cid) andarnpc() andarplayer(cid) break end end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())  
    Configuração :
     
    Aqui é aonde o npc vai andar, são as mesma poss que o player vai andar, porem você tem que por uma ultima poss para o npc, nessa ultima poss você coloca a posição aonde o npc estava antes do jogador falar com ele !
    local possnpc = { --- poss que o npc vai andar {x=81 ,y=339, z=7}, {x=82 ,y=339, z=7}, {x=83 ,y=339, z=7}, {x=84 ,y=339, z=7}, {x=85 ,y=339, z=7}, {x=86 ,y=339, z=7}, {x=79, y=340, z=7} } Essa é a poss do inicio, aonde o npc vai aparecer quando ele levar o jogador, não esqueca de colocar a posição correta, se não o npc vai ficar dentro da hunt com o player, e outros players não vão conseguir encontrar o npc.
    {x=79, y=340, z=7} -- poss aonde o npc tava antes de levar o player para a hunt OBS: Existe um tempo para poder falar com o NPC, caso o npc esteja levando algum player para a hunt, outro jogador não pode conversar com ele, ate que ele complete a caminhada, caso queira mudar o tempo edite aqui :
     
    tempo = 30, -- 30 = 30 segundos  
  15. Upvote
    Kuro o Shiniga recebeu reputação de GOD Vitor em [NPC] Walk Hunt - Npc Caminha ate a hunt.   
    O NPC caminha junto com o player ate a hunt.
                                                                           Esse sistema é bem SIMPLES, um amigo me pediu, desenvolvi para ele e vim compartilhar com vocês
     
    Crie um arquivo lua em npcs e adicione :
     
    local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local possnpc = { --- poss que o npc vai andar {x=81 ,y=339, z=7}, {x=82 ,y=339, z=7}, {x=83 ,y=339, z=7}, {x=84 ,y=339, z=7}, {x=85 ,y=339, z=7}, {x=86 ,y=339, z=7}, {x=79, y=340, z=7} } local possplayer = { -- poss que o player vai andar {x=81 ,y=339, z=7}, {x=82 ,y=339, z=7}, {x=83 ,y=339, z=7}, {x=84 ,y=339, z=7}, {x=85 ,y=339, z=7}, {x=86 ,y=339, z=7} } local pid = getNpcId() -- não mexa local config = { -- não mexa str = 150729, tempo = 30, } function andarnpc() for i, pos in ipairs(possnpc) do addEvent(doTeleportThing, 1000+400*(i-1), pid, pos) end end function andarplayer(cid) for i, posdois in ipairs(possplayer) do if isCreature(cid) then addEvent(doTeleportThing, 1000+500*(i-1), cid, posdois) end end end for _, player in pairs(getPlayersOnline()) do if msgcontains(msg, "hunt") and getPlayerStorageValue(player, config.str) >= os.time() then selfSay("Não posso atender você agora!", cid) break end if msgcontains(msg, "hunt") and getPlayerStorageValue(player, config.str) < os.time() then setPlayerStorageValue(cid, config.str, os.time() + config.tempo) selfSay("Vou te levar ate a caverna misteriosa !", cid) andarnpc() andarplayer(cid) break end end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())  
    Configuração :
     
    Aqui é aonde o npc vai andar, são as mesma poss que o player vai andar, porem você tem que por uma ultima poss para o npc, nessa ultima poss você coloca a posição aonde o npc estava antes do jogador falar com ele !
    local possnpc = { --- poss que o npc vai andar {x=81 ,y=339, z=7}, {x=82 ,y=339, z=7}, {x=83 ,y=339, z=7}, {x=84 ,y=339, z=7}, {x=85 ,y=339, z=7}, {x=86 ,y=339, z=7}, {x=79, y=340, z=7} } Essa é a poss do inicio, aonde o npc vai aparecer quando ele levar o jogador, não esqueca de colocar a posição correta, se não o npc vai ficar dentro da hunt com o player, e outros players não vão conseguir encontrar o npc.
    {x=79, y=340, z=7} -- poss aonde o npc tava antes de levar o player para a hunt OBS: Existe um tempo para poder falar com o NPC, caso o npc esteja levando algum player para a hunt, outro jogador não pode conversar com ele, ate que ele complete a caminhada, caso queira mudar o tempo edite aqui :
     
    tempo = 30, -- 30 = 30 segundos  
  16. Upvote
    Kuro o Shiniga recebeu reputação de Walox em [NPC] Walk Hunt - Npc Caminha ate a hunt.   
    O NPC caminha junto com o player ate a hunt.
                                                                           Esse sistema é bem SIMPLES, um amigo me pediu, desenvolvi para ele e vim compartilhar com vocês
     
    Crie um arquivo lua em npcs e adicione :
     
    local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local possnpc = { --- poss que o npc vai andar {x=81 ,y=339, z=7}, {x=82 ,y=339, z=7}, {x=83 ,y=339, z=7}, {x=84 ,y=339, z=7}, {x=85 ,y=339, z=7}, {x=86 ,y=339, z=7}, {x=79, y=340, z=7} } local possplayer = { -- poss que o player vai andar {x=81 ,y=339, z=7}, {x=82 ,y=339, z=7}, {x=83 ,y=339, z=7}, {x=84 ,y=339, z=7}, {x=85 ,y=339, z=7}, {x=86 ,y=339, z=7} } local pid = getNpcId() -- não mexa local config = { -- não mexa str = 150729, tempo = 30, } function andarnpc() for i, pos in ipairs(possnpc) do addEvent(doTeleportThing, 1000+400*(i-1), pid, pos) end end function andarplayer(cid) for i, posdois in ipairs(possplayer) do if isCreature(cid) then addEvent(doTeleportThing, 1000+500*(i-1), cid, posdois) end end end for _, player in pairs(getPlayersOnline()) do if msgcontains(msg, "hunt") and getPlayerStorageValue(player, config.str) >= os.time() then selfSay("Não posso atender você agora!", cid) break end if msgcontains(msg, "hunt") and getPlayerStorageValue(player, config.str) < os.time() then setPlayerStorageValue(cid, config.str, os.time() + config.tempo) selfSay("Vou te levar ate a caverna misteriosa !", cid) andarnpc() andarplayer(cid) break end end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())  
    Configuração :
     
    Aqui é aonde o npc vai andar, são as mesma poss que o player vai andar, porem você tem que por uma ultima poss para o npc, nessa ultima poss você coloca a posição aonde o npc estava antes do jogador falar com ele !
    local possnpc = { --- poss que o npc vai andar {x=81 ,y=339, z=7}, {x=82 ,y=339, z=7}, {x=83 ,y=339, z=7}, {x=84 ,y=339, z=7}, {x=85 ,y=339, z=7}, {x=86 ,y=339, z=7}, {x=79, y=340, z=7} } Essa é a poss do inicio, aonde o npc vai aparecer quando ele levar o jogador, não esqueca de colocar a posição correta, se não o npc vai ficar dentro da hunt com o player, e outros players não vão conseguir encontrar o npc.
    {x=79, y=340, z=7} -- poss aonde o npc tava antes de levar o player para a hunt OBS: Existe um tempo para poder falar com o NPC, caso o npc esteja levando algum player para a hunt, outro jogador não pode conversar com ele, ate que ele complete a caminhada, caso queira mudar o tempo edite aqui :
     
    tempo = 30, -- 30 = 30 segundos  
  17. Upvote
    Kuro o Shiniga deu reputação a Yan Liima em [Sistema] Trade Points   
    #Introdução
    Reparei que muitas pessoas estão atrás desse sistema que o DBOBR & NTOBR usa, e atualmente o VitorSubhi postou um, porém é necessário modificar as sources. Apesar de achar o dele bem melhor, estarei deixando este meu sistema(não é necessário mexer nas sources).
     
    #Funcionamente
    O jogador vai até um NPC e compra um papel, após ter comprado ele pode estar dando trade nesse papel e negociando com algum jogador, em troca de qualquer item. Ao finalizar a negociação, os points são transferidos/removidos(caso houver points na conta). Também é possivel comprar o papel por comando, estarei disponibilizando ambos para vocês.
     
    #Alguns prints:
     
    Estarei deixando o script para vocês em inglês, modifique como quiser ;D
    Então vamos lá...
     
    #Instalação
    Em data/lib crie um arquivo chamado tradepoints.lua cole isto dentro:
     
    Em data/creaturescript/tradepoints.lua:
     
    TAG:
    <event type="tradeaccept" name="Trade_Points" event="script" value="tradepoints.lua"/> <event type="traderequest" name="Trade_Points_Request" event="script" value="tradepoints.lua"/> login.lua:
    registerCreatureEvent(cid, "Trade_Points") registerCreatureEvent(cid, "Trade_Points_Request") NPC XML:
    <?xml version="1.0" encoding="UTF-8"?> <npc name="Frodo" script="data/npc/scripts/trade_points.lua" walkinterval="2000" floorchange="0" access="5" level="1" maglevel="1"> <health now="150" max="150"/> <look type="275" head="114" body="113" legs="113" feet="113" corpse="2212"/> <parameters> <parameter key="module_shop" value="1" /> <parameter key="message_greet" value="Hello |PLAYERNAME|. I sell some utensils and Premium Points Transfer for you to transfer points to other players, remember to buy use '10' to 10 points." /> </parameters> </npc> Data/npc/scripts/trade_points.lua:
     
    Caso queira que a compra do papel seja feita por talkactions, aqui está:
     
    TAG:
    <talkaction words="!sellpoints;/sellpoints" event="script" value="trade_points.lua"/>  
    Prontinho xD
    Agradecimentos ao Junior(lordzetros) por ajudar na função scanContainer e ao @VitorSubhi
  18. Upvote
    Kuro o Shiniga recebeu reputação de FlamesAdmin em [NPC] Walk Hunt - Npc Caminha ate a hunt.   
    O NPC caminha junto com o player ate a hunt.
                                                                           Esse sistema é bem SIMPLES, um amigo me pediu, desenvolvi para ele e vim compartilhar com vocês
     
    Crie um arquivo lua em npcs e adicione :
     
    local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local possnpc = { --- poss que o npc vai andar {x=81 ,y=339, z=7}, {x=82 ,y=339, z=7}, {x=83 ,y=339, z=7}, {x=84 ,y=339, z=7}, {x=85 ,y=339, z=7}, {x=86 ,y=339, z=7}, {x=79, y=340, z=7} } local possplayer = { -- poss que o player vai andar {x=81 ,y=339, z=7}, {x=82 ,y=339, z=7}, {x=83 ,y=339, z=7}, {x=84 ,y=339, z=7}, {x=85 ,y=339, z=7}, {x=86 ,y=339, z=7} } local pid = getNpcId() -- não mexa local config = { -- não mexa str = 150729, tempo = 30, } function andarnpc() for i, pos in ipairs(possnpc) do addEvent(doTeleportThing, 1000+400*(i-1), pid, pos) end end function andarplayer(cid) for i, posdois in ipairs(possplayer) do if isCreature(cid) then addEvent(doTeleportThing, 1000+500*(i-1), cid, posdois) end end end for _, player in pairs(getPlayersOnline()) do if msgcontains(msg, "hunt") and getPlayerStorageValue(player, config.str) >= os.time() then selfSay("Não posso atender você agora!", cid) break end if msgcontains(msg, "hunt") and getPlayerStorageValue(player, config.str) < os.time() then setPlayerStorageValue(cid, config.str, os.time() + config.tempo) selfSay("Vou te levar ate a caverna misteriosa !", cid) andarnpc() andarplayer(cid) break end end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())  
    Configuração :
     
    Aqui é aonde o npc vai andar, são as mesma poss que o player vai andar, porem você tem que por uma ultima poss para o npc, nessa ultima poss você coloca a posição aonde o npc estava antes do jogador falar com ele !
    local possnpc = { --- poss que o npc vai andar {x=81 ,y=339, z=7}, {x=82 ,y=339, z=7}, {x=83 ,y=339, z=7}, {x=84 ,y=339, z=7}, {x=85 ,y=339, z=7}, {x=86 ,y=339, z=7}, {x=79, y=340, z=7} } Essa é a poss do inicio, aonde o npc vai aparecer quando ele levar o jogador, não esqueca de colocar a posição correta, se não o npc vai ficar dentro da hunt com o player, e outros players não vão conseguir encontrar o npc.
    {x=79, y=340, z=7} -- poss aonde o npc tava antes de levar o player para a hunt OBS: Existe um tempo para poder falar com o NPC, caso o npc esteja levando algum player para a hunt, outro jogador não pode conversar com ele, ate que ele complete a caminhada, caso queira mudar o tempo edite aqui :
     
    tempo = 30, -- 30 = 30 segundos  
  19. Upvote
    Kuro o Shiniga recebeu reputação de Yan Liima em [NPC] Walk Hunt - Npc Caminha ate a hunt.   
    O NPC caminha junto com o player ate a hunt.
                                                                           Esse sistema é bem SIMPLES, um amigo me pediu, desenvolvi para ele e vim compartilhar com vocês
     
    Crie um arquivo lua em npcs e adicione :
     
    local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) local talkState = {} function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end function onThink() npcHandler:onThink() end function creatureSayCallback(cid, type, msg) if(not npcHandler:isFocused(cid)) then return false end local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid local possnpc = { --- poss que o npc vai andar {x=81 ,y=339, z=7}, {x=82 ,y=339, z=7}, {x=83 ,y=339, z=7}, {x=84 ,y=339, z=7}, {x=85 ,y=339, z=7}, {x=86 ,y=339, z=7}, {x=79, y=340, z=7} } local possplayer = { -- poss que o player vai andar {x=81 ,y=339, z=7}, {x=82 ,y=339, z=7}, {x=83 ,y=339, z=7}, {x=84 ,y=339, z=7}, {x=85 ,y=339, z=7}, {x=86 ,y=339, z=7} } local pid = getNpcId() -- não mexa local config = { -- não mexa str = 150729, tempo = 30, } function andarnpc() for i, pos in ipairs(possnpc) do addEvent(doTeleportThing, 1000+400*(i-1), pid, pos) end end function andarplayer(cid) for i, posdois in ipairs(possplayer) do if isCreature(cid) then addEvent(doTeleportThing, 1000+500*(i-1), cid, posdois) end end end for _, player in pairs(getPlayersOnline()) do if msgcontains(msg, "hunt") and getPlayerStorageValue(player, config.str) >= os.time() then selfSay("Não posso atender você agora!", cid) break end if msgcontains(msg, "hunt") and getPlayerStorageValue(player, config.str) < os.time() then setPlayerStorageValue(cid, config.str, os.time() + config.tempo) selfSay("Vou te levar ate a caverna misteriosa !", cid) andarnpc() andarplayer(cid) break end end end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())  
    Configuração :
     
    Aqui é aonde o npc vai andar, são as mesma poss que o player vai andar, porem você tem que por uma ultima poss para o npc, nessa ultima poss você coloca a posição aonde o npc estava antes do jogador falar com ele !
    local possnpc = { --- poss que o npc vai andar {x=81 ,y=339, z=7}, {x=82 ,y=339, z=7}, {x=83 ,y=339, z=7}, {x=84 ,y=339, z=7}, {x=85 ,y=339, z=7}, {x=86 ,y=339, z=7}, {x=79, y=340, z=7} } Essa é a poss do inicio, aonde o npc vai aparecer quando ele levar o jogador, não esqueca de colocar a posição correta, se não o npc vai ficar dentro da hunt com o player, e outros players não vão conseguir encontrar o npc.
    {x=79, y=340, z=7} -- poss aonde o npc tava antes de levar o player para a hunt OBS: Existe um tempo para poder falar com o NPC, caso o npc esteja levando algum player para a hunt, outro jogador não pode conversar com ele, ate que ele complete a caminhada, caso queira mudar o tempo edite aqui :
     
    tempo = 30, -- 30 = 30 segundos  
  20. Upvote
    Kuro o Shiniga recebeu reputação de mister17 em [SIMPLE] Battle Dungeon - Player X Monster   
    Para deixar 15 minutos coloca essas linha no lugar da que estão :
    tempo = 900, tempoarena = 900000, -- tempo que ele tem para terminar a arena 30000 = 30s para adicionar coordenadas para cada monstro vai ter que modificiar algumas umas coisas
  21. Upvote
    Kuro o Shiniga recebeu reputação de mister17 em [SIMPLE] Battle Dungeon - Player X Monster   
    Sistema SIMPLES de Dungeon, o player entra no teleport e é criado alguns monstros para o jogador matar dentro de um  tempo de 30 segundos, se ele matar todos os monstro no tempo  ele recebe a recompensa em Exp e Gold, se ele não matar todos ele volta para o templo e da a chance de outro jogador entrar na Dungeon.
     
    Testado: Snowz Thyranic 3.1 [Especial Edition] (8.6)
     
    Em movements crie um arquivo do teleport da dungeon e adicione:
    function onStepIn(cid, item, position, fromPosition) local config = { posdung = {x=317, y=120, z=7}, -- poss da arena str = 15281, -- não mexer storage = 98551, -- não mexer tempo = 30, tempoarena = 30000, -- tempo que ele tem para terminar a arena 30000 = 30s monsterum = "Dragon" -- primeiro monstro que vai ser criado quando o player entrar na arena } local posstemplo = {x=63, y=42, z=7} function Tp() if isCreature(cid) then doTeleportThing(cid, posstemplo) end return true end function Str() if isCreature(cid) then setPlayerStorageValue(cid,config.storage, 0) end return true end function deletamonstro() local spec = getSpectators(config.posdung, 10, 10) if spec ~= nil then for _, s in pairs(spec) do if isMonster(s) then doRemoveCreature(s) end end end end for _, player in pairs(getPlayersOnline()) do if getPlayerStorageValue(player, config.str) >= os.time() then doTeleportThing(player, fromPosition) doPlayerSendTextMessage(cid, 22, "Já existe player em batalha!") elseif getPlayerStorageValue(player, config.str) < os.time() then setPlayerStorageValue(cid, config.str, os.time() + config.tempo) doTeleportThing(cid, config.posdung) doSendMagicEffect(getThingPos(cid), 10) doCreateMonster(config.monsterum, getThingPos(cid)) addEvent(Tp, config.tempoarena) addEvent(Str, config.tempoarena) addEvent(deletamonstro, config.tempoarena) break end end end <movevent type="StepIn" actionid="2569" event="script" value="arquivo.lua"/> CreatureScripts crie um arquivo lua e adicione :
    local monster = { --- tabela de monstro, se quiser adicionar mais e so adicionar na tabela [1] = "Dragon", [2] = "Dragon Lord", [3] = "Hydra", [4] = "Demon", } local config = { posstemplo = {x=63, y=42, z=7}, -- poss aonde o player vai ser enviado quando terminar ou se falhar storage = 98551, -- não mexa premioexp = 800000, -- tanto de exp que o player vai ganhar quant = 1000000, --- quantidade de dinheiro que vai ganhar } function onDeath(cid, corpse, deathList, target) local storage_value = getPlayerStorageValue(deathList[1], config.storage) < 1 and 1 or getPlayerStorageValue(deathList[1], config.storage) local new_value = storage_value + 1 if getCreatureName(cid) == monster[storage_value] then setPlayerStorageValue(deathList[1], config.storage, new_value) doSendMagicEffect(getPlayerPosition(deathList[1]), 12) doCreatureSay(cid, 'Fight', TALKTYPE_MONSTER) if new_value > #monster then doPlayerSendTextMessage(deathList[1], 22, "Completa!") doPlayerAddMoney(deathList[1], config.quant) doPlayerAddExp(deathList[1], config.premioexp) doTeleportThing(deathList[1], config.posstemplo) doSendMagicEffect(getThingPos(cid), 10) else doCreateMonster(monster[new_value], getThingPos(cid)) end end end <event type="death" name="dungeon" event="script" value="arquivo.lua"/> Adicione dentro do arquivo de cada monstro que vai ter na dungeon :
    <script> <event name="dungeon"/> </script>
    Configurando :
    Em movements você adiciona a poss da dungeon
    posdung = {x=317, y=120, z=7}, -- poss da arena Aqui você adiciona o primeiro monstro da dungeon 
    monsterum = "Dragon" -- primeiro monstro que vai ser criado quando o player entrar na arena Em creaturescript você adiciona a poss do templo aonde o player vai aparecer quando finalizar a dungeon
    posstemplo = {x=63, y=42, z=7}, -- poss aonde o player vai ser enviado quando terminar E aqui os monstros que vai ter na dungeon
    local monster = { --- tabela de monstro, se quiser adicionar mais e so adicionar na tabela [1] = "Dragon", [2] = "Dragon Lord", [3] = "Hydra", [4] = "Demon", } Dentro da sala da dungeon coloque ANT-LOGOUT pelo mapa editor, para evitar de jogadores fazer logout dentro da dungeon.
  22. Upvote
    Kuro o Shiniga recebeu reputação de FlamesAdmin em [SIMPLE] Battle Dungeon - Player X Monster   
    Sistema SIMPLES de Dungeon, o player entra no teleport e é criado alguns monstros para o jogador matar dentro de um  tempo de 30 segundos, se ele matar todos os monstro no tempo  ele recebe a recompensa em Exp e Gold, se ele não matar todos ele volta para o templo e da a chance de outro jogador entrar na Dungeon.
     
    Testado: Snowz Thyranic 3.1 [Especial Edition] (8.6)
     
    Em movements crie um arquivo do teleport da dungeon e adicione:
    function onStepIn(cid, item, position, fromPosition) local config = { posdung = {x=317, y=120, z=7}, -- poss da arena str = 15281, -- não mexer storage = 98551, -- não mexer tempo = 30, tempoarena = 30000, -- tempo que ele tem para terminar a arena 30000 = 30s monsterum = "Dragon" -- primeiro monstro que vai ser criado quando o player entrar na arena } local posstemplo = {x=63, y=42, z=7} function Tp() if isCreature(cid) then doTeleportThing(cid, posstemplo) end return true end function Str() if isCreature(cid) then setPlayerStorageValue(cid,config.storage, 0) end return true end function deletamonstro() local spec = getSpectators(config.posdung, 10, 10) if spec ~= nil then for _, s in pairs(spec) do if isMonster(s) then doRemoveCreature(s) end end end end for _, player in pairs(getPlayersOnline()) do if getPlayerStorageValue(player, config.str) >= os.time() then doTeleportThing(player, fromPosition) doPlayerSendTextMessage(cid, 22, "Já existe player em batalha!") elseif getPlayerStorageValue(player, config.str) < os.time() then setPlayerStorageValue(cid, config.str, os.time() + config.tempo) doTeleportThing(cid, config.posdung) doSendMagicEffect(getThingPos(cid), 10) doCreateMonster(config.monsterum, getThingPos(cid)) addEvent(Tp, config.tempoarena) addEvent(Str, config.tempoarena) addEvent(deletamonstro, config.tempoarena) break end end end <movevent type="StepIn" actionid="2569" event="script" value="arquivo.lua"/> CreatureScripts crie um arquivo lua e adicione :
    local monster = { --- tabela de monstro, se quiser adicionar mais e so adicionar na tabela [1] = "Dragon", [2] = "Dragon Lord", [3] = "Hydra", [4] = "Demon", } local config = { posstemplo = {x=63, y=42, z=7}, -- poss aonde o player vai ser enviado quando terminar ou se falhar storage = 98551, -- não mexa premioexp = 800000, -- tanto de exp que o player vai ganhar quant = 1000000, --- quantidade de dinheiro que vai ganhar } function onDeath(cid, corpse, deathList, target) local storage_value = getPlayerStorageValue(deathList[1], config.storage) < 1 and 1 or getPlayerStorageValue(deathList[1], config.storage) local new_value = storage_value + 1 if getCreatureName(cid) == monster[storage_value] then setPlayerStorageValue(deathList[1], config.storage, new_value) doSendMagicEffect(getPlayerPosition(deathList[1]), 12) doCreatureSay(cid, 'Fight', TALKTYPE_MONSTER) if new_value > #monster then doPlayerSendTextMessage(deathList[1], 22, "Completa!") doPlayerAddMoney(deathList[1], config.quant) doPlayerAddExp(deathList[1], config.premioexp) doTeleportThing(deathList[1], config.posstemplo) doSendMagicEffect(getThingPos(cid), 10) else doCreateMonster(monster[new_value], getThingPos(cid)) end end end <event type="death" name="dungeon" event="script" value="arquivo.lua"/> Adicione dentro do arquivo de cada monstro que vai ter na dungeon :
    <script> <event name="dungeon"/> </script>
    Configurando :
    Em movements você adiciona a poss da dungeon
    posdung = {x=317, y=120, z=7}, -- poss da arena Aqui você adiciona o primeiro monstro da dungeon 
    monsterum = "Dragon" -- primeiro monstro que vai ser criado quando o player entrar na arena Em creaturescript você adiciona a poss do templo aonde o player vai aparecer quando finalizar a dungeon
    posstemplo = {x=63, y=42, z=7}, -- poss aonde o player vai ser enviado quando terminar E aqui os monstros que vai ter na dungeon
    local monster = { --- tabela de monstro, se quiser adicionar mais e so adicionar na tabela [1] = "Dragon", [2] = "Dragon Lord", [3] = "Hydra", [4] = "Demon", } Dentro da sala da dungeon coloque ANT-LOGOUT pelo mapa editor, para evitar de jogadores fazer logout dentro da dungeon.
  23. Upvote
    Kuro o Shiniga recebeu reputação de eliaspalermo em [Resolvido] Script de chuva de itens.   
    Tenta assim :
    function onSay(cid, words, param, channel) local poss = {{x=82, y=296, z=7}, {x=82, y=297, z=7}, {x=82, y=298, z=7}, {x=82, y=299, z=7}, {x=82, y=300, z=7}, {x=82, y=301, z=7}} -- poss que vai nascer o item local item = {id=2160, count =10} --- id = id do item, count = quantidade de iten que vai aparecer for i, pos in ipairs(poss) do doCreateItem(item.id, item.count, pos) doSendMagicEffect(pos, 10) end return true end <talkaction log="yes" words="/teste" access="5" event="script" value="itempos.lua"/>  
     
  24. Upvote
    Kuro o Shiniga recebeu reputação de ITALOx em [Resolvido] Script de chuva de itens.   
    Tenta assim :
    function onSay(cid, words, param, channel) local poss = {{x=82, y=296, z=7}, {x=82, y=297, z=7}, {x=82, y=298, z=7}, {x=82, y=299, z=7}, {x=82, y=300, z=7}, {x=82, y=301, z=7}} -- poss que vai nascer o item local item = {id=2160, count =10} --- id = id do item, count = quantidade de iten que vai aparecer for i, pos in ipairs(poss) do doCreateItem(item.id, item.count, pos) doSendMagicEffect(pos, 10) end return true end <talkaction log="yes" words="/teste" access="5" event="script" value="itempos.lua"/>  
     
  25. Upvote
    Kuro o Shiniga recebeu reputação de eliaspalermo em Matar Pokémon e abrir parede (dxp)   
    Esse funciona :
    https://www.xtibia.com/forum/topic/134875-matar-monstro-abrir-tp-remover-parede-ganhar-storage/  
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...