Ir para conteúdo

Líderes

Conteúdo Popular

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

  1. [TFS 1.3] Teleport com janela

    Katiau e um outro reagiu a lordzetros por uma resposta no tópico

    2 pontos
    TFS 1.3 - TESTADO EM VERSÃO 10.98 * Introdução * Bom, estive navegando no Fórum e vi que o usuário @Cleiton Felipi pediu um script que ao player entrasse no teleport de um X monstro, um Demon por exemplo, listasse qual hunt o jogador queria entrar. Achei interessante, e resolvi desenvolver e postar no TK, já que não tinha ainda, :). * Sobre o sistema * Você utiliza diversas hunts com vários tps criados no mapa no seu servidor do mesmo monstro? Bom, este script será muito útil para você! Pois ele permitirá que você habilite ao jogador em qual hunt ele quer caçar, por exemplo, se tiver Demon 01, Demon 02, Demon 03, Demon X, basta apenas você criar um tp indicando o monstro e que uma janela irá aparecer com a lista de opções de hunts, prático, né? Segue imagens de demonstração: OBS¹.: Você pode colocar TODOS OS MONSTROS neste script, contando que tenha o actionID que ficará no teleporte, não é de uma quantidade limitada, em outras palavras, você pode adicionar as hunts de Demon, Frost Dragon, Dragon, ..., tudo aqui, apenas mudando o actionID (tudo configurável, não se preocupe). * Instalação * Em data/movements/scripts/ crie um arquivo chamado mov_janela_hunts.lua e adicione dentro: --[[ Script - Lordzetros Fórum Tibia King ]] local config = { titulo = "BEM VINDO(A) A JANELA DE HUNTS!", -- Título da Janela mensagem = "Selecione qual hunt voce deseja ir:", -- Mensagem abaixo do título da janela } CONFIG_TPS_JANELA = { [19090] = { -- ID do action que ficará no portal da hunt {nome = "Demon 01", pos = {x = 98, y = 139, z = 7}}, -- Segue padrão, nome da cave e posição que o player será teleportado {nome = "Demon 02", pos = {x = 93, y = 144, z = 7}}, {nome = "Demon 03", pos = {x = 91, y = 140, z = 7}}, {nome = "Demon 04", pos = {x = 94, y = 138, z = 7}}, {nome = "Demon 05", pos = {x = 95, y = 136, z = 7}}, }, [19091] = { {nome = "Frost 01", pos = {x = 98, y = 140, z = 7}}, {nome = "Frost 02", pos = {x = 93, y = 145, z = 7}}, {nome = "Frost 03", pos = {x = 91, y = 141, z = 7}}, {nome = "Frost 04", pos = {x = 94, y = 139, z = 7}}, {nome = "Frost 05", pos = {x = 95, y = 137, z = 7}}, }, } function onStepIn(creature, item, pos, fromPosition) if ((CONFIG_TPS_JANELA[item:getActionId()]) and creature:isPlayer()) then JANELA_TP_ACTION = item:getActionId() creature:teleportTo(fromPosition, true) creature:registerEvent("janela hunts") local janela = ModalWindow(1000, config.titulo, config.mensagem) for i, v in ipairs(CONFIG_TPS_JANELA[JANELA_TP_ACTION]) do janela:addChoice(i, v.nome) end janela:addButton(100, "Confirmar") janela:addButton(101, "Fechar") janela:setDefaultEnterButton(100) janela:setDefaultEscapeButton(101) janela:sendToPlayer(creature) end return true end Em data/movements/movements.xml adicione o seguinte código abaixo de um semelhante: <movevent event="StepIn" itemid="5023" script="mov_janela_hunts.lua" /> Agora em data/creaturescripts/scripts/ crie um arquivo chamado creature_janela_hunts.lua e adicione dentro: function onModalWindow(player, modalWindowId, buttonId, choiceId) player:unregisterEvent("janela hunts") if (modalWindowId == 1000) then if (buttonId == 100) then local tele_pos = CONFIG_TPS_JANELA[JANELA_TP_ACTION][choiceId].pos player:teleportTo(tele_pos) local pos_t = Position(tele_pos) pos_t:sendMagicEffect(CONST_ME_MAGIC_BLUE) end end return true end Em data/creaturescripts/creaturescripts.xml adicione o seguinte código abaixo de um semelhante: <event type="ModalWindow" name="janela hunts" script="creature_janela_hunts.lua"/> * Configuração * Bom, apesar de que não seja difícil de configurar, é necessário uma explicação, vamos lá... 1 - [19090] = { -- ID do action que ficará no portal da hunt {nome = "Demon 01", pos = {x = 98, y = 139, z = 7}}, -- Segue padrão, nome da cave e posição que o player será teleportado {nome = "Demon 02", pos = {x = 93, y = 144, z = 7}}, {nome = "Demon 03", pos = {x = 91, y = 140, z = 7}}, {nome = "Demon 04", pos = {x = 94, y = 138, z = 7}}, {nome = "Demon 05", pos = {x = 95, y = 136, z = 7}}, }, Em [19090] este número de dentro é o actionID que ficará no portal. Com ele será identificado de qual monstro se trata, bastando apenas configurar este número e o nome das opções de monstros que você quer aparecendo na janela, em seguida, a posição na qual o jogador será teleportado, seguindo a ordem. Segue imagem de como deve ficar o seu portal: OBS²: VOCÊ EDITA O ACTIONID NO SEU EDITOR DE MAPA COLOCANDO NO ID DO ITEM DE TELEPORTE. OBS³: PARA ADICIONAR NOVAS HUNTS NO SCRIPT, BASTA SEGUIR O PADRÃO QUE ESTÁ NO CÓDIGO, DO 19090 PARA O 19091. 2 - (por fim) Em data/movements/movements.xml <movevent event="StepIn" itemid="5023" script="mov_janela_hunts.lua" /> itemID = Id do item que o player andará para abrir a janela de hunt Está como 5023 por conta que o magic forcefield é 5023, no qual utilizei para teste, aconselho você deixar da mesma forma (caso seja o mesmo id no seu servidor), ou mude, mas cuidado para não cometer algum erro. Enfim, algo simples, porém não encontrei no TK. Abraços.
  2. Como colocar som no mapa no OTClient

    koyotestark reagiu a Adventure por uma resposta no tópico

    1 ponto
    Olá pessoal. Venho trazer para vocês um novo mod já que nenhum outro esta funcionando. Oque você fez ? '' Bom simplesmente peguei uma base. A base só tinha umas 5 linhas '-' foi dureza fazer o resto kkkk. Ai compilei no OT Cliente para funcionar só no meu cliente para ninguém roubar ! '' Mas um amiguinho aqui do Tibia King e também uma galera estava com o mesmo problema que eu , então tive de refazer e tirar a proteção do script para disponibilizar para vocês. Para vocês não precisar copiar os script eu montei tudo bonitinho e deixei em uma pasta. Basta apenas: Entra na pasta do seu otclient e na pasta Mod você colocar a pasta que irei disponibilizar. Simples Como configurar: Vá no rcsound.lua Abra ele ! Na parte: {fromPos = {x=1089, y=1110, z=8}, toPos = {x=1135, y=1142, z=8} Como voces podem ver deve ser colocado em fromPos a primeira ponta do lado esquerdo e em toPos a outra ponta da parte de baixo. É importante configurar corretamente. Na parte: {fromPos = {x = 985, y = 1069, z = 8}, toPos = {x = 1378, y = 1290, z = 8}, sound = "Fairy Tail - Main.ogg"}, Deve ser colocada a musica em formato ( ogg ) para converter é bem simples Vá neste site http://online-audio-converter.com/pt/ Que por sinal é muito bom ! Você converte sua musica para ogg. Não mecha na qualidade se tentar melhorar a qualidade do som na hora da conversão o som pode sair muito estranho kkk vá por mim. Coloque as musicas em formato OGG dentro da pasta music ! NÃO É A PASTA QUE FICA NO DATA , É A PASTA QUE ESTA DENTRO DO MOD COM O NOME DE MUSIC PELO AMOR DO PAEE Deixei uma musica na pasta para que vocês possam testar o sistema. Caso der algum erro no Console poste e tentaremos arrumar. Normalmente estou sempre ON pelo celular Download: *Upei em dois lugares diferentes vocês podem escolher onde querem baixar Scan para aquela galerinha paranoica kkk: EM BREVE VEM AI O : -ADVENTURE WORLD- PARA AQUELES QUE GOSTAM DO BOM E VELHO RPG EM UM MUNDO CERCADO DE AVENTURAS E UMA HISTORIA ENVOLVENTE !
  3. The Secret Tomb | Cave Hunt | 11.40

    Augusto reagiu a DdJs por uma resposta no tópico

    1 ponto
    The Secret Tomb | Cave Hunt Version: 11.40 Download: Type: .Rar Size: 283KB Position(s): [X: 1025 Y: 1021 Z: 7], [X: 1025 Y: 1027 Z: 12], [X: 1017 Y: 1057 Z: 14] File password: tibiaking Scan: Images:
  4. 1 ponto
    (minha versão atual/utilizada) Como dito no titulo, neste tutorial será ensinado como transformar (ou de um modo grosseiro, converter) uma imagem .Gif, .Png, .Bmp e .Jpg em uma sprite (.OBD) utilizando o próprio Object Builder, sem a instalação de terceiros. Vale lembrar que, você pode converter outros tipos de arquivos de imagem com a utilização de sites onlines para os tipos aceitáveis acima (link de um site deste tipo no final do post). Bom, siga o tutorial abaixo e certamente conseguirá fazer isto! Download Object Builder (versões atuais) Scan (da versão 0.4.6) Requisitos - Object Builder (versão com a ferramente Animation Editor/quanto mais atual melhor); - Uma imagem em .Gif, .Png, .Bmp ou .Jpg - Paciência 1 - Abra o Object Builder e crie um novo arquivo (em qualquer versão) 2 - Passe o mouse sobre a aba Ferramentas e clique em Animation Editor. 3 - Abra a imagem que deseja no Animation Editor (de preferência uma imagem 32x32, porém dependendo do tamanho é possível regular em propriedades) 4 - Ajuste o tamanho da imagem e o tipo de Sprite que é em Propriedades se for preciso, após isto clique em Cortar e salve-a como .OBD (recomendo selecionar OBD 1, creio que não é necessário selecionar a versão correta do cliente, mas selecione por via das dúvidas) 5 - Abra sua SPR/DAT normalmente, selecione o tipo de sprite (Item, Roupa, etc) e vá para ultima fileira. Após isto, crie uma nova sprite (ou ache uma em branco/não usa) 6 - Clique com o botão direito no mouse sobre a sprite nova (ou em branco/inutilizável) e após isto em Replace/Substituir. Após clicar, selecione o arquivo .OBD que salvou no Animation Editor (no meu caso salvei o logo da SAM) 7 - Depois de substituir Compile clicando em Arquivo > Compilar ou aperte CTRL + S e pronto! Nova sprite vinda de uma imagem qualquer sem ser .OBD! Qualquer coisa, ao exporta-la continuará no formato .OBD, sendo possível converte-la normalmente para outro formato pelo próprio Object Builder. FINAL Este atualmente é meu primeiro tutorial ou no futuro posso dizer que foi o primeiro, por isto criticas são bem vindas! Qualquer dúvida comente abaixo, deixe REP+ se puder CREDITOS - EU (por criar/desenvolver o tutorial acima) - Object Builder (por ser uma das melhores ferramentas para spriting) - Pessoas do fórum (alguns por não ensinarem este método em um post e fazer eu ter a curiosidade de conseguir) - Leitor/você (por estar lendo <3)
  5. (Resolvido)packet

    Salazar Slytherin reagiu a lordzetros por uma resposta no tópico

    1 ponto
    Em data/actions/scripts/ adicione um arquivo chamado packetPremiada.lua e cole este código dentro dele: local config = { {item = 2160, qntd_max = 100}, -- Segue a ordem: ID do item, quantidade maxima deste item que o player pode ganhar {item = 8303, qntd_max = 8}, {item = 8306, qntd_max = 6}, {item = 8326, qntd_max = 11}, {item = 9059, qntd_max = 1}, {item = 9969, qntd_max = 3}, -- para adicionar um novo, copie esta linha e adicione abaixo desta. } local qntd_max_itens = #config local msg_sucesso = "Opa, que caixa interessante!" -- Mensagem apos o player usar function onUse(cid, item, fromPos, itemEx, toPos) local random_qntd = math.random(1, qntd_max_itens) for i = 1, random_qntd do doPlayerAddItem(cid, config[i].item, math.random(1, config[i].qntd_max)) end doRemoveItem(item.uid,1) doCreatureSay(cid, msg_sucesso, TALKTYPE_ORANGE_1) doSendMagicEffect(getCreaturePosition(cid), 49) return true end E em data/actions/actions.xml adicione este código abaixo de uma linha semelhante: <action itemid="id_da_Packet" event="script" value="packetPremiada.lua"/> Não esqueça de mudar acima o ID da Packet (id_da_Packet) que você quer que dê os itens.
  6. (Resolvido)Box ajudinha e alguem

    Salazar Slytherin reagiu a lordzetros por uma resposta no tópico

    1 ponto
    Em data/actions/scripts/ crie um arquivo chamado boxPremiada.lua local config = { {item = 2160, qntd = 100, chance = 65}, -- Segue a ordem: ID_do_item, quantidade_do_item, chance_do_item {item = 7417, qntd = 1, chance = 10}, {item = 9969, qntd = 1, chance = 20}, -- para adicionar um novo, copie esta linha e adicione abaixo desta. } local msg_sucesso = "Parabens! Voce ganhou um item premiado." -- Caso o player ganhe local msg_falha = "Nao foi desta vez, quem sabe na proxima, certo?" -- caso ele perca function onUse(cid, item, fromPos, itemEx, toPos) local c = config[math.random(1, #config)] if (c.chance >= math.random(1,100)) then doSendMagicEffect(fromPos, 49) doPlayerSendCancel(cid, msg_sucesso) doPlayerAddItem(cid, c.item, c.qntd) doRemoveItem(item.uid, 1) else doSendMagicEffect(fromPos, 3) doPlayerSendCancel(cid, msg_falha) doRemoveItem(item.uid, 1) end return true end Em data/actions/actions.xml adicione este código abaixo de uma semelhante: <action itemid="2331" event="script" value="boxPremiada.lua"/> Faz o teste e depois me dá um feedback se funcionou ou não, infelizmente ainda não testei.
  7. (Resolvido)Ajudinha ae globalevents

    Vodkart reagiu a Lyu por uma resposta no tópico

    1 ponto
    Clique aqui e veja se isso lhe ajuda!
  8. RME

    Cat reagiu a Sommer por uma resposta no tópico

    1 ponto
    Acho que estava dando algum erro de conflito, foi só reinstalar todo Tibia 8.54 , o RME e o client com o servidor... Toda edição que eu faço no ObjectiBuilder, eu faço logo em seguida no itemEditor. feito isso, pego o spr e o data do meu client, subistituo no Tibia 8.54, subistituo o items.otb no RME, e pronto a cada edição eu repito todo esses passos ? Obrigado
  9. [TFS 1.3] Teleport com janela

    Vodkart reagiu a lordzetros por uma resposta no tópico

    1 ponto
    @Cleiton Felipi Disponha! ? @Semideus Haha, esse daí é o mito. ?
  10. Script sem o bug de tirar o target e sem damage: local config = { storageID = 49609, mark_time = 10 * 60, effectWhenTeleport = 339, -- Efeito ao teleportar effectWhenUsed = 152, } local errorMsg = { pz = "Seu alvo nao pode estar fora do PZ.", playerOnly = "Voce so pode usar este jutsu em players.", alreadyMarked = "Voce ja marcou um jogador.", } local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_ENERGYDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, 152) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_ENERGY) function onCastSpell(cid, var) if isPlayer(getCreatureTarget(cid)) then if getPlayerStorageValue (cid, config.storageID) <= 0 then setPlayerStorageValue(cid, config.storageID, 1) doPlayerSendTextMessage(cid,22, "Voce marcou o player ".. getCreatureName(getCreatureTarget(cid))) target = getCreatureTarget(cid) doSendMagicEffect(getPlayerPosition(target), 152) local struct = { left = config.mark_time * 3, player = cid, target = target, var = var } addEvent(teleportIsTrue, 333, struct) else doSendMagicEffect(getPlayerPosition(cid), 2) doPlayerSendCancel(cid, errorMsg.alreadyMarked) return false end else doSendMagicEffect(getPlayerPosition(cid), 2) doPlayerSendCancel(cid, errorMsg.playerOnly) return false end return doCombat(cid, combat, var) end function teleportIsTrue (struct) if struct.left ~= 0 then if getPlayerStorageValue (struct.player, config.storageID) == 2 then doTeleportThing(struct.player, getThingPosition(struct.target), true) setPlayerStorageValue(struct.player, config.storageID, 0) doSendMagicEffect(getPlayerPosition(struct.player), config.effectWhenTeleport) doPlayerSendTextMessage(struct.player,22, "Voce perdeu sua marcacao.") return TRUE end struct.left = struct.left - 1 addEvent (teleportIsTrue, 333, struct) elseif struct.left == 0 then doPlayerSendTextMessage(struct.player,22, "Voce perdeu sua marcacao.") setPlayerStorageValue(struct.player, config.storageID, 0) else return FALSE end end
  11. [BUG] Depot Player Passa por dentro

    locauty reagiu a mattos123 por uma resposta no tópico

    1 ponto
    Vá no seu items.xml localize o ID do tile que está usando , e edite a seu gosto. <item id="ID_FLOOR" article="a" name="depot floor"> <attribute key="walkStack" value="0" /> -- [Solução] </item>
  12. (Resolvido)NPC Cledwyn - Silver token trader

    Will Fry reagiu a Vodkart por uma resposta no tópico

    1 ponto
    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,msg,str = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid,msg:lower(),"" local moeda = 10581 -- ID DA SILVER TOKEN local t = { ["boots of haste"] = {amount = 10, item = {2195,1}}, ["demon helmet"] = {amount = 11, item = {2493,1}}, ["frozen starlight"] = {amount = 30, item = {2361,1}}, ["spellbook of dark mysteries"] = {amount = 20, item = {8918,1}}, ["royal crossbow"] = {amount = 20, item = {8851,1}}, ["stuffed dragon"] = {amount = 30, item = {5791,1}}, ["star tear"] = {amount = 100, item = {7735,1}}, ["jester staff"] = {amount = 100, item = {7958,1}}, ["vancini axe"] = {amount = 100, item = {8925,1}}, ["firewalker boots"] = {amount = 50, item = {9932,1}}, ["flame blade"] = {amount = 100, item = {8931,2}} } if (msgcontains(msg, 'trade') or msgcontains(msg, 'TRADE'))then str = str .. "Pode trocar suas SILVER TOKENS por: " for name, ret in pairs(t) do str = str.." {"..name.."} = "..ret.amount.." Moedas /" end npcHandler:say(str, cid) elseif t[msg] then local item, amount = t[msg].item[1], t[msg].item[2] if doPlayerRemoveItem(cid,moeda, t[msg].amount) then if isItemStackable(item) or amount == 1 then doPlayerAddItem(cid, item, amount) else for i = 1, amount do doPlayerAddItem(cid, item, 1) end end npcHandler:say("Aqui está "..amount.." ".. getItemNameById(item) .."!", cid) else npcHandler:say("Você precisa de "..t[msg].amount.." ".. getItemNameById(moeda), cid) end end return true end npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback) npcHandler:addModule(FocusModule:new())
  13. em creaturescripts/scripts : function onKill(cid, target, lastHit) config = { NickBoss = "Rat", StoragePorta = 666 } if isMonster(target) then if getCreatureName(target) == config.NickBoss then setPlayerStorageValue(cid, config.StoragePorta, 1) doPlayerSendTextMessage(cid, 18, "Parabens voce matou o Boss Super Fodao como recompensa podera passar na Porta") return true end end return true end creaturescripts.xml : <event type="combat" name="Porta" event="script" value="NOMEDOARQUIVO.lua"/> login.lua : registerCreatureEvent(cid, "Porta") em Actions/scripts : function onUse(cid, item, fromPosition, itemEx, toPosition) if item.actionid == 666 then if getPlayerStorageValue(cid, 666) ~= 1 then return doPlayerSendTextMessage(cid, 27, "Voce precisa matar o Boss Super Fodao!") end return true end em actions.xml : <action actionid = "666" event="script" value="NOMEDOARQUIVO.lua"/> no map usando seu Editor map selecione a porta escolhida e em propriedade da porta ActionID coloque 666 salve e seja feliz com seu BOSS super fodão
Líderes está configurado para São Paulo/GMT-03:00

Informação Importante

Confirmação de Termo