Postado Fevereiro 21, 2020 5 anos Bom, estava pesquisando sobre OtClient e acabei achando esse OtClientV8, feito por Kondra -- link em pt-br dizendo sobre ele External Link -- tópico feito pelo próprio criado External Link Comecei pesquisar sobre, e realmente me parasse um OtClient muito bom, o que mais me interessou e oq venho mostrar é a parte do BOT, ele ja vem com um bot incluso que me interessou muito, pois qualquer um pode criar as funções dele em lua. O tópico falando do bot so vou deixar escrito oque ta la, mas se quiserem ver as imagens o link é esse -- External Link Spoiler O OTClientV8 bot está incluído no projeto OTClientV8, mas possui um repositório github separado com documentação e exemplos. Este bot permite que você crie o que quiser com a linguagem lua e otclient otml. Ele fornece acesso a todas as funções otclient lua e possui várias funções e ferramentas para facilitar o desenvolvimento. Ainda não há uma interface atualizado, porém você pode criar utilizando a função setupUI e compartilhar Já está em desenvolvimento a documentação de uso deste bot, onde é possível encontrar scripts e tutoriais de como utiliza-lo Se você quiser contribuir, adicionar mais funções, alguns scripts ou até a interface do usuário entre no canal de discord otclientv8 e entre em contato comigo - Entre no Servidor de discórdia OTClientV8! (https://discord.gg/feySup6). Ou apenas faça uma solicitação de recebimento do github. O Limite é a sua imaginação! Creditos Kondra Quando baixei o OtClient o bot ja vem um com 'example' com bastante comandos ja adicionado, mas vou deixar alguns exemplo aqui para poderem entender: Aqui tem todas funções e mais informações sobre o bot -- https://github.com/OTCv8/otclientv8_bot Spoiler Todos exemplos aqui NÃO foram criado por mim, deixarei os devidos crédito e link. Os script são colocado no diretorio do AppData\Roaming\OTClientV8\otclientv8\bot\seuperfil A maoria aqui talvez ja vem incluso como 'example'. Sio com janela de texto para adicionar quantos friends quiser - credito Evolunia Spoiler macro(100, "Sio", function() local friend = getPlayerByName(storage.friendName) local friend1 = getPlayerByName(storage.friend1Name) if friend and friend:getHealthPercent() < 80 then say("exura sio \""..storage.friendName) delay(500) elseif friend1 and friend1:getHealthPercent() <= 80 then -- If u need more you can copy this lines say("exura sio \""..storage.friend1Name) -- delay(500) -- end -- And paste them between this end and the delay end) addTextEdit("friendName", storage.friendName or "Friend Name", function(widget, text) storage.friendName = text end) addLabel("Priority 1 ^ Priority 2 v", "Priority 1 ^ Priority 2 v") addTextEdit("friend1Name", storage.friend1Name or "Friend Name", function(widget, text) -- Also copy this lines storage.friend1Name = text -- If u add more just rename the Friend1Name to Friend2Name in the lines u paste end) -- Anti-Paralyze - credito Evolunia Spoiler macro(100, "Anti Paralyze", nil, function() if isParalyzed() and storage.autoAntiParalyzeText:len() > 0 then saySpell(storage.autoAntiParalyzeText) end end) addTextEdit("autoAntiParalyzeText", storage.autoAntiParalyzeText or "utani hur", function(widget, text) storage.autoAntiParalyzeText = text end) Heal com Potion com janela para escolher potions - credito Evolunia Spoiler local healthPercent = 99 macro(200, "faster health potting", function() if (hppercent() <= healthPercent) then usewith((storage.hpItem), player) end end) addTextEdit("hpItem", storage.hpItem or "23375", function(widget, text) storage.hpItem = text end) Equipa energy ring em determinado % de vida - credito Evolunia Spoiler --[[ 1. Start the script with your normal ring on 2. make sure the backpack with e-rings are always open ]] local energy_ring = 3051; -- Your energy ring local energy_ring_equiped = 3088; -- Ring changes id when equiped local original_ring = getFinger(); -- Your original ring local healthp_for_energy = 50; local healthp_for_original = 80; local manap_for_original = 25; macro(1000, "e-ring", function() if (manapercent() <= manap_for_original and getFinger():getId() ~= original_ring:getId()) then g_game.equipItem(original_ring); elseif (hppercent() <= healthp_for_energy and manapercent() >= manap_for_original and getFinger():getId() ~= energy_ring) then local ring = findItem(energy_ring); if (ring) then g_game.equipItem(ring); end elseif (hppercent() >= healthp_for_original and getFinger():getId() ~= original_ring:getId()) then g_game.equipItem(original_ring); end end) faz com que todas as mensagens privadas sejam exibidas na tela, da mesma forma que os scripts no windbot / xenobot. Basta colá-lo na janela de retornos de chamada e ele funcionará. -- credito Mr. Greyshade Spoiler local height = 50 local widget = setupUI([[ Panel id: msgPanel height: 400 width: 200 ]], g_ui.getRootWidget()) onTalk(function(name, level, mode, text, channelId, pos) if (mode ~= 4) then return end local msgLabel = g_ui.loadUIFromString([[ Label color: #5ff7f7 background-color: black opacity: 0.87 ]], widget) msgLabel:setText(name .." ["..level.. "]: " .. text) msgLabel:setPosition({y = height, x = 10}) if height > 210 then for msgIndex, message in ipairs(widget:getChildren()) do message:setPosition({y = message:getPosition().y - 13, x = 10}) if (msgIndex == 1) then message:destroy() end end else height = height + 13 end end) Ataca monstro mais proximo e menos health se for mais de um - credito Ele no Spoiler macro(100, "Smarter targeting", function() local battlelist = getSpectators(); local closest = 10 local lowesthpc = 101 for key, val in pairs(battlelist) do if val:isMonster() then if getDistanceBetween(player:getPosition(), val:getPosition()) <= closest then closest = getDistanceBetween(player:getPosition(), val:getPosition()) if val:getHealthPercent() < lowesthpc then lowesthpc = val:getHealthPercent() end end end end for key, val in pairs(battlelist) do if val:isMonster() then if getDistanceBetween(player:getPosition(), val:getPosition()) <= closest then if g_game.getAttackingCreature() ~= val and val:getHealthPercent() <= lowesthpc then g_game.attack(val) break end end end end end) Agora esse é mais avançado vou deixa oque ele faz com tradução do translate google mas o link original de todos esta no começo. - credito panxor Spoiler como se comporta: 1.bot usará magia multi-alvo se houver 2 ou mais monstros por perto, mesmo quando houver jogadores na tela - até você atingir 15 pvp kills (alguém tenta fazer o RS) 2. bot usará magia alvo única se apenas 1 monstros ao redor ou existem jogadores na tela (se você ultrapassou 15 pontos de pvp em mata-mata). Importante! bot irá contar o número de mortes que você ganhou desde que você iniciou o script / redefiniu a janela da macro (desligue e ligue novamente). Para alterar o ponto inicial da contagem, basta alterar os frags de 0 para o próprio X Script: local frags = 0 onTextMessage(function(mode, text) if string.find(text, "Warning! The murder") then frags = frags + 1 end end) local multiTargetSpell = 'holy power' local singleTargetSpell = 'exori san' local distance = 3 local amountOfMonsters = 2 local fragLimit = 15 macro(250, "Exp Cast", function() local isSafe = true; local specAmount = 0 if not g_game.isAttacking() then return end for i,mob in ipairs(getSpectators()) do if (getDistanceBetween(player:getPosition(), mob:getPosition()) <= distance and mob:isMonster()) then specAmount = specAmount + 1 end if (mob:isPlayer() and player:getName() ~= mob:getName()) then isSafe = false; end end if (specAmount >= amountOfMonsters and ((frags <= fragLimit) or isSafe)) then say(multiTargetSpell) else say(singleTargetSpell) end end) Todos script tirado desse link - https://otland.net/threads/scripts-macros-for-kondras-otclientv8-bot.267394/ Meu objetivo com esse post é só compartilhar, já que não achei nada sobre ele no Tibia King, no momento tenho outros projeto, e não posso estuda as funções do bot, mas acredito que como eu tenha mais pessoas que se interesse. Mas logo pretendo estuda pois acho que esse seria o melhor client e bot que pode substituir o tibia.exe elf/magebot q sempre usamos. @edit Não sei se estou na area certa, se estiver errado me desculpe e favor mover.
Postado Abril 9, 2020 5 anos Administrador Parabéns, seu tópico de conteúdo foi aprovado! Muito obrigado pela sua contribuição, nós do Tibia King agradecemos. Seu conteúdo com certeza ajudará à muitos outros, você recebeu +1 REP. Spoiler Congratulations, your content has been approved! Thank you for your contribution, we of Tibia King we are grateful. Your content will help many other users, you received +1 REP.
Postado Maio 24, 2021 3 anos Em 21/02/2020 em 11:55, Naze disse: Bom, estava pesquisando sobre OtClient e acabei achando esse OtClientV8, feito por Kondra -- link em pt-br dizendo sobre ele External Link -- tópico feito pelo próprio criado External Link Comecei pesquisar sobre, e realmente me parasse um OtClient muito bom, o que mais me interessou e oq venho mostrar é a parte do BOT, ele ja vem com um bot incluso que me interessou muito, pois qualquer um pode criar as funções dele em lua. O tópico falando do bot so vou deixar escrito oque ta la, mas se quiserem ver as imagens o link é esse -- External Link Mostrar conteúdo oculto O OTClientV8 bot está incluído no projeto OTClientV8, mas possui um repositório github separado com documentação e exemplos. Este bot permite que você crie o que quiser com a linguagem lua e otclient otml. Ele fornece acesso a todas as funções otclient lua e possui várias funções e ferramentas para facilitar o desenvolvimento. Ainda não há uma interface atualizado, porém você pode criar utilizando a função setupUI e compartilhar Já está em desenvolvimento a documentação de uso deste bot, onde é possível encontrar scripts e tutoriais de como utiliza-lo Se você quiser contribuir, adicionar mais funções, alguns scripts ou até a interface do usuário entre no canal de discord otclientv8 e entre em contato comigo - Entre no Servidor de discórdia OTClientV8! (https://discord.gg/feySup6). Ou apenas faça uma solicitação de recebimento do github. O Limite é a sua imaginação! Creditos Kondra Quando baixei o OtClient o bot ja vem um com 'example' com bastante comandos ja adicionado, mas vou deixar alguns exemplo aqui para poderem entender: Aqui tem todas funções e mais informações sobre o bot -- https://github.com/OTCv8/otclientv8_bot Ocultar conteúdo Todos exemplos aqui NÃO foram criado por mim, deixarei os devidos crédito e link. Os script são colocado no diretorio do AppData\Roaming\OTClientV8\otclientv8\bot\seuperfil A maoria aqui talvez ja vem incluso como 'example'. Sio com janela de texto para adicionar quantos friends quiser - credito Evolunia Mostrar conteúdo oculto macro(100, "Sio", function() local friend = getPlayerByName(storage.friendName) local friend1 = getPlayerByName(storage.friend1Name) if friend and friend:getHealthPercent() < 80 then say("exura sio \""..storage.friendName) delay(500) elseif friend1 and friend1:getHealthPercent() <= 80 then -- If u need more you can copy this lines say("exura sio \""..storage.friend1Name) -- delay(500) -- end -- And paste them between this end and the delay end) addTextEdit("friendName", storage.friendName or "Friend Name", function(widget, text) storage.friendName = text end) addLabel("Priority 1 ^ Priority 2 v", "Priority 1 ^ Priority 2 v") addTextEdit("friend1Name", storage.friend1Name or "Friend Name", function(widget, text) -- Also copy this lines storage.friend1Name = text -- If u add more just rename the Friend1Name to Friend2Name in the lines u paste end) -- Anti-Paralyze - credito Evolunia Mostrar conteúdo oculto macro(100, "Anti Paralyze", nil, function() if isParalyzed() and storage.autoAntiParalyzeText:len() > 0 then saySpell(storage.autoAntiParalyzeText) end end) addTextEdit("autoAntiParalyzeText", storage.autoAntiParalyzeText or "utani hur", function(widget, text) storage.autoAntiParalyzeText = text end) Heal com Potion com janela para escolher potions - credito Evolunia Mostrar conteúdo oculto local healthPercent = 99 macro(200, "faster health potting", function() if (hppercent() <= healthPercent) then usewith((storage.hpItem), player) end end) addTextEdit("hpItem", storage.hpItem or "23375", function(widget, text) storage.hpItem = text end) Equipa energy ring em determinado % de vida - credito Evolunia Mostrar conteúdo oculto --[[ 1. Start the script with your normal ring on 2. make sure the backpack with e-rings are always open ]] local energy_ring = 3051; -- Your energy ring local energy_ring_equiped = 3088; -- Ring changes id when equiped local original_ring = getFinger(); -- Your original ring local healthp_for_energy = 50; local healthp_for_original = 80; local manap_for_original = 25; macro(1000, "e-ring", function() if (manapercent() <= manap_for_original and getFinger():getId() ~= original_ring:getId()) then g_game.equipItem(original_ring); elseif (hppercent() <= healthp_for_energy and manapercent() >= manap_for_original and getFinger():getId() ~= energy_ring) then local ring = findItem(energy_ring); if (ring) then g_game.equipItem(ring); end elseif (hppercent() >= healthp_for_original and getFinger():getId() ~= original_ring:getId()) then g_game.equipItem(original_ring); end end) faz com que todas as mensagens privadas sejam exibidas na tela, da mesma forma que os scripts no windbot / xenobot. Basta colá-lo na janela de retornos de chamada e ele funcionará. -- credito Mr. Greyshade Mostrar conteúdo oculto local height = 50 local widget = setupUI([[ Panel id: msgPanel height: 400 width: 200 ]], g_ui.getRootWidget()) onTalk(function(name, level, mode, text, channelId, pos) if (mode ~= 4) then return end local msgLabel = g_ui.loadUIFromString([[ Label color: #5ff7f7 background-color: black opacity: 0.87 ]], widget) msgLabel:setText(name .." ["..level.. "]: " .. text) msgLabel:setPosition({y = height, x = 10}) if height > 210 then for msgIndex, message in ipairs(widget:getChildren()) do message:setPosition({y = message:getPosition().y - 13, x = 10}) if (msgIndex == 1) then message:destroy() end end else height = height + 13 end end) Ataca monstro mais proximo e menos health se for mais de um - credito Ele no Mostrar conteúdo oculto macro(100, "Smarter targeting", function() local battlelist = getSpectators(); local closest = 10 local lowesthpc = 101 for key, val in pairs(battlelist) do if val:isMonster() then if getDistanceBetween(player:getPosition(), val:getPosition()) <= closest then closest = getDistanceBetween(player:getPosition(), val:getPosition()) if val:getHealthPercent() < lowesthpc then lowesthpc = val:getHealthPercent() end end end end for key, val in pairs(battlelist) do if val:isMonster() then if getDistanceBetween(player:getPosition(), val:getPosition()) <= closest then if g_game.getAttackingCreature() ~= val and val:getHealthPercent() <= lowesthpc then g_game.attack(val) break end end end end end) Agora esse é mais avançado vou deixa oque ele faz com tradução do translate google mas o link original de todos esta no começo. - credito panxor Mostrar conteúdo oculto como se comporta: 1.bot usará magia multi-alvo se houver 2 ou mais monstros por perto, mesmo quando houver jogadores na tela - até você atingir 15 pvp kills (alguém tenta fazer o RS) 2. bot usará magia alvo única se apenas 1 monstros ao redor ou existem jogadores na tela (se você ultrapassou 15 pontos de pvp em mata-mata). Importante! bot irá contar o número de mortes que você ganhou desde que você iniciou o script / redefiniu a janela da macro (desligue e ligue novamente). Para alterar o ponto inicial da contagem, basta alterar os frags de 0 para o próprio X Script: local frags = 0 onTextMessage(function(mode, text) if string.find(text, "Warning! The murder") then frags = frags + 1 end end) local multiTargetSpell = 'holy power' local singleTargetSpell = 'exori san' local distance = 3 local amountOfMonsters = 2 local fragLimit = 15 macro(250, "Exp Cast", function() local isSafe = true; local specAmount = 0 if not g_game.isAttacking() then return end for i,mob in ipairs(getSpectators()) do if (getDistanceBetween(player:getPosition(), mob:getPosition()) <= distance and mob:isMonster()) then specAmount = specAmount + 1 end if (mob:isPlayer() and player:getName() ~= mob:getName()) then isSafe = false; end end if (specAmount >= amountOfMonsters and ((frags <= fragLimit) or isSafe)) then say(multiTargetSpell) else say(singleTargetSpell) end end) Todos script tirado desse link - https://otland.net/threads/scripts-macros-for-kondras-otclientv8-bot.267394/ Meu objetivo com esse post é só compartilhar, já que não achei nada sobre ele no Tibia King, no momento tenho outros projeto, e não posso estuda as funções do bot, mas acredito que como eu tenha mais pessoas que se interesse. Mas logo pretendo estuda pois acho que esse seria o melhor client e bot que pode substituir o tibia.exe elf/magebot q sempre usamos. @edit Não sei se estou na area certa, se estiver errado me desculpe e favor mover. Desculpa o incomodo mas não achei em nenhum lugar Você sabe me dizer como faz o comando do Function pra quando ele chegar no final do cavebot voltar para o label hunt? EX: Eu fiz o label inicio Fiz o script pra ir até a hunt Chegando na hunt fiz o label hunt Fiz o script da hunt Agora quero que ele volte pro label hunt se não tiver morrido
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.