Líderes
-
-
-
-
Adriano SwaTT
MembroPontos1645Total de itens
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 08/12/14 em todas áreas
-
TibiaKing ou PokeKing?
TibiaKing ou PokeKing?
RenanPhellip e um outro reagiu a dezon por uma resposta no tópico
2 pontosInfelizmente hoje eu venho falar de algo que tem me deixado triste! Todos sabem que eu sou um membro antigo aqui no fórum e sabem que eu sempre tentei fazer a minha parte trazendo conteúdos com o que eu sei fazer que é programação em websites php e aplicativos em c#. O problema que de um bom tempo pra cá, depois que um fórum por aí faliu, o nosso fórum virou mais algo destinado aos poketibia da vida, um tipo de servidor de tibia que eu não jogo e não gosto, mas não é porque eu não gosto que eu deixei de frequentar o fórum não, até porque não sou um "racista" com quem gosta e joga, afinal cada um tem o seu gosto, mas infelizmente a turma que atualizava OT's (de tibia é claro), começaram a diminuir seus conteúdos e a turma dos pokemon da vida, começaram a dominar. Eu fiquei triste com isso porque como não é a minha praia, eu me vi sem conteúdo para participar, alguma coisa ou outra eu acesso, leio, participo, discuto, ajudo e etc, mas a maioria é de pokemon então, eu nem entro. Pelo amor de Deus, quem estiver lendo isso, jamais irei reclamar do Tibia King, pelo contrário, eu seria um belo de um filho de uma p... de um ingrato se eu fizesse isso, só estou expondo um pensamento que eu acredito que não seja só eu. Como eu já falei, para fazer um OT bem feito, precisa de uma equipe com muita força de vontade e com conhecimento, agora para fazer esses poketibia da vida, pelos que eu vi, a grande maioria é um copia e cola, código mal estruturado, é uma mistura de sprite de tibia com pokemon sendo que a grande parte, digamos que 90% é do tibia! Bom, me desculpem se ofendi alguém, não critico quem joga e quem gosta de pokemon não, nunca farei isso, respeito, mas queria entrar no TK e ver mais conteúdos relacionados ao Tibia, como era antigamente! Obrigado e abraços!2 pontos -
Novo Mapa Alissow :)
Novo Mapa Alissow :)
luanluciano93 e um outro reagiu a neykos por uma resposta no tópico
2 pontosOlá boa noite a todos. Bom estou com um projeto de refazer o mapa Alissow com diversas cidades tudo próprio e disponibilizar para galera do Tk, porem até hoje se conta nos dedos quantas vezes já usei o Mapa Editor na minha vida (2), então não tenho experiência alguma. As formas que estou mapeando varia muito porque a cada show off que vejo vou aprendendo algo novo, e algumas implementando no mapa ainda falta muito detalhes para ser colocado. Criticas são bem vindas e dicas também. Afinal existe diversos erros, mas é errando que se aprende. Comecei a criar a cidade ando sem tempo, então vou postar 3 fotos me inspirei no mapa do Daniel Carlore alguns detalhes e estruturas são dele, também aproveitei coisas do global e de fotos. A loja tirei do mapa do Daniel Visão da entrada do templo. A primeira casa do mapa.2 pontos -
[TFS 0.3][8.54] Digimon World Cerberus Online vrs 1.1
Dependendo da Repercussão desse server irei voltar a atualiza-lo para os player , qualquer duvida pergunte aqui que responderei assim que possível. Atualizações do Server Vrs.1.1: Golden Arena Cliente Server Alguns Bugs básicos(item.otb,cliente.dat, client.spr) Informações Server: Sistema VIP Mapa próprio 3 cidades 1 evento automático - funcionando 251 digimons 100% Corpos dos digimons 30% Capturar digimons 100% E mais! Imagens: Download server: http://www.4shared.com/rar/mCAKkkoIba/DigimonCerb-Vrs11_-wwwdigimonc.html Download cliente: http://www.4shared.com/rar/Ac8d1Wyq/cliente_digimoncerb_vrs1.1.html Scan: Use o scan automático do 4Shared! Créditos TFS Team Cerberus Animal Pak - pelo escrito acima xD...1 ponto
-
[RME] .dat e .spr do PokexCyan [TUTORIAL]
[RME] .dat e .spr do PokexCyan [TUTORIAL]
AllanSilva reagiu a xFatality por uma resposta no tópico
1 pontoOlá galerinha do TibiaKing,bom,estou sem posta aqui á um bom tempo,então decidi fazer um tutorialzinho para quem tem dúvidas sobre abrir a .dat e .spr no RME com o client do PokexCyan,ou algum client daquela maneira.Sem demais delongas vamos para o tutorial. Vamos começando indo na pasta do seu client do pokemon,logo depois disso vá em: data > things > 854 e deixe aberto por enquanto. Agora vamos fazer o download do que é preciso para fazermos o primeiro passo,vou deixar 2 links logo abaixo,é só clicar no NOME dos 2 e abaixar,um deles exige instalação. http://www.4shared.com/file/SUeAUR00ba/ObjectBuilder039.html \\ OBS: Ele exige que você tenha o ADOBE AIR FLASH para abrir,se não ele não vai ter nenhum programa para executar e não vai dar certo,então é OBRIGADO a instalar ele. http://www.4shared.com/file/Tp93z5Gpba/ItemEditor031.html \\ OBS: Ele exige que instale os .NET FRAMEWORK mais recentes,como 3.5,4.0 e etc,de acordo com o erro que der e aparecer a qual se refere você tenta instalar ou posta nos comentários. OBS²: Sempre que você instalar algum .NET FRAMEWORK tem de reiniciar o computador. OBS³: Ele é um instalador e não um .exe direto. Agora,depois de baixar os 2 arquivos,abra o OBJECT BUILDER. Depois disso vá em File > Open ou aperte CTRL+O. Agora,você clica em "BROWSE" e vá até a pasta do seu client,como lá no primeiro passo,data > things, e selecione a pasta "854".Depois marquem a opção [X] Extended como mostra a print abaixo e depois disso aperte em LOAD. Agora espere carrega e aperta em "OK".Depois disso,vá em File > Compile ou aperte CTRL+S,na primeira parte onde diz "Name:" digite Tibia,provavelmente o seu estará assim,totalmente configurado,mas vou ensinar para caso não esteja,então agora,logo abaixo,aperte em "BROWSE" e selecione a 854 que você acabou de carregar. (data > things).Agora marque o [X] Extended e agora clique em CONFIRM. Espere carrega e aperta no OK. OBS: Postarei 2 imagem mostrando tudo o que eu fiz. Bom galera,vou deixar 2 links de downloads abaixo,um é o RME que eu explico logo abaixo o por que de abaixar ele,e o outro download é 2 arquivos de items que também irei explicar logo abaixo. http://www.4shared.com/rar/tL8HJFfWba/Remeres_Map_Editor.html? \\ Abaixe o RME e crie uma pasta para ele em qualquer lugar que queira,então extrai-a os arquivos do que você abaixou logo a cima para a pasta que você criou para o RME. http://www.4shared.com/rar/QVcTypySce/TibiaKing.html? \\ Esse são os 2 arquivos que falei,vocês vão usar para mover para uma área do RME que irei explicar logo abaixo.Abra ele,e extraia para a área de trabalho (DESKTOP). Bom,agora com os 2 arquivos que você extraiu para a área de trabalho (DESKTOP) ou outro local que você queira,de CTRL+C neles 2,e então,vá até o local de onde você colocou o RME que abaixou logo a cima,e então entre em: data > 854, entrando ai,de o CTRL+V,se pedir para trocar os arquivos,apenas aceite,mas se não pedir não faz mal. Certo,agora abra o ITEM EDITOR que você abaixou lá em cima.Feito isso,vá em: File > Preferences,marque a opção [X] Extended,e depois clique em BROWSE e vá no local que você fez todos os processos acima com a pasta 854. (data > things),depois disso clique em "CONFIRM". Feito todos esses processos,vá até o OBJECT BUILDER se você não fechou ele ainda,mas se fechou,apenas abra novamente e faça o processo de dar LOAD na pasta 854. Agora,faça o processo para abrir a aba de Compilar as coisas,e depois selecione a pasta 854,feito isso em "VERSION" selecione 9.60 e aperte em "CONFIRM",espere e aperte em OK. Agora,abra o seu RME da seguinte forma,vá até a pasta que você extraiu e etc,e abra o que se chama: "RME". Feito isso,quando abrir vai pedir para selecionar dll's e etc,apenas vá clicando no " x ",quando acabar as abas de erro,vá em: File > Preferences,então clique em "CLIENT VERSION",desmarque a opção "CHECK FILE SIGNATURES" e procure por "VERSION 8.54...",então clique em BROWSE na seleção do 8.54 e vá até a pasta 854 que você fez todos aqueles processos a cima,selecione a pasta e clique em OK,feito isso,aperta em LOAD e abra seu mapa,quando pedir para você selecionar a .dat e .spr do 8.54 novamente,você seleciona pasta 854,a mesma que fez os processos do "CLIENT VERSION" e etc. (Ele está em data > things),feito isso é só editar seu mapa,erros e etc postem nos comentários para que eu possa ajudar. OBS: NÃO LIGUEM PARA O QUE EU SELECIONEI NA "VERSION 9.60..." É OUTRA COISA! Perguntas frequentes: P: Qual o novo limite de sprites após ser estendido? R: 4.294.967.295 P: Depois que compilar estendido, pode ser usando no cliente da Cip? R: Não! Seria preciso modificar o cliente para que consiga ler os arquivos. P: Posso usar o dat editor para modificar os arquivos depois? R: O ObjectBuilder é um dat/spr editor, mas se você quer usar outro editor, é pouco provável que funcione. Não custa tentar. Creditos: AnnaFeeh. (Peguei link de download e me basiei um pouco no tutorial dela,e as perguntas frequentes peguei do tópico dela). Tópico dela é: http://www.tibiaking.com/forum/topic/33621-aumentado-o-limite-de-sprites/?hl=%2Bobject+%2Bbuilder SCAN DOS DOWNLOADS: https://www.virustotal.com/pt/file/5f239df7b31baead1fc2b80273bee681eef4568fa573a230070469c271dc729b/analysis/1405967986/ https://www.virustotal.com/pt/file/e19c9381219f7fdcee10e59291cb7b0e769d75ad8b8ddd9bcd39c92d492bc9b8/analysis/1405968032/ https://www.virustotal.com/pt/file/95a005c497777e59252f72f14ccb7bbee0773c81e65a9dc5864bfb3cd0095e2b/analysis/1405968181/ https://www.virustotal.com/pt/file/b12ce21f36a6da0379a177d48d26fe84dc979915a00972ba3a0b328adbaef267/analysis/1405968198/ https://www.virustotal.com/pt/file/9f2e8664b927ce152dcdbc3fe94354ae87cbcc73b2571aed0438cba3f9ac6743/analysis/ OBS: O único que detecteu foi o ultimo que foi do RME mas foi apenas 1 arquivo que é para o funcional do RME,então se você pesquisar bem a dll que acusou,você entenderá. Bom é isso,espero que tenham gostado do meu tutorial,com quem der erro e etc só postar nos comentários que tarei ajudando.1 ponto -
PDA By: [GOD Anna]
PDA By: [GOD Anna]
arcaydecom reagiu a Wend por uma resposta no tópico
1 pontoEae Galera do Fórum, Estava editando esse Server Para deixar online Mais estava Sem tempo e Achei Melhor Postar para usarem como Base • Menu: ├ Informações; ├ Ediçoes; ├ Erros; ├ Prints; ├ Download; └ Creditos. • Informações Basicas • • Edições / Ajustes • • Erros Do Servidor • • PrintScreen • Novos Lendarios:: Ancient Aero:: Articuno Quest:: NPC de Teleport:: • Download's • Servidor:: http://www.4shared.com/rar/06OG8lB5ba/pda_by_bolz_verso_god_anna.html? OtClient:: http://www.4shared.com/rar/x5LgTQKLce/otclient.html? Scan:: 4Shared Já faz Scan *--* Para nossa Alegria @Atualizado v2 • Menu: ├ Ediçoes; ├ Prints; ├ Download; • Edições / Ajustes • • PrintScreen • Ditto System:: Held System:: • Download's • Servidor v2:: http://www.4shared.com/rar/_lB31rwxba/pda_by_bolz_verso_god_anna_v2.html? OTClient v2:: http://www.4shared.com/rar/aiqka_kQce/otclient_v2.html? Scan 4Shared Já faz Scan • Creditos • Slicer (pelo servidor) Brun123 (por alguns scripts, e por criar o pda) Stylo Maldoso (pelo mapa) Bolz (por editar Maior Parte do Server) Gabrielsales (Pelo Held System) Eu (Por Minhas Edições) Xtibia (por alguns scripts)1 ponto -
[Pagseguro Automático] 100% e com Double Points OPCIONAL
Fala linduxos do TK, hoje vim trazer para vocês um sistema que venho modificando a algum tempo. O Sistema de pagseguro automático, ao longo do script ensinarei perfeitamente como instalar/configurar. Lembrando que uso esse sistema em um servidor meu e está 100% entregando os pontos no mesmo instante, adicionei a opção de entregar pontos dobrados, para promoção double points acima de X valor. Vá em sua pasta www ou htocs/config abra o arquivo config.php e procure por: $config['site']['layout'] = ... embaixo disto adicione o seguinte: // Pagseguro Automático by Absolute on Luminera // Seu email cadastrado no PagSeguro $config['pagseguro']['email'] = 'SEU E-MAIL DO PAGSEGURO'; // Nome do produto $config['pagseguro']['produtoNome'] = 'Premium Points'; // Valor de cada ponto // Exemplo de valores: // 100 = R$ 1,00 // 250 = R$ 2,50 $config['pagseguro']['produtoValor'] = '100'; Simples explicação sobre este passo: em SEU E-MAIL DO PAGSEGURO basta colocar o seu e-mail do pagseguro, ficando como exemplo: $config['pagseguro']['email'] = 'absolute@tibiaking.com'; (não mexa em mais nada) Próximo passo: Agora vá na sua pasta www ou htocs e crie um arquivo chamado pagseguro_retorno.php (Extensão PHP formato de página PHP), dentro do pagseguro_retorno.php adicione: <?PHP $host = "localhost"; /* HOST */ $user = "root"; /* USER */ $passwd = "SENHADOPHPMYADMIN"; /* PASSWORD */ $db = "NOMEDADATABASE"; /* DB */ ############################################################## # CONFIGURAÇÕES ############################################################## $retorno_token = 'SEUTOKENPAGSEGURO'; // Token gerado pelo PagSeguro if (empty($_POST['Referencia'])) { header("Location http://pagseguro.com.br"); } list($accname, $world) = explode('-', $_POST['Referencia']); if ($world=='sv') { $retorno_host = "$host"; // Local da base de dados MySql $retorno_database = "$db"; // Nome da base de dados MySql $retorno_usuario = "$user"; // Usuario com acesso a base de dados MySql $retorno_senha = "$passwd"; // Senha de acesso a base de dados MySql } ############################################################### # ATENÇÃO TIBIAKING NÃO ALTERE DESTA LINHA PARA BAIXO OK? Absolute Agradeçe hihi # $lnk = mysql_connect("$host", "$user", "$passwd") or die ('Nao foi possível conectar ao MySql: ' . mysql_error()); mysql_select_db("$db", $lnk) or die ('Nao foi possível ao banco de dados selecionado no MySql: ' . mysql_error()); // Validando dados no PagSeguro $PagSeguro = 'Comando=validar'; $PagSeguro .= '&Token=' . $retorno_token; $Cabecalho = "Retorno PagSeguro"; foreach ($_POST as $key => $value) { $value = urlencode(stripslashes($value)); $PagSeguro .= "&$key=$value"; } if (function_exists('curl_exec')) { $curl = true; } elseif ( (PHP_VERSION >= 4.3) && ($fp = @fsockopen ('ssl://pagseguro.uol.com.br', 443, $errno, $errstr, 30)) ) { $fsocket = true; } elseif ($fp = @fsockopen('pagseguro.uol.com.br', 80, $errno, $errstr, 30)) { $fsocket = true; } if ($curl == true) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'https://pagseguro.uol.com.br/Security/NPI/Default.aspx'); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $PagSeguro); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_TIMEOUT, 30); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_URL, 'https://pagseguro.uol.com.br/Security/NPI/Default.aspx'); $resp = curl_exec($ch); curl_close($ch); $confirma = (strcmp ($resp, "VERIFICADO") == 0); } elseif ($fsocket == true) { $Cabecalho = "POST /Security/NPI/Default.aspx HTTP/1.0\r\n"; $Cabecalho .= "Content-Type: application/x-www-form-urlencoded\r\n"; $Cabecalho .= "Content-Length: " . strlen($PagSeguro) . "\r\n\r\n"; if ($fp || $errno>0) { fputs ($fp, $Cabecalho . $PagSeguro); $confirma = false; $resp = ''; while (!feof($fp)) { $res = @fgets ($fp, 1024); $resp .= $res; if (strcmp ($res, "VERIFICADO") == 0) { $confirma=true; break; } } fclose ($fp); } else { echo "$errstr ($errno)<br />\n"; } } if ($confirma) { ## Recebendo Dados ## $TransacaoID = $_POST['TransacaoID']; $VendedorEmail = $_POST['VendedorEmail']; $Referencia = $_POST['Referencia']; $TipoFrete = $_POST['TipoFrete']; $ValorFrete = $_POST['ValorFrete']; $Extras = $_POST['Extras']; $Anotacao = $_POST['Anotacao']; $TipoPagamento = $_POST['TipoPagamento']; $StatusTransacao = $_POST['StatusTransacao']; $CliNome = $_POST['CliNome']; $CliEmail = $_POST['CliEmail']; $CliEndereco = $_POST['CliEndereco']; $CliNumero = $_POST['CliNumero']; $CliComplemento = $_POST['CliComplemento']; $CliBairro = $_POST['CliBairro']; $CliCidade = $_POST['CliCidade']; $CliEstado = $_POST['CliEstado']; $CliCEP = $_POST['CliCEP']; $CliTelefone = $_POST['CliTelefone']; $NumItens = $_POST['ProdValor_1']; $ProdQuantidade_x = $POST['ProdQuantidade_1']; # GRAVA OS DADOS NO BANCO DE DADOS # mysql_query("INSERT into pagsegurotransacoes SET TransacaoID='$TransacaoID', VendedorEmail='$VendedorEmail', Referencia='$Referencia', TipoFrete='$TipoFrete', ValorFrete='$ValorFrete', Extras='$Extras', Anotacao='$accname', TipoPagamento='$TipoPagamento', StatusTransacao='$StatusTransacao', CliNome='$CliNome', CliEmail='$CliEmail', CliEndereco='$CliEndereco', CliNumero='$CliNumero', CliComplemento='$CliComplemento', CliBairro='$CliBairro', CliCidade='$CliCidade', CliEstado='$CliEstado', CliCEP='$CliCEP', CliTelefone='$CliTelefone', NumItens='$NumItens', Data=now(), ProdQuantidade_x='$ProdQuantidade_x';"); if ($NumItens >= 5) { $pontosadd = $NumItens * 2; } else { $pontosadd = $NumItens; } if ($StatusTransacao == "Aprovado") { mysql_query("UPDATE accounts SET premium_points = premium_points + '$pontosadd' WHERE name = '".htmlspecialchars($accname)."'"); mysql_query("UPDATE pagsegurotransacoes SET StatusTransacao = 'Entregue' WHERE CONVERT( `pagsegurotransacoes`.`TransacaoID` USING utf8 ) = '$TransacaoID' AND CONVERT( `PagSeguroTransacoes`.`StatusTransacao` USING utf8 ) = 'Aprovado' LIMIT 1 ;"); mysql_query('OPTIMIZE TABLE `pagsegurotransacoes`'); } } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Donate Server</title> <style type="text/css"> body { font-family: Tahoma, Geneva, sans-serif; font-size: 16px; width: 900px; margin: 0px auto; margin-top: 30px; } b { font-size: 18px; font-weight: bold; } </style> </head> <body> <table width="100%" border="0" cellspacing="0" cellpadding="0" align="center"> <tr> <td width="11%" align="center" valign="middle"><img src="images/true.png" height="auto" width="64" /></td> <td width="89%"><p><b>S</b>ua compra está sendo processada por nossos sistemas de apuração, dentro de no máximo <u>1 hora seus pontos serão creditados</u>, caso o pagamento não for efetuado, ficará em aberto 1 ou mais pagamentos pendentes em sua conta. Caso você tenha mais de 3 pagamentos pendentes por falta de pagamento, sua conta será bloqueada temporariamente para efetuar pagamentos.</p></td> </tr> </table> <p><b>ID de Transação:</b> <?php echo $_POST['TransacaoID']; ?></p> </body> </html> Explicação de configuração deste passo: Coloque a senha que você usa para entrar no phpmyadmin aqui: $passwd = "SENHADOPHPMYADMIN"; /* PASSWORD */ Exemplo de como ficaria: $passwd = "absolute123"; /* PASSWORD */ Coloque aqui o nome que está seu banco de dados (o mesmo que vai no config.lua, onde salva os characters, contas e cia): $db = "NOMEDADATABASE"; /* DB */ ; Exemplo de como ficaria: $db = "otserver"; /* DB */ IMPORTANTE, TOKEN Pagseguro! Você irá entrar neste link, aparecerá uma página pedindo para colocar a url de retorno, no entanto você colocará o seu site terminado em /pagseguro_retorno.php, exemplo de link para colocar: http://otglobal.com/pagseguro_retorno.php (LEMBRANDO QUE É APENAS UM EXEMPLO, SERÁ SEUSITE.COM/pagseguro_retorno.php, como na imagem a seguir: Pós verificar a seleção do "Ativar" e o link correto clique em Salvar. Agora descendo um pouco esta página onde terá a opção a cima terá uma opção como a imagem a seguir: Clique em GERAR, você receberá o seu código token e coloque no script que estará na sua pasta www ou htocs, mude na linha: $retorno_token = 'SEUTOKENPAGSEGURO'; // Token gerado pelo PagSeguro EM SEUTOKENPAGSEGURO coloque o TOKEN que você acabou de pegar, será vários números e letras, exemplo de como ficaria: $retorno_token = 'AE89464AE8145487484PAEA978E91'; // Token gerado pelo PagSeguro DOUBLE POINTS EXPLICAÇÃO: Neste mesmo script há algumas linhas com a seuginte função: if ($NumItens >= 5) { $pontosadd = $NumItens * 2; Isto quer dizer, > 5 (A cima de 5 pontos, receba: NumItens * 2, receba em 2x PONTOS EM DOBRO!) Para alterar o valor a cima que a pessoa receberá em dobro: NumItens >= 5) 5 pontos ou mais a pessoa receberá em dobro, caso seja para qualquer valor, troque o 5 pelo 1. Caso não deseje DOUBLE POINTS e sim 50% do valor em pontos, exemplo: 10R$ = 15 Pontos, altere para: $pontosadd = $NumItens * 1.5; Caso não deseje promoção e queira que seja 1 Real = 1 Ponto: $pontosadd = $NumItens * 1; Próximo passo: Calma gente, está quase acabando eu prometo, então abra o seu PHPMYADMIN, localhost/phpmyadmin ou seusite.com/phpmyadmin, exemplo: www.absolutewar.com/phpmyadmin ; absoluteot.servegame.com/phpmyadmin, clique na opção SQL do phpmyadmin (como mostrarei na imagem e de executar. Código a inserir no "espaço": CREATE TABLE `pagsegurotransacoes` ( `TransacaoID` varchar(36) NOT NULL, `VendedorEmail` varchar(200) NOT NULL, `Referencia` varchar(200) default NULL, `TipoFrete` char(2) default NULL, `ValorFrete` decimal(10,2) default NULL, `Extras` decimal(10,2) default NULL, `Anotacao` text, `TipoPagamento` varchar(50) NOT NULL, `StatusTransacao` varchar(50) NOT NULL, `CliNome` varchar(200) NOT NULL, `CliEmail` varchar(200) NOT NULL, `CliEndereco` varchar(200) NOT NULL, `CliNumero` varchar(10) default NULL, `CliComplemento` varchar(100) default NULL, `CliBairro` varchar(100) NOT NULL, `CliCidade` varchar(100) NOT NULL, `CliEstado` char(2) NOT NULL, `CliCEP` varchar(9) NOT NULL, `CliTelefone` varchar(14) default NULL, `NumItens` int(11) NOT NULL, `Data` datetime NOT NULL, `status` tinyint(1) unsigned NOT NULL default '0', UNIQUE KEY `TransacaoID` (`TransacaoID`,`StatusTransacao`), KEY `Referencia` (`Referencia`), KEY `status` (`status`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; Pós executar irá aparecer uma mensagem que o código foi aceito e uma tabela nova foi criada, como na imagem a seguir: Agora por fim o ÚLTIMO PASSO Novamente na pasta www ou htdocs substitua o seu arquivo donate.php por este: <?php if(!$logged) if($action == "logout") $main_content .= '<div class="TableContainer" > <table class="Table1" cellpadding="0" cellspacing="0" > <div class="CaptionContainer" > <div class="CaptionInnerContainer" > <span class="CaptionEdgeLeftTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></span> <span class="CaptionEdgeRightTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></span> <span class="CaptionBorderTop" style="background-image:url('.$layout_name.'/images/content/table-headline-border.gif);" ></span> <span class="CaptionVerticalLeft" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif);" /></span> <div class="Text" >Logout Successful</div> <span class="CaptionVerticalRight" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif);" /></span> <span class="CaptionBorderBottom" style="background-image:url('.$layout_name.'/images/content/table-headline-border.gif);" ></span> <span class="CaptionEdgeLeftBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></span> <span class="CaptionEdgeRightBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></span> </div> </div> <tr> <td> <div class="InnerTableContainer" > <table style="width:100%;" ><tr><td>You have logged out of your '.$config['server']['serverName'].' account. In order to view your account you need to <a href="?subtopic=accountmanagement" >log in</a> again.</td></tr> </table> </div> </table></div></td></tr>'; else $main_content .= 'Please enter your account name and your password.<br/><a href="?subtopic=createaccount" >Create an account</a> if you do not have one yet.<br/><br/><form action="?subtopic=accountmanagement" method="post" ><div class="TableContainer" > <table class="Table1" cellpadding="0" cellspacing="0" > <div class="CaptionContainer" > <div class="CaptionInnerContainer" > <span class="CaptionEdgeLeftTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></span> <span class="CaptionEdgeRightTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></span> <span class="CaptionBorderTop" style="background-image:url('.$layout_name.'/images/content/table-headline-border.gif);" ></span> <span class="CaptionVerticalLeft" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif);" /></span> <div class="Text" >Account Login</div> <span class="CaptionVerticalRight" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif);" /></span> <span class="CaptionBorderBottom" style="background-image:url('.$layout_name.'/images/content/table-headline-border.gif);" ></span> <span class="CaptionEdgeLeftBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></span> <span class="CaptionEdgeRightBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></span> </div> </div> <tr> <td> <div class="InnerTableContainer" > <table style="width:100%;" ><tr><td class="LabelV" ><span >Account Name:</span></td><td style="width:100%;" ><input type="password" name="account_login" SIZE="10" maxlength="10" ></td></tr><tr><td class="LabelV" ><span >Password:</span></td><td><input type="password" name="password_login" size="30" maxlength="29" ></td></tr> </table> </div> </table></div></td></tr><br/><table width="100%" ><tr align="center" ><td><table border="0" cellspacing="0" cellpadding="0" ><tr><td style="border:0px;" ><div class="BigButton" style="background-image:url('.$layout_name.'/images/buttons/sbutton.gif)" ><div onmouseover="MouseOverBigButton(this);" onmouseout="MouseOutBigButton(this);" ><div class="BigButtonOver" style="background-image:url('.$layout_name.'/images/buttons/sbutton_over.gif);" ></div><input class="ButtonText" type="image" name="Submit" alt="Submit" src="'.$layout_name.'/images/buttons/_sbutton_submit.gif" ></div></div></td><tr></form></table></td><td><table border="0" cellspacing="0" cellpadding="0" ><form action="?subtopic=lostaccount" method="post" ><tr><td style="border:0px;" ><div class="BigButton" style="background-image:url('.$layout_name.'/images/buttons/sbutton.gif)" ><div onmouseover="MouseOverBigButton(this);" onmouseout="MouseOutBigButton(this);" ><div class="BigButtonOver" style="background-image:url('.$layout_name.'/images/buttons/sbutton_over.gif);" ></div><input class="ButtonText" type="image" name="Account lost?" alt="Account lost?" src="'.$layout_name.'/images/buttons/_sbutton_accountlost.gif" ></div></div></td></tr></form></table></td></tr></table>'; else { $main_content .= '<br><br><b>Valores:</b><br> 1 Point = R$ 1,00<br> 10 Points = R$ 10,00<br> 20 Points = R$ 20,00<br> E assim por diante...<br><br> '; $main_content .= ' <form target="pagseguro" method="post" action="https://pagseguro.uol.com.br/checkout/checkout.jhtml"> <input type="hidden" name="email_cobranca" value="'. $config['pagseguro']['email']. '"> <input type="hidden" name="tipo" value="CP"> <input type="hidden" name="moeda" value="BRL"> <input type="hidden" name="item_id_1" value="1"> <input type="hidden" name="item_descr_1" value="Pontos na account de nome: '.$account_logged->getCustomField("name").'"> <input type="hidden" name="item_valor_1" value="'. $config['pagseguro']['produtoValor'] .'"> <input type="hidden" name="item_frete_1" value="0"> <input type="hidden" name="item_peso_1" value="0"> <input type="hidden" name="ref_transacao" value="'.$account_logged->getCustomField("name").'"> <table border="0" cellpadding="4" cellspacing="1" width="100%" id="#estilo"><tbody> <tr bgcolor="#505050" class="white"> <th colspan="2"><strong>Escolha a quantidade de pontos que deseja comprar</strong></th> </tr> <tr> <td width="10%">Sua conta</td> <td><strong>'.$account_logged->getCustomField("name").'</strong></td> </tr> <tr> <td width="10%">Pontos</td> <td> <input name="item_quant_1" type="text" value="10" size="5" maxlength="5"> </td> </tr> <tr> <td colspan="2"> <input type="image" src="https://p.simg.uol.com.br/out/pagseguro/i/botoes/carrinhoproprio/btnFinalizar.jpg" name="submit" alt="Pague com PagSeguro - é rápido, grátis e seguro!" /> </td> </tr> </tbody></table></form> <b><span style="color:#ff0000;">OBS¹:</span></b> Os pontos são entregues <b>automáticamente</b> logo após a <u>aprovação</u> do seu pagamento pelo PagSeguro, ou seja, pagou e foi aprovado pontos depositados. Você pdoerá acessar o shop offer e desfrutar dos melhores items do servidor! <?php } ?>'; } ?> Pronto galera tão fácil né? agora vocês poderão pegar seu guarda sol, sua água de coco e sentar na sua cadeira de praia enquanto o script entregará os pontos automáticamente em menos de 1 minuto. Espero ter ajudado, quaisquer dúvidas podem solicitar no tópico ou até mesmo me mandar uma mensagem privado que estarei disposto a ajuda-los. Créditos: Absolute (EU) Matheus Sesso pela página donate.php Nos vemos na próxima! Enjoy.1 ponto
-
Mapa Subwat Kamikaze
Mapa Subwat Kamikaze
luccheseoficial reagiu a juniordresch por uma resposta no tópico
1 pontoESSE E MEU SEGUNDO TOPICO INTAO N SEI SE VAO GOSTAR.. MAPA SUBWAT EDITADO POR ADM KAMIKAZE: NOVOS COMANDOS COMO !BUYLIFESCROLL !BUYMANASCROLL !LIFESCROLL !MANASCROLL NOVOS MONSTROS,HUNTS,NPCS,QUESTS,ITENS KAMIKAZE , E IMPERIAL,RUNAS E ETC... AQUI VAI ALGUMAS IMAGENS: TEMPLO Treiners Novas Hunts: Download : http://www.4shared.c...ikazev10_2.html GOSTOU ??/ + REP AE PLIZ1 ponto -
[Crack] RedBot Pro {10.80}
[Crack] RedBot Pro {10.80}
downloadkct reagiu a EdsonJunior por uma resposta no tópico
1 pontoInstruções Baixe o RedBot Pro 2.0.5 pelos seguintes links - Download Extraia em qualquer area do seu computador Execute RedBot Pro como Administrador Use seu usuario e senha criado no fórum PandoriumX Criando Seu Proprio Cracker1 ponto -
[TUTO] Configurando config.lua
[TUTO] Configurando config.lua
gloster122 reagiu a Huziwara por uma resposta no tópico
1 pontoOlá galerinha TKbianos, Eu postei aqui, a tradução (as funções) que estão no config.lua, vejo muita pessoa com dúvidas que acha que precisa fazer script, mas naverdade essas dúvidas estão na cara de vocês, bem no config.lua! (Botei os necessários) Config.lua : accountManager = "no" (Utilização de account manager.) newPlayerChooseVoc = "yes" (Se o player pode escolher a vocação, caso esteja em "no" ele vai começar como "no vocation".) {newPlayerSpawnPosX = 155} {newPlayerSpawnPosY = 39} (Posição do player criado pelo account manager.) {newPlayerSpawnPosZ = 7} newPlayerTownId = 1 (ID da cidade [configurado no map editor].) newPlayerLevel = 8 ( Level do novo player criado pelo account manager.) newPlayerMagicLevel = 0 (Magic level do novo player criado pelo account manager.) generateAccountNumber = "no" (Se o player escolhe ou não o account, caso esteje "no" o account manager vai solicitar um Account Number sozinho.) ----------------------------------------------------------------------------------------------------- redSkullLength = 15 * 24 * 60 * 60 (Tempo para sair o Red Skull nesse caso aqui está como 15 dias.) blackSkullLength = 30 * 24 * 60 * 60 (Tempo para sair o Black Skull nesse caso aqui está como 15 dias.) dailyFragsToRedSkull = 10 ( Quantos frags necessários em dia pra pegar Red Skull.) weeklyFragsToRedSkull = 40 ( Quantos frags necessários em semana pra pegar Red Skull.) monthlyFragsToRedSkull = 90 ( Quantos frags necessários em mês pra pegar Red Skull.) dailyFragsToBlackSkull = dailyFragsToRedSkull ( Quantos frags necessários em dia pra pegar Black Skull (Sendo que você precisa pegar a mesma quantidade de frags de Red Skull, estando Red Skull).) weeklyFragsToBlackSkull = weeklyFragsToRedSkull ( Quantos frags necessários em semana pra pegar Black Skull (Sendo que você precisa pegar a mesma quantidade de frags de Red Skull, estando Red Skull).) monthlyFragsToBlackSkull = monthlyFragsToRedSkull ( Quantos frags necessários em mês pra pegar Black Skull (Sendo que você precisa pegar a mesma quantidade de frags de Red Skull, estando Red Skull).) blackSkulledDeathHealth = 40 ( A quantidade de vida que você fica após morrer de Black Skull.) blackSkulledDeathMana = 0 ( A quantidade de mana que você fica após morrer de Black Skull.) useBlackSkull = true (Se vai ter Black Skull no seu server, true ou false.) worldType = "open" ( Open = PVP / Optional = Non-PVP / Hardscore (Acho que é assim) = Enforced) protectionLevel = 80 (Level para que os players possam cair na porrada se se matarem.) pzLocked = 30 * 1000 ( Quanto tempo demora pra sair o battle "Espadinhas" , aqui no caso está 30 segundos.) huntingDuration = 30 * 1000 ( Quanto tempo demora pra sair o hunting "Espadinhas Vermelhas", aqui no caso está 30 segundos.) criticalHitChance = 7 (Chance de attack critico, em %) criticalHitMultiplier = 1 (Quando o player da critico o attack dele vai multiplicar em : no caso "1") displayCriticalHitNotify = true (Aparece quando o player da um attack critico?) removeWeaponAmmunition = false (Remover munição) removeWeaponCharges = false (Remover carga) removeRuneCharges = "no" (Remover carga) whiteSkullTime = 5 * 60 * 1000 (Tempo para sair o White Skull, nesse caso 5 minutos.) showHealingDamage = true (Aparece a quantidade de health que recupera) showHealingDamageForMonsters = false (Aparece a quantidade de health que recupera (Nos Monstros)) stopAttackingAtExit = false (Se vai parar de atacar quando o player der exit) deathLostPercent = 10 (Quantidade em % de exp que o player vai perder ao morrer) onePlayerOnlinePerAccount = true (Se só pode entrar 1 player por account, caso bote false, e tiver 3 chars, vai ser possivel jogar com esses 3 chars) premiumPlayerSkipWaitList = false (Se o player for premium ele, nesse caso não pularia a fila de espera) ingameGuildManagement = true (Usar os comandos do tipo : !createguild/!joinguild.) cleanProtectedZones = true (Quando der clean, vai dar clean em todas as areas protection Zone, de DP até Templo.) allowChangeOutfit = true (Permitir se o player pode trocar o Outfit.) allowChangeColors = true (Permitir se o player pode trocar a Cor do Outfit.) allowChangeAddons = true (Permitir se o player pode trocar os Addons.) spellNameInsteadOfWords = true (Nesse caso a spell exura, quando usada sai a mensagem "exura", mas se tivesse false, ao usar exura, vai aparecer a mensagem "Light Healing".) emoteSpells = true (Mensagem laranja.) idleWarningTime = 239 * 60 * 1000 ( O tempo para dar o aviso de Idle (Quando o PLAYER fica muito tempo parada)) idleKickTime = 240 * 60 * 1000 (O tempo para o player se automaticamente kickado.) Bem, eu botei esses porque são esses que os caras tem mais dúvidas. Espero ter ajudado ! Att. Huziwara no Mokou1 ponto -
Atributos nos addons
1 pontoÉ bem simples, se você estiver usando addon full de mage, irá ganhar 2 magic levels, hunter 3 skills de distance, é bem fácil de mudar também Pra configurar basta ir em PastaDoSeuOt/data/xml Abra o arquivo outifits.xml, apague tudo e cole isso: Não achei aqui no fórum resolvi postar, achei só como dúvida de um cara não conseguindo usar, mas estando aqui nessa area o pessoal que for rodando vai achar, se alguem tiver algumas ideias de outros atributos que eu posso colocar no outifits.xml coloca ai, como percentual de defesa em gelo fogo e tal.1 ponto
-
Idiotice minha ou pura inovação?
Idiotice minha ou pura inovação?
Rafinhajoganada reagiu a thiagobji por uma resposta no tópico
1 pontoChegou tarde manim: Avatar Online1 ponto -
TibiaKing ou PokeKing?
TibiaKing ou PokeKing?
thiagobji reagiu a Rafinhajoganada por uma resposta no tópico
1 pontosou novo no forum odeio forum nao tenho paciencia pra forum mas gosto do tibiaking e odeio ot pokemon e e nois cara desculpa se ofendi alguem mano opiniao e quinem cu cada um tem o seu uasdhuashdua só falei que nao gosto de ot pokemon1 ponto -
TibiaKing ou PokeKing?
1 pontoConcordo plenamente dezon, mas respeito quem está nessa área. Porém confesso que quando vejo um poketibia, narutibia, avatartibia, minecraftibia eu fico louco cara, jájá tem PCCTIBIA, LEAGUE OF TIBIA, DOTIBIA e etc... Mas fazer o que, é aberto o conteúdo do GNU então são liberados fazer o que querem. Respeito a área, mas fico com o OPEN TIBIA SERVER. Abraços.1 ponto
-
[Modern Acc] OTPokemon Template
[Modern Acc] OTPokemon Template
GuhCapovila reagiu a TheSource por uma resposta no tópico
1 pontoEsse template é bastante igual ao do otpokemon com uns reparos pequenos ele fica perfeito, aproveitem. Demonstração Scan Créditos: Douglas Wanzzine Download1 ponto -
{ERRO} Item Editor
{ERRO} Item Editor
ClaudioMarcio reagiu a Factur por uma resposta no tópico
1 pontoDesculpe-me então não sei oque esta dando de errado, poís aqui nunca aconteceu isso, vou tentar avisar uma pessoa que TALVEZ saiba,1 ponto -
{ERRO} Item Editor
{ERRO} Item Editor
ClaudioMarcio reagiu a Factur por uma resposta no tópico
1 pontoVocê esta abrindo pelo Item editor que eu te mandei?1 ponto -
{ERRO} Item Editor
{ERRO} Item Editor
ClaudioMarcio reagiu a Factur por uma resposta no tópico
1 pontoSe oque eu falei não funcionar, infelizmente nao saberei resolver seu erro =/1 ponto -
{ERRO} Item Editor
{ERRO} Item Editor
ClaudioMarcio reagiu a Factur por uma resposta no tópico
1 pontoEspere um pouco, vou ver um pouco aki e ja edito aki te mandando resposta. Tente novamente, vou ver se você fez certo, vou explicar melhor 1 - Abra seu ItemEditor.exe Como Administrador. 2 - Ápos ter abrido Segure o CTRL e aperte P. 3 - Marque a opção Extended e Clicke em Browse. 4 - Localize a pasta do teu client e abra-a. 5 - Ápos abrir clicke em Confirm. 6 - Segure CTRL e aperte a letra O. 7 - Localize o seu items.otb e abra-o. 8 - Agora fassa oque você quer,adicionar modificar algo seila, ápos terminar Segure CTRL e aperte S1 ponto -
(Resolvido)Ajuda Magmar não evolui
Vai em \data\lib\configuration.lua pelo notepad++ ache a linha poevo = { e adicione isso na linha ["Magmar"] = {level = 100, evolution = "Magmortar", count = 1, stoneid = 11447, stoneid2 = 12244}, Salve e feche. Se ajudei repp+1 ponto
-
{ERRO} Item Editor
{ERRO} Item Editor
ClaudioMarcio reagiu a Factur por uma resposta no tópico
1 pontoTalvez porquÊ o seu Item editor é diferente, baixe esse http://www.4shared.com/file/Tp93z5Gpba/ItemEditor031.html Baixe e instale, vai vir um aplicativo para area de trabalho, voce abre ele e faz oque eu falei acima1 ponto -
(Resolvido)[AJUDA] Fly
(Resolvido)[AJUDA] Fly
xPollo reagiu a Max willain por uma resposta no tópico
1 pontoSim Fly/Ride/ Surf1 ponto -
(Resolvido)Ajuda outifit.xml com storage n funciona
(Resolvido)Ajuda outifit.xml com storage n funciona
luccagomes reagiu a tddf1995 por uma resposta no tópico
1 pontoQue isso pessoal! Coisa tão simples o pessoal complicando a vida da pessoa! O erro está aqui O certo seria colocar o quest="666" do lado do id="5", siga o exemplo abaixo e vai dar certo: <outfit id="5" quest="666"> <list gender="0" lookType="140" name="Noblewoman"> <skills club="3"/> </list> <list gender="1" lookType="132" name="Nobleman"> <skills club="3"/> </list> </outfit>1 ponto -
(Resolvido)[AJUDA] Fly
1 pontoEntão pegue o Looktype dele e diminua por 351 ex: 1500-351 = 1149 vá na pasta data\lib e abra o configuration.lua e procure por essa parte flys = { quando achar copiei qualquer um Fly ex: ["Moltres"] = {229, 2300}, ["Moltres"] -- Mude para o nome do pokemon que está adicionando o novo Fly {229, 2300}, -- 229 mude para o Resultado do Locktype que extraio do 351 e em 2300 é a velocidade do Fly1 ponto
-
Ajuda nto
Ajuda nto
Fatal reagiu a D i M i T r E s C u por uma resposta no tópico
1 pontoAmigo estou trabalhando em um aqui com akatsuki system , edo tensei , e varias vilas por exemplo : Uchiha , Pedra , Grama , nuvem , Ootsutsuki Está 60% completo , Mas Não sei se irei postar aqui porque eu uso ele Mais qualquer coisa vou postar aqui. Tente Pegar um Velho e edita ele :/1 ponto -
Alguem me ajuda a colocar as megas evoluções no meu server..
servidor Zot?1 ponto
-
(Resolvido)[NPC] que trocar x Item por x Item
(Resolvido)[NPC] que trocar x Item por x Item
Wend II reagiu a Adriano SwaTT por uma resposta no tópico
1 pontoNão, está por "palavras" mesmo, você configura e fala o nome do item que deseja. Pode dizer help ou ajuda e aparece a lista de itens disponíveis.1 ponto -
(Resolvido)[NPC] que trocar x Item por x Item
(Resolvido)[NPC] que trocar x Item por x Item
Wend II reagiu a Adriano SwaTT por uma resposta no tópico
1 pontoDesculpe-me pela demora, é que estou desenvolvendo um site. Enfim, segue o script: Boa sorte.1 ponto -
(Resolvido)[ AJUDA ] Npc igual o do saffari
data\npc crie um arquivo.xml e renomeio para Teleport.xml e cole isso: <?xml version="1.0" encoding="UTF-8"?> <npc name="Teleport" script="teleport.lua" speed="0"> <health now="150" max="150"/> <look type="511" head="91" body="114" legs="86" feet="0"/> </npc> data\npc\script crie um arquivo.lua e renomeio para teleport.lua cole isso: local lugar = {x=102, y=1027, z=7} local item = 2160 local quantidade = 10 local keywordHandler = KeywordHandler:new() local npcHandler = NpcHandler:new(keywordHandler) NpcSystem.parseParameters(npcHandler) 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 santaNPC(cid, message, keywords, parameters, node) if(not npcHandler:isFocused(cid)) then return false end if (parameters.present == true) then if(doPlayerRemoveItem(cid,item,quantidade) == true) then doTeleportThing(cid, lugar) npcHandler:say('Voce foi teleportado.',cid) else npcHandler:say('Voce não tem o item para ser teleportado',cid) end npcHandler:resetNpc() return true end end npcHandler:setMessage(MESSAGE_GREET, "Ola|PLAYERNAME|. Eu posso te levar para alguns lugares,fale {lugar}.") local noNode = KeywordNode:new({'no'}, santaNPC, {present = false}) local yesNode = KeywordNode:new({'yes'}, santaNPC, {present = true}) local node = keywordHandler:addKeyword({'lugar'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Vou te levar para um lugar,digite {yes}'}) node:addChildKeywordNode(yesNode) node:addChildKeywordNode(noNode) npcHandler:addModule(FocusModule:new()) Editando;; local lugar = {x=102, y=1027, z=7} -- Lugar da Hunt local item = 2160 -- ID do diamond local quantidade = 10 -- quantidade de diamond1 ponto
-
(Resolvido)[NPC] que trocar x Item por x Item
(Resolvido)[NPC] que trocar x Item por x Item
Wend II reagiu a Adriano SwaTT por uma resposta no tópico
1 pontoNo caso, cada 1 ou cada grupo de 100 itens valem 5 diamantes? #Por favor, facilite nas informações, passe já com maiores detalhes.1 ponto -
(Resolvido)[NPC] que trocar x Item por x Item
(Resolvido)[NPC] que trocar x Item por x Item
Wend II reagiu a Adriano SwaTT por uma resposta no tópico
1 pontoTodos estes itens por 5 diamantes ou cada um destes itens vale 5 diamante? E eles são itens agrupáveis? ou usaremos 1 de cada mesmo?1 ponto -
Alguem me ajuda a colocar as megas evoluções no meu server..
Procure antes de postar dúvidas... http://www.tibiaking.com/forum/topic/11605-tutorialadicionar-novas-sprites-no-cliente/ http://www.tibiaking.com/forum/topic/40047-pedido-como-editar-um-monster/ http://www.tibiaking.com/forum/topic/20176-como-criar-monstros-860/1 ponto
-
[PEDIDO] Como editar um monster
[PEDIDO] Como editar um monster
BrunoWots reagiu a augustomeneghetti por uma resposta no tópico
1 pontoBom.. vamos começar por partes. Vou dar um ctrl c + ctrl v em algumas partes e vou explicando passo a passo, vale lembrar que eu não manjo 100% pois nunca me preocupei com algumas coisas.. então o que eu tiver certeza vou deixar explicito, o que for uma hipotese para mim vou falar EU ACHO. Vamos lá. <monster name="Demon" nameDescription="a demon" race="fire" experience="6000" speed="275" manacost="10000"> Auto-explicativo. Utilize para mudar o nome do monstro. <monster name="Demon" nameDescription="a demon" race="fire" experience="6000" speed="275" manacost="10000"> Serve para você escolher o que vai apareçer quanto você der look num monstro.. por exemplo você da look num demon.. vai apareçer "You se a demon".. ai se você quiser alterar isso, a vontade <monster name="Demon" nameDescription="a demon" race="fire" experience="6000" speed="275" manacost="10000"> Raça propriamente dita, essa parte é simples de entender porém eu nunca parie para prestar atenção no que isso influencia, mas provavelmente deve influenciar em algo. <monster name="Demon" nameDescription="a demon" race="fire" experience="6000" speed="275" manacost="10000"> Altere a experiencia do monstro aqui.. por exemplo, seu ot server é exp de 10x Nesse caso um demon irá lhe dar 6000 de exp * 10, ficando então 60,000 de exp, se você alterar para 7000 a exp, irá dar 70,000 de exp o demon, você tem que levar em conta a exp como 1x elevado a rate do seu server, se você quer que um monstro de 10k de exp, você vai lá e põe 10k, e por seu server ser 10x ele vai dar 100k, algo que você não quer.. nesse caso utilize 1k de exp <monster name="Demon" nameDescription="a demon" race="fire" experience="6000" speed="275" manacost="10000"> Velocidade propriamente dita do monstro, altere isso para faze-lo andar mais rapido/devagar, ou deixe em zero para o monstro ficar parado <monster name="Demon" nameDescription="a demon" race="fire" experience="6000" speed="275" manacost="10000"> Provavelmente deve ser a mana necessária para sumonar o demon, mas calma lá.. ja vamos chegar num ponto onde definimos se o monstro é sumonavel ou não. ----------------------------- <health now="8200" max="8200"/> Aqui você define a health do monstro.. por exemplo <health now="500" max="8200"/> Se você fizer isso, o monstro vai ter um TOTAL de 8200 de HP, mas quando ele nascer, ele vai nascer com 500 de HP, ou seja, a barrinha de life dele vai estar no vermelho praticamente ----------------------------- <look type="35" corpse="5995"/> Aqui você define o sprite do seu monstro Não lembro de cabeça.. mas vamos fingir que o citizen outfit é look type 100, você tem o looktype 35, e quer fazer um demon com outfit de citizen, você muda para 100, ou qualquer outro valor referente ao outfit que você procura. <look type="35" corpse="5995"/> Aqui você define qual será o sprite do seu monstro quando ele morrer. Agora, vamos fazer algo mais divertido? Vamos alterar o seguinte código: " <look type="35" corpse="5995"/>" Suponha-se que você quer utilizar o outfit citizen, mas dessa maneira você não pode definir as cores, e nem fazer um monstro com addon, então agora vou te ensinar como fazer isso Insira no código as seguintes informações destacadas: <look type="35" head="114" body="114" legs="0" feet="0" addons="3" corpse="5995"/> Agora vamos as explicações: <look type="35" head="114" body="114" legs="0" feet="0" addons="3" corpse="5995"/> Define a cor do cabelo do seu monstro, porém você tem que definir com numeros, ja te ensino o macete para descobrir como conseguir esses valores No caso, 114 representa o preto, então seu monsto terá cabelo preto, se você definir como 0, será cabelo branco. <look type="35" head="114" body="114" legs="0" feet="0" addons="3" corpse="5995"/> Mesma coisa do caso acima, porém para o peitoral do corpo.. e assim por diante Basta você imaginar na ordem do Set outfit do próprio Tibia, quando você vai em ser outfit, temos as seguintes coisas: Head = Head Primary = Body Secondary = Legs Detail = feet Entendeu? Para definir os addons do seu monstro você editará a seguinte parte: <look type="35" head="114" body="114" legs="0" feet="0" addons="3" corpse="5995"/> Se você quiser que ele tenha APENAS o addon 1, deixe dessa maneira: addons="1" Para o addon 2: addons="2" Agora, você quer saber a melhor maneira de deixar o monstro como você quer? Simples, coloque seu ot server online, e pegue um char de teste, selecione nele o outfit com as cores e addons que você quer, e depois deslogue do char, feito isso abra o MYSQL (a versão que você utilizar), lá vá em editar players, se você utilizar o SQLite Studio assim como eu, logo a frente do nome do seu char de teste, vai ter as informações com o numero da cor e outfit que você selecionou <targetchange interval="5000" chance="8"/> Nessa parte você coloca um valor para definir a cada QUANTO TEMPO ele irá sorteiar baseado no valor ao lado (chance) se o monstro irá mudar seu alvo de um jogador para outro. Na parte a seguir vamos definir algumas coisas utilizando o padrão Binário, mas ai você me pergunta o que é binário? Simples, definição de verdadeiro e falso a partir de 0 e 1. Para verdadeiro utilizaremos 1, para falso 0. <flag summonable="0"/> Define se é possivel um player normal sumonar o monstro através da magia "utevo res".. no caso está definido como não, não é possivel. <flag attackable="1"/> Define se é possivel UM JOGADOR atacar o monstro, por exemplo, se você definir como 0, ao tentar atacar o monstro vai ser impossivel. <flag hostile="1"/> Define se é um monstro hostil, ou simplificando, se estiver como 1 ele te ataca, mas se estiver como 0 ele seria um rabbit da vida, pode ser atacado mas não ataca de volta. <flag illusionable="0"/> Define se é possivel utilizar a magia "utevo res ina" no monstro.. ou seja, um player comum (mage) se transformar no monstro por um determinado tempo <flag convinceable="0"/> Mesma coisa do summonable PRATICAMENTE, porém é através de uma runa que existe no jogo, se você utilizar ela num monstro ele irá virar seu summon. <flag pushable="0"/> No caso, demons não são possiveis de arrastar, mas se você alterar para 1, será possivel arrastar seu demon. <flag canpushitems="1"/> Define se o monstro em si irá arrastar itens, no caso você tacou uma parcel na frente do bixo e saiu correndo, ele arrasta ela tirando-a do seu caminho. <flag canpushcreatures="1"/> Mesma coisa do item anterior, porém com criaturas, se uma criatura entrar na frente do seu monstro, ele irá arrasta-lá para chegar até você. <flag targetdistance="1"/> A distancia que você quer que o monstro fique do jogador, exemplo: Você quer que o demon ataque o jogador a 2 sqm's de distancia, basta alterar para 2 o valor. <flag staticattack="90"/> Não sei dizer o que fazer, se alguem souber, peço que poste. <flag runonhealth="0"/> Define a vida em que o monstro irá fugir de você (porém não sei dizer se funciona como a vida mesmo ou em % da vida, se alguem puder deixar mais claro isso) --------------------------- </flags> <attacks> <attack name="melee" interval="2000" skill="100" attack="110"/> <attack name="manadrain" interval="2000" chance="13" range="7" min="0" max="-120"/> <attack name="fire" interval="2000" chance="30" range="7" radius="7" target="1" min="-150" max="-250"> <attribute key="shootEffect" value="fire"/> <attribute key="areaEffect" value="firearea"/> </attack> Nessa parte iremos trabalhar as spells do monstro. A parte destacada em negrito, é onde você coloca os ataques, ou seja, todo ataque novo que você quiser fazer OU TIRAR, terá que ser assim, e sempre terá de ser dentro do padrão, no caso eu retirar todos os ataques e deixar apenas um novo. <attacks> <attack name="melee" interval="2000" skill="100" attack="110"/> </attack> Dessa maneira o demon irá utilizar APENAS o melee skill, com um intervalo de 2000 milésimos, a parte e skill e attack basta pensar que ele é um player, vamos utilizar um exemplo. <attack name="melee" interval="2000" skill="100" attack="25"/> Isso equivale a um jogador com skill 100 utilizando uma arma com attack 25. (Por exemplo um paladino com spear) <defenses armor="55" defense="55"> <defense name="healing" interval="2000" chance="15" min="130" max="240"> <attribute key="areaEffect" value="blueshimmer"/> </defense> <defense name="speed" interval="1000" chance="8" speedchange="290" duration="5000"> <attribute key="areaEffect" value="redshimmer"/> </defense> </defenses> O critério utilizado acima nos ataques, também servem para buffs do monstro, por exemplo aqui em defense, você pode ver que ele tem uma chamada speed, que é um haste que o monstro usa para correr mais rapido. Mas esse não é o foco que irei abordar aqui. A parte em negrito aborda a defesa do monstro, mesmo criterio utilizado acima no ataque, porém para defesa. Agora, você queria adicionar uma spell de healing, correto? então vamos lá Peguei como exemplo a linha de código de um monstro do meu servidor, basta você inserir isso no seu código que estará tudo perfeito. <defense name="healing" interval="1000" chance="25" min="500000" max="50000000"> Interval define o intervalo do chance, ou seja, a cada 1000 milésimos será sortiado com uma chance de 25 de o monstro healar (detalhe, se não for sortiado dentro da chance o monsto não irá healar) entre o valor min e max, e a próposito, estou falando sortiar, mas o mais correto seria dizer: "Sortear um valor random", pois não há como definir o valor a ser sortiado (se não nem sequer seria um sorteio né?" ------------------------------------- <elements> <element physicalPercent="30"/> <element energyPercent="50"/> <element earthPercent="20"/> <element icePercent="-15"/> <element holyPercent="-15"/> <element deathPercent="20"/> </elements> Essa parte é BEM SIMPLES, é a % de defesa do monstro contra danos magicos/fisicos: Levando em conta os dados acima vamos lá: <element physicalPercent="30"/> O monstro tem uma defesa de 30% contra physical, ou seja, se você iria hitar 100 nele, o valor 100 será diminuido para 70, que será o seu hit final <element icePercent="-15"/> Aqui ja fica diferente.. DESTAQUE para o sinal de -, isso significa que o monstro É FRACO ao elemento ice, ou seja, você iria hitar 100? Seu hit final vai ser 100 + 15% = 115 de dano É essa formula para qualquer valor, por exemplo: 300 de dano (15% do valor é igual a 45), ou seja, 345 de dano de ice ----------------------------- <immunities> <immunity fire="1"/> <immunity drown="1"/> <immunity paralyze="1"/> <immunity invisible="1"/> </immunities> Aqui são as imunidades do monstro, vamos lá, 1 por 1: <immunity fire="1"/> Significa que o monsto tem 100% de proteção a fogo, então não importa o que ele não toma dano de fogo. <immunity drown="1"/> Não me lembro o que é drown, se não me engano é andar embaixo da água, se for 0 o monstro iria perder vida (SE NÃO ME ENGANO) <immunity paralyze="1"/> Ao utilizar a paralise rune no monstro, isso define se ele será afetado ou não <immunity invisible="1"/> Define se o monstro irá ver invisbilidade (utana vid ou stealth ring) Caso essa opção esteja marcado como 0, se você utilizar utana vid, o demon não irá lhe atacar por não te ver. ----------------------- <summons maxSummons="1"> <summon name="fire elemental" interval="1000" chance="12"/> </summons> O demon é um monsto que sumona bixos, no caso aqui você define em MAXSUMMONS qual o limite de bixos que ele poderá sumonar, e em baixo qual o bixo propriamente dito que será sumonado, no caso você pode alterar o fire elemental para um rat se quiser. ------------------------ <voices interval="5000" chance="10"> <voice sentence="MUHAHAHAHA!" yell="1"/> <voice sentence="Your soul will be mine!" yell="0"/> </voices> Deixei apenas as 2 opções para uma explicação mais objetiva, o primeiro em negrito é uma fala do monstro, porém está como yell=1, isso significa que quando ele falar, ele irá gritar na verdade, então será possivel ver essa fala dele de fora da tela. A fala de baixo no caso, ja representa uma simples fala qualquer que só se pode ser vista estando na mesma tela do monstro em si. ----------- ~ Enfim.. Só restou explicar a ultima parte de loot, mas com tudo que ja expliquei acima, creio que você pegou uma base e isso não será necessário né? hehe, espero que esse post tenha lhe ajudado, qualquer dúvida, basta perguntar, ajudarei no que for possivel.1 ponto -
[action] Edo Tensei
[action] Edo Tensei
arthur martins reagiu a LeoTK por uma resposta no tópico
1 pontovou criar um video e postar aqui creio que ficara legal para o topico #edit em breve1 ponto -
[Aula 4] Operadores e Bibliotecas
Operadores Aritméticos e Bibliotecas Aula 4 Na aula anterior vimos como chamar funções e conhecemos as funções print e type. Nesta aula apenas vou reforçar a aula anterior ensinando as funções mais básicas e usadas que são nativas da linguagem Lua, ou seja, não são funções criadas para Open Tibia Server, e sim funções prontas que já estão incluídas na linguagem Lua, e vou ensinar também os operadores aritméticos. Vamos começar com eles. Os Operadores Aritméticos OBS: Você pode fazer seus testes no editor e interpretador Lua usando a função print para exibir os resultados. Enquanto você quiser mecher em Lua (Ou em qualquer outra linguagem de programação), você vai precisar fazer contas matemáticas, sejam elas contas simples como uma adição, ou até mesmo contas complexas, incluindo fórmulas e etc... Os operadores aritméticos funcionam exatamente como na matemática que você está acostumado na escola. Os operadores aritméticos que você provavelmente conhece (A não ser que esteja usando fraldas) são: Adição (+) Subtração (-) Multiplicação (*) Divisão (/) Você já pode começar a testá-los: print(3+2) print(3-2) print(3*2) print(3/2) O resultado será: 5 1 6 1.5 OBS: Se este não for o resultado, procure a assistência técnica pois seu sistema operacional só pode ser pirateado... Existem mais 3 operadores aritméticos que você talvez não conheça. São eles: Módulo (%) Exponencição (^) Unário (-) As Bibliotecas Vimos na aula anterior que existem vários tipos de dados, como por exemplo, strings e números. Assim como estes tipos, existem bibliotecas (Conjuntos de funções) para manipular estes tipos. Vamos conhecer as funções mais básicas das bibliotecas mais usadas. A Biblioteca Padrão: A biblioteca padrão não contém funções para manipular especificamente um tipo de dado, e sim o ambiente de programação. Suas funções mais básica, importantes e mais usadas são: Sintaxe: Modo correto de escrever o código. OBS: O que estiver entre [ e ] são argumentos opcionais, ou seja, você pode defini-los ou não. Quando houver três pontos (...) significa que você pode enviar quantos argumentos desejar. dofile(filename) Abre o arquivo e o executa como um bloco de código Lua. Otima função para carregar bibliotecas criadas em Lua. print(···) Escreve uma ou mais frases no interpretador. Ótima para fazer testes. A função suporta todos os tipos de dados. tonumber(value [, base]) Transforma um valor em número. Se não for possível converter, retorna 'nil'. tostring(value) Transforma um valor em string. type(value) Retorna o tipo de um valor. Funções de bibliotecas padrões A Biblioteca Math: A biblioteca Math serve para manipular operações aritméticas, números, etc... math.ceil(x) Retorna um valor inteiro maior que x mais próximo de x. (Em outras palavras, arredonda para cima.) math.floor(x) Retorna um valor inteiro menor que x mais próximo de x. (Em outras palavras, arredonda para baixo.) math.random([m [, n]]) Retorna um valor pseudo-randômico entre m e n baseado em uma semente (Um número que determina a sequência). math.randomseed(value) Altera a semente do pseudo-randomismo. todas as funções de biblioteca math A Biblioteca String: A biblioteca string manipula strings... string.gsub(s, pattern, repl [, n]) Procura na string 's' por valores iguais à string 'pattern' e substitui pela string 'repl'. string.len(s) Esta função retorna o tamanho da string 's'. string.lower(s) Retorna a string 's' com as letras em minúsculas. string.upper(s) Retorna a string 's' com as letras em maiúsculas. string.rep(s, n) Retorna a string 's' repetida 'n' vezes. string.reverse(s) Retorna a string 's' ao contrário. string.sub(s, i [, j]) Retorna a parte da string 's' entre as posições i e j. todas as funções da biblioteca string A Biblioteca OS: Esta biblioteca serve para pegar valores ou manipular o sistema operacional, como por exemplo, pegar a data. os.clock() Retorna o tempo de execução do script, em segundos... os.date([format [, time]]) Retorna a data baseada no formato 'format'. os.time([table]) Retorna um número correspondente à hora atual. Todas as funções biblioteca OS Vamos ver um por um: O Operador de Módulo (%): Este operador vai lhe dar o resto de uma divisão, por exemplo, o módulo de 3 por 2 é 1, pois 3 dividido por 2 dá 2 e sobra 1. print(3%2) 1 O Operador de Exponencição (^): Este operador vai lhe dar o valor de uma potência, por exemplo, a potência de 3 por 2 é 9, pois 3 elevado a 2 dá 9. print(3^2) O Operador Unário (-): Este operador vai lhe dar o inverso de um valor, por exemplo, o inverso de 3 é -3, pois 3 vezes -1 dá -3. print(-3) Prioridades Aritméticas (( e )): Existem também as prioridades aritméticas, que devem ser definidas com ( para iniciar e ) para finalizar. Por exemplo: print(3+3*3) print((3+3)*3)1 ponto
-
(Resolvido)erro 11002 ao entrar no meu server de poketibia
(Resolvido)erro 11002 ao entrar no meu server de poketibia
alissondps reagiu a Max willain por uma resposta no tópico
1 pontoJá ate sei qual seria seu problema como é você que esta colocando seu servidor online você deveria entrar com seu endereço ipv4 para você desconbrir esse ip vai no menu iniciar digita executar e neste executar digite cmd vai no cmd escreve ipconfig procura por endereço ipv4 copie esse endereço mude ip la no cliente para esse endereço e pronto você entrar pelo endereço ipv4 e seus amigos pelo ip fixo como seu e windows 8 vai no canto ali onde via pra tela inicial do windows clica com botão dereito lá tem prompt de comando ou prompt de comando (Admin) pode ser qualquer um dos dois todos dão certo :} Ajudei? Rep+1 ponto -
Npc Auction Versão 1.0 [Atualizado]
Npc Auction Versão 1.0 [Atualizado]
Vodkart reagiu a tiagololxd por uma resposta no tópico
1 pontoótimo script! como faço para ele mandar mensagem global com o anúncio? adicionei o globalevents mas não está mandando mensagem.. adicionei 2 items para testar.. e não está dando erro na distro.1 ponto -
[v32] GlobalFull 11/12 - New Asuras, Falcons, Warzones 4,5,6 . (Updates Frequentes)
[v32] GlobalFull 11/12 - New Asuras, Falcons, Warzones 4,5,6 . (Updates Frequentes)
Dragonwyrm reagiu a luanluciano93 por uma resposta no tópico
1 ponto@, sendo assim parabéns, obrigado por compartilhar, reputado!1 ponto -
Crack Ibot 2.4.0 -10.40
1 pontoai, nunca compartilhei nd, hoje estou dividindo oque achei com vc rsrs. ibot 2.4.0 crakeado http://www.ibotbrasil.com.br/ virus total esta no proprio site, mas passem seus ant virus pois nao conheço muito sobre isso.1 ponto
-
Auto-Backup Database
Auto-Backup Database
Chiitus reagiu a Natanael Beckman por uma resposta no tópico
1 pontoCAMINHO="/home/database/" <--- local onde vai ficar salvo os backups Sim, tem! com o mesmo comando você altera la: contrab -e Esse executa o script em 5 e 5 minutos: */5 * * * * sh /home/database/backup.sh Esse executa o script de 1 em 1 hora: 0 */1 * * * sh /home/database/backup.sh1 ponto -
Sistema de Reset 100%
Sistema de Reset 100%
deivaoo reagiu a xWhiteWolf por uma resposta no tópico
1 pontocoloca o npc no sever e dps vai no remeres > File > Import > Import Monsters/NPC.. daí vc vai até o seu server e procura o arquivo xml do npc que vc criou. As vezes demora pra ele aparecer na aba Creature Palette> NPCs mas eventualmente ele vai aparecer... se for o caso dá um atualizar ou refaz o processo.1 ponto -
[8.54] Nto Shinobi
1 pontoCuidado manin, o usuário foi banido! Logo você não pode fazer um pedido desse! Mais cuidado da próxima vez! Cuidado cara isso é considerado um flood! Alertado verbalmente!1 ponto
-
Item editor
1 pontoAqui está http://www.mediafire.com/?p415rs07fqv0ueo1 ponto
-
Promotion Item (MySQL)
1 pontoOlá TKbianos, Estou aqui para postar pra vocês o script do item que quando usa, ganha a promotion 2 (Caso seu server tenha 3 niveis de vocação. Exemplo : Sorcerer > Master Sorcerer > Demigod. Tag XML : <action itemid="9971" event="script" value="promoitem.lua"/> Crie um arquivo .lua dentro da pasta scripts da pasta action e nomeie para promoitem.lua e coloque isso : function onUse(cid, item, fromPosition, itemEx, toPosition) local vocation = getPlayerVocation(cid) local id = getPlayerGUID(cid) if(item.itemid == 9971) then if(isInArray({5,6,7,8,9,10,11,12}, getPlayerVocation(cid)) == TRUE) then elseif vocation == 5 then db.executeQuery("UPDATE `players` SET `vocation` = 9 WHERE `id` ='"..id.."';") elseif vocation == 6 then db.executeQuery("UPDATE `players` SET `vocation` = 10 WHERE `id` ='"..id.."';") elseif vocation == 7 then db.executeQuery("UPDATE `players` SET `vocation` = 11 WHERE `id` ='"..id.."';") elseif vocation == 8 then db.executeQuery("UPDATE `players` SET `vocation` = 12 WHERE `id` ='"..id.."';") end doSendMagicEffect(fromPosition, CCONST_ME_MAGIC_RED) doRemoveItem(item.uid, 1) doPlayerSendTextMessage(cid, 20, "You are a ".. getPlayerVocationName(cid) ..".") return true end end Espero ter ajudado ! Att. Huziwara no Mokou1 ponto
-
Taming 100% igual Global !
1 pontoOlá TKbianos, Descidi compartilhar a você o taming.lua, feito pelo Otland e explicado por mim... Bem, o que ele faz ? Simples, esse script da função a todos os itens de montaria (aqueles que servem para capturar o monstro) Então, vamos lá ! XML code : <action itemid="13295" event="script" value="other/taming.lua"/> <!-- reins --> <action itemid="13294" event="script" value="other/taming.lua"/> <!-- harness --> <action itemid="13293" event="script" value="other/taming.lua"/> <!-- leather whip --> <action itemid="13298" event="script" value="other/taming.lua"/> <!-- carrot on a stick --> <action itemid="13247" event="script" value="other/taming.lua"/> <!-- hunting horn --> <action itemid="13305" event="script" value="other/taming.lua"/> <!-- giant shrimp --> <action itemid="13291" event="script" value="other/taming.lua"/> <!-- maxilla maximus --> <action itemid="5907" event="script" value="other/taming.lua"/> <!-- slingshot --> <action itemid="13307" event="script" value="other/taming.lua"/> <!-- sweet smelling bait --> <action itemid="13292" event="script" value="other/taming.lua"/> <!-- tin key --> <action itemid="13938" event="script" value="other/taming.lua"/> <!-- golden can of oil --> <action itemid="13939" event="script" value="other/taming.lua"/> <!-- sugar oat --> <action itemid="13508" event="script" value="other/taming.lua"/> <!-- slug drug --> <action itemid="13535" event="script" value="other/taming.lua"/> <!-- fist on a stick --> <action itemid="13536" event="script" value="other/taming.lua"/> <!-- diapason --> <action itemid="13537" event="script" value="other/taming.lua"/> <!-- bag of apple slices --> <action itemid="13538" event="script" value="other/taming.lua"/> <!-- bamboo leaves --> <action itemid="13539" event="script" value="other/taming.lua"/> <!-- golden fir cone --> <action itemid="13498" event="script" value="other/taming.lua"/> <!-- scorpion sceptre --> Crie um arquivo lua chamado : taming.lua e bote dentro da pasta other e botei isso: local ACTION_RUN, ACTION_BREAK, ACTION_NONE, ACTION_ALL = 1, 2, 3, 4 local TYPE_MONSTER, TYPE_NPC, TYPE_ACTION, TYPE_UNIQUE = 1, 2, 3, 4 local config = { [5907] = {NAME = 'Bear', ID = 3, TYPE = TYPE_MONSTER, CHANCE = 20, FAIL_MSG = { {1, "The bear ran away."}, {2, "Oh no! The slingshot broke."}, {3, "The bear is trying to hit you with its claws."} }, SUCCESS_MSG = "You have tamed the bear."}, [13295] = {NAME = 'Black Sheep', ID = 4, TYPE = TYPE_MONSTER, CHANCE = 25, FAIL_MSG = { {1, "The black sheep ran away."}, {2, "Oh no! The reins were torn."}, {3, "The black sheep is trying to run away."} }, SUCCESS_MSG = "You have tamed the sheep."}, [13293] = {NAME = 'Midnight Panther', ID = 5, TYPE = TYPE_MONSTER, CHANCE = 40, FAIL_MSG = { {1, "The panther has escaped."}, {2, "The whip broke."} }, SUCCESS_MSG = "You have tamed the panther."}, [13298] = {NAME = 'Terror Bird', ID = 2, TYPE = TYPE_MONSTER, CHANCE = 15, FAIL_MSG = { {1, "The bird ran away."}, {3, "The terror bird is pecking you."} }, SUCCESS_MSG = "You have tamed the bird."}, [13247] = {NAME = 'Boar', ID = 10, TYPE = TYPE_MONSTER, CHANCE = 40, FAIL_MSG = { {1, "The boar has run away"}, {3, "The boar attacks you."} }, SUCCESS_MSG = "You have tamed the boar."}, [13305] = {NAME = 'Crustacea Gigantica', ID = 7, TYPE = TYPE_MONSTER, CHANCE = 40, FAIL_MSG = { {1, "The crustacea has run away."}, {2, "The crustacea ate the shrimp."} }, SUCCESS_MSG = "You have tamed the crustacea."}, [13291] = {NAME = 'Undead Cavebear', ID = 12, TYPE = TYPE_MONSTER, CHANCE = 40, FAIL_MSG = { {1, "The undead bear has run away."} }, SUCCESS_MSG = "You have tamed the skeleton."}, [13307] = {NAME = 'Wailing Widow', ID = 1, TYPE = TYPE_MONSTER, CHANCE = 40, FAIL_MSG = { {1, "The widow has run away."}, {2, "The widow has eaten the sweet bait."} }, SUCCESS_MSG = "You have tamed the widow."}, [13292] = {NAME = 'Tin Lizzard', ID = 8, TYPE = TYPE_NPC, CHANCE = 40, FAIL_MSG = { {2, "The key broke inside."} }, SUCCESS_MSG = "You have started the Tin Lizzard!"}, [13294] = {NAME = 'Draptor', ID = 6, TYPE = TYPE_MONSTER, CHANCE = 40, FAIL_MSG = { {1, "The draptor has run away."}, {3, "The draptor has fled."} }, SUCCESS_MSG = "You have tamed the draptor."}, [13536] = {NAME = 'Crystal Wolf', ID = 16, TYPE = TYPE_MONSTER, CHANCE = 40, FAIL_MSG = { {1, "The wolf has run away."} }, SUCCESS_MSG = "You have tamed the wolf."}, [13539] = {NAME = 'White Deer', ID = 18, TYPE = TYPE_MONSTER, CHANCE = 40, FAIL_MSG = { {2, "The cone broke."}, {3, "The deer has fled in fear."} }, SUCCESS_MSG = "You have tamed the deer."}, [13538] = {NAME = 'Panda', ID = 19, TYPE = TYPE_MONSTER, CHANCE = 40, FAIL_MSG = { {4, "Panda ate the leaves and ran away."} }, SUCCESS_MSG = "You have tamed the panda."}, [13535] = {NAME = 'Dromedary', ID = 20, TYPE = TYPE_MONSTER, CHANCE = 40, FAIL_MSG = { {1, "Dromedary has run away."} }, SUCCESS_MSG = "You have tamed the dromedary."}, [13498] = {NAME = 'Sandstone Scorpion', ID = 21, TYPE = TYPE_MONSTER, CHANCE = 40, FAIL_MSG = { {1, "The scorpion has vanished."}, {2, "Scorpion broken the sceptre."} }, SUCCESS_MSG = "You have tamed the scorpion"}, [13537] = {NAME = 'Donkey', ID = 13, TYPE = TYPE_MONSTER, CHANCE = 40, FAIL_MSG = { {1, "The witch has escaped!"} }, SUCCESS_MSG = "You have tamed the mule."}, [13938] = {NAME = 'Uniwheel', ID = 15, TYPE = TYPE_NPC, CHANCE = 40, FAIL_MSG = { {2, "The oil is having no effect."} }, SUCCESS_MSG = "You have found an Uniwheel."}, [13508] = {NAME = 'Slug', ID = 14, TYPE = TYPE_MONSTER, CHANCE = 40, FAIL_MSG = { {1, "The slug has run away."}, {3, "The drug had no effect."} }, SUCCESS_MSG = "You have tamed the slug."}, [13939] = {NAME = 'War Horse', ID = 23, TYPE = TYPE_MONSTER, CHANCE = 15, FAIL_MSG = { {1, "The horse runs away."}, {2, "The horse ate the oats."} }, SUCCESS_MSG = "You have tamed the horse."} } local function doFailAction(cid, mount, pos, item, itemEx) local action, effect = mount.FAIL_MSG[math.random(1, table.maxn(mount.FAIL_MSG))], CONST_ME_POFF if(action[1] == ACTION_RUN) then doRemoveCreature(itemEx.uid) elseif(action[1] == ACTION_BREAK) then effect = CONST_ME_BLOCKHIT doRemoveItem(item.uid, 1) elseif(action[1] == ACTION_ALL) then doRemoveCreature(itemEx.uid) doRemoveItem(item.uid, 1) end doSendMagicEffect(pos, effect) doCreatureSay(cid, action[2], TALKTYPE_MONSTER_SAY) return action end function onUse(cid, item, fromPosition, itemEx, toPosition) local mount = config[item.itemid] if(mount == nil or getPlayerMount(cid, mount.ID)) then return false end local rand = math.random(1, 100) --Monster Mount if(isMonster(itemEx.uid) and not isSummon(itemEx.uid) and mount.TYPE == TYPE_MONSTER) then if(mount.NAME == getCreatureName(itemEx.uid)) then if(rand > mount.CHANCE) then doFailAction(cid, mount, toPosition, item, itemEx) return true end doPlayerAddMount(cid, mount.ID) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, mount.SUCCESS_MSG) doCreatureSay(cid, mount.SUCCESS_MSG, TALKTYPE_MONSTER_SAY) doRemoveCreature(itemEx.uid) doSendMagicEffect(toPosition, CONST_ME_POFF) doRemoveItem(item.uid, 1) return true end --NPC Mount elseif(isNpc(itemEx.uid) and mount.TYPE == TYPE_NPC) then if(mount.NAME == getCreatureName(itemEx.uid)) then if(rand > mount.CHANCE) then doFailAction(cid, mount, toPosition, item, itemEx) return true end doPlayerAddMount(cid, mount.ID) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, mount.SUCCESS_MSG) doCreatureSay(cid, mount.SUCCESS_MSG, TALKTYPE_MONSTER_SAY) doSendMagicEffect(toPosition, CONST_ME_MAGIC_GREEN) doRemoveItem(item.uid, 1) return true end --Action Mount elseif(itemEx.actionid > 0 and mount.TYPE == TYPE_ACTION) then if(mount.NAME == itemEx.actionid) then if(rand > mount.CHANCE) then doFailAction(cid, mount, toPosition, item, itemEx) return true end doPlayerAddMount(cid, mount.ID) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, mount.SUCCESS_MSG) doCreatureSay(cid, mount.SUCCESS_MSG, TALKTYPE_MONSTER_SAY) doSendMagicEffect(toPosition, CONST_ME_MAGIC_GREEN) doRemoveItem(item.uid, 1) return true end --Unique Mount elseif(itemEx.uid <= 65535 and mount.TYPE == TYPE_UNIQUE) then if(mount.NAME == itemEx.uid) then if(rand > mount.CHANCE) then doFailAction(cid, mount, toPosition, item, itemEx) return true end doPlayerAddMount(cid, mount.ID) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, mount.SUCCESS_MSG) doCreatureSay(cid, mount.SUCCESS_MSG, TALKTYPE_MONSTER_SAY) doSendMagicEffect(toPosition, CONST_ME_MAGIC_GREEN) doRemoveItem(item.uid, 1) return true end end return false end Explicando : [5907] = {NAME = 'Bear', ID = 3, TYPE = TYPE_MONSTER, CHANCE = 20, FAIL_MSG = { {1, "The bear ran away."}, {2, "Oh no! The slingshot broke."}, {3, "The bear is trying to hit you with its claws."} }, SUCCESS_MSG = "You have tamed the bear."}, 5907 = Item que precisa ser usado ! Name = O alvo (Nesse alvo é que você ira usar o item). ID = Id da mount, isso é configurado no mount.xml. TYPE = os tipos são : TYPE_MONSTER, TYPE_NPC (Existem 2 mounts que são feitos por esse tipo),TYPE_ACTION, TYPE_UNIQUE. Chance = A chance de conseguir em %. FAIL_MSG = Aqui você pode botar diversas mensagens com diversas de diversas funções... Exemplo : {1, "O urso correu pra longe."} Nesse caso, aquele 1 significa que o monstro fugiu, e então a mensagem você pode mudar, mas você tambem pode adicionar o tipo 2, o tipo 2 funciona como se o item tivesse quebrado... {2, "O urso comeu a banana."}, o tipo 3 é que nada acontece ... {3, "O urso latiu pra você."} e o tipo 4, é aonde o player se fode todo onde tudo acontece e nada a favor do player {4, "O urso comeu a banana e saiu correndo."} SUCCESS_MSG = É a mensagem de sucesso, exemplo : "Você capturo o urso mais estranho do mundo." Ajudei ? não precisa de rep +, apenas comente ! Att. Huziwara no Mokou1 ponto
-
[Resolvido] [Pedido] Magias Que Mostrao O Nome !
Um exemplo da nossa amiga skydangerous : local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_BLUE) setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, false) local condition = createConditionObject(CONDITION_MANASHIELD) setConditionParam(condition, CONDITION_PARAM_TICKS, 200000) setCombatCondition(combat, condition) function onCastSpell(cid, var) doCreatureSay(cid, "Utamo Vita \" Magic Shield") return doCombat(cid, combat, var) end Att. Huziwara no Mokou1 ponto
-
[New] Monstros Com Pk Red Ou Black Ou Yellow !
Para complementar, tambem existe isso nos TFS 0.4 só que para emblemas de guild war ... Só adicionar isso : <flag emblem="1"/> -- Nesse caso seria o emblem verde ! ( se eu não me engano) <flag emblem="2"/> -- Nesse caso seria o emblem vermelho ! <flag emblem="3"/> -- Nesse caso seria o emblem azul ! ( se eu não me engano) @raell5 Parabéns, é um bom destaque para mostrar que o monstro é forte e editado ! Levou meu REP+ Att. Huziwara no Mokou1 ponto
-
[Resolvido] [PEDIDO] Efeito Nas Armas De Ataque !
Aqui está : local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE) setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_YALAHARIGHOST) setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_SNOWBALL) setCombatFormula(combat, COMBAT_FORMULA_SKILL, 1, 0, 1, 0) function onGetFormulaValues(cid, level) local danoporlevel = 5 local min = -((level*danoporlevel)-500) local max = -((level*danoporlevel)+2000) return min, max end setCombatCallback(combat, CALLBACK_PARAM_SKILLVALUE, "onGetFormulaValues") function onUseWeapon(cid, var) return doCombat(cid, combat, var) end Só subistituir pelo o que eu te passei lá ! Espero ter ajudado ! Att. Huziwara no Mokou1 ponto
-
[Resolvido] Exp quando morre
[Resolvido] Exp quando morre
Jeff Delay reagiu a Huziwara por uma resposta no tópico
1 pontoVocê quer isso para todos os levels, ou apartir de 1 level ? Se for para todos os levels, é só você diminuir no config.lua : deathLostPercent = 10 Quando o player morre, ele perde 10% de toda exp que ele tem... Dai é só você diminuir, espero ter ajudado ! Att. Huziwara no Mokou1 ponto -
(Resolvido) [PEDIDO] Item que da promotion
(Resolvido) [PEDIDO] Item que da promotion
samuel.show reagiu a Huziwara por uma resposta no tópico
1 pontoHá, desculpe-me, esqueci de por um "end" no final. function onUse(cid, item, fromPosition, itemEx, toPosition) if(item.itemid == 9971) then local id = getPlayerGUID(cid) db.executeQuery("UPDATE `players` SET `promotion` = 2 WHERE `id` ='"..id.."';") doSendMagicEffect(fromPosition, CCONST_ME_MAGIC_RED) doRemoveItem(item.uid, 1) return true end end Se não funcionar tente mais uma vez com esse : function onUse(cid, item, fromPosition, itemEx, toPosition) local vocation = getPlayerVocation(cid) local id = getPlayerGUID(cid) if(item.itemid == 9971) then if(isInArray({5,6,7,8,9,10,11,12}, getPlayerVocation(cid)) == TRUE) then elseif vocation == 5 then db.executeQuery("UPDATE `players` SET `vocation` = 9, `promotion` = 2 WHERE `id` ='"..id.."';") elseif vocation == 6 then db.executeQuery("UPDATE `players` SET `vocation` = 10, `promotion` = 2 WHERE `id` ='"..id.."';") elseif vocation == 7 then db.executeQuery("UPDATE `players` SET `vocation` = 11, `promotion` = 2 WHERE `id` ='"..id.."';") elseif vocation == 8 then db.executeQuery("UPDATE `players` SET `vocation` = 12, `promotion` = 2 WHERE `id` ='"..id.."';") end doSendMagicEffect(fromPosition, CCONST_ME_MAGIC_RED) doRemoveItem(item.uid, 1) return true end end Espero ter ajudado ! Att. Huziwara no Mokou1 ponto -
Peça seu mapa II
1 pontoOlá TKbianos, Estou aqui sem o que fazer, e então descidir mappear em função de algo, e essa função é ajudar vocês. Sei quem já tem um tópico chamado "Peça seu mapa" e o ator é um grande membro do TK, ele é o :GuuhTorres ... Não sei se poderei continuar com o tópico, se não poder peço desculpas e fechem esse tópico, pois então... vamos lá ! Regras, apenas 2 : » Aqueles que queiram ajudar, mande o mapa diretamente pra mim, que eu postarei as fotos com os créditos do proprio. » Não aceitarei o download do mapa em público ! Formulário : » Estilo do mapa : (Loja, Sala de quest, Templo, Caverna, Torre, Castelo, Aquatico, Montanha, Depot...) » Elemento do mapa : (Nature, Floresta, Fogo, Neve, Terra, Undead, Mistico, Sagrado...) pode misturar » Tamanhos : (-50x50, pequeno, médio, random) - Random é do tamanho que eu acharei melhor » Andar : ( Ilimitado ) Escolha em qual andar começara : vai de -7 até 7, OBS : 0 = terreo ! » Observações : ( Quer que eu faça de tal forma ? explique !) Prazo de entrega : 3 dias uteis, caso não sejá entregue, entregaremos seu dinheiro de volta mande uma mensagem falando que eu esqueci e etc... Att. Huziwara no Mokou1 ponto