Líderes
-
-
-
Adriano SwaTT
MembroPontos1645Total de itens -
Private Sub Teste
HéroiPontos1638Total de itens
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 02/22/12 em todas áreas
-
[PHP, C#] Bless Cost
[PHP, C#] Bless Cost
thiagoxtk e 2 outros reagiu a Private Sub Teste por uma resposta no tópico
3 pontosO programa irá calcular quanto é necessário em gold para você fazer a bless (completa). Fiz ele em duas linguagems (PHP e C#), irei usar o código PHP para explicar. <!DOCTYPE html> <html lang="en-US"> <head> <meta charset="UTF-8" /> <title>Bless Cost</title> <link rel="stylesheet" type="text/css" href="style.css" /> </head> <body> <div id="wrp"> <?php if (isset($_POST['calculate'])) { $level = (int)$_POST['level']; function getBlessCost($lvl) { $lvl = (int)$lvl; return (max(30, min(120, $lvl)) - 20) * 1000; } $bless = getBlessCost($level); $blessCost = substr($bless, 0, -3); $blessCost = $blessCost. ',000'; } ?> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data"> <p> <label>Player Level:</label> <input type="text" name="level" required /> <?php if (isset($_POST['calculate'])) { echo "<input type=\"text\" readonly name=\"bless\" value=\"".$blessCost."\"/>"; } ?> <input type="hidden" name="calculate" /> <input type="submit" value="Bless Price" /> </p> </form> </div> </body> </html> [/php] Vamos por parte: [php] <!DOCTYPE html> <html lang="en-US"> <head> <meta charset="UTF-8" /> <title>Bless Cost</title> <link rel="stylesheet" type="text/css" href="style.css" /> </head> <body> <div id="wrp"> Esta parte do código consiste em estruturar nossa página, chamando o título e o css, além de criar a div para alinhamento. <?php if (isset($_POST['calculate'])) { //verifica se o post enviado pelo botão (submit) é o correto para calcular $level = (int)$_POST['level']; //guarda o level do player que foi enviado pelo botão em uma variavel $level function getBlessCost($lvl) { //função pra pegar o preço da bless $lvl = (int)$lvl; //retorna o level que foi dado junto com a chamada da função. Exemplo: getBlessCost(100) > irá guardar o 100 que foi o valor que eu inseri. return (max(30, min(120, $lvl)) - 20) * 1000; //esta é a fórmula, simples //digamos que o level que você escolheu foi 100, a fóruma irá interpretar desta maneira: //(pegavalormáximo(30, pegavalorminimo(120, 100)) - 20) * 1000; //(pegavalormáximo(30, 100) - 20) * 1000; aqui ela pega o valor minimo (o menor valor) entre 120 e 100 (level que você escolheu) //(100 - 20) * 1000; //80 * 1000; //80000; //não sei se deu de entender muito bem, mas é simples, irei tentar explicar com outro exemplo mais além. } $bless = getBlessCost($level); //guarda o valor da bless que pegou pela function, onde $level foi o level enviado pelo usuário $blessCost = substr($bless, 0, -3); //como a bless sempre retornará N000, retiramos os 3 últimos 0 para... $blessCost = $blessCost. ',000'; //...colocar a vírgula, no fim, adicionamos os 3 zeros novamente } ?>[/php] Achei mais fácil comentar o código, então leiam por ali. [php] <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data"> <p> <label>Player Level:</label> <input type="text" name="level" required /> Esta parte, inicia o form que será usado para enviar as informações e já cria nosso campo level, onde o usuário irá digitar o leve para calcular a bless. <?php if (isset($_POST['calculate'])) { //verifica o post enviado pelo botão novamente echo "<input type=\"text\" readonly name=\"bless\" value=\"".$blessCost."\"/>"; //se ele contiver, quer dizer que a bless foi calculada e podemos printar o valor da mesma } ?> [/php] Código comentado. [php] <input type="hidden" name="calculate" /> <input type="submit" value="Bless Price" /> </p> </form> </div> </body> </html> Fim do código HTML, e botamos o input do tipo hidden para que ele sirva como nosso verificador nessa parte: if (isset($_POST['calculate'])) { Além disso, adicionamos o botão de enviar que é onde o player irá clicar para calcular a bless. Outro exemplo: //usaremos o level 39 para exemplo. return (max(30, min(120, $lvl)) - 20) * 1000; //esta é a fórmula, simples return (max(30, min(120, 39)) - 20) * 1000; //nessa primeira parte, você lembra das regras de parênteses? Então, usaremos ela, o que último é o (120, 39), então, o PHP irá calcular qual é o menor valor dentre esses. return (max(30, 39) - 20) * 1000; //Com o valor calculado do min e retornado 39, ele irá partir para o próximo que é calcular o maior valor dentre os 2. return (39 - 20) * 1000; //Retorna o valor de 39 que é o maior dentre os dois acima e continua o código; return 19 * 1000; // como o parenteses vem antes, 39-20 = 19, e continuamos o código, agora é só multiplicar por 1000 que chegaremos ao valor da bless return 19000; //viram? esse é o valor da bless para um level 39 [/php] Css File: [spoiler] [php] body { font-size:14px; font-family:"Trebuchet Ms", Arial; } #wrp { background:#f7f7f7; padding:10px 10px; border-radius:5px; width:163px; margin:0 auto; margin-top:20%;} #wrp label { display:block; } #wrp input { display:block; margin-bottom:5px;} #wrp input[type=text] { background: #fff; border:2px solid #e6e6e6; padding:5px 5px; width:150px; } #wrp input[type=submit] { background:#fff; border:2px solid #e6e6e6; padding:10px 10px; width:163px; } Sendo que tLevel = textbox para o level Sendo que tCost = textbox para o valor da bless Ps: Não sou designer, não me chinguem pela arrumação do tópico e muito menos pelo Form do PHP para as blessings. Se quiser ver funcionando, entre em: http://tibiarvbot.com/blessing/3 pontos -
(Resolvido)[Pedido] hp e mana inicial
(Resolvido)[Pedido] hp e mana inicial
Ryukiimaru e um outro reagiu a Adriano SwaTT por uma resposta no tópico
2 pontosIsso é simples... Basta ir na pasta "Utilitários" de seu OTServer e abrir o programa SQLStúdio, logo após, abra o arquivo dos players de seu server... geralmente arquivo com esta extensão "nome_do_arquivo.s3db"... Caso nunca tenha feito isso, siga os passos abaixo: Clique em Add Database e abra o arquivo ".s3db" do seu server.... Em seguida, abra a lista à esquerda "tables", irá aparecer várias "sublistas", então dê dois cliques em "players", na janela grande ao lado direito irá aparecer algumas configurações... porém pode notar que logo acima estará selecionado a aba "Structure", então clique na aba ao lado direito dela... nomeada de "Data", então verá a lista dos personagens de seu OTServer. Então você altera as configurações do arquivo nomeado de "Account Manager", ou seja, o jeito que ele ficar configurado aí pelo SqlStudio, é o jeito que o novo player criado irá nascer. Espero ter ajudado, quaisquer dúvidas, poste aqui para tentarmos solucionar' #Poste também o resultado, se funcionou'2 pontos -
Lista de Servidores - 9.1X - 9.2X - 9.42X
Lista de Servidores - 9.1X - 9.2X - 9.42X
SmokeDead reagiu a Skydangerous por uma resposta no tópico
1 pontoLista de Servidores Servidores 9.1X The Forgotten Server 0.2.11 + Patch Level 2 Download Direto: http://otland.net/at...win32console.7z Tópico: http://tibiaking.com...-patch-level-2/ Scan: Não possui. Avaliação: Em Breve Otserv (0.6.3) r.6105 Download Direto: http://www.speedysha...9.10_r.6105.rar Tópico: http://tibiaking.com...serv-063-r6105/ Scan: http://www.virustota...a1de-1311305337 Avaliação: Em Breve 4Fun Server Download Direto: http://www.mediafire...eqdtfzcnyeikdag Tópico: http://tibiaking.com...10-4fun-server/ Scan: Não possui. Avaliação: Em Breve Deragon Server 4.0 Download Direto: http://www.fileserve..._4.0_-_OTBr.rar Tópico: http://tibiaking.com...agon-server-40/ Scan: http://www.virustota...c1e0-1313165395 Avaliação: Em Breve Deragon Server 3.0 Download Direto: http://www.megaupload.com/?d=1NH4VULR Tópico: http://tibiaking.com...agon-server-30/ Scan: http://www.virustota...1ed2-1316885141 Avaliação: Em Breve The Demonic Server 2.0 Download Direto: http://www.multiupload.com/ZY1YL0IC3B Tópico: http://tibiaking.com...onic-server-20/ Scan: http://www.virustota...8b9c-1314043684 Avaliação: Em Breve TFS - Mystic Spirit + WarSystem Download Direto: http://www.mediafire...90veeabwmyu0a3b Tópico: http://tibiaking.com...irit-warsystem/ Scan: http://www.virustota...1288-1317664470 Avaliação: Em Breve The Forgotten Server by Lokeras(9.10)+Global Full + Old Yourts editado Download Direto: http://www.sendspace.com/file/0c9f7s Tópico: http://tibiaking.com...yourts-editado/ Scan: http://www.virustota...7056-1315855286 Avaliação: Em Breve TFight Server Download Direto: http://www.4shared.c...tServer_91.html Tópico: http://tibiaking.com...-tfight-server/ Scan: http://www.virustota...90f1-1320984165 Avaliação: Em Breve Servidores 9.2X United Server 5.0 [R2R] (32&64 bits) Download Direto: http://www.megauploa...L5RFZE95(32BITS) http://www.megauploa...YC433KVF(64BITS) Tópico: http://tibiaking.com...-r2r-3264-bits/ Scan: Não possui. Avaliação: Em Breve The Forgotten Server v0.2.11pl2 (Mystic Spirit) - WarSystem + Extras Download Direto: http://otland.net/at...ic-spirit-r3.7z Tópico: http://tibiaking.com...rsystem-extras/ Scan: Não possui. Avaliação: Em Breve Servidores 9.42X The Crystal Server - 0.2 (Infinity Crystal) Download Direto: http://adf.ly/4Wp6g Tópico: http://tibiaking.com...finity-crystal/ Scan: Não possui. Avaliação: Em Breve Lista Autalizada: 11/01/20121 ponto -
[8.6] Map Tracker
[8.6] Map Tracker
Ragnar Lothbrook reagiu a itroxz por uma resposta no tópico
1 pontoI ae Galeras :] Vim aqui trazer um Map Tracker 8.6 \o/ mas nao e so alegria xD infelizmente ele esta em POLAKO =/ mas da para usar.. Download-Link Direto http://adf.ly/5g1lx Scan https://www.virustot...sis/1329869343/ Ss~ Se der erro instale http://www.microsoft...ails.aspx?id=21 Obs: Servidor Random para test do programa.. Se alguem conseguir Traduzir seria uma boa Se gostou Rep+ -Creditos Szybol1 ponto -
Roller Coaster "trem"
Roller Coaster "trem"
GuuhTorres reagiu a paulo thush por uma resposta no tópico
1 pontoBom hoje vou dar meu 2 tutorial mais vai ser o melhor bom vamos ao que intereça Bom va na pasta: data\actions\scripts copie (Qualquer arquivo .lua) e cole E renomei o arquivo que você colou para: tremsystem.lua Agora entre nessa pasta (tremsystem.lua) e coloque assim --Script by mock the bear --Config local SPEED = 1 local PLAYERSPEED = 250 --End local RAILS = {7121, 7122, 7123, 7124, 7125, 7126, 7127, 7128, 7129, 7130} --Thxy rails itemid by nord local CART = {[0] = 7132, [2] = 7132, [3] =7131, [1] =7131} local CONFIG = { [7121] = 0,[7122] = 0, [7123] = {EAST, SOUTH}, [7124] = {WEST, SOUTH}, [7125] = {EAST, NORTH}, [7126] = {WEST, NORTH}, [7127] = 0,[7128] = 0, [7129] = 0,[7130] = 0, --Random } local reverse = {[0] = 2, 3, 0, 1} -- All that table was made by nord. local function moveTrain(cid, frompos, direc) local tab if not isPlayer(cid) then return end local pos = getCreaturePosition(cid) local rar = findRail(pos) if not rar then doPlayerSetNoMove(cid, false) doRemoveCondition(cid, CONDITION_OUTFIT) doChangeSpeed(cid, -PLAYERSPEED) doMoveCreature(cid, direc) else tab = CONFIG[rar] if tab and type(tab) == 'table' then direc = tab[tab[1] == reverse[direc] and 2 or 1] -- by nord here end doSetItemOutfit(cid, CART[direc], -1) doMoveCreature(cid, direc) addEvent(moveTrain, SPEED, cid, pos,direc) end end function findRail(p) local p_ = {x=p.x, y=p.y, z=p.z} for i=0,10 do p_.stackpos = i local t = getTileThingByPos(p_) if isInArray(RAILS, t.itemid) then return t.itemid,t.uid end end end function onUse(cid, item, frompos) --Script by mock the bear if hasCondition(cid, CONDITION_OUTFIT) or (item.actionid < 500 and item.actionid > 503) then return false end doTeleportThing(cid, frompos, false) doPlayerSetNoMove(cid, true) doChangeSpeed(cid, PLAYERSPEED) addEvent(moveTrain, SPEED, cid, frompos, item.actionid-500) return true end e salve e feche. Legenda: Em Azul é a speed do carrinho no caso quanto menor o número maior é a velocidade E agora va em data\actions E abra a pasta actions.xml Abra a pasta e acrescente essa tag no final e pronto Quote <action itemid="7131" event="script" value="tremsystem.lua" /> <action itemid="7132" event="script" value="tremsystem.lua" /> Quote Legenda: Em Vermleho é o id dos carrinhos só estou avisando porque vcs podem colocar outras coisas né se eu te ajudei me de um REP+ e lembrese sempre que você for faser um trem sytem vc temque colocar um actionid no cart(TREM) tipo 503 é pro lado <<<(esquerdo) e 502 é \/ (para baixo) bom isso é so uma relação para vc. (Os action podem variar variar de 500 até 510 (Acho n me lembro bem ao serto mais se não é 510 é 509 o maximo) Créditos: 60% Mock por inventar o scripter 40% Para min paulo1 ponto -
[ Tutorial ] Fazendo DEPOSITER de ITEMS
[ Tutorial ] Fazendo DEPOSITER de ITEMS
NetinhoOoO reagiu a Lucas Pace por uma resposta no tópico
1 pontoOlá, nesse tutorial vou explicar como fazer um DEPOSITER DE ITEMS. Queria agradeçer o membro Guiizao por ter me ensinado. =D Vamos ao que interessa. Primeiramente você marca learn, e faz seu waypoint normalmente. Agora Clique com o botao direito do mouse, clicque em Add > Full Check. Abrirá essa janela: Fazendo o Code Bom, aonde ta escrito Code, você vai ter que colocar os dados ( se vai ir com cap, pot, etc. ) Bom, segue como fazer o code: Bom, explicando com minhas palavras, você tera que colocar + - Asism no code: Cap > ( Cap maior que ) Cap < ( Cap menor que ) 3031 ( Id do gold coin - Pode ser outro id, de outro item ) >= ( Maior ou igual que ) Health Potion < ( Menor que ) Ficando + - Assim: Cap > 100 ( Cap maior que 100 ) Health potion <= 10 ( Health potion menor ou igual a 10 ) Ou seja, vou colocar assim no code: Heath potion < 10 Desse jeito, o bot irá fazer somente, o que você colocar, quando você tiver 10 ou menos Health potion. Como Fazer o Deposit de Item Bom, agora que você colocou o CODE, você marque LEARN, e faça o caminho para a DP. Quando chegar no baú da dp, desmarque o LEARN, clique com o botao direito > Add > Depositer PRONTO! Agora o bot vai depositar TODOS os itens que esta no Loot do bot. Se eu colocar " Tarantula Egg ", no looter, na dp, ele vai depositar " Tarantula Egg ". Nao se esqueça de fazer o caminho de volta para a CAVE. Bom, quaquer duvida so postar abaixo. Créditos: Lucas Pace Tibia King1 ponto -
[TUTORIAL] Fazendo seu Potion Refiller
[TUTORIAL] Fazendo seu Potion Refiller
Jose Anderson reagiu a toty1234 por uma resposta no tópico
1 pontoBom galera, eu não vi ainda nenhum tutorial explicando isso aqui no forum, então resolvi fazer o meu ... Está bem simples mas axo qe está bom para entender Simples, faça seu waypoint, com no inicio uma label escrito start, E no final faça um Macro com o seguinte: 500 {Refill} Misc.ItemCountEx(266)>10 CaveBot.GoLabel(start)) Onde 10 é o tanto de pot para ele sair da cave e ir refillar, é 266 o ID da potion. ID | Name da Potion 7876 | Small Health Potion 266 | Health Potion 268 | Mana Potion 236 | Strong Health Potion 237 | Strong Mana Potion 239 | Great Health Potion 238 | Great Mana Potion 7642 | Great Spirit Potion 7643 | Ultimate Health Potion Agora ande até o bank, com o learn ativado, xegando la ADD um Hi, deposit all, yes, e crie um novo macro, com o seguinte: 1000 {Withdraw} VarSetEx(Total, NUMBEROFPOTS) VarSet(Potnow) Misc.ItemCountEx(IDITEMHERE) VarSub(Total, !Potnow!) VarMult(Total, PRICEEACHITEM) HUD.Display(!Total!) Self.Say(hi) Macro.Wait(2000) NPC.Say(withdraw) Macro.Wait(2000) NPC.Say(!Total!) Macro.Wait(2000) NPC.Say(yes)) Onde 'NUMBEROFPOTS' é o numero de potions qe voc quer qe ele fique no final; 'IDITEMHERE' é o ID da potion; 'PRICEEACHITEM' é o preço de cada potion. Agora, faça o caminho até a loja de potions, add um Hi/Trade, e coloque o seguinte macro la: 1000 {Pot Reffil} VarSetEx(Total, NUMBEROFPOTS) VarSet(Potnow) Misc.ItemCountEx(IDITEMHERE) VarSub(Total, !Potnow!) HUD.Display(!Total!) Self.Say(hi) Macro.Wait(2000) NPC.Say(trade) NPC.Buy(266, !Total!, 1) Macro.Wait(2000) NPC.Say(bye)) Onde 'NUMBEROFPOTS' é o numero de potions qe voc quer qe ele fique no final; 'IDITEMHERE' é o ID da potion. Agora faça o caminho de volta para a cave, salve seu waypoint e seja feliz. GOSTOU DO TUTORIAL ? Então de um REP+ ake em baixo NÃO GOSTOU DO TUTORIAL ? Então de um REP+ ake em baixo1 ponto -
[8.60] Megaevo Edit By Help3R
1 pontoo que há de novo: -Engine: *TFS 0.4.1 by Vardius 8.6 *monstros de 8.60 *Eu adicionei novos monstros, quests, áreas de caça, o comando *VIP SYSTEM -Mapa: *Mudei a aparência do depósito, o templo, casas, NPC. *Mapa pesa 19MB ~ *Eu adicionei um novo poucos quests *Eu adicionei cerca de 12 novos teleporters *tinha feito alguns lugares novos para caçar scan:http://virusscan.jot...cc8802ec9f6b145 baixar:http://www.4shared.c...By_Help3R_.html fotos: Nenhum Credito é meu, totalmente ao criator do mapa, Help3R e ao CALIM por postar no tibiaking.1 ponto
-
[Tutorial] Refill Spear 100% Funcional - Nivel Intermediário
Primeiramente, faça seu waypoint. Lembrando de adicionar uma label Start no inicio, e uma label chamada REFILL na hora de voltar para a cidade. ____________________________________________________________________________________ Bom, eu ja havia tido essa idéia, mas nunca tinha testado. Pois então, todos que entedemos o mínimo de programação, sabemos que no BBot, a verificação de pots, spears e qualquer outro tipo de munição utilizando o Misc.ItemCountEx, é feita, apenas para os itens que estiverem na BP. Então, depois de um tempo sofrendo com bugs, resolvi tentar uma coisa e deu certo! Seguinte, antes da sua FullCheck ou da Sua Macro de verificação, adicione esta macro: Em seguida, adicione uma Macro no seu waypoint, como eu não uso FullCheck, utilizo Macro, ficaria desta forma: Explicação da Macro: Em seguida, adicione mais 2 macros LEMBRE DE ADICIONAR TAMBÉM LOGO APÓS O PRIMEIRO POINT DA LABEL REFILL, CASO NÃO SEJA FEITO, SEU CHAR FICARÁ COM AS SPEARS NA BP, POR ISSO DEVE SER ADICIONADO 2X ESSAS MACROS: Macro (X Y Z:Macro.Wait(2000) 1000 {Equipar Spears by Guiizao} Self.Equip.LeftHand(IDdaSPEAR) Macro.Wait(1200) Após isso, faça o caminho da label Refill. Caminhe para a cidade e a ordem das coisas deverá ser assim: 1 - Sell items caso você utilize 2 - Depositer no Bank 3 - Refill de Pot caso você utilize 4 - Depositer no dp caso você utilize 5 - Retirar Dinheiro no bank para spears 6 - Seguir até o NPC para comprar suas spears Explicação da Macro: F.A.Q Bom é isso galera, espero que tenham gostado do tutorial. É meio complicado, mas vale a pena o esforço. Afinal, Paladin é uma classe bem cobiçada e bem querida por todos. Só a falta de scripts que desmotiva a upar um. Eu upei um na mão pro 80 e usei o TibiaAuto e tomei delete. Apartir daí, resolvi me esforçar. ____________________________________________________________________________________ Créditos: Guiizão & darthluiz Agradecimentos: Al4sk1m (Fiz as macros, baseadas no refill de pot dele). Caso eu tenha ajudado, dê um REP+ não custa nada! Bom, feito isso, depositado seus itens, pego seus pots, você saberá a quantidade exata que você suporta carregar. Vamos dizer que sempre após você fazer tudo, você fique com 200 de cap. Se você utiliza a spear comum, você consegue carregar mais 10 além das que você ja tem, ou somente 10 se você não tiver nenhuma. Bom, vamos lá. Quando você fizer o caminho de volta para o bank para retirar seu dinheiro, adicione essa Macro ao chegar la. Lembre de adicionar um Fixed para seu char não andar enquanto estiver dando withdraw Explicação da Macro: Agora faça o caminho até o NPC de compra, e adicione a seguinte Macro: Lembre de adicionar um Fixed para seu char não andar enquanto estiver dando withdraw Macro (33130 32813 5:1000 {compra_spear} VarSetEx(Total, 20) VarSet(spear) Misc.ItemCountEx(3277) VarSub(Total, !spear!, 1) HUD.Display(!Total!) NPC.buy(3277, !Total!) NPC.Say(bye))1 ponto
-
[CreatureEvent] Mensagem de Boas-Vindas
[CreatureEvent] Mensagem de Boas-Vindas
glacialot reagiu a Skydangerous por uma resposta no tópico
1 pontoEsse script é bem útil nos servidores, para divulgações e notícias. Crie um arquivo com na pasta creaturescripts/scripts com nome de msg.lua,e em seguida cole o script abaixo. function onLogin(cid) if getPlayerStorageValue(cid, 50000) == -1 then doPlayerSendTextMessage(cid, 22, "Bem-Vindo"..getPlayerName(cid).." acesse www.tibiaking.com e cadastra-se") setPlayerStorageValue(cid, 50000, 1) end return TRUE end em creaturescripts.xml coloque essa tag <event type="login" name="Mensagem" script="msg.lua"> Editando o Script doPlayerSendTextMessage(cid, 22, "Bem-Vindo"..getPlayerName(cid).." acesse www.tibiaking.com e cadastra-se") Aqui você coloca a mensagem que o player receberá quando logar pela primeira vez no seu servidor.</event>1 ponto -
[DIABLOZONE-SERVER] DIABLO II & DIABLO II LOD
[DIABLOZONE-SERVER] DIABLO II & DIABLO II LOD
vmf91 reagiu a Gabriel Dias por uma resposta no tópico
1 pontoPessoal, Estou montando um servidor de Diablo II & Diablo II LOD, já que as minhas tentativas com os servidores de Tibia não deram muito certo. Para falar a verdade o servidor já está pronto, somente seu site que está em desenvolvimento. Abaixo estou passando os dados para se conectar ao servidor. Lembrando que o servidor ainda está em fase de testes, assim que eu acabar o site vou e divulgar o servidor e vou resetar o ladder. Porém vou distribuir prêmios na próxima ladder aos usuários que jogam desde o início do servidor. Site : http://www.diablozone.com.br => w w w . d i a b l o z o n e . c o m . b r < = Como se conectar ao servidor: 1-Baixe o battle.net gateawy editor(em anexo); 2-Adicione um novo gateway de Diablo II ou Diablo II LOD; 3-Preencha os dados do gateway com as informações abaixo. Nome: DiabloZone IP: diablozone.no-ip.org TimeZone: -3 Instalando o jogo: 1-Será necessário instalar o Daemon Tools ou algum programa do gênero; 2-Após instalar o Daemon Tools carregue nele a imagem "install disc", você necessitara informar um Serial Number, o mesmo se encontra junto do download abaixo; 3-Após instalar o Diablo II instale a expansão, o procedimento é igual; 4-Execute o patch 1.13c e crie o gateway do DiabloZone para jogar na battle.net; 5-Não se esqueçam, boa diversão. Obs.: Para você que não possue o jogo, estou deixando o link para o download do mesmo através de torrent, após baixar este jogo basta apenas efetuar o download do ultimo patch que é o 1.13(em anexo). Link Torrent: http://btjunkie.org/...9c2abf5bf837740 Necessito de membros para a equipe do DiabloZone, os membros não necessitam muito conhecimento apenas vontade de aprender. Pois cuidarão apenas de eventos e outros acontecimentos dentro do servidor. Estou deixando algumas informações para contato. E-mail: [email protected] MSN: [email protected] Abraços. BNGatewayEditor.zip LODPatch_113c.rar1 ponto -
[PEDIDO/DUVIDA] ModernACC website
Você quer um tutorial explicando a instalação do ModernAAC ? Se não for seja mais especifico, caso seja isso, faltou vontade na busca hein haha, segue o link abaixo:1 ponto
-
Duvida + Check e Refill Com Macro
Adiciona uma Label chamada Refill E cria o FullCheck desta forma (Pode ser adicionado em mais de um local, porém explicarei como no final): Cap<100; 237<30; 7378<12 Feito isso, você deve criar um caminho de volta na nova label, a label Reflll Sendo que ela tem que ser acessível no point que você está. Ou seja, se você estiver muito longe do primeiro point da label Refill, o bot não fará com que o char volte para a cidade, e você irá ficar parado naquele Point pra sempre. Resumindo: Só adicione a Check em um local que seja acessível ao primeiro point da label Refill _________________________________________________________________________ PS: Caso não queira usar fullcheck, e sim uma macro, faça dessa forma: 500 {Refill} Self.Capacity>100 CaveBot.GoLabel(start)) Macro.Wait(1000) 500 {Refill} Misc.ItemCountEx(237)>30 CaveBot.GoLabel(start)) Macro.Wait(1000) 500 {Refill} Misc.ItemCountEx(7378)>12 CaveBot.GoLabel(start)) Adicione Macro por Macro Valeu abraço.1 ponto
-
(Resolvido) [Pedido] getMonsterExperience
Olha, eu to sem nenhum server aqui pra poder testar, e não sei como retorna a função getMonsterInfo(name) Então eu fiz aqui mas sem certeza que vá funcionar, e se você tiver algum conhecimento, voce mesmo pode verificar o que ela retorna e alterar o código. ai vai function getMonsterExperience(name) if getCreatureByName(name) then exprate = getPlayerExperience(cid) monsterexp = getMonsterInfo(name).experience exp = exprate*monsterexp return exp else return false end end [/code] [b]EDIT[/b] cabei de ver, a parte do getMonsterInfo tá certinho, mas lembrando que não testei, se der erro mande o erro aqui [b]EDIT2[/b] aqui é via target, não tinha lido direito seu pedido [code] function getMonsterExperience(target) if getCreatureTarget(cid) then name = getCreatureName(getCreatureTarget(cid)) exprate = getPlayerExperience(cid) monster = getMonsterInfo(name) exp = exprate*monster.experience return exp else return false end end1 ponto
-
Minhas primeiras sprites
Minhas primeiras sprites
3visan reagiu a GuuhTorres por uma resposta no tópico
1 pontoGaleria de Sprites Olá pessoal do TibiaKing, até ontem eu não sabia nada sobre como ser um spriter, e hoje comecei a praticar, bom vou mostrar meus primeiros trabalhos, lembrando que precisei de muito tutorial pra fazer isso, critiquem, elogiem mas não zombem de mim, pega leve. 1º Sprite, foi inspirado nessa aqui : , do Renato. 2º Sprite, foi inspirado nessa aqui : , do Luaanzin 3º Sprite, foi inspirado nessa aqui : não encontrei a outra, mais é do galatian, quando encontrar eu posto! Bom ai está, mais prometo que vou desenvolver minha habilidade e fazer algo útil, postar mais... kkk'1 ponto -
[CreatureEvent] Mensagem de Boas-Vindas
Muito bom ! Olha umas sugestões : doPlayerPopupFYI(cid, ""..getPlayerName(cid).." bem vindo ao TK server!\n Se voce estiver a procura de um treinador fale com Bhiter, um grande treinador de Nolmer, localizando-se no sudeste da cidade.\nO item pick nesse server é extremamente necessário.\n O mapa marcado é aonde se encontra Rotworm.\n Dúvidas ?\n Pergunte no Help!\n Bom jogo!") Essa mensagem aquele aquela janelinha preta... é muito bom para por informações... Lembrando que esse "\n" significa paragrafo ! Outra dica : É mais facil por no arquivo First Items, por ai você não precisa criar outros arquivos. Muito bom Skydangerous ! REP + Att. Huziwara no Mokou1 ponto
-
(Resolvido)[Pedido] hp e mana inicial
(Resolvido)[Pedido] hp e mana inicial
1215171 reagiu a Adriano SwaTT por uma resposta no tópico
1 pontoQue bom que te ajudou...e muito Obrigado pelo REP+ . Enfim, não use o tópico de outra pessoa e outro assunto para chamar para seu tópico... Quando for assim, chame por MP. Questão de ética... No entanto, já respondi seu tópico também' Mals não saber mais nada sobre. Abraços e Boa sorte'1 ponto -
[Resolvido] [Pedido] Pescar Mob LvL 20k
Bem, é facil configurar, vou lhe ensinar ! Bote isso no seu fishing.lua (deve estár em tool na pasta dos actions) : local config = { waters = {4614, 4615, 4616, 4617, 4618, 4619, 4620, 4621, 4622, 4623, 4624, 4625, 4665, 4666, 4820, 4821, 4822, 4823, 4824, 4825}, fishable = {4608, 4609, 4610, 4611, 4612, 4613, 7236}, spawning = {4614, 4615, 4616, 4617, 4618, 4619}, holes = {7236}, corpses = { -- [corpse] = {[aid] = { {itemid, countmax, chance} }} [10499] = { [101] = { {2226, 1, 16000}, --fish bone {2238, 1, 15000}, --leather boots {2148, 1, 15000}, --gold coin {2376, 1, 14000}, --sword {2152, 1, 13000}, --platinum {7589, 1, 13000}, --strong mana potion {7588, 1, 13000}, --strong health potion {2168, 1, 11500}, --life ring {2167, 1, 15000}, --energy ring {9810, 1, 9500}, --rusty armor {9813, 1, 9500}, --rusty legs {7632, 1, 8600}, --giant shimmering pearl {7633, 1, 8600}, --giant shimmering pearl {7158, 1, 3100}, --rainbow trout {7159, 1, 3100}, --green perch {2146, 1, 11500}, --small sapphire {2149, 2, 11500}, --small emerald {10220, 1, 1500} --leviathan's amulet }, [102] = { {2226, 1, 16000}, --fish bone {2238, 1, 15000}, --leather boots {2148, 1, 15000}, --gold coin {2376, 1, 14000}, --sword {2152, 1, 14000}, --platinum {7589, 1, 14000}, --strong mana potion {7588, 1, 14000}, --strong health potion {2168, 1, 15500}, --life ring {2167, 1, 16000}, --energy ring {9810, 1, 11500}, --rusty armor {9813, 1, 11500}, --rusty legs {7632, 1, 9600}, --giant shimmering pearl {7633, 1, 9600}, --giant shimmering pearl {7158, 1, 5100}, --rainbow trout {7159, 1, 5100}, --green perch {2146, 1, 13500}, --small sapphire {2149, 2, 13500}, --small emerald {10220, 1, 2500} --leviathan's amulet } } }, checkCorpseOwner = getConfigValue("checkCorpseOwner"), rateLoot = getConfigValue("rateLoot"), summons = { -- {skill, name, chance, bossName, bossChance} }, rateSpawn = getConfigValue("rateSpawn"), baitFailRemoveChance = 10, allowFromPz = false, useBait = true, baitCount = 1, fishes = 1 } config.checkCorpseOwner = getBooleanFromString(config.checkCorpseOwner) function onUse(cid, item, fromPosition, itemEx, toPosition) if(isInArray(config.waters, itemEx.itemid)) then if(isInArray(config.spawning, itemEx.itemid)) then doPlayerSendDefaultCancel(cid, RETURNVALUE_NOTPOSSIBLE) end doSendMagicEffect(toPosition, CONST_ME_LOSEENERGY) return true end local corpse = config.corpses[itemEx.itemid] if(corpse ~= nil and corpse ~= 0) then corpse = corpse[itemEx.actionid] if(corpse ~= nil and corpse ~= 0) then if(config.checkCorpseOwner and not getPlayerCustomFlagValue(cid, PLAYERCUSTOMFLAG_GAMEMASTERPRIVILEGES)) then local owner = getItemAttribute(itemEx.uid, "corpseowner") if(owner ~= 0 and owner ~= nil and owner ~= getPlayerGUID(cid)) then doPlayerSendDefaultCancel(cid, RETURNVALUE_YOUARENOTTHEOWNER) return true end end local chance, items, default, max = math.random(0, 100000) / config.rateLoot, {}, {}, 0 for _, data in ipairs(corpse) do if(data[3] >= chance) then local tmp = {data[1], math.random(1, data[2])} table.insert(items, tmp) end if(data[3] > max) then default = data max = data[3] end end local itemCount = table.maxn(items) if(itemCount > 0) then local loot = items[math.random(1, itemCount)] doPlayerAddItem(cid, loot[1], loot[2]) else doPlayerAddItem(cid, default[1], default[2]) end doTransformItem(itemEx.uid, getItemInfo(itemEx.itemid).decayTo) doSendMagicEffect(toPosition, CONST_ME_WATERSPLASH) doDecayItem(itemEx.uid) return true end end if(not isInArray(config.fishable, itemEx.itemid)) then return false end local position, formula, tries = getThingPosition(cid), getPlayerSkill(cid, SKILL_FISHING) / 200 + 0.85 * math.random(), 0 config.allowFromPz = config.allowFromPz or not getTileInfo(position).protection if(item.itemid ~= ITEM_MECHANICAL_FISHING_ROD) then if(config.allowFromPz and (not config.useBait or getPlayerItemCount(cid, ITEM_WORM) >= config.baitCount)) then tries = 1 if(isInArray(config.holes, itemEx.itemid)) then if(doPlayerRemoveItem(cid, ITEM_WORM, config.baitCount)) then tries = 2 if(formula > 0.83) then doPlayerAddItem(cid, ITEM_RAINBOW_TROUT, config.fishes) elseif(formula > 0.7) then doPlayerAddItem(cid, ITEM_NORTHERN_PIKE, config.fishes) elseif(formula > 0.5) then doPlayerAddItem(cid, ITEM_GREEN_PERCH, config.fishes) else doPlayerAddItem(cid, ITEM_FISH, config.fishes) end end elseif(formula > 0.7 and doPlayerRemoveItem(cid, ITEM_WORM, config.baitCount)) then tries = 2 if(table.maxn(config.summons) > 0 and getDistanceBetween(position, toPosition) < 2) then local skill, summon = getPlayerLevel(cid), {name = "", chance = 0, bossName = "", bossChance = 0} for _, data in pairs(config.summons) do if(skill >= data[1] and getPlayerSkill(cid, SKILL_FISHING) >= 130) then summon.name = data[2] summon.chance = data[3] summon.bossName = data[4] summon.bossChance = data[5] end end local random = math.random(1, 100000) / config.rateSpawn if(summon.bossName ~= "" and summon.bossChance >= random) then doCreateMonster(summon.bossName, position) tries = 4 elseif(summon.name ~= "" and summon.chance >= random) then doCreateMonster(summon.name, position) tries = 3 else doPlayerAddItem(cid, ITEM_FISH, config.fishes) end else doPlayerAddItem(cid, ITEM_FISH, config.fishes) end end end elseif(config.allowFromPz and (not config.useBait or getPlayerItemCount(cid, ITEM_NAIL) >= config.baitCount)) then if(formula > 0.7 and doPlayerRemoveItem(cid, ITEM_NAIL, config.baitCount)) then doPlayerAddItem(cid, ITEM_MECHANICAL_FISH, config.fishes) tries = 2 else tries = 1 end end if(tries > 1) then doPlayerAddSkillTry(cid, SKILL_FISHING, tries) if(not isInArray(config.holes, itemEx.itemid)) then doTransformItem(itemEx.uid, itemEx.itemid + 6) else doTransformItem(itemEx.uid, itemEx.itemid + 1) end doDecayItem(itemEx.uid) elseif(tries > 0) then doPlayerAddSkillTry(cid, SKILL_FISHING, 1) if(config.baitFailRemoveChance >= math.random(1, 100)) then if(item.itemid == ITEM_MECHANICAL_FISHING_ROD) then doPlayerRemoveItem(cid, ITEM_NAIL, config.baitCount) else doPlayerRemoveItem(cid, ITEM_FISH, config.baitCount) end end end doSendMagicEffect(toPosition, CONST_ME_LOSEENERGY) return true end Aonde estiver isso : -- {skill, name, chance, bossName, bossChance} Só modificar, exemplo : {85, demon, 50, orshabaal, 10} Vou ler isso : Quando o player estiver skill 85, ele vai pescar demon com 50% de chance, e ainda podendo pescar Orshabaal com 10% de chance... Caso você queira adicionar duas barras dessas você precisa fazer isso : summons = { -- {skill, name, chance, bossName, bossChance}, -- {skill, name, chance, bossName, bossChance} }, Preste muita atenção na virgula que está ali em cima, a ultima tag não pode por virgula só nas demais ! Espero ter ajudado ! @edit Agora só pescar se o player for level 20000 ou +, e skill + de 130 ! Att. Huziwara no Mokou1 ponto
-
[New] Monstros Com Pk Red Ou Black Ou Yellow !
Obrigado Por Reelembrar Os Emblem ! :]1 ponto
-
Onde caçar ED level 52...
Onde caçar ED level 52...
Lucas Pace reagiu a Erckdyn por uma resposta no tópico
1 pontoLucas Pace, um ótimo lugar para Mages do level 40 ao 80é Earth Elementals.. No caso temos a cave de Earth de Edron... e script tem o de um amigo aqui do TK ainda não testei, mas dá uma olhada, pode com certeza te ser útil pois da uma grana boa, pra player 50+ deve dar um bom lucro tbm... Abraz http://tibiaking.com/forum/topic/10408-edron-earth-elemental/1 ponto -
[BBot] Resolvendo o problema do boot pular loot !
A macro é por monstro, como disse o Mega. E sobre pausar o Targeting, Lucas Pace, para fazer o que você quer, eu faria a macro de outra forma. 1000 {loot} Cavebot.Stop Killer.Stop Macro.Wait(1300) Cavebot.Start Killer.Start Eu vi que as vezes ao ligar o target em outro mob, ele continua perdendo o loot. Então eu faria a macro dessa forma, para que após abrir o loot ele pause o target. Ficaria no caso 1,3segundos sem dar target em outro mob. Tempo suficiente pra você catar seu loot se sua net tiver normal. Bom é isso, reputei o autor do Tópico, deu pra ajudar. Se der, altera o código lá de cima pra esse que postei que ta testado 100%1 ponto
-
Anti-Alising (AA)
1 pontoAnti-Aliasing Quando trabalhamos com pixels percebemos que as bordas dos desenhos costumam aparentar muito o fato de que os pixels são de fato quadrados. O problema de muitos desenvolvedores gráficos no começo do pixel art, foi justamente no momento em que precisavam desenhar elementos que não seguissem o padrão quadrado dos pixels, como por exemplo Círculos, Esferas, e bordas redondas. Para muitos, a solução desse problema surgiu com a criação da técnica de ANTI-ALIASING - ou simplesmente - AA. O AA foi um grande avanço no desenho de formas esféricas ou outras que precisassem passar a idéia de uma superfície lisa, sem irregularidades. Mas como isto é possível se todo sistema televisual utiliza PIXELS para formar gráficos? A resposta é simples: O AA utiliza pixels que misturam as linhas com o plano de fundo em que elas estão. Quando isto é feito, nossos olhos não conseguem distinguir as irregularidades dos pixels. Em primeiro lugar devido ao tamanho dos pixels e segundo lugar devido a uma boa suavização de bordas. Vejam no exemplo: Na esquerda da imagem, vemos o circulo formado de vários pixels pretos. Suas bordas estão "cruas" e sem AA. Assim, mesmo no aumento menor é possível perceber as falhas de suas bordas redondas. Na direita da imagem vemos o mesmo circulo após a aplicação da técnica de Anti-Aliasing. E agora, no aumento menor, não se pode mais ver as falhas das bordas. COMO FAZER O ANTI-ALIASING? O Anti aliasing é simples apesar de não parecer. Tudo se baseia em 3 passos: 1 - Observar primeiro o desenho que se quer suavizar. 2 - Observar o fundo no qual este desenho está inserido. 3 - Adicionar cores que simbolizam a mistura das cores do desenho, com o seu fundo. No exemplo acima (dos circulos) tinhamos um circulo PRETO, num fundo BRANCO, então apenas adicionamos tons de CINZA (PRETO + BRANCO) para sua visar a borda. Vejamos melhor como isso se dá no exemplo abaixo: Seguindo os passos do Anti-Aliasing, temos: 1 - Linha amarela (Desenho que quero suavizar) 2 - Fundos Vermelho e Azul (Fundos nos quais o desenho que quero suavizar - linha amarela - está inserido) 3 - Adicionar cores que simbolizam a mistura das cores do desenho com o fundo: Linha Amarela + Fundo Vermelho = Anti aliasing LARANJA Linha Amarela + Fundo Azul = Anti Aliasing VERDE Créditos: 100% Galiant (André do Perspective45)1 ponto
-
[Tutorial] Gold Depositer (Usando Macro)
[Tutorial] Gold Depositer (Usando Macro)
fvdss18 reagiu a EdsonJunior por uma resposta no tópico
1 pontoBBot Gold Depositer Tutorial Esse tutorial ensinará os principais passos ao fazer um cavebot com gold depositer usando o BBot. 1. Adicionar label start Antes de começar o waypoint, adicione o label start no local do primeiro point. Clique com o botão direito do mouse na janela do cavebot, vá em Codecs/Labels e depois em Label. Insira o nome start 2. Fazer o seu waypoint na cave Apenas ligue o Learn do Cavebot e ande pela cave que seus passos serão adicionados automaticamente. 3. Verificando cap Ao final do waypoint da cave, você adicionará um Macro ao seu waypoint para verificar sua cap. Clique com o botão direito do mouse na janela do cavebot, vá em Codecs/Labels e depois em Macro. Insira o seguinte code: 500 {CapCheck} Self.Capacity>XX CaveBot.GoLabel(start) Esse code irá verificar se sua cap é maior que XX. Caso seja, ele voltará para o primeiro waypoint, no caso, label start, e começará a caçar novamente; caso seja menor irá para o proximo point que iniciará o deposit. 4. Iniciando o depositer Com o Learn ativo, caminhe em direção ao banco. Não se preocupe com buracos ou escadas pois o point será adicionado automaticamente. 5. Map Tools 5.1 Cortando jungle grass no caminho As vezes, no caminho para o banco ou cave, existe um maldito mato que bloqueia o caminho. Mas, não se preocupe. Com a função Map Tool do cavebot é fácil usar o machete e cortar o mato infernal. Clique com o botão direito do mouse na janela do cavebot, vá em Add e depois em Map Tool. Target ID é o ID do mato alto (não cortado). Use ID é o ID do item que vai usar no mato, no caso, machete. TargetX, TargetY e TargetZ é a posição exata do mato. 5.2 Abrindo portas Para abrir portas não há misterios. Apenas adicione um Map Tool proximo a porta com as seguintes informações. Target ID é o ID da porta fechada. Use ID é o ID da chave. Se a porta não necessita chave, insira o valor 0. TargetX, TargetY e TargetZ é a posição exata da porta. #Obs. 5.1 e 5.2 caso ele não encontre o Target ID no local, ele simplesmente ignora. Isso funciona para caso a porta já esteja aberta ou o mato já esteja cortado. 6. Falando com o NPC Ao chegar no banco, é hora de falar com banqueiro. No BBot é bem simples e não precisa de codes de várias linhas. Apenas clique com o botão direito do mouse na janela do cavebot, vá em Message e depois em Hi/Deposit All/Yes que adicionará a fala automaticamente. 7. Voltar a caçar Após depositar o seu gold no banco, é hora de voltar a caçar. Apenas caminhe de volta até a cave com o Learn ativo. Não esqueça de repetir os passos 5.1 e/ou 5.2 no caminho de volta. Versão 1.0 Por: KOTS1 ponto -
Tutorial] Comprando e vendendo itens.
Tutorial] Comprando e vendendo itens.
bisquilao reagiu a Gabriel10101 por uma resposta no tópico
1 pontoOpa,fala pessoal do tibiaking,hoje quero compartilhar um tutorial que eu fiz,de como vender e comprar no Redbot. Esse tutorial está no fórum oficial também. 1- Faça sua Hunt,e no final dela a verificação que você quiser(no meu caso com royal spears,mas se quiser fazer para Pots também da certo.): Para adicionar essa verificação você deve mecher na opção Hunt IF,ali você escolhe o item que ele ira verificar e quantidade (se ele estiver com isso ou menos ele ira voltar). (Tem as opções de MP,HP,SMP,Royal spear,spear e outras.) 2- Agora se ele tiver x item com a x quantidade(ou menos) que você colocou ele ira para a cidade,então faça o caminho de volta para a cidade. 3- Após ter feito a saída dele da Hunt e ir para a cidade,faça um caminho para ele ir ate loja que você quer. ( Eu vou levar a minha ate o npc que vende royal spear.) 4- Chegando ate o npc vamos criar um diálogo com ele,começando pelo Hi. obs: No Hi use default para que ele mande no local chat caso esteja em outro chat. 5- Agora vamos criar um trade com ele.Mude para chat NPC e coloque Trade. 6- Depois de ter colocado o say de trade,só adicionamos um action para comprar o item,se você quiser colocar um para vender também,mas coloque antes do buy,para dar mais cap e um din din antes de ele comprar. (eu vou colocar para ele vender e comprar). Obs: No meu caso o npc que eu compro royal spear,nele da para vender os itens também,mas se você estiver fazendo para pots,faça um caminho ate a loja de vender os itens desejados. * Fazendo um action para vender é simples,apenas coloque o id do item que você quer para vender no espaço vazio,se você quiser vender mais de 1 item,por exemplo 1 halberd 1 crossbow adicione cada um por vez. * Agora vamos fazer para ele comprar os itens,na opção Buy tem 2 espaços vazios,no primeiro é o ID do item que você quer comprar e no 2 a quantidade. *Se você quiser depois de ele comprar e vender itens ir ate o banco depositar o dinheiro que sobrou,basta apenas dar uma olhada nesse link: http://forums.tibiaredbot.com.br/showthread.php?tid=43 Espero ter ajudo,qualquer dúvida não exite em perguntar. Abraços.1 ponto -
Como fazer o seu PotionRefiller
Como fazer o seu PotionRefiller
Anny Carolinne reagiu a toty1234 por uma resposta no tópico
1 pontoAqui está um tutorial de como fazer o seu refiller para o Redbot. Fiz este turial la no forum oficial do RedBot, e resolvi passa-lo para ca, para ajudar a galara do TibiaKing.com Bom, Vamos ao que Intereça, né Para fazer o Reffiler voc vai fazer o seguinte, após acabar o waypoint, Clique no HuntIf, e coloque, MP/HP de acordo com a pot que voc for usar, e do lado coloque o Valor: No exemplo quero que o bot saia da cave com 20 ou menos Mana Potions. Entao voc faz o waypoint até a loja de potion, e selecione em Say, Default, hi. Como no exemplo: E agora coloque em Say de novo, mas agora, NPC, trade. Como no exemplo: E coloca o ID da potion no local do Buy, e então do lado a quantidade que voc quer qe fique no final, as potions, o TOTAL. No exemplo quero que ele comple até completar 50 Mana Potions(ID: 268) E Então faça o Wpt de volta para a cave, e só savlvar o seu waypoint, e colocar para rodar... Obs: Não esqueça de deixar a sua Backpack onde estão as potions, aberta.(ela não pode ficar minimizada como as outras, se não me engano...) Espero ter ajudado, Se gostaram me deem um REP+1 ponto -
[Source C++] Magic Level Treiner
[Source C++] Magic Level Treiner
Vitor Munhol reagiu a Guilherme. por uma resposta no tópico
1 ponto# Descrição: Esse programa treina seu Magic Level no Tibia sem o risco de ser banido, ou seja, totalmente seguro. # Source: #include <windows.h> #include <winsock.h> #include <stdio.h> #include <conio.h> #include <ctype.h> namespace __Send { class Load { public: Load() { } ~Load() { } int LoadNumber(int Number) { return Number; } }; class Bot : public Load { public: Bot() { } ~Bot() { } int PauseConsole(int Time, __Send::Load *Function) { Sleep(Function->LoadNumber(Time)); } }; }; __Send::Bot Command; char Password[BUFSIZ], LoadPassword[] = "042357684", User[MAX_PATH], Buffer1[MAX_PATH], Buffer2[MAX_PATH]; int Count, Size; BOOL Tibia = FALSE, Enabled = FALSE, Actived = FALSE; DWORD uSize = 1000; WSADATA Data; int main() { SetConsoleTitle("Senha de Desbloqueamento"); textbackground(YELLOW); clrscr(); textcolor(GREEN); printf("\n Digite a senha de desbloqueamento: "); fflush(stdout); for (int sizeCharacter = 0; sizeCharacter < strlen(LoadPassword); sizeCharacter++) { LoadPassword[sizeCharacter] = LoadPassword[sizeCharacter] ^ 1; } while ((Count = getch()) != EOF && Count != '\n' && Count != '\r' && sizeof(Password) != -1) { if (GetAsyncKeyState(VK_BACK) && Size > 0) { printf("\b \b"); fflush(stdout); Size--; Password[Size] = '\0'; } if (isalnum(Count) && Size >= 0) { putchar('*'); Password[Size++] = (char) Count; } } Password[Size] = '\0'; printf("."); Command.PauseConsole(4000, 0); clrscr(); if (!strcmp(Password, LoadPassword)) { GetUserName(User, &uSize); CharToOem(User, Buffer1); wsprintf(Buffer2, "Bot de Tibia (Executado em: \"%s\")", Buffer1); SetConsoleTitle(Buffer2); if (FindWindow("TibiaClient", NULL) && Tibia == FALSE) { SetWindowText(FindWindow("TibiaClient", NULL), "Tibia [Bot - Estado: Ativado]"); FlashWindow(FindWindow("TibiaClient", NULL), 0); clrscr(); Tibia = TRUE; Enabled = TRUE; Actived = TRUE; printf("\n O Bot est ativado."); } else if (Tibia == FALSE) { clrscr(); printf("\n Erro: Tibia nÆo est aberto."); getch(); return -1; } else { clrscr(); printf("\n O programa foi editado por alguma pessoa."); getch(); return -1; } while (true) { if (FindWindow("TibiaClient", NULL) && Tibia == TRUE) { if (GetAsyncKeyState(VK_NUMPAD1) && Enabled == FALSE) { Enabled = TRUE; keybd_event(VK_BACK, 0, 0, 0); clrscr(); SetWindowText(FindWindow("TibiaClient", NULL), "Tibia [Bot - Estado: Ativado]"); printf("\n O Bot est ativado."); } if (GetAsyncKeyState(VK_NUMPAD2) && Enabled == TRUE) { Enabled = FALSE; keybd_event(VK_BACK, 0, 0, 0); clrscr(); SetWindowText(FindWindow("TibiaClient", NULL), "Tibia [Bot - Estado: Desativado]"); printf("\n O Bot est desativado."); } if (GetAsyncKeyState(VK_NUMPAD3) && Actived == TRUE) { keybd_event(VK_BACK, 0, 0, 0); WSACleanup(); if (WSAStartup(MAKEWORD(1, 1), &Data) == SOCKET_ERROR) { clrscr(); printf("\n NÆo foi possivel executar o comando: \"WSAStartup()\"."); getch(); return -1; } else { wsprintf(Buffer1, "Seu Ip Address é: %s.", inet_ntoa(* (in_addr *) * gethostbyname(ADDR_ANY)->h_addr_list)); MessageBox(0, Buffer1, "Ip Address", MB_OK|MB_ICONINFORMATION); } } if (Enabled == TRUE) { PostMessage(FindWindow("TibiaClient", NULL), WM_KEYDOWN, VK_F8, 0); Command.PauseConsole(1000, 0); PostMessage(FindWindow("TibiaClient", NULL), WM_KEYDOWN, VK_F9, 0); } } else if (Tibia == TRUE) { Tibia = FALSE; clrscr(); printf("\n Erro: Tibia foi fechado."); getch(); return -1; } } } else { printf("\n A senha: \"%s\" est errada.", Password); getch(); } } Abra o programa. Coloque a senha. Entre no seu character. Troque as hotckeys: F8 para food e F9 para a magia. Aperte a tecla número: 1 para ativar o BOT. Tecla número 1: ativa o BOT. Tecla número 2: desativa o BOT. Tecla número 3: mostra seu Ip Address. # Observação: Você deve incluir as libs: -lconio e -lwsock32. A senha do programa é: 153246795. PS: Não encontrei essas libs, se alguem tiver, é só compilar, ja disponibilizei a source. # Créditos: Joao pela source, Guilherme. pelo tópico.1 ponto -
Minhas primeiras sprites
Minhas primeiras sprites
3visan reagiu a GuuhTorres por uma resposta no tópico
-1 pontosMuito obrigado a todos pelas dicas e elogios...-1 pontos