-
Posts
89 -
Joined
-
Last visited
-
Days Won
10
Content Type
Profiles
Forums
Events
Posts posted by Show Show
-
-
Tava conversando com o Cad sobre colocar uma lista de macros no listão. vocês tem alguma sugestão para inclusão? Existe algum tipo que não deveria ser colocado nessa possível lista?
Inicialmente tinha pensando nesses:
Cura: Aqui seria mais um mecanismo de proteção caso troque de char e esqueça de configurar o heal normal do bot. Já teria a magia configurada pra cada vocação e só teria um botão de "Liga" e "Desliga" caso queira de fato morrer (Last, rift, etc).
Pot: Mesma lógica do anterior com a vantagem de que não fica dando exhausted, o que atrapalha na hora de andar.
Auto Pet: Sumona o pet caso não esteja na tela.
Auto Mount: Sempre montado, útil em hunts que o monstro tira sua mount.
Follow: Segue o personagem definido.
Auto Ataque: Parecido com o Target bot, porém não precisa ficar configurando os monstros e mais fácil de adicionar exceções.
Estoura Pots: Pode ser estendido para outros itens.
Calculadora Hits: Hit máximo, Hit médio, Dano médio/turno, Hit%.
Sio/UH: Um char ou vários?
SSA/Might por HP: Quando a vida chega em 30% equipa o SSA/Might, quando voltar pra 90% equipa o colar normal. (valores configuráveis)
Vita Gran Sio: Se HP< HP base + 40%, usa a magia.
Utevo Gran Sio: Usa a cada 10 minutos ou se não tiver buff.
Tira Pet PK: Caso aparece um PK na tela, tira o pet. Quanto tempo depois deve sumonar o pet novamente?Auto Arrow: Equipa flechas quando acabarem e troca o tipo de flecha ao pressionar tecla específica.
- 2
-
Quanto fica seu ping? A memória do seu PC tá legal? Tem muito tempo que você instalou o programa?
-
Boa noite. No domingo de madrugada como estava meio cansado creio que acabei configurando o bot errado por desatenção. Com isso ele morreu na cave e continuou voltando diversas vezes até tomar ban. Gostaria de saber se existe a possibilidade do ban ser removido antes do tempo completo. Agradeço desde já a atenção.
- 1
-
Descrição: Equipa arrow com BP fechada e troca o tipo de arrow ao apertar a fecla "V".
Vídeo:
rmb7vUX.gif (1376×712) (imgur.com)
Spoilerfunction sendEquipItem(id) local protocol = g_game.getProtocolGame() local msg = OutputMessage.create() msg:addU8(119) msg:addU16(id) protocol:send(msg) end local ammo = InventorySlotAmmo iArrow = 1 macro(1000,"Equip Arrow",function() local arrow= storage.sortItems1[iArrow] arrowId = arrow.id if player:getInventoryItem(ammo) == nil then sendEquipItem(arrowId) else local arrowEquip = player:getInventoryItem(ammo) if arrowEquip:getId() == arrowId then return else sendEquipItem(arrowId) end end end) local sortItems1 = UI.Container(function(widget, items) storage.sortItems1 = items end, true) sortItems1:setHeight(140) sortItems1:setItems(storage.sortItems1) local raiderHotkey = hotkey("V", "Change Arrow", function() if storage.sortItems1[iArrow + 1] == nil then iArrow = 1 else iArrow = iArrow + 1 end end)
- 2
-
Não cheguei a testar fora da cidade, então qualquer feedback será útil para possíveis correções.
Por algum motivo fiz um vídeo explicando como inserir o código no jogo e demonstrando as funcionalidades.
Spoiler--Description: A macro to follow players through stairs, doors, ladders, sewer gates and some other things. --A message error appears on the log, but other than that everything seems to run well... save for the eventual hiccups. --ATTENTION: It might not work if multiple "use objects" that lead to paths places are near eachother. Follow = macro(1000,"Follow",function() nome = storage.followLeader end) UI.Label("Follow Player:") addTextEdit("playerToFollow", storage.followLeader or "Heeey", function(widget, text) storage.followLeader = text target = tostring(text) end) nome = storage.followLeader pos_p = player:getPosition() p = getCreatureByName(nome) onCreaturePositionChange(function(creature, newPos, oldPos) if Follow.isOn() then if creature:getName()==player:getName() and getCreatureByName(nome) == nil and newPos.z>oldPos.z then say('exani tera') for i = -1,1 do for j = -1,1 do local useTile = g_map.getTile({x=posx()+i,y=posy()+j,z=posz()}) g_game.use(useTile:getTopUseThing()) end end end if creature:getName()==nome then if newPos==nil then lastPos = oldPos schedule(200,function() autoWalk(oldPos) end) schedule(1000,function() for i = -1,1 do for j = -1,1 do local useTile = g_map.getTile({x=posx()+i,y=posy()+j,z=posz()}) g_game.use(useTile:getTopUseThing()) end end end) end if oldPos.z == newPos.z then schedule(300,function() local useTile = g_map.getTile({x=oldPos.x,y=oldPos.y,z=oldPos.z}) topThing = useTile:getTopThing() if not useTile:isWalkable() then use(topThing) end end) autoWalk({x=oldPos.x,y=oldPos.y,z=oldPos.z}) else lastPos = oldPos autoWalk(oldPos) for i = 1,6 do schedule(i*200,function() autoWalk(oldPos) if getDistanceBetween(pos(), oldPos) == 0 and (posz()>newPos.z and getCreatureByName(nome) == nil) then say('exani tera') end end) end local useTile = g_map.getTile({x=newPos.x,y=newPos.y-1,z=oldPos.z}) g_game.use(useTile:getTopUseThing()) end end end end)
- 3
- 2
-
Em 16/08/2021 at 13:03, Clerigo FX disse:
Boa tarde, Script de summon de pet não está funcionando !!!
Testei aqui e tá funcionando normal. Você tá colocando no lugar certo?
Você deve colar em "Ingame macro editor" ou salvar o código como .lua na pasta do seu otc ( "\AppData\Roaming\OTClientV8\otclienttrpgbv8\bot\cavebot_1.2").
Vou aproveitar pra fazer uma atualização no macro. Alterações:
- Não mais tenta sumonar dentro de casas.
- Caso não haja pet na tela quando a função for chamada, irá checar novamente em 5 segundos para garantir que o pet não esteja "muito pra trás" ao se deslocar pelo mapa.
- Botão para ativar/desativar função.
petName = 'Mercenary' macro(60000,"Summon Pet", function() pet = getCreatureByName('Pet ' .. petName) if pet == nil and not isInPz() then schedule(5000,function() pet = getCreatureByName('Pet ' .. petName) if pet == nil and not isInPz() then say('!pet summon,' .. petName) end end) end end)
-
Em 15/08/2021 at 19:05, MeLkSz disse:
NAOOOOOOOOOOOOOOOOOOOOOO maioria dos macro deles sou eu quer uso n vemmmmm!!!
@Show Show Seu trampo ta ficando ttopiiiii rl amassaaaaaaaaa
Valeu @MeLkSz! kkkkkkkk
-
Em 15/08/2021 at 17:24, Cadwallow disse:
manoooooooo que irado esses macros que voce tá fazendo!!! Obrigado pela colaboração. Será que seria viável voce fazer um apanhado de seus macros, por tudo num tpopico (só os links mesmo) pra eu poder mover eles pro Super Listão?
Posso sim. Você tem alguma sugestão de quais macros seriam interessantes pra lista? Qualquer coisa a gente pode trocar uma ideia pelo discord ou ingame mesmo.
-
Fiz uma atualização na parte de magias do macro. Antes o personagem soltaria as magias de acordo com a quantia de mana do char, independente de estar atacando algum monstro ou não. Como nem todos upam assim, coloquei um botão a mais "On Target" que quando ativo, condiciona o uso das magias a estar atacando algum monstro.
Spoilerlocal monsterList = {} local whitelistMonsters = {"emberwing", "skullfrost", "groovebeast", "thundergiant","pet mercenary","pet archer","pet witchdoctor", "pet mage", "pet blaze" , "pet wolf", "pet dog"} macro(100, "Atk Closest Target", function() if g_game.isAttacking() then return end for _,mob in ipairs(getSpectators(posz())) do distancia = getDistanceBetween(pos(), mob:getPosition()) if mob:isMonster() and not table.find(whitelistMonsters, mob:getName():lower()) and distancia >=distMin and distancia <=distMax then table.insert(monsterList, {monster = mob, distance = getDistanceBetween(pos(), mob:getPosition())}) end end table.sort(monsterList, function(a,b) return a.distance < b.distance end) if not g_game.isAttacking() and monsterList[1] then g_game.attack(monsterList[1].monster) end monsterList = {} end) macro(100, "Auto Follow", function() g_game.setChaseMode(1) end) macro(300, "Auto Pause CaveBot", function() if g_game.isAttacking() then CaveBot.setOn(false) else CaveBot.setOn(true) end end) UI.Separator() UI.Label("Distância para ataque") distMin = 1 distMax = 8 function Distancia(parent) local panelName = "distancia" if not parent then parent = panel end local ui = g_ui.createWidget("DualScrollPanel", parent) ui:setId(panelName) if not storage[panelName] then storage[panelName] = { min = 1, max = 100, text = 'exura' } end ui.title:setOn(storage[panelName].enabled) ui.title.onClick = function(widget) storage[panelName].enabled = not storage[panelName].enabled widget:setOn(storage[panelName].enabled) end local updateText = function() ui.title:setText("distância >= " .. math.floor(storage[panelName].min*8/100) .. " e <= " .. math.floor(storage[panelName].max*8/100) .. ' sqms') end local repeatTime ui.scroll1.onValueChange = function(scroll, value) storage[panelName].min = value updateText() end ui.scroll2.onValueChange = function(scroll, value) storage[panelName].max = value updateText() end ui.text.onTextChange = function(widget, text) storage[panelName].text = "" updateText() end ui.scroll1:setValue(storage[panelName].min) ui.scroll2:setValue(storage[panelName].max) macro(1000, function() if storage[panelName].enabled then distMin = math.floor(storage[panelName].min*8/100) distMax = math.floor(storage[panelName].max*8/100) end end) end Distancia() UI.Separator() UI.Label("Magias") onTarget = macro(10000, "On Target", function() end) function Magia1(parent) local panelName = "magiaUm" if not parent then parent = panel end local ui = g_ui.createWidget("DualScrollPanel", parent) ui:setId(panelName) if not storage[panelName] then storage[panelName] = { min = 10, max = 80, text = 'exura' } end ui.title:setOn(storage[panelName].enabled) ui.title.onClick = function(widget) storage[panelName].enabled = not storage[panelName].enabled widget:setOn(storage[panelName].enabled) end local updateText = function() ui.title:setText("mana >= " .. storage[panelName].min .. "% e <= " .. storage[panelName].max .. "%") end local repeatTime ui.scroll1.onValueChange = function(scroll, value) storage[panelName].min = value updateText() end ui.scroll2.onValueChange = function(scroll, value) storage[panelName].max = value updateText() end ui.text.onTextChange = function(widget, text) storage[panelName].text = text updateText() end ui.scroll1:setValue(storage[panelName].min) ui.scroll2:setValue(storage[panelName].max) ui.text:setText(storage[panelName].text) macro(1000, function() if storage[panelName].enabled and manapercent() >= storage[panelName].min and manapercent() <= storage[panelName].max then if onTarget.isOn() and g_game.isAttacking() then say(storage[panelName].text) elseif onTarget.isOff() then say(storage[panelName].text) end end end) end Magia1() function Magia2(parent) local panelName = "MagiaDois" if not parent then parent = panel end local ui = g_ui.createWidget("DualScrollPanel", parent) ui:setId(panelName) if not storage[panelName] then storage[panelName] = { min = 10, max = 80, text = 'exura' } end ui.title:setOn(storage[panelName].enabled) ui.title.onClick = function(widget) storage[panelName].enabled = not storage[panelName].enabled widget:setOn(storage[panelName].enabled) end local updateText = function() ui.title:setText("mana >= " .. storage[panelName].min .. "% e <= " .. storage[panelName].max .. "%") end local repeatTime ui.scroll1.onValueChange = function(scroll, value) storage[panelName].min = value updateText() end ui.scroll2.onValueChange = function(scroll, value) storage[panelName].max = value updateText() end ui.text.onTextChange = function(widget, text) storage[panelName].text = text updateText() end ui.scroll1:setValue(storage[panelName].min) ui.scroll2:setValue(storage[panelName].max) ui.text:setText(storage[panelName].text) macro(1000, function() if storage[panelName].enabled and manapercent() >= storage[panelName].min and manapercent() <= storage[panelName].max then if onTarget.isOn() and g_game.isAttacking() then say(storage[panelName].text) elseif onTarget.isOff() then say(storage[panelName].text) end end end) end Magia2()
-
Vi hoje no WC um pessoal conversando sobre script pra sumonar pet sozinho. Eu coloco no cave bot pra sumonar sempre que der uma volta na cave assim:
O lado ruim é que enche o default de mensagens e às vezes acabo não vendo outras que chegam. Pra tentar resolver esse problema, fiz um macro pra sumonar o pet caso não tenha nenhum pet do tipo na tela (pet de outras pessoas irão afetar).
petName = 'Mercenary' macro(60000, function() pet = getCreatureByName('Pet ' .. petName) if pet == nil then say('!pet summon,' .. petName) end end)
Uma coisa que já causou muitas mortes por distração nos meu chars foi trocar de personagem e esquecer de mudar as configurações de cura e poção. Pra isso fiz um macro que seleciona a magia e poção correta de acordo com a vocação (pra simplificar pulei a parte de checar a vocação).
Spoiler-CURA macro(200, function() if hppercent()<75 then say("exura gran san") say("exura max vita") say("exura gran mas ico") end end) --USA POT DE MANA macro(1000, function() if manapercent() <=25 then useWith(23373, player) useWith(238, player) useWith(237, player) elseif manapercent() > 25 and manapercent() < 50 then useWith(238, player) useWith(237, player) end end)
Qualquer dúvida é só mandar mensagem pelo discord para #dimerism5429 ou em danae para Heeey/Jhon Snowy/Drurian.
- 2
-
11 horas atrás, Coldzera disse:
@Show Show sou meio leigo com essas coisas, então queria tirar uma dúvida. O script "Atk Closest Target" é para que o pet fique próximo ao mestre e que ele não fique saindo da tela dele? Ou não? Não entendi muito bem a funcionalidade.
O personagem vai atacar o monstro mais próximo dele (dentro da faixa especificada) e ignorar pets e summons especiais. A principal funcionalidade é não precisar configurar vários monstros diferentes dentro do Target ou escrever " * " e o bot ficar atacando os pets.
-
4 horas atrás, Faramir disse:
mto bom mano !!
tomei liberdade de editar seu post só pra não ficar mto grande e já colocar com highlight Lua pra melhor visualização
Pô, legal! Não sabia dessas opções. Vou usar daqui pra frente. Valeu!
- 1
-
Sempre vejo o pessoal reclamando dos summons do global que "bugam" o bot, dentre algumas outras coisas. Fiz algumas modificações no macro de auto ataque que já existia:
1 - Opção de Follow no target.
2 - Pausa o cavebot enquanto estiver atacando e retoma quando não mais estiver.
3 - Controle do intervalo de distância dos monstros, ignorando aqueles fora desse intervalo.
4 - Configuração de duas magias de ataque de acordo com a porcentagem de mana do personagem.
Qualquer problema ou dúvida pode mandar mensagem ingame para: Heeey, Jhon Snowy, Drurian ou kalastaja. De preferência fala pelo discord (dimerism#5429) que caso esteja afk quando ver respondo. Lembrando que o código deve ser colocado em Ingame macro editor.
Spoilerlocal monsterList = {} local whitelistMonsters = {"emberwing", "skullfrost", "groovebeast", "thundergiant","pet mercenary","pet archer","pet witchdoctor", "pet mage", "pet blaze" , "pet wolf", "pet dog"} macro(100, "Atk Closest Target", function() if g_game.isAttacking() then return end for _,mob in ipairs(getSpectators(posz())) do distancia = getDistanceBetween(pos(), mob:getPosition()) if mob:isMonster() and not table.find(whitelistMonsters, mob:getName():lower()) and distancia >=distMin and distancia <=distMax then table.insert(monsterList, {monster = mob, distance = getDistanceBetween(pos(), mob:getPosition())}) end end table.sort(monsterList, function(a,b) return a.distance < b.distance end) if not g_game.isAttacking() and monsterList[1] then g_game.attack(monsterList[1].monster) end monsterList = {} end) macro(100, "Auto Follow", function() g_game.setChaseMode(1) end) macro(300, "Auto Pause CaveBot", function() if g_game.isAttacking() then CaveBot.setOn(false) else CaveBot.setOn(true) end end) UI.Separator() UI.Label("Distância para ataque") distMin = 1 distMax = 8 function Distancia(parent) local panelName = "distancia" if not parent then parent = panel end local ui = g_ui.createWidget("DualScrollPanel", parent) ui:setId(panelName) if not storage[panelName] then storage[panelName] = { min = 1, max = 100, text = 'exura' } end ui.title:setOn(storage[panelName].enabled) ui.title.onClick = function(widget) storage[panelName].enabled = not storage[panelName].enabled widget:setOn(storage[panelName].enabled) end local updateText = function() ui.title:setText("distância >= " .. math.floor(storage[panelName].min*8/100) .. " e <= " .. math.floor(storage[panelName].max*8/100) .. ' sqms') end local repeatTime ui.scroll1.onValueChange = function(scroll, value) storage[panelName].min = value updateText() end ui.scroll2.onValueChange = function(scroll, value) storage[panelName].max = value updateText() end ui.text.onTextChange = function(widget, text) storage[panelName].text = "" updateText() end ui.scroll1:setValue(storage[panelName].min) ui.scroll2:setValue(storage[panelName].max) macro(1000, function() if storage[panelName].enabled then distMin = math.floor(storage[panelName].min*8/100) distMax = math.floor(storage[panelName].max*8/100) end end) end Distancia() UI.Separator() UI.Label("Magias") function Magia1(parent) local panelName = "magiaUm" if not parent then parent = panel end local ui = g_ui.createWidget("DualScrollPanel", parent) ui:setId(panelName) if not storage[panelName] then storage[panelName] = { min = 10, max = 80, text = 'exura' } end ui.title:setOn(storage[panelName].enabled) ui.title.onClick = function(widget) storage[panelName].enabled = not storage[panelName].enabled widget:setOn(storage[panelName].enabled) end local updateText = function() ui.title:setText("mana >= " .. storage[panelName].min .. "% e <= " .. storage[panelName].max .. "%") end local repeatTime ui.scroll1.onValueChange = function(scroll, value) storage[panelName].min = value updateText() end ui.scroll2.onValueChange = function(scroll, value) storage[panelName].max = value updateText() end ui.text.onTextChange = function(widget, text) storage[panelName].text = text updateText() end ui.scroll1:setValue(storage[panelName].min) ui.scroll2:setValue(storage[panelName].max) ui.text:setText(storage[panelName].text) macro(1000, function() if storage[panelName].enabled and manapercent() >= storage[panelName].min and manapercent() <= storage[panelName].max then say(storage[panelName].text) end end) end Magia1() function Magia2(parent) local panelName = "MagiaDois" if not parent then parent = panel end local ui = g_ui.createWidget("DualScrollPanel", parent) ui:setId(panelName) if not storage[panelName] then storage[panelName] = { min = 10, max = 80, text = 'exura' } end ui.title:setOn(storage[panelName].enabled) ui.title.onClick = function(widget) storage[panelName].enabled = not storage[panelName].enabled widget:setOn(storage[panelName].enabled) end local updateText = function() ui.title:setText("mana >= " .. storage[panelName].min .. "% e <= " .. storage[panelName].max .. "%") end local repeatTime ui.scroll1.onValueChange = function(scroll, value) storage[panelName].min = value updateText() end ui.scroll2.onValueChange = function(scroll, value) storage[panelName].max = value updateText() end ui.text.onTextChange = function(widget, text) storage[panelName].text = text updateText() end ui.scroll1:setValue(storage[panelName].min) ui.scroll2:setValue(storage[panelName].max) ui.text:setText(storage[panelName].text) macro(1000, function() if storage[panelName].enabled and manapercent() >= storage[panelName].min and manapercent() <= storage[panelName].max then say(storage[panelName].text) end end) end Magia2()
- 7
-
Em 27/07/2021 at 00:42, vishit disse:
@Faramirman teria como vc ver melhor sobre essas taxa de venda de char que o servidor calcula pq ja eh cobrado 10ppt pra posta char mais as tarifas que o servidor cobra ai o char nosso que colocamos a venda nao vale de nada pelo tempo gasto e ppt investidos teria como melhora essas tarifas ??? talvez com o calculo justo aumente a vendar de char e a circulação de ppt no servidor
Eu concordo, mas esse tópico não tá fora da área correta do fórum?
Em 27/07/2021 at 11:12, Romântico Anônimo disse:@Faramir gostaria que as taxas para venda de char fossem aumentadas e não diminuidas, um char comprado prejudica o servidor visto que se um player começar do zero fará com que o servidor obtenha muito mais receitas e sendo assim o valor podera ser investido para melhoria do ot e mante-lo online por muito mais tempo.
Todos pedem facilidades e melhorias, contudo, não pensam que tais facilidades podem atrapalhar o progresso do nosso Ot..
@TOPIC REPROVED
Se alguém começando quiser comprar um char vai ter que donatar uma bolada de cara. Ninguém garante que esse cara iria passar anos se matando pra melhorar o char. Tem muita gente que só que entrar, bater um pelego e pronto. Mas vou te ajudar. Vou traduzir o que você quis dizer: Por favor não deixe que alguém possa comprar um char e venha me dar uma surra com 1 dia de jogo. Se puder introduza um sistema em que eu e meus amigos possamos através de power abuse impedir que qualquer player novo entre no servidor e assim possamos nos dar parabéns por sermos os bonzões.
Em 27/07/2021 at 11:51, Coldzera disse:Eu compactuo dessa mesma ideia. Acredito que parte do mercado, economia, eventos, quests e hunt em party acabou se perdendo pela praticidade de se upar afk e com a possibilidade de vender/comprar esses chars que são upados. Isso acaba estragando toda a magia de se jogar um MMORPG. Então sempre que houver a possibilidade de facilitar ainda mais esse salto de tudo que um jogo do tipo MMORPG oferece eu serei contrário.
Mas que o tópico tenha bons comentários para refinar a proposta e quem sabe até mesmo ser implementada no futuro.
Eu concordo que isso tudo acabou com a magia do tibia, mas é um caminho sem volta. O tibia nunca será o mesmo porque hoje em dia o tempo é mais limitado e infelizmente ninguém tem tempo pra upar na mão o que acaba fazendo as coisas terem menos valor.
- 2
-
Boa, melhor bloker de danae :bb
-
Em 07/07/2021 at 08:59, Coldzera disse:
Cara, você simplesmente revolucionou o Tibia. Fez algo que nem o Global fez até hoje.
Eu particularmente removo todos os efeitos dos jogos que eu jogo para escutar música, mas eu achei incrível isso que você fez. Parabéns.
Foi mal a demora pra responder, além de tá meio corrido esses dias também andei meio doente.
Acho que a Cip não implementou até hoje por conveniência. Eles sabem que a galera que joga já tá acostumada e vê isso como uma característica do Tibia. Além de que Pra fazer um sistema de efeitos sonoros de verdade ia dar uma baita trabalho.
Em 07/07/2021 at 14:40, Cadwallow disse:Ideia vai ser levada para discussão.
Espero que psosa ser possivel implementar. Acho lgl ter essa opção pra quem gosta.Acho que fazendo um sistema bem básico já ficaria bem maneiro. Adicionei mais alguns efeitos esses dias e tentei fazer o esquema da rádio que falei (se não me engano vi a ideia em um vídeo do Carteroide a um ou dois anos atrás).
Adição de mais alguns efeitos.
"Rádio Tibia" (ainda não tem diferentes "canais")/music player.
Essa é uma versão inicial feita mais com a ideia de ter uma noção de como ficaria o sistema do que ser algo funcional de verdade. Se alguém tiver interesse posso tentar dar uma melhorada em algumas pontos que não estão tão bons na prática, organizar os códigos e arquivos e postar aqui.
-
Tava com umas 3 ideias aqui,
1) Um sistema de músicas temáticas de fundo que poderiam depender do local que o player está (hunt, enigma, korneta, livissi, boss, etc) ou de condções como pvp.
creio que essa parte seja tranquila de fazer.
2) Um rádio com diversos canais cada um com um tema. Opções de troca de música, de canal e desligar.
também tranquilo acho.
3) Esse de longe daria mais trabalho. Adicionar efeitos sonoros ao jogo, sons de hit, magias, ao usar items, andar e o que mais quiserem. No caso aqui o que mais da trabalho é procurar efeitos sonoros online e edita-los.
Fiz um experimento aqui:
Caso alguém mais tenha interesse a gente pode montar um grupo e ir fazendo aos poucos.
- 2
-
Se eu tiver algum macro pronto ou que não dê muito trabalho obviamente não vou cobrar nada. No caso isso é só pra alguma coisa mais específica. Precisando de qualquer coisa é só falar.
-
3 horas atrás, MeLkSz disse:
Opa Show rl Bom curto bastante caçar no "Otc" Rifts é talz ...
Recomendo Dms galera quer ta em busca de scprits pra ele vc
ja me ajudo bastante com uns scprits muito pika <3
Opa, valeu rl! tamo junto! kkkk
-
Tava pensando em começar a fazer uns macros sob encomenda. Existe uma demanda pra isso? Que tipo de macros as pessoas necessitam?
- 1
-
Booooaaaaa, ai sim hein!! Aprovadíssimo.
-
Em 25/06/2021 at 12:19, ThiagoMetal disse:
Acredito que seja aleatório, não acho que tem essa de quem apostou primeiro ganha.. Os números apostados são salvos e o servidor escolhe alguém aleatoriamente dentro de todas as apostas, sendo assim quanto mais apostar maiores são as chances de ganhar.
Tinha visto isso e fiquei curioso pra perguntar umas coisas. Quanto você apostou no total? Qual era sua ideia por trás disso? O site deu um overflow, o jogo também é limitado em 32 bits? Você recebeu todo dinheiro de volta?
-
Entendi, Agradeço as informações. Vou tentar fazer testes essa semana pra descobrir. Valeu a todos!
-
Então no caso se eu apostar uma combinação e outra pessoa depois de mim apostar a mesma combinação, ela não ganharia nada mesmo se a combinação dela fosse sorteada?
[Macro] Análise de dano.
in OTClient
Posted
Fiz esse macro com o objetivo de comparar armas e mensurar ganho de dano através de itens com bônus de skill.
Descrição
Fornece algumas informações sobre o dano causado pelo personagem: Dano máximo, dano médio, dano médio por turno, porcentagem de acertos (Hit%), além de uma funcionalidade que permite ignorar danos abaixo de um valor, o que é útil quando se quer testar apenas a magia sem interferência do dano causado pela arma.
Comentários
Recomendo que espere ao menos uns 20 minutos atacando sem pausa pra ter uma noção pelo menos razoável. Quanto mais tempo, mais precisa será a medida.
Demonstração
[Macro] Análise de Dano - YouTube