Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 10/19/18 em todas áreas

  1. Em data/globalevents/scripts/backEvent.lua adicione: --[[ Script - Lordzetros Pedido por: tetheuscunha Fórum TibiaKing ]] local config = { pos = {x = 1020, y = 1021, z = 7, stackpos = 1}, -- Posição que o Protal abrirá toPos = {x = 961, y = 937, z = 6}, -- Posição que os players serão teleportados após entrarem no portal tempo = 10, -- tempo para o fim do evento (duração do evento) msgAbrir = "O evento BackPack acabou de iniciar!", -- Mensagem de quando o evento abrir msgFechar = "O evento BackPack encerrou!", -- mensagem quando o evento fechar idBackpack = 12661, -- id da Backpack actionID = 8049 -- ActionID da backpack } local backspacks = { [1] = {pos = {x = 955, y = 935, z = 6, stackpos = 1}}, -- Posição que a backpack irá será criada / Para colocar uma nova, siga o padrão, [numAnterior + 1] = {pos = {x = Valor, y = Valor, z = Valor}}, [2] = {pos = {x = 955, y = 936, z = 6, stackpos = 1}}, [3] = {pos = {x = 955, y = 937, z = 6, stackpos = 1}}, [4] = {pos = {x = 955, y = 938, z = 6, stackpos = 1}}, [5] = {pos = {x = 955, y = 939, z = 6, stackpos = 1}}, [6] = {pos = {x = 955, y = 940, z = 6, stackpos = 1}}, } function onTime() doBroadcastMessage(config.msgAbrir, 25) doCreateTeleport(1387, config.toPos, config.pos) for _, b in pairs(backspacks) do local i = doCreateItem(config.idBackpack, 1, b.pos) doItemSetAttribute(i, "aid", 8049) end addEvent(function() local portal = getTileItemById(config.pos, 1387) if portal then doRemoveItem(portal.uid, 1) end doBroadcastMessage(config.msgFechar, 25) for _, r in pairs(backspacks) do local bk = getTileItemById(r.pos, config.idBackpack) if (bk) then doRemoveItem(bk.uid, 1) end end end, config.tempo * 60 * 1000) return true end Em data/globalevents/globalevents.xml adicione essa linha de código abaixo de uma outra semelhante: <globalevent name="EventoBack" time="10:00;15:00;20:00;00:00" event="script" value="backEvent.lua"/>
  2. Asura Tower | Cave Hunt | 11.40

    diegocaettano e um outro reagiu a DdJs por uma resposta no tópico

    2 pontos
    Asura Tower Version: 11.40 Download: Type: .Rar Size: 176KB Position: [X: 1042 Y: 1047 Z: 7] File password: tibiaking Scan: Images:
  3. Como por item que add VIP? REP++

    FlavioHulk e um outro reagiu a Ackerzin por uma resposta no tópico

    2 pontos
    @magrelo751 Actions vip30dia.lua function onUse(cid, item, fromPosition, itemEx, toPosition) local config={ removeOnUse = "yes" -- remover quando usar ("yes" or "no") } local days = 30 -- dias que serão adicionados local daysvalue = days * 24 * 60 * 60 local storageplayer = getPlayerStorageValue(cid, 13540) local timenow = os.time() if getPlayerStorageValue(cid, 13540) - os.time() <= 0 then time = timenow + daysvalue else time = storageplayer + daysvalue end doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. days .." dias de VIP no seu character.") setPlayerStorageValue(cid, 13540, time) local quantity = math.floor((getPlayerStorageValue(cid, 13540) - timenow)/(24 * 60 * 60)) doSendMagicEffect(getPlayerPosition(cid), math.random(28,30)) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. quantity .." dias de VIP restantes.") if (config.removeOnUse == "yes") then doRemoveItem(item.uid, 1) end return TRUE end <action itemid="5785" event="script" value="vip30dia.lua" /> Movements tilevip.lua function onStepIn(cid, item, position, fromPosition) local config = { msgDenied = "Pra acessar a area DONATE, você precisa acessar seusite.com, e comprar no SHOP!", msgWelcome = "Seja bem vindo a area DONATE" } if getPlayerStorageValue(cid, 13540) - os.time() <= 0 then doTeleportThing(cid, fromPosition, true) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.msgDenied) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) return TRUE end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.msgWelcome) return TRUE end <movevent type="StepIn" actionid="13539" event="script" value="tilevip.lua"/> 13539 é o actionid que você vai por no tile pra acesso a area vip
  4. [TFS 0.4 / TFS 1.x] Wand/Rod Elemental

    FlooTzZ reagiu a DdJs por uma resposta no tópico

    1 ponto
    Quem já me conhece aqui do fórum sabe que minha área não é script ou nada do gênero. Estou fazendo esse post para ajudar um membro, o @KillerWatts, e outros mais, talvez. Introdução: Wand/rod que dispara vários elementos aleatórios. O uso dos elementos não é configurável como o modal do @tataboy67, lembrando que esse script é velho e foi testado em OTs versões 8.40 até 8.60 Guia: ef - efeito que irá fazer no alvo (além do efeito comum já do elemento). sh - shoot type que traçará o "ar" até o alvo. dmg - tipo de dano que causará no alvo. Eu usei a Jester Staff (ID: 7958). Você pode usar o item que desejar. Lista de itens para utilizar como rod/wand: Em weapons/scripts crie um arquivo "wandelement.lua": Para TFS 1.x (créditos e agradecimento ao @FlavioHulk pelo desenvolvimento): Em weapons.xml adicione a tag: Em items.xml (aqui tanto faz como vai estar, tirando o "range" que é válido, o que vai contar para o resto é o script em weapons): Funcionamento:
  5. Baú SAO - Sistema de Quest

    Capitao wyz reagiu a lordzetros por uma resposta no tópico

    1 ponto
    * Sobre o Sistema da Quest * Para quem já assistiu Sword Art Oline vai ficar fácil de entender. Jogadores poderão fazer uma quest simples, porém, diferenciada. Funciona da seguinte forma: 1 - Jogador terá que possuir uma chave para abrir o caminho de uma sala misteriosa e aparentemente cheia de tesouros e recompensas dentro de um baú 2 - Abrindo a passagem, ele vai se deparar com um baú em sua espera, o interesse do ser humano é devastador, ele irá abrir sim! 3 - Ao tentar abrir o baú, monstros serão invocados e a passagem será imediatamente fechada 4 - De todos os monstros que serão invocados, terá um chefe que será responsável por permitir a saída dos jogadores para sala de recompensa e sair daquele lugar, APENAS matando ele, isso será possível 5 - Após a morte do chefe, TODOS players na sala da quest serão teleportados para a área de recompensa configurada no script. Obs.: A quest tá configurada para ser feita em X minutos para TODO servidor, ou seja, se uma guild fez a quest e você configurou para ela ser feita novamente em 10 minutos, então, nenhum outro player poderá fazer a quest nesse intervalo, pois a storage armazenada é a do servidor. * Instalação * VERSÃO TESTADA: 8.6 - TFS 0.4 Para agilizar o processo, deixei como anexo todos os arquivos necessários, devidamente separados e organizados, caso queira baixar, o ViruScan dele está logo abaixo. Em data/actions/scripts/ 1° - Crie um arquivo chamado keySAO.lua e cole o seguinte código dentro: --[[ Script - Lordzetros Tibiaking - Lordzetros ]]-- local config = { parede = {id = 9784, pos = {x = 959, y = 941, z = 6, stackpos = 1}}, -- ID da parede |||| POSIÇÃO que ela irá ser criada strPassagem = {storage = 22338, tempo = 1}, -- Storage que vai controlar o tempo de intervalo para a quest ||||| tempo em MINUTOS de intervalo para os players fazer a quest novamente tempoFechar = 1, -- MINUTOS para a passagem fechar, caso não entrem APÓS abrirem a passagem } function remover_parede(conf) local parede = getTileItemById(conf.parede.pos, conf.parede.id) if (parede) then doRemoveItem(parede.uid, 1) doSendMagicEffect(conf.parede.pos, 10) end return true end function adicionar_parede(conf) local parede = getThingFromPos(conf.parede.pos).itemid ~= conf.parede.id if (parede) then return doCreateItem(conf.parede.id, 1, conf.parede.pos) and doSendMagicEffect(conf.parede.pos, 11) end return true end function onUse(cid, item, fromPos, item2, toPos) if (item2.itemid == config.parede.id) then if (getGlobalStorageValue(config.strPassagem.storage) >= os.time()) then return doCreatureSay(cid, 'Precisa esperar ' .. config.strPassagem.tempo .. ' minuto para fazer a quest!', TALKTYPE_ORANGE_1) end doRemoveItem(item2.uid, 1) doSendMagicEffect(config.parede.pos, 10) doCreatureSay(cid, "A passagem foi aberta por "..getPlayerName(cid).."! Peguem a recompensa no bau, depressa!", TALKTYPE_ORANGE_1) doPlayerSendCancel(cid, "A passagem ira fechar em " ..config.tempoFechar.. " minuto!") addEvent(function() adicionar_parede(config) end, config.tempoFechar * 60 * 1000) doRemoveItem(item.uid, 1) end return true end Em seguida, crie outro arquivo no mesmo local com o nome de bauSAO.lua e cole o código dentro: --[[ Script - Lordzetros Tibiaking - Lordzetros ]] local mti = { [1] = {nome = 'Demon', pos = {x=955, y=935, z=6}}, -- [numero] = {nome = 'Nome Monstro', pos = 'POSICAO QUE IRÁ RESPAWNAR O MONSTRO'} [2] = {nome = 'Demon', pos = {x=955, y=936, z=6}}, [3] = {nome = 'Demon', pos = {x=955, y=937, z=6}}, [4] = {nome = 'Demon', pos = {x=955, y=938, z=6}}, [5] = {nome = 'Demon', pos = {x=955, y=939, z=6}}, [6] = {nome = 'Demon', pos = {x=955, y=940, z=6}}, [7] = {nome = 'Demon', pos = {x=964, y=935, z=6}}, [8] = {nome = 'Demon', pos = {x=964, y=936, z=6}}, [9] = {nome = 'Demon', pos = {x=964, y=937, z=6}}, [10] = {nome = 'Demon', pos = {x=964, y=938, z=6}}, [11] = {nome = 'Demon', pos = {x=964, y=939, z=6}}, [12] = {nome = 'Demon', pos = {x=964, y=940, z=6}}, [13] = {nome = 'Loki', pos = {x=959, y=940, z=6}}, } local config = { unique = 17458, -- uniqueID que vai colocar no BAÚ no seu EDITOR DE MAPA! parede = {id = 9784, pos = {x = 959, y = 941, z = 6, stackpos = 1}}, -- ID da parede |||| POSIÇÃO que ela irá ser criada strPassagem = {storage = 22338, tempo = 1}, -- Storage que vai controlar o tempo de intervalo para a quest ||||| tempo em MINUTOS de intervalo para os players fazer a quest novamente } function adicionar_parede(conf) local parede = getThingFromPos(conf.parede.pos).itemid ~= conf.parede.id if (parede) then return doCreateItem(conf.parede.id, 1, conf.parede.pos) and doSendMagicEffect(conf.parede.pos, 11) end return true end function onUse(cid, item, fromPos, item2, toPos) if (item.uid == config.unique) then if (getGlobalStorageValue(config.strPassagem.storage) >= os.time()) then return doCreatureSay(cid, 'Precisa esperar ' .. config.strPassagem.tempo .. ' minuto para fazer a quest!', TALKTYPE_ORANGE_1) end doCreatureSay(cid, "Argh!! Sala com armadilha.", TALKTYPE_ORANGE_1) adicionar_parede(config) for _, cf in pairs(mti) do doSummonCreature(cf.nome, cf.pos) end setGlobalStorageValue(config.strPassagem.storage, os.time() + config.strPassagem.tempo * 60) end return true end Adicione as seguintes linhas de código em data/actions/actions.xml <action uniqueid="17458" event="script" value="bauSAO.lua"/> <action itemid="IDdaKEY" event="script" value="keySAO.lua" /> 2° - Agora em data/creaturescripts/scripts Crie um arquivo chamado tpSAO.lua e cole o código dentro: --[[ Script - Lordzetros Tibiaking - Lordzetros ]] local config = { SupEsquerdo = {x=953, y=930, z=6}, -- posicao do canto SUPERIOR ESQUERDO da área que ficará a quest InfDireito = {x=966, y=941, z=6}, -- posicao do canto INFERIOR DIREITO da área que ficará a quest chefe = "Loki", -- Nome do BOSS, responsável por abrir passagem e liberar a recompensa no baú parede = {id = 9784, pos = {x = 959, y = 941, z = 6, stackpos = 1}}, -- id da parede ||||| posicao dela posPremio = {x = 1263, y = 1128, z = 7}, -- posicao para area de recompensa quando os players matarem o boss msgSucesso = "Parabéns por passarem do desafio! Agora permitirei pegar algumas recompensas como reconhecimento de um otimo guerreiros que es!" -- Mensagem quando os players conseguirem matar o boss da sala } function getAllPlayersInArea(fromPosition, toPosition) local players = {} for _, pid in ipairs(getPlayersOnline()) do local f = {x = fromPosition.x, y = fromPosition.y, z = fromPosition.z} local t = {x = toPosition.x, y = toPosition.y, z = toPosition.z} local min = (fromPosition.z > toPosition.z and toPosition.z or fromPosition.z) for index = 0, math.abs(toPosition.z - fromPosition.z) do f.z = min + index t.z = min + index if (isInRange(getPlayerPosition(pid), f, t)) then table.insert(players, pid) end end end return players end function remover_parede(conf) local parede = getTileItemById(conf.parede.pos, conf.parede.id) if (parede) then doRemoveItem(parede.uid, 1) doSendMagicEffect(conf.parede.pos, 10) end return true end function adicionar_parede(conf) local parede = getThingFromPos(conf.parede.pos).itemid ~= conf.parede.id if (parede) then return doCreateItem(conf.parede.id, 1, conf.parede.pos) and doSendMagicEffect(conf.parede.pos, 11) end return true end function onDeath(cid) local boss = getCreatureName(cid) == config.chefe if boss then doCreatureSay(cid, config.msgSucesso, TALKTYPE_ORANGE_1) doSendMagicEffect(getCreaturePosition(cid), 49) addEvent(function() local players = getAllPlayersInArea(config.SupEsquerdo, config.InfDireito) for _, jogador in ipairs(players) do doTeleportThing(jogador, config.posPremio) doSendMagicEffect(getPlayerPosition(jogador), 11) end end, 7000) end return true end Adicione a seguinte linha de código em data/creaturescripts/creaturescripts.xml <event type="death" name="tpSao" script="tpSAO.lua"/> Em data/creaturescripts/scripts/login.lua adicione esta linha de código abaixo do último registerCreatureEvent 3° - Por fim, agora escolhe um monstro que será o chefe responsável por permitir que os jogadores saiam do local e que leve-os até a sala de recompensa após o derrotarem. Escolheu? Show, agora vá até o diretório dele em data/monster/pastaDoSeumonstro/arquivoDoSeuMonstro.xml e adicione essas linhas de códigos abaixo de alguma tag, no meu caso, utilizei abaixo da tag flags <script> <event name="tpSao"/> </script> Segue foto para melhor entendimento: * Explicação da configuração * Bom, apesar de está TUDO COMENTADO e AJUSTÁVEL, acho importante dá algumas explicações: 1 - Configurou tudo nas pastas corretamente, colocou todas linhas de códigos necessárias e explicadas? Beleza, você tá quase lá. 2 - Coloque em um baú no seu editor de mapa um UNIQUEID que será responsável por identificar que aquele BAÚ é da quest, segue imagem: Aconselho não modificar o valor, pois é muito improvável que já esteja sendo utilizado em seu servidor. 3 - Agora entrando na parte dos scripts: No arquivo keySAO.lua localizado em data/actions/scripts/ local config = { parede = {id = 9784, pos = {x = 959, y = 941, z = 6, stackpos = 1}}, -- ID da parede |||| POSIÇÃO que ela irá ser criada strPassagem = {storage = 22338, tempo = 1}, -- Storage que vai controlar o tempo de intervalo para a quest ||||| tempo em MINUTOS de intervalo para os players fazer a quest novamente tempoFechar = 1, -- MINUTOS para a passagem fechar, caso não entrem APÓS abrirem a passagem } Configure o id da parede que impedirá a passagem dos players e o jogador utilizará a chave nela para passar! Não esqueça de configurar a posição dela também, deixe a mesma que você colocou no mapa. Configure o storage que será responsável por permitir ou não jogadores fazerem a quest em X minutos. Configure o tempo que o player terá para passar para dentro da sala antes que a passagem se feche, no script tá 1 minuto. No arquivo bauSAO.lua localizado em data/actions/scripts/ local mti = { [1] = {nome = 'Demon', pos = {x=955, y=935, z=6}}, -- [numero] = {nome = 'Nome Monstro', pos = 'POSICAO QUE IRÁ RESPAWNAR O MONSTRO'} [2] = {nome = 'Demon', pos = {x=955, y=936, z=6}}, [3] = {nome = 'Demon', pos = {x=955, y=937, z=6}}, [4] = {nome = 'Demon', pos = {x=955, y=938, z=6}}, [5] = {nome = 'Demon', pos = {x=955, y=939, z=6}}, [6] = {nome = 'Demon', pos = {x=955, y=940, z=6}}, [7] = {nome = 'Demon', pos = {x=964, y=935, z=6}}, [8] = {nome = 'Demon', pos = {x=964, y=936, z=6}}, [9] = {nome = 'Demon', pos = {x=964, y=937, z=6}}, [10] = {nome = 'Demon', pos = {x=964, y=938, z=6}}, [11] = {nome = 'Demon', pos = {x=964, y=939, z=6}}, [12] = {nome = 'Demon', pos = {x=964, y=940, z=6}}, [13] = {nome = 'Loki', pos = {x=959, y=940, z=6}}, } local config = { unique = 17458, -- uniqueID que vai colocar no BAÚ no seu EDITOR DE MAPA! parede = {id = 9784, pos = {x = 959, y = 941, z = 6, stackpos = 1}}, -- ID da parede |||| POSIÇÃO que ela irá ser criada strPassagem = {storage = 22338, tempo = 1}, -- Storage que vai controlar o tempo de intervalo para a quest ||||| tempo em MINUTOS de intervalo para os players fazer a quest novamente } Configure os nomes e posições que os monstros irão respawnar, e repare que deixei apenas 1 diferenciado chamado 'Loki', pois foi o monstro que escolhi como CHEFE Configure o uniqueID que será utilizado no baú, recomendo não mexer nessa parte Configure novamente o ID da parede que irá bloquear a passagem e a mesma posição (use a mesma coisa da configuração anterior) Configure novamente o storage e tempo que permitirá os jogadores fazerem a quest em X minutos (use a mesma coisa da configuração anterior) No arquivo tpSAO.lua em data/creaturescripts/scripts/ local config = { SupEsquerdo = {x=953, y=930, z=6}, -- posicao do canto SUPERIOR ESQUERDO da área que ficará a quest InfDireito = {x=966, y=941, z=6}, -- posicao do canto INFERIOR DIREITO da área que ficará a quest chefe = "Loki", -- Nome do BOSS, responsável por abrir passagem e liberar a recompensa no baú parede = {id = 9784, pos = {x = 959, y = 941, z = 6, stackpos = 1}}, -- id da parede ||||| posicao dela posPremio = {x = 1263, y = 1128, z = 7}, -- posicao para area de recompensa quando os players matarem o boss msgSucesso = "Parabéns por passarem do desafio! Agora permitirei pegar algumas recompensas como reconhecimento de um otimo guerreiros que es!" -- Mensagem quando os players conseguirem matar o boss da sala } Configure o canto superior esquerdo e inferior direito, é de EXTREMA importância isso, pois será responsável por verificar os jogadores na sala da quest e teleportá-los, segue imagem: Coloque as posições corretamente de cada canto. Configure o nome do chefe que você escolheu para completar a quest, o monstro diferenciado que falamos lá em cima, certo? Configure novamente o ID da parede que irá bloquear a passagem e a mesma posição (use a mesma coisa da configuração anterior) Configure a posição do prêmio, isto é, a posição que o player será teleportado quando matar o CHEFE, a posição da SALA DE RECOMPENSAS ou seja lá o que queira fazer após os jogadores matarem o chefe. Configure a mensagem, caso queira, de quando os jogadores matarem o CHEFE da sala. * Observações finais e anexos para download * Digo logo que é um script simples, porém bastante trabalhoso de ser configurado, visto que faz-se necessário a instalação de alguns arquivos, mas não deixa de ser simples! A ideia que tive foi quando estava lembrando do anime, e como estou voltando aos poucos com Tibia (aprendendo bastante), tive a ideia de fazer isso, pois como gostava bastante de jogar em Baiak e modos semelhantes, isso daqui pode ser bastante útil. Ah! E deixe-me alertá-lo, é um sistema simples que não está 100% como eu desejava, portanto, quando tiver tempo estarei atualizando e deixando com mínimo de incoerência possível no funcionamento dele. POR FAVOR, faça o trabalho de ler as configurações do script, está tudo organizadinho para que você configure lá e deixe da maneira mais prática possível. Acredito que isso é tudo, abraços, \o. Download dos arquivos zipados: Arquivos - Quest Baú SAO - Lordzetros.zip Scan do arquivo: https://www.virustotal.com/pt/file/10e6bf2be0ccb33838a75198e5f822c1c8888f4c8652dcfc5235f87260a7582a/analysis/1540133843/
  6. 1 ponto
    Por nada, sucesso com o servidor e abraços!
  7. 1 ponto
    Beleza, encerrando aqui: Os players que ficarão na área do evento, terão que ser teleportados ao final do evento ou permanecerão na área?
  8. 1 ponto
    Já finalizei, só uma pergunta: As backpacks irão sumir depois que terminar o evento, correto?
  9. [Modal] Elemental Wand

    Pedro. reagiu a tataboy67 por uma resposta no tópico

    1 ponto
    Ola gente tudo bom? Eu estava pensando em algo para se fazer em relação a sistemas, e não achei nada de interessante... Até que encontrei 4 Sprite's de umas Wand's, cujo autor eu não tenho conhecimento ! Dai eu pensei... Porque não fazer uma Wand que possui diversos elementos? Pois então cá estou eu kk Explicando como funcionará o sistema: dasdsa.mp4 OBS: Desculpe por essa msg no meio do vídeo, é que só consegui gravar assim... Sem mais delongas vamos ao sistema: data/actions/scripts/wand_elements.lua local config = { id1 = 32050, id2 = 32049, id3 = 32048, id4 = 32047, } function onUse(player, item, fromPosition, itemEx, toPosition, isHotkey) player:registerEvent("Wand_Elements") local title = "Select your element!" local message = "Here you can select the element of your wand, however, you must wait 3 seconds, between one exchange and another." local window = ModalWindow(1000, title, message) window:addButton(100, "Confirm") window:addButton(101, "Cancel") window:addChoice(1, "Wand Energy") window:addChoice(2, "Wand Ice") window:addChoice(3, "Wand Earth") window:addChoice(4, "Wand Fire") window:setDefaultEnterButton(100) window:setDefaultEscapeButton(101) local Item = player:getSlotItem(CONST_SLOT_LEFT) if Item.itemid == config.id1 or Item.itemid == config.id2 or Item.itemid == config.id3 or Item.itemid == config.id4 then window:sendToPlayer(player) end return true end Adicione a tag em Actions: <!-- Wand Elements --> <action fromid="32047" toid="32050" script="wand_elements.lua" /> data/creaturescripts/scripts/wand_elements.lua function onModalWindow(player, modalWindowId, buttonId, choiceId) player:unregisterEvent("Wand_Elements") local config = { [1] = {32047,'Energy Wand'}, -- {ID do item, 'nome do item'} [2] = {32048,'Ice Wand'}, [3] = {32049,'Earth Wand'}, [4] = {32050,'Fire Wand'}, } if modalWindowId == 1000 then if buttonId == 100 then player:removeItem(player:getSlotItem(CONST_SLOT_LEFT).itemid, 1) player:addItem(config[choiceId][1], 1) player:sendTextMessage(MESSAGE_INFO_DESCR, "You have changed the element of your wand to: {"..config[choiceId][2].."}.") end end end Adicione a tag em Creaturescripts: <!-- Wand Elements --> <event type="modalwindow" name="Wand_Elements" script="wand_elements.lua"/> Pronto, feito isso o sistema está utilizável já: Download das Sprites utilizadas: Explicando o que você deve modificar: Em actions: local config = { id1 = 32050, -- ID DO ITEM id2 = 32049, id3 = 32048, id4 = 32047, } Tag do action <action fromid="32047" toid="32050" script="wand_elements.lua" /> Em creaturescripts: local config = { [1] = {32047,'Energy Wand'}, [2] = {32048,'Ice Wand'}, [3] = {32049,'Earth Wand'}, [4] = {32050,'Fire Wand'}, } { ID do item, 'nome do item' } *Creditos: EUZINHOO E o cara que crio as SPR
  10. Como por item que add VIP? REP++

    magrelo751 reagiu a FlavioHulk por uma resposta no tópico

    1 ponto
    Acredito que o script do @Zzyzx esteja bem funcional, mas... local config = { removeOnUse = true -- Remover quando usar?, premiumAccumulated = true, -- Acumular dias vips ao player? days = 30 -- Dias adicionado ao player } function onUse(cid, item, fromPosition, itemEx, toPosition) if not premiumAccumulated and vip.hasVips(cid) then doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você já tem premium e não poderá ser acumulado.") return true end vip.setVip(cid, config.days * 24 * 60 * 60) local amountPremium = vip.getVip(cid) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Foram adicionados ".. config.days .." dias de VIP no seu character.") doSendMagicEffect(getPlayerPosition(cid), math.random(28, 30)) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. (amountPremium / 3600 / 24) .." dias de VIP restantes.") if config.removeOnUse then doRemoveItem(item.uid, 1) end return true end
  11. (Resolvido)Sprites bugadas no RME

    Manominorino reagiu a Cat por uma resposta no tópico

    1 ponto
    Usa o que for compatível com o mapa. Existem diferentes servidores de pokemon, cada um com um items.otb e mapa diferente, veja qual é o client utilizado no mapa que você baixou. Se não souber, teste com diferentes clientes até achar o que seja compatível.
  12. (Resolvido)Quantidade RANDOM

    Vodkart reagiu a FlavioHulk por uma resposta no tópico

    1 ponto
    local chest = { [8049] = { name = '[Event] BOX', container = 1738, items = { [1] = { chance = 100, itemId = 2160, amountMax = 10 } } } } function onUse(cid, item, frompos, item2, topos) local tmpConfig = chest[item.actionid] if not tmpConfig then return true end local container, str = doPlayerAddItem(cid, tmpConfig.container, 1), 'BackPack from '.. tmpConfig.name ..', Your Rewards:\n' for i = 1, #tmpConfig.items do local items = tmpConfig.items[i] if items.chance >= math.random(1, 100) then local amountRandom = math.random(1, items.amountMax) str = str .. amountRandom .. ' ' .. getItemNameById(items.itemId) .. ' '..(i ~= #tmpConfig.items and ', ' or '.') doAddContainerItem(container, items.itemId, amountRandom) else return true end end doSendMagicEffect(getPlayerPosition(cid), math.random(28, 30)) doRemoveItem(item.uid, 1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE,'You have found a '.. str) return true end Puts, erro meu! Não havia reparado, mas tudo bem, vida que segue... @KotZletY @Vodkart marcação aleatória, só saudades
  13. Como por item que add VIP? REP++

    magrelo751 reagiu a Ackerzin por uma resposta no tópico

    1 ponto
    reabriu o ot, mudou o action no tile certinho ?
  14. 1 ponto
    local c = { limit = 1, -- Limite de jogadores msgCancel = 'Ainda tem gente la dentro', -- Mensagem quando o limite de jogadores estiver atingido area = { From = {x = 1826, y = 1834, z = 7}, -- Coordenada maxima superior esquerda To = {x = 1832, y = 1840, z = 7}, -- Coordenada minima inferior direita }, pos = {x = 1825, y = 1837, z = 7}, -- Coordenada onde será teletransportado pos1 = {x = 1834, y = 1837, z = 7}, -- Coordenada onde será teletransportado } local function getPlayersInArea(fromPos, toPos) local t = {} for _, cid in ipairs(getPlayersOnline()) do if isInRange(getThingPos(cid), fromPos, toPos) then table.insert(t, cid) end end return t end local function DoKickPlayerFromArea(cid, delay) local exit = {x = 154, y = 160, z = 7} -- defina para onde ele vai if not isCreature(cid) or not isInRange(getThingPos(cid), c.area.From, c.area.To) then return LUA_ERROR end if delay > 0 then doSendAnimatedText(getThingPos(cid), delay, 145) addEvent(DoKickPlayerFromArea, 1000, cid, delay-1) else doTeleportThing(cid, exit) end return true end function onUse(cid, item, fromPos, itemEx, toPos) if table.getn(getPlayersInArea(c.area.From, c.area.To)) < c.limit then doSendMagicEffect(fromPos, CONST_ME_TELEPORT) doTeleportThing(cid, c.pos) DoKickPlayerFromArea(cid, 5) doSendMagicEffect(getThingPos(cid), CONST_ME_TELEPORT) else doPlayerSendCancel(cid, c.msgCancel) end return true end
  15. 1 ponto
    DxP tem seu "próprio" Object Builder
  16. tenho um aqui, que é um movement onde coloca a area e quantos jogadores pode entrar.... coloca a actionid do movement em um tp e é sucesso vai te ajudar. e sobre os 5 segudos é so estudar mais sobre addevent que você consegue edit: com o addevent você pode botar pra dar um teleport no players depois de 5 segundos... o problema é que nao tem como parar o addevent... mas se ele ja pegou o bau... sorte a dele @tetheuscunha
  17. FINALIZAÇÕES PROJETO OLD 7.4

    RAJADAO reagiu a gokulord por uma resposta no tópico

    1 ponto
    Boa noite, Sou desenvolvedor OTserv há mais de 10 anos, também estou a procura de um servidor 7.4 Programo Lua e também criador de quests com intenso rpg estilo medivia. Posso te ajudar adicionar novos Outfits, Monstros, Itens oque quiser. Meu contato: (19) 98260-0341 Skype: zehcarlosok [email protected]
  18. FINALIZAÇÕES PROJETO OLD 7.4

    RAJADAO reagiu a duendeee por uma resposta no tópico

    1 ponto
    esta precisando soh disso? @@ procuro pessoas que conhecam do sistema 7.4, gente disposta a me ajudar na modelagem se um 7.4 old school faco as partes do servidor, website e cliente, mas preciso de jogadores, amantes dessa versao melhor dizendo!
  19. Ajuda Criptografia

    cf3 reagiu a caique89212 por uma resposta no tópico

    1 ponto
    Galera queria saber se tem algum jeito de despritrografar a senha no banco de dados... pois apos ser criada uma conta no site a senha fica salva com criptrografia e no OTClient nao esta conseguindo ler a senha talvez por estar na criptografia... ou se tiver algum jeito de fazer o otclient ler a senha desse me deem um help por favor... :c
  20. 1 ponto
    Gostaria de fazer uma contribuição a Comunidade TibiaKing, essa page é utilizada atualmente no meu Servidor www.infernum-old.com Caso queiram ver como fica. Muitas Pessoas me cobraram de 50 a 100 Reais para deixar a pagina characters.php desse jeito, Eu fiz 70% das modificações em Show e Hide 30% Contribuição do @rogaforyn2 Gostaria de Agradecer ao @rogaforyn2 Por me ajudar a fixar a parte dos Items e Quests. Segue abaixo character.php
  21. (Resolvido)Quantidade RANDOM

    FlavioHulk reagiu a KotZletY por uma resposta no tópico

    0 pontos
    @FlavioHulk estou meio: "é, tudo bem então!!", com o fórum, e como você disse aê, "vida que segue". HAudhasd Saudades de quê ? Estou on no discord o tempo todo, e tenho no celu também, só chamar!
  22. 0 pontos
    @ExtremyDsgnr ta amigo, você quer que a gente te ajude como se você nao posta os códigos?
Líderes está configurado para São Paulo/GMT-03:00

Informação Importante

Confirmação de Termo