Líderes
-
-
Emersonssss
MembroPontos205Total de itens -
-
luanluciano93
HéroiPontos5980Total de itens
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 02/27/15 em todas áreas
-
[C++] Block Fast Anti-Push
[C++] Block Fast Anti-Push
Calidoress e 2 outros reagiu a Emersonssss por uma resposta no tópico
3 pontosEae Galera faz tempo que não posto nada...Tentei postar na área certa mais o button ta desabilitado, então segue aqui mesmo, mover para area de programaçao depois... Simples esse code em c++ bloqueia movimentos muito rapidos (BOT), assim evita qualquer tipo de bug. Sem mais... em Game.cpp Procure por : if(!canThrowObjectTo(mapFromPos, mapToPos) && !player->hasCustomFlag(PlayerCustomFlag_CanThrowAnywhere)) { player->sendCancelMessage(RET_CANNOTTHROW); return false; } Abaixo Adicione : f (player->hasCondition(CONDITION_EXHAUST, EXHAUST_MOVE_ITEMS)){ player->sendTextMessage(MSG_STATUS_SMALL, "You cannot move this object.\nAnti-Push prevention."); return false; } player->addExhaust(500, EXHAUST_MOVE_ITEMS); Tempo do exaust = player->addExhaust(500, EXHAUST_MOVE_ITEMS); Simples rapido e facil Créditos: Desconhecido / Edição & Aperfeiçoamento: Emerson Henrique3 pontos -
[8.54] Pokémon Paraíso V1
[8.54] Pokémon Paraíso V1
opacalaj e um outro reagiu a GOD Vitor por uma resposta no tópico
2 pontosEdições Pokémons Megas Adicionados:Mega Gengar,Mega Charizard X,Mega Charizard Y,Mega Alakazam,Mega Lucario,Mega Blaziken,Mega Tyranitar e Mega Blastoise Obs:se faltou algum desculpe-me Pokémons Ultras adicionados:Ultra Alakazam,Ultra Gengar,Ultra Lucario e Ultra Blastoise Obs: se faltou algum desculpe-me Pokémons Shinys Adicionados:Shiny Roserade e Shiny Aggron. Obs: se faltou algum desculpe-me Pokémons Normais adicionados: Abomasnow Obs: se faltou algum desculpe-me Outfits adicionadas:Outfit do beaver(ot pokémon),Bike male e female igual do ot pokémon,Jogador e Jogadora(igual do otpokémon). •NPCs adicionados: Key Seller (vendedor de chaves que abrem a porta de algumas quests...), Cpt. Ezra e Cpt. Cloud (Teleportam o player para o continente hoen ou kanto), Npc Biker (Npc de duel que te da uma bike se vc vence-lo), Npc Champion Lance (Npc de Duel que se vencê-lo você ganha um darkrai). •Master Ball Adicionada com Catch 100% •Adicionado Comando "!save" que salva o player. •Adicionado Comando "!buyvip" que deixa o jogador vip por 30 Diamonds. •Adicionado Shiny Stone e Boost Stone •Adicionado Tournament PvP Event (ocorre as 15:00, so falar com o npc torneio) •Adicionado Novos Ataques •Retirada Loteria Créditos: •Slicer •tibiaking - Tibiaking por alguns scripts. •Wolf Admin •eu,por adicionar alguns pokémons e editar o mapa. Erros do servidor: Master ball:quando usa a master ball em alguns pokémons shinys,da crash no servidor e não captura o pokémon. Mewtwo: quando o mewtwo usa um ataque(não sei qual ataque é),da debug. CB:Alguns pokémons quando vai fazer eles no /cb,da debug. /m: quando usar o /m,alguns pokémon da debug exemplo:/m mewtwo. Prints: Downloads: Servidor:http://www.mediafire.com/download/hmj4zbs5jzbj2qd/Servidor+Pok%C3%A9mon+Paraiso--By+Dungeon+Man+13.rar Old cliente:http://www.4shared.com/zip/_rP87GScce/Cliente_PKP.html Me desculpem,não deu tempo postar o scan,se alguem poder fazer e postar aqui,ficarei muito agradecido! Em breve nova versão! Me desculpem,pela desorganização ainda estou aprendendo a lhe dar com tópico. Se gostou da rep+ ae,não custa nada : Conta do adm:yureot/995246822xz2 pontos -
Liberando espaço de sprites no old client
Liberando espaço de sprites no old client
miguelshtaek1 e um outro reagiu a GabrielSapient por uma resposta no tópico
2 pontosConsegui liberar mais de 15 mil sprites usando essa ferramenta no Object Builder. 1. Baixe o Object Builder na seção: GitHub Latest commits compiled Latest commits Lembrando que necessário o Adobe Air para rodar qualquer versão do Object Builder. 2. Siga: 2.1: Abra suas sprites por ele; OBS: Faça um backup de suas sprites antes, este programa ainda está em beta, mas comigo foi certinho. 2.2: Tools> Sprites Optimizer: 2.3: Deixe desse jeito para melhor resultado, e clique em Start: 2.4: Veja o resultado: 3. Créditos: Eu - pelo tutorial; Nailson - Por ser o criador do object builder, e contribuições de: https://github.com/Mignari/ObjectBuilder/graphs/contributors.2 pontos -
Stians Repack Dev-Cpp
Stians Repack Dev-Cpp
juliojr e um outro reagiu a luanluciano93 por uma resposta no tópico
2 pontosOlá pessoal, como vejo muita gente pedindo e muitos links quebrados, aqui está o compilador dev-cpp editado pelo Stian. • Stian Repack Dev-Cpp [scan] • Stian Repack Dev-Cpp 0.2 - 64bits [scan] Qualquer dúvida postem ai.2 pontos -
[Poketibia] Remakes PxG
[Poketibia] Remakes PxG
mauroala e um outro reagiu a Ricardo Monteiro por uma resposta no tópico
2 pontosFala galera do TK, vou estar trazendo pra vocês algumas sprites retiradas da PxG... Nao sei ao certo se já tem elas rodando por ai, mas emfim, irei atualizando o topico com a medida que for retirando mais remakes.. Conteúdo: -- Bronzong + Passiva. [sem Corpse] -- Lapras + Surf + Corpse. -- Steelix + Iron + Ride + Corpse. Download (OBD): [Requer Object Builder] Remakes.rar Scan: Clicando aki. Erros de versão não suportada: Utilize este Object Builder 0.4 (Fonte: GitHub do projeto object builder) Se mesmo assim você não conseguir, já atualizei o tópico com a versão 8.54 v1. --Creditos: PxG, eu por ripa-los. -------------------------------------- Gostou? Dá um Rep+, não vai cair a mão.2 pontos -
(Resolvido)[Pedido] Item "x" para abrir o bau
(Resolvido)[Pedido] Item "x" para abrir o bau
Kamii e um outro reagiu a Caronte por uma resposta no tópico
2 pontosfunction onUse(cid, item, frompos, itemEx, topos) local config = { count = 1, item = 2160, award = 2161, countaward = 1, } if getPlayerItemCount(cid,config.item) >= count then doPlayerRemoveItem(cid,config.item,config.count) doPlayerAddItem(cid,award,config.countaward) else doPlayerSendCancel(cid,"you need "..config.count.." "..getItemNameById(config.item).." to pick your award." ) end return true end2 pontos -
[8.54] Servidor + Client Naruto B&W [EXCLUSIVO]
OLÁ USUARIOS DO TIBIA KING .. HOJE ESTAREI TRAZENDO UMA NOVIDADE .. O SERVIDOR DE NTO EXCLUSIVO DO NTO BLACK & WHITE(AKELE OT NOVO QUE FOI CRIADO A 1 MES POR E MIN E POR O [ADM] Johnatan). VALE LEMBRAR QUE O NTO BLACK WHITE FOI UM DOS SERVIDORES DE NARUTIBIA QUE MAIS CRESCEU NOS ULTIMOS TEMPOS .. EM APENAS 1 SEMANA DE NTO JÁ ATINGIMOS A META DE 70 ~ 80 USUARIOS ONLINE FIXOS DIARIOS, E ESSE É O SERVIDOR MAIS RECENTE DO NTO BLACK WHITE BASEADO NO DO SERVIDOR MADARA RINNEGAN EDITADO POR MIN E POR O JOHNATA. ANTES DE MAIS NADA GOSTARIA DE EXPLICAR O MOTIVO DE TAR POSTANDO O SERVER .. BEM O JOHNATAN ERA QUEM FAZIA PRATICAMENTE TUDO NAS ATUALIZAÇÕES E TAALS .. POREM ELE PAROU COM NTO AI TIVE QUE DESMONTAR O NTO B&W PORQUE EU NÃO TINHA CONDIÇÕES PRA DAR CONTA DO NTO SOZINHO. CHEGA DE BLABLA E VAMOS LÁ!! [+] NOVIDADES & CARACTERISTICAS [+] ERROS E BUGS [+] PRINTS DO SERVER [+] DOWNLOAD [+] CREDITOS [+] NOVIDADES & CARACTERISTICAS [+] ERROS E BUGS [+] PRINTS DO SERVER [+] Downloads Servidor Naruto B&W: Clique Aqui Client(descompilado): Clique Aqui [+] Creditos - Madara Rinnegan (servidor base) - [ADM] Johnata Editar Praticamente Todo o Servidor - Eu Por umas Besteiras q eu Coloquei e Por Postar GOSTOU DO SERVIDOR? DA UM REP++1 ponto
-
Compilando TFS 1.3 com vídeo-aula
Compilando TFS 1.3 com vídeo-aula
Capitao wyz reagiu a Bruno Minervino por uma resposta no tópico
1 pontoCompilando TFS 1.3 no Windows 1. Baixe os softwares requeridos Para compilar o The Forgotten Server no Windows, você vai precisar: Visual Studio 2015 (Compilador) TFS SDK v3.2 (libs) Libs do Boost C++ (32-bits, 64-bits) 2. Instale os softwares requeridos Após ter baixado os softwares listados na etapa acima, comece instalando o Visual Studio e Boost C++. Extraia o TFS SDK v3.2 em qualquer pasta do seu computador e execute o arquivo "register_tfssdk_env.bat" para setar a variável de ambiente do local onde está o TFS SDK, assim nosso compilador irá encontrar as libs quando começar a compilar. Mova o arquivo "register_boost_env.bat" da pasta do TFS SDK para a pasta onde você instalou as libs do Boost C++ e execute-o (se você seguiu os passos do instalador, está esta na pasta chamada boost_1_62_0). 3. Baixe as sources Se você possuir o Git Client instalado, você poderá clonar a última cópia com este comando: > git clone https://github.com/otland/forgottenserver.git Se você não possuir o Git Client instalado, você poderá baixar a última cópia do The Forgotten Server através do link: https://github.com/otland/forgottenserver/archive/master.zip 4. Compilando Procure o diretório vc14 na pasta do The Forgotten Server que você baixou, e abra o arquivo "theforgottenserver.sln". Isso deverá iniciar o Visual Studio 2015 e você estará pronto para continuar. Para configurar a compilação, navegue para Build -> Configuration Manager no menu superior. Um popup deverá aparecer onde você poderá escolher entre "Release" ou "Debug" para compilar, escolha também para qual Plataforma você irá compilar: 32-bits (Win32) ou 64-bits (x64). Para iniciar a compilação, abra o menu Build novamente e clique em Build Solution (Ctrl + Shift + B). 5. Vídeo-aula https://www.youtube.com/watch?v=Zfil84FMJsk 6. Créditos Mark - Autor do tutorial e do projeto The Forgotten Server Bruno Minervino - Tradução e gravação do vídeo1 ponto -
Pagseguro Automatico Modern AAC
Pagseguro Automatico Modern AAC
NovojR reagiu a MarcosFraga por uma resposta no tópico
1 pontoCrie um arquivo.php na pasta: xammp/htdocs/sytem/pages com o nome de pagseguro.php <?php global $config; require("config.php"); $ots = POT::getInstance(); $ots->connect(POT::DB_MYSQL, connection()); $SQL = $ots->getDBHandle(); $ide = new IDE; $ide->requireLogin(); if($ide->isLogged()){ $accountName = $_SESSION['name']; //$SQL->query('SELECT * FROM accounts WHERE name="'.$accountName.'"')->fetch(); ?> <form target="pagseguro" method="post" action="https://pagseguro.uol.com.br/checkout/checkout.jhtml"> <input type="hidden" name="email_cobranca" value="<?php echo $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="<?php echo $config['pagseguro']['produtoNome']; ?>"> <input type="hidden" name="item_valor_1" value="<?php echo $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="<?php echo $accountName; ?>"> <table border="0" cellpadding="4" cellspacing="1" width="100%" id="#estilo"><tbody> <tr> <th colspan="2">Escolha a quantidade de pontos que deseja comprar:</th> </tr> <tr> <td width="25%">Sua conta:</td> <td><strong><?php echo $accountName; ?></strong></td> </tr> <tr> <td width="25%">Pontos:</td> <td> <input name="item_quant_1" type="text" value="1" 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><p style="text-align: right; font-size: 10px">created by <a href="http://otland.net/members/tatu+hunter/" target="_blank">tatu hunter</a></p><?php } ?> Agora vá em htdocs e abra o arquivo config.php: la em baixo antes do "?>" você adiciona: // Sistema automatico Pagseguro by tatu_hunter // Seu email cadastrado no pagseguro $config['pagseguro']['email'] = '[email protected]<script cf-hash='f9e31' type="text/javascript"> /* */</script>'; [b]-- seu email pagseguro--[/b] // Nome do Produto $config['pagseguro']['produtoNome'] = 'Pontos VIP'; // Valor unitario do produto ou seja valor de cada ponto // Exemplo de valores // 100 = R$ 1,00 // 235 = R$ 2,35 // 4254 = R$ 42,54 $config['pagseguro']['produtoValor'] = '100'; // Token gerado no painel do pagseguro [b]--token você pega após confirmar que tem mais de 18 anos para receber as donations--[/b] $config['pagseguro']['token'] = 'EFEB3B4CA8914CB3963C3695A6947965'; Agora crie na pasta htdocs um arquivo chamado retPagseguro.php e cole: <?php // Arquivo de configuracao do Modern AAC include('config.php'); // Aqui vai seu Token define('TOKEN', $config['pagseguro']['token']); // Incluindo o arquivo da biblioteca include('retorno.php'); // Função que captura os dados do retorno function retorno_automatico ( $VendedorEmail, $TransacaoID, $Referencia, $TipoFrete, $ValorFrete, $Anotacao, $DataTransacao, $TipoPagamento, $StatusTransacao, $CliNome, $CliEmail, $CliEndereco, $CliNumero, $CliComplemento, $CliBairro, $CliCidade, $CliEstado, $CliCEP, $CliTelefone, $produtos, $NumItens) { global $config; if(strtolower($StatusTransacao) == 'aprovado') { require("system/application/libraries/POT/OTS.php"); $ots = POT::getInstance(); $ots->connect(POT::DB_MYSQL, array('host' => $config['database']['host'], 'user' => $config['database']['login'], 'password' => $config['database']['password'], 'database' => $config['database']['database'])); $SQL = $ots->getDBHandle(); $account_logged = $ots->createObject('Account'); $account_logged->find($Referencia); if($account_logged->isLoaded()) { $pontos = $account_logged->getCustomField("premium_points"); $account_logged->setCustomField("premium_points", $pontos + $produtos[0]['ProdQuantidade']); $nome = $Referencia.'-'.date('d-m-Y',$_SERVER['REQUEST_TIME']).'.txt'; if(file_exists('logsPagseguro/'.$nome)) $nome = $Referencia.'-2-'.date('d-m-Y',$_SERVER['REQUEST_TIME']).'.txt'; $arquivo = fopen('logsPagseguro/'.$nome, "w+"); $dados = "Conta: ".$Referencia."\n"; $dados = "Email: ".$CliEmail."\n"; $dados .= "Total de Points: ".$produtos[0]['ProdQuantidade']."\n"; $dados .= "Hora da Transação: ". date('d-m-Y H:i:s', $_SERVER['REQUEST_TIME']).""; fwrite($arquivo, $dados); fclose($arquivo); } } } // A partir daqui, é só HTML: ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Estamos verificando seu pagamento</title> </head> <body> <h1>Pedido em processamento</h1> <p>Recebemos seu pedido e estamos aguardando pela confirmação do pagamento. Obrigado por ajudar.</p> </body> </html> Depois ainda na pasta htdocs você cria uma pasta com o nome de logsPagseguro nela ficarão salvos todos os pagamentos completados. E para que o pagamento apareça nessa pasta você tem que configurar no site do pagseguro a url de retorno: Logue em sua conta no Pagseguro Vá em: Preferências -> Retorno automático de dados Procure 'Ative a URL de retorno', coloque Ativar. e depois em URL de Retorno coloque a página que va para o retpagseguro.php do seu site: http://www.seuservidor.com/retPagseguro.php *Mais abaixo encontrara o botão "GERAR" para criar seu Token usado como encriptação pessoal para o seu sistema. Cria outra página com o nome de Retorno.php <?php if (!defined('TOKEN')) define ('TOKEN', ''); /** * RetornoPagSeguro * * Classe de manipulação para o retorno do post do pagseguro * * @package PagSeguro */ class RetornoPagSeguro { /** * _preparaDados * * Prepara os dados vindos do post e converte-os para url, adicionando * o token do usuario quando necessario. * * @internal é usado pela {@see RetornoPAgSeguro::verifica} para gerar os, * dados que serão enviados pelo PagSeguro * * @access private * * @param array $post Array contendo os posts do pagseguro * @param bool $confirmacao Controlando a adicao do token no post * @return string */ function _preparaDados($post, $confirmacao=true) { if ('array' !== gettype($post)) $post=array(); if ($confirmacao) { $post['Comando'] = 'validar'; $post['Token'] = TOKEN; } $retorno=array(); foreach ($post as $key=>$value){ if('string'!==gettype($value)) $post[$key]=''; $value=urlencode(stripslashes($value)); $retorno[]="{$key}={$value}"; } return implode('&', $retorno); } /** * _tipoEnvio * * Checa qual será a conexao de acordo com a versao do PHP * preferencialmente em CURL ou via socket * * em CURL o retorno será: * <code> array ('curl','https://pagseguro.uol.com.br/Security/NPI/Default.aspx') </code> * já em socket o retorno será: * <code> array ('fsocket', '/Security/NPI/Default.aspx', $objeto-de-conexao) </code> * se não encontrar nenhum nem outro: * <code> array ('','') </code> * * @access private * @global string $_retPagSeguroErrNo Numero de erro do pagseguro * @global string $_retPagSeguroErrStr Texto descritivo do erro do pagseguro * @return array Array com as configurações * */ function _tipoEnvio() { //Prefira utilizar a função CURL do PHP //Leia mais sobre CURL em: http://us3.php.net/curl global $_retPagSeguroErrNo, $_retPagSeguroErrStr; if (function_exists('curl_exec')) return array('curl', 'https://pagseguro.uol.com.br/Security/NPI/Default.aspx'); elseif ((PHP_VERSION >= 4.3) && ($fp = @fsockopen('ssl://pagseguro.uol.com.br', 443, $_retPagSeguroErrNo, $_retPagSeguroErrStr, 30))) return array('fsocket', '/Security/NPI/Default.aspx', $fp); elseif ($fp = @fsockopen('pagseguro.uol.com.br', 80, $_retPagSeguroErrNo, $_retPagSeguroErrStr, 30)) return array('fsocket', '/Security/NPI/Default.aspx', $fp); return array ('', ''); } /** * not_null * * Extraido de OScommerce 2.2 com base no original do pagseguro, * Checa se o valor e nulo * * @access public * * @param mixed $value Variável a ser checada se é nula * @return bool */ function not_null($value) { if (is_array($value)) { if (sizeof($value) > 0) { return true; } else { return false; } } else { if (($value != '') && (strtolower($value) != 'null') && (strlen(trim($value)) > 0)) { return true; } else { return false; } } } /** * verifica * * Verifica o tipo de conexão aberta e envia os dados vindos * do post * * @access public * * @use RetornoPagSeguro::_tipoenvio() * @global string $_retPagSeguroErrNo Numero de erro do pagseguro * @global string $_retPagSeguroErrStr Texto descritivo do erro do pagseguro * @param array $post Array contendo os posts do pagseguro * @param bool $tipoEnvio (opcional) Verifica o tipo de envio do post * @return bool */ function verifica($post, $tipoEnvio=false) { global $_retPagSeguroErrNo, $_retPagSeguroErrStr; if ('array' !== gettype($tipoEnvio)) $tipoEnvio = RetornoPagSeguro::_tipoEnvio(); $spost=RetornoPagSeguro::_preparaDados($post); if (!in_array($tipoEnvio[0], array('curl', 'fsocket'))) return false; $confirma = false; if ($tipoEnvio[0] === 'curl') { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $tipoEnvio[1]); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $spost); 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); $resp = curl_exec($ch); if (!RetornoPagSeguro::not_null($resp)) { curl_setopt($ch, CURLOPT_URL, $tipoEnvio[1]); $resp = curl_exec($ch); } curl_close($ch); $confirma = (strcmp ($resp, 'VERIFICADO') == 0); } elseif ($tipoEnvio[0] === 'fsocket') { if (!$tipoEnvio[2]) { die ("{$_retPagSeguroErrStr} ($_retPagSeguroErrNo)"); } else { $cabecalho = "POST {$tipoEnvio[1]} HTTP/1.0\r\n"; $cabecalho .= "Content-Type: application/x-www-form-urlencoded\r\n"; $cabecalho .= "Content-Length: " . strlen($spost) . "\r\n\r\n"; $resp = ''; fwrite ($tipoEnvio[2], "{$cabecalho}{$spost}"); while (!feof($tipoEnvio[2])) { $resp = fgets ($tipoEnvio[2], 1024); if (strcmp ($resp, 'VERIFICADO') == 0) { $confirma = (strcmp ($resp, 'VERIFICADO') == 0); $confirma=true; break; } } fclose ($tipoEnvio[2]); } } if ($confirma && function_exists('retorno_automatico')) { $itens = array ( 'VendedorEmail', 'TransacaoID', 'Referencia', 'TipoFrete', 'ValorFrete', 'Anotacao', 'DataTransacao', 'TipoPagamento', 'StatusTransacao', 'CliNome', 'CliEmail', 'CliEndereco', 'CliNumero', 'CliComplemento', 'CliBairro', 'CliCidade', 'CliEstado', 'CliCEP', 'CliTelefone', 'NumItens', ); foreach ($itens as $item) { if (!isset($post[$item])) $post[$item] = ''; if ($item=='ValorFrete') $post[$item] = str_replace(',', '.', $post[$item]); } $produtos = array (); for ($i=1;isset($post["ProdID_{$i}"]);$i++) { $produtos[] = array ( 'ProdID' => $post["ProdID_{$i}"], 'ProdDescricao' => $post["ProdDescricao_{$i}"], 'ProdValor' => (double) (str_replace(',', '.', $post["ProdValor_{$i}"])), 'ProdQuantidade' => $post["ProdQuantidade_{$i}"], 'ProdFrete' => (double) (str_replace(',', '.', $post["ProdFrete_{$i}"])), 'ProdExtras' => (double) (str_replace(',', '.', $post["ProdExtras_{$i}"])), ); } retorno_automatico ( $post['VendedorEmail'], $post['TransacaoID'], $post['Referencia'], $post['TipoFrete'], $post['ValorFrete'], $post['Anotacao'], $post['DataTransacao'], $post['TipoPagamento'], $post['StatusTransacao'], $post['CliNome'], $post['CliEmail'], $post['CliEndereco'], $post['CliNumero'], $post['CliComplemento'], $post['CliBairro'], $post['CliCidade'], $post['CliEstado'], $post['CliCEP'], $post['CliTelefone'], $produtos, $post['NumItens'] ); } return $confirma; } } if ($_POST) { RetornoPagSeguro::verifica($_POST); die(); } ?> Tenha certeza de que na sua database tenha a tabela_accounts premium_points se não tiver crie: Logue no seu phpmyadmin va na sua database "forgottenserver por exemplo" depois vai em SQL e digite : ALTER TABLE `accounts` ADD `premium_points` INT NOT NULL De executar e pronto. Creditos: 99,99% Tatu Hunter 0,1% Eu por traduzir e trazer pra cá. Duvidas só mandar.1 ponto -
[TFS 1.x] Anunciar quem morreu e quem matou
[TFS 1.x] Anunciar quem morreu e quem matou
Reds reagiu a luanluciano93 por uma resposta no tópico
1 pontoOlá pessoal, esse script funciona quando algum player morre para outro player, assim aparecendo uma mensagem para todos do servidor falando quem morreu e quem matou. Procure o arquivo creaturescripts/scripts/playerdeath.lua e adicione o seguinte código antes do último end: if killer:isPlayer() then Game.broadcastMessage(player:getName().."["..player:getLevel().."] acabou de ser morto pelo jogador "..killer:getName().."["..killer:getLevel().."].", MESSAGE_STATUS_DEFAULT) end Pronto, finalizado! Só isso? Sim, script simples e divertido, qualquer dúvida poste aqui.1 ponto -
[TUTORIAL] Resolvendo qualquer erro na data base
Opa, galerinha do TK, pro meu primeiro tutorial resolvi fazer uma solução de um problema que desde que cheguei no TK, vejo que ocorre com uma certa frequência. Os erros da data base. Neste tutorial vou ensinar a resolver os erros do tipo No such table, Insert into, No such column, ... has no column named... etc. 1°) NO SUCH TABLE Bom, para o erro No such table, basta vc visualizar qual table está faltando. Para isso basta ler o erro na distro: No caso da imagem, está faltando a table: player_statements Para resolver este e qualquer outro problema deste tipo, caso sua data base seja sqlite, basta abrir sua data base pelo Sqlite Studio(download: http://sqlitestudio.pl/?act=download) e clicar em Open SQL query editor: Mas caso sua data base seja Mysql abra pelo phpMyadmin, ou por outro editor de sua preferencia. 1.1°) EXECUTANDO OS COMANDOS PARA RESOLVER O PROBLEMA Bom, dependendo da table que estiver faltando, vc irá colocar seu respectivo comando, segue abaixo TODOS os comandos básicos necessários para que sua data base fique Ok! : (VC VAI PEGAR O COMANDO REFERENTE À TABLE QUE VC QUER!!!) account_viplist Sqlite accounts Sqlite bans Sqlite environment_killers Sqlite global_storage Sqlite guild_invites Sqlite guild_kills Sqlite guild_ranks Sqlite guild_wars Sqlite guilds Sqlite house_auctions Sqlite house_data Sqlite house_lists Sqlite houses Sqlite killers Sqlite market_history Sqlite market_offers Sqlite player_deaths Sqlite player_depotitems Sqlite player_inboxitems Sqlite player_items Sqlite player_killers Sqlite player_namelocks Sqlite player_skills Sqlite player_spells Sqlite player_statements Sqlite player_storage Sqlite player_viplist Sqlite players Sqlite server_config Sqlite server_motd Sqlite server_record Sqlite server_reports Sqlite tile_items Sqlite tile_store Sqlite tiles Sqlite announcements Sqlite pagsegurotransacoes Sqlite player_advances Sqlite reports Sqlite thanks Sqlite z_bug_logs Sqlite z_featured_article Sqlite z_forum Sqlite z_helpdesk Sqlite z_monsters Sqlite z_network_box Sqlite z_news_tickers Sqlite z_ots_comunication Sqlite z_polls Sqlite z_polls_answers Sqlite z_poll_votes Sqlite z_shop_history_item Sqlite z_shop_history_pacc Sqlite z_shop_offer Sqlite z_spells Sqlite z_news_big Sqlite 2°) No such column / "NOME DA TABLE" has no column named "NOME DA COLUMN QUE FALTA" / Insert into Bom, para resolver esse problema vc deve identificar em qual TABLE está essa coluna que falta. Para isso, basta ler o erro como na imagem: No caso da imagem, está faltando a column WORLD_ID dentro da table MARKET_OFFERS. Para resolver, vc deve executar excluir a sua table MARKET_OFFERS existante em sua data base, e em seguida, executar o domando da da market_offers, encontrado acima, logicamente isso só se aplica ao caso da imagem, depende do seu caso, vc deve excutar o comando da table que estiver sendo referida no erro. Mas antes de executá-lo vc deve excluir a sua table EXISTENTE, para então executar o comando. ESTA FORMA DE RESOLUÇÃO SE APLICA AOS TRÊS CASOS: NO SUCH COLUMN, ...HAS NO COLUMN NAMED... e INSERT INTO. Bom galera, é isso. SE ENCONTRAREM, OU SE DEPARAREM COM ALGUM ERRO, BASTA ME PEDIR AJUDA QUE EU DAREI TOTAL SUPORTE PARA VOCÊS! SE ESTIVR FALTANDO MAIS ALGUMA TABLE QUE EU NÃO COLOQUEI AQUI, PF ME INFORMEM E EU ATUALIZAREI O TÓPICO!!! Lembrem-se, se eu te ajudei, por favor, deem REP++ pois foi meio trabolhoso fazer este tutorial todo... ESTOU A DISPOSIÇÃO DE TODOS! Tanto por PM quanto por SKYPE, e até mesmo por aqui, pois vou checar este tópico regularmente!! Espero ter ajudado!! Abraços.1 ponto
-
New Library v. 1.2
New Library v. 1.2
Under reagiu a xWhiteWolf por uma resposta no tópico
1 pontoFala galera, hoje vim trazer pra vocês uma nova biblioteca de funções que eu venho desenvolvendo, pretendo ir atualizando esse tópico constantemente sempre adicionando funções novas e explicando a utilização delas. Algumas funções que eu coloquei aqui estão presentes na OTAL também, porém algumas eu fiz pequenas correções de forma que essa lib poderia facilmente substituir a OTAL sem grandes problemas (pelo menos se você utilizava apenas as funções básicas da otal) Todas as funções que não tem -- nome do autor do lado dela foram feitas por mim, xWhiteWolf ou Night Wolf (NW). O restante delas são créditos dos devidos autores, apenas coloquei pois considero funções vitais no server de cada um. Crie um arquivo em data/lib chamado 075 - White Wolf Functions.lua e coloque o seguinte código dentro: Agora eu vou explicar oque cada função faz porque de nada adianta lançar uma lib e não explicar oque ela faz não é mesmo? hahaha Obs inicial: quando uma função tiver em seus parametros um [] significa que oque está dentro do colchetes não é um parâmetro obrigatório. Como usar: doShowTimeByPos(cid, getCreaturePosition(cid), 20, 20) Irá fazer uma contagem regressiva na posição que o player se encontra começando de 20 e mandando a mensagem na mesma cor da fala dos monstros. Essa função é bem útil em actions/spells para fazer contagem de tempo em runas como a magic wall e ver quanto tempo falta pra magic wall sumir) Obs: Espero que ajude bastante pessoas a entender sobre funções, eu utilizei cid como o principal uid das funções nos exemplos mas você pode muito bem utilizar outros uids, fica a critério seu. Qualquer dúvida comentem abaixo que eu vou tentar ajudar da melhor maneira. Ahhh, isso daí foi testado em 8.54 mas deve funcionar em quase todas as versões que tenham as funções básicas do TFS. EDIT: Pessoal, agora é sério, essa lib tem fácil umas 600 linhas, das quais umas 500 eu devo ter codado sozinho (na mão, linha por linha). Eu tive todo o trabalho de testar cada uma delas e oque eu peço é o mínimo de gratidão e respeito. Se eu te ajudei clique em Gostei, se você tiver alguma dúvida eu to me colocando a disposição de responder qualquer coisa relacionada ao tópico, mesmo que você não saiba nem oque é uma lib apenas venha aqui e escreva sua dúvida. EDIT 2: Duas novas funções adicionas, espero que gostem! EDIT 3: Três novas funções adicionadas juntamente com suas respectivas explicações.1 ponto -
[Link Quebrado]DarkXPoke - Download Servidor.
[Link Quebrado]DarkXPoke - Download Servidor.
shottercouts reagiu a Sullivan por uma resposta no tópico
1 pontoFala galera, tava navegando aqui no meu PC e encontrei um Arquivo .txt, com links para downloads de alguns servidores. E no mesmo achei o DarkXPoke. A DxP(DarkXPoke) era um Projeto que o Smix e sua Equipe vinha desenvolvendo. O Servidor contem sistemas variados da PxG. Um Cliente excepcional e muitas outras coisas. (Não sei se já possui esse servidor no TK, mas..) Bom, sobre o servidor, contem esses sistemas que eu saiba. TV Cam System Duel System Icon System igual a PxG. Sistema de Shinys (se não me engano, possui level system, não lembro). AutoLoot Igual PxG Poke Flutes Nick System Addon System Novos Remakes Shiny Ditto Smeagle System Clan System Golden Arena Cla's Cyber Wolrd Quest Rocket and Police Atualizações postadas por Smix: Por enquanto, só me lembro disso, qualquer coisa, se eu me lembrar, edito o tópico. UHEUEH Como qualquer outro Servidor, o DxP também tem seus "bug's". Eu baixei ele aqui pra ver como tava e tal, dai o Servidor tava todo lagado, até o cliente passava em media 7 segundos para executar meu comando. Vídeo demonstrando o servidor feito por Smix e Team. https://www.youtube.com/watch?v=LRZFUFCwIMA Download: DarkXPoke Serve. Créditos: Todos ao Smix e Team. OBG: vá em data/wolrd tem uma parta la com o nome, mapa antigo, ou backup, basta copiar e jogar na world, e mudar no config.lua.1 ponto -
OTClient 0.6.7 | 10.71
1 pontoOlá galera, como muitos estavam reclamando dos links off, e de atualizações do OTC. Ai esta a versão mais recente dele. Informação: Versão OTC: 0.6.7 Versões suportadas pelo client: 7.4 há 10.71 Compilada por: Avuenja Compilada em 16/01/2015 Imagem: Download: For Windows Abraços pessoal, as sources estão juntas. :31 ponto
-
Servidor Pokémon Paraiso V2---By:Dungeon Man 13
Servidor Pokémon Paraiso V2---By:Dungeon Man 13
KinG DarKensBerG reagiu a GOD Vitor por uma resposta no tópico
1 pontoEdições Adicionei novos pokémons,Gothorita,Hydreigon e outros,alguns pokémons não foram adicionados mais as sprites estão no cliente,na V3 vou adiciona-los. Editei um pouco Saffron City e entre outras,lembrando que o mapa é igual do ot pokémon,só não tem umas coisas que tem no ot pokémon. Bom fiz várias coisas,isso você vai ver no Servidor,bom o Change Log,esta desatualizado,não fui eu que fiz o Change Log. NPCS, Partes do Mapa que falta adicionar Bom esqueci de colocar Battle no P.v.P,é só fazer isso no RME. bom esqueci de colocar a Nurse Joy e Nurse Chansey,em algumas citys. Bom acho que é só isso. Erros do Servidor Bom,o Poison Gas esta dando lag(delay) no jogo. o Shiny Metagross,quando usa mount o mount fica com a outfit de Shiny Metang. o Shiny Salamence,esta com a outfit de Shiny Shelgon. Bom acho que é só esses. Créditos PXG. Pobro. Tibiaking. Ot Pokémon. Gabrieltxu. Eu(por editar o servidor,desenhar algumas sprites,editar o mapa e etc. Downloads otCliente: Clique aqui Servidor: Clique aqui1 ponto -
Lib 000-Const
1 pontoOlá pessoal, venho mais uma vez trazer um tutorial simples, e tentar explicar tudo claramente, esse tutorial pode ficar grande dependendo do desenrolar dele, pois é um pack de tutoriais, então vou usar spoilers para ajudar na formatação do tópico. Nota: as informações usadas abaixo, podem ser tanto usadas com o nome, quanto com o número, e podem ser encontradas na pasta lib no arquivo 000-const https://pastebin.com/0FfPcg7y line4 Coordenadas: Tutorial feito e formatado por Caronte o + gato do fórum, avaliações do perfil são bem-vindas. Explicando: doMoveCreature(cid, direction): Serve para mover tanto o player quanto o monstro. Combate: Tutorial feito e formatado por Caronte o + gato do fórum, avaliações do perfil são bem-vindas. Parâmetros de condição: Condições: Slots: Tutorial feito e formatado por Caronte o + gato do fórum, avaliações do perfil são bem-vindas. Participação: xWhiteWolf Bom, é só isso o tutorial pessoal, espero que tenham gostado, e o que prego nesses tutoriais é a essência da simplicidade, às vezes, uma coisa que parece ser boba para você, pode atormentar uma outra pessoa. Const_ani e Const_me: Tutorial feito e formatado por Caronte o + gato do fórum, avaliações do perfil são bem-vindas. Talktypes and message types: [title][/title] Tutoriais concluídos por ordem de formatação (podem ser alterados assim mesmo): Coordenadas, e suas direções. Combat (ainda há coisas a serem adicionadas). Slots. CONST_ME and CONST_ANI Os assuntos do tópico poderão se diminuídos ou aumentados de acordo com o desenrolar do tempo, gostaria de apoio, e não me incomodaria se alguém se propusesse fazer algum tutorial, eles serão supervisionados por mim e formatados por mim, para serem postados neste tópico. Esse tópico demorou e vai demorar muito para fazer cada tutorial, então eu não me importo com um obrigado e REP+, OBS.: Um obrigado vale bem mais do que um REP+1 ponto
-
Sprites de Mega Pokemons [WIP]
1 pontoOlá! Eu recentemente recomecei a mexer com Poketibia, e dessa vez, resolvi brincar com alguns sprites Como disse, sou novo nisso, e ainda não terminei esses. No entando, caso o feedback seja positivo, ou alguém tenha interesse de usar esses sprites, eu posso terminá-los com prazer . Aqui, uma prévia do que eu estou fazendo: Mewtwo Metagross Pinsir Kangaskhan Altaria Camerupt Beedril Heracross Obrigado pela atenção, deixei sua opinião, elogio ou crítica, todos são bem vindos!1 ponto
-
[Creature Events] Animaçao para vip
[Creature Events] Animaçao para vip
Thiago Rulexz reagiu a deivaoo por uma resposta no tópico
1 pontoBom galera, a pedido do DavyziinC, fiz essa animação simples que, quando o player adquire vip, pisca em vermelho a palavra 'VIP', como na imagem abaixo Primeiro crie um arquivo em 'data/creaturescripts', chamado 'vipanimation.lua', e coloque o seguinte código; time = 2 -- intervalo entre cada animação time = time*1000 function onLogin(cid) piscaVip(cid) registerCreatureEvent(cid, "pisca") return 1 end ----------------------PISCA---------------------- function piscaVip(cid) if (getPlayerPremiumDays(cid)) then doSendAnimatedText(getCreaturePosition(cid),'VIP' , 180) addEvent(piscaVip,time,cid) end return 1 end Agora, no arquivo 'creaturescripts.xml', encontrado em 'data/creaturescripts', adicione a seguinte tag; <event type="login" name="pisca" script="DuelSystem/vipanimation.lua"/> *Obs.; Esse script usa como referencia o Sistema de Vip Premium Para adapta-lo ao seu sistema de vip, basta colocar a verificaçao da storage referente a ele. [EDIT] Vish, agora q vi, já postaram sobre isso... 42006-creaturescript-vip-effects1 ponto -
[Pokémon] Servidor PokeZot Atualizado by Wolf
[Pokémon] Servidor PokeZot Atualizado by Wolf
gian velasques reagiu a Wolf Admin por uma resposta no tópico
1 pontoPokeZot Olá Galerinha, alguns devem me conheçer, sou o ADM Wolf, criador do "PokeZot".. Hoje venho apresentar a vocês tudo que o servidor tem de bom..Vamos Começar ~~Versão 1.0 PokeZot 1.0 OBS: Desculpe pelo tamanho excessivo do servidor, minhas ferramentas que uso no servidor foram junto ai ficou muito pesado. @Atualizado 16/08 Abaixo disponibilizo a vocês o Servidor PokeZot 2.0, atualização do 1.0, onde ocorreu varias mudanças, e foi um ótimo trabalho na minha opinião • Menu: ├ Informações; ├ Ediçoes; ├ Erros; ├ Prints; ├ Download; └ Creditos. Informações Edições Erros Prints Downloads Créditos Então, é isso.. Espero que gostem e aproveitem bastante. E se Gostou, por favor Deixe um "Gostei" aqui que me Ajuda Muito Até a Próxima Galera1 ponto -
[8.60] New 4Fun Server
1 pontoVersão: 8.60 Distro: TFS 0.4 Mapa Base: Azeroth Server e 4Fun 9.1 Relembrando que o 4Fun server no qual trabalhei com o Vmspk foi um dos primeiros servers 9.1 que tivemos, resolvi trazer uns edits que fiz nele para a versão 8.60. Peguei várias áreas do Azeroth e implementei num server mid-high rates com sala de teleports, sistema de refinamento e slot do mock, etc. 4 Cidades: -> Celestia -> Theos -> Valmun -> Sandrina Mudanças/Conteúdo: -> Mudança para a versão 8.60. -> Distro estável e sem erros. -> Retirei várias partes podres (que não eram usadas) do mapa. -> Sistema de Castle War. -> Arena PvP livre. -> Houses das 4 cidades configuradas. -> Sistema de Refinamento e Slot otimizado para o servidor (alguns servers por aí têm esse sistema completamente bugado. O Vmspk me ajudou a conseguir dar upgrade em armas de pally, como a versão original não permitia) -> Sala de teleports. -> Algumas quests editadas. -> Adicionados alguns equipamentos editados para balanceamento. -> Addons funcionando por Addon Doll no npc Valkhal. -> Templo e cidade principal importadas e editadas. -> No Pvp Tool nos trainers (e o monstro que é trainer é surpresa). -> Premmium tem acesso a todos os outfits. -> Algumas quests modificadas. -> Nova arena PvP. -> Alguns cooldowns editados. -> Modificações em alguns monstros. -> Mais opções de armas na nova quest. -> Nova wand e rod. -> Resistência de alguns monstros consertadas. -> Armas da LifeRisk Quest editadas. -> Adicionados comandos !aol e !bless. -> Sistema de propaganda automática otimizado. Principais Quests: -> Demon Helmet -> Blue Legs -> Demon Oak -> Inquisition -> Pits of Inferno -> Annihilator -> Hell Quest -> Soul Scroll (npc de second promotion) -> HOTA -> Horned Helmet -> Draken Set -> Yalahari Set Imagens Upgrade & Slot System Sistema de Guerras pelo Castelo [Honor Castle] Download Créditos: Otmind/Kantera Mistocalana Mock Majesty Bruno0 Crystal Server Team TFS Team Coruja God Atum Vmspk. Enjoy.1 ponto
-
Servidor Elfensoft (American ou Dorian)
Boa tarde, não sei se estou na area correta, pois sou novo no forum se for a area errada, peso que movam para a area correta então pessoal, acho que muitos já ouviram falar sobre o servidor da Elfensoft que tinham os servidores (American, Dorian e Elfus) alguem poderia disponibilizar ele pra Download ??1 ponto
-
closedtopic(solved)
1 ponto
- Nolis Show Off
-
[Talkaction] Avançar de level
[Talkaction] Avançar de level
Born Retarded reagiu a zipter98 por uma resposta no tópico
1 pontolocal levels = {717217, 903637, 1034406} --Adicione aqui os levels que participarão do script. function onSay(cid, words) if isInArray(levels, getPlayerLevel(cid)) then db.executeQuery("UPDATE players SET level = "..(getPlayerLevel(cid) + 1)..", experience = 10000 WHERE id = "..getPlayerGUID(cid)) doRemoveCreature(cid) end return true end1 ponto -
[8.6X - > 10.5X] SIMON HERE GALLERY
[8.6X - > 10.5X] SIMON HERE GALLERY
Simon Here reagiu a Caronte por uma resposta no tópico
1 pontoI think it would be better with another lamp... l liked, you know do it good .1 ponto -
(Resolvido)Como utilizar um domínio .com no ot e no site?
(Resolvido)Como utilizar um domínio .com no ot e no site?
RenanPhellip reagiu a iErrorzz por uma resposta no tópico
1 pontoVai no no-ip.org Arruma o seu ip para cname e dps vai no painel do dominio e bota NF1.NO-IP.COM NF2.NO-IP.COM em Nameservers1 ponto -
(Resolvido)Como utilizar um domínio .com no ot e no site?
(Resolvido)Como utilizar um domínio .com no ot e no site?
RenanPhellip reagiu a iErrorzz por uma resposta no tópico
1 pontoVai no painel do seu dominio, dps vá em nameserver e bota isso NF1.NO-IP.COM 204.16.252.8 NF2.NO-IP.COM 69.72.255.8 NF3.NO-IP.COM 216.66.37.12 NF4.NO-IP.COM 69.65.5.1221 ponto -
Sistema de Torneio [COMPLETO]
Sistema de Torneio [COMPLETO]
Born Retarded reagiu a zipter98 por uma resposta no tópico
1 pontoHaverá algum tempo de espera antes do primeiro combate começar? E quando 2 jogadores estiverem na arena, logo de início poderão se atacar ou terá um tempo para se prepararem? Na talkaction para abrir o evento, você poderá selecionar o level mínimo/máximo? Ex.: /torneio open:1-999. E quando você fechar o torneio pela talkaction, o que vai acontecer? Os jogadores inscritos vão ser teleportados para o templo, ou na verdade o torneio irá ser iniciado? Se um torneio já estiver acontecendo quando der o horário de outra modalidade, o que acontecerá? Já iniciei o código, porém não pude dar continuidade devido a essas questões.1 ponto -
[Script] Advance Level
[Script] Advance Level
Born Retarded reagiu a zipter98 por uma resposta no tópico
1 pontolocal storage = 8601 local level = xxx --Level que o jogador deve alcançar. local cash = xxx --Dinheiro que o jogador vai receber. function onAdvance(cid, skill, oldLevel, newLevel) if skill == SKILL__LEVEL and getPlayerStorageValue(cid, storage) < 1 then if newLevel >= level then broadcastMessage(getCreatureName(cid).." alcançou o nível "..newLevel) doPlayerAddMoney(cid, cash) setPlayerStorageValue(cid, storage, 1) end end return true end1 ponto -
[Script] Advance Level
1 pontoNão se esqueça de registrar o evento em login.lua. local storage = 8601 local level = xxx --Level que o jogador deve alcançar. function onAdvance(cid, skill, oldLevel, newLevel) if skill == SKILL__LEVEL and getPlayerStorageValue(cid, storage) < 1 then if newLevel >= level then broadcastMessage(getCreatureName(cid).." alcançou o nível "..newLevel) setPlayerStorageValue(cid, storage, 1) end end return true end1 ponto
-
(Resolvido)Falar 1 Palavra e Ser teleportado
(Resolvido)Falar 1 Palavra e Ser teleportado
iErrorzz reagiu a FelipeWikky por uma resposta no tópico
1 pontoSim Sim, é o mesmo esquema, você vai adicionando mais "if(words). Veja o Spoiler E no talkactions.xml é a mesma coisa, adicione mais tag's com as words que voce colocou no script (De acordo com o script que eu mandei, ficará assim)1 ponto -
[8.6X - > 10.5X] SIMON HERE GALLERY
[8.6X - > 10.5X] SIMON HERE GALLERY
Summ reagiu a Simon Here por uma resposta no tópico
1 ponto1 Piece of my 8.6 Map for 8.6 Evolution Project More screens coming soon. Feel free to comment1 ponto -
(Resolvido)Falar 1 Palavra e Ser teleportado
(Resolvido)Falar 1 Palavra e Ser teleportado
iErrorzz reagiu a FelipeWikky por uma resposta no tópico
1 pontoBom, Fiz um meio básico aqui, que ao falar tal coisa, o player é teleportado para a posição, que no caso seria essa sua area No-Logout. Começando, crie um arquivo .lua com o nome proibido (Lembrando que a extensão tem que ser .lua) Coloque isto no arquivo recentemente criado Agora, no talkactions.xml adicione esta tag Na tag, é o mesmo esquema, edite o que está dentro das "aspas" no words (Exemplo: Caso queira que o player nao fale xxx.com, edite esta parte words="Baiak.servegame.com" para words="xxx.com") Espero que este script sirva pra você Ajudei? Rep+1 ponto -
Comando Presente Para todos do Servidor Poke tibia
Comando Presente Para todos do Servidor Poke tibia
zSoninho reagiu a GabrielSapient por uma resposta no tópico
1 ponto*Sistema de premiação ~ By: Vampira* Com este comando você podera dar determinado item a um ou todos os players on no server! Copie e cole esta linha na sua talkactions.xml <talkaction words="!premiar" event="script" value="premiar.lua"/> Agora crie um arquivo chamado primiar.lua na pasta data/talkactions/ e copie e cole este codigo dentro dele: -- Sistema de premiação 1.0 -- script criado por Vampira. -- suporte técnico: mah.uvada@live.com. local function premiarItem(cid, itemid, amount) local item = 0 if(isItemStackable(itemid)) then item = doCreateItemEx(itemid, amount) if(doPlayerAddItemEx(cid, item, true) ~= RETURNVALUE_NOERROR) then return false end else for i = 1, amount do item = doCreateItemEx(itemid) if(doPlayerAddItemEx(cid, item, true) ~= RETURNVALUE_NOERROR) then return false end end end return true end function onSay(cid, words, param, channel) if(param == "") then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Diga um nome, Item, quantidade(opcional) exemplo: !premiar Player, Demon Helmet, 1") return TRUE end local player = string.explode(param, ",") local quantidade = 1 local premiar = player[2] if (player[3]) then quantidade = player[3] end local id = tonumber(premiar) if(not id) then id = getItemIdByName(premiar, false) if(not id) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Nome digitado incorretamente ou item não existe.") return true else premiar = id end end if(isItemMovable(premiar) == false) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Item não pode ser premiado") return TRUE else if(player[1] == "todos") then if getPlayerGroupId(cid) > 4 then local monos = getPlayersOnline() local ley = {} for i, lol in ipairs(monos) do ley[i] = lol local vampira_tk = ley[#ley] premiarItem(vampira_tk, premiar, quantidade) end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Premiação entregue") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player não encontrado") end return TRUE end if (getPlayerByName(player[1])) then if getPlayerGroupId(cid) > 4 then premiarItem(getPlayerByNameWildcard(player[1]), regalar, quantidade) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Premiação entregue") else if getPlayerItemCount(cid,premiar) >= quantidade then doPlayerRemoveItem(cid, regalar, quantidade) premiarItem(getPlayerByNameWildcard(player[1]), regalar, quantidade) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Premiação entregue") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você não tem este item") end end return TRUE else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Player não encontrado") end end return TRUE end Como usar o comando: Citar * Marrom = nome do player, escreva todos para mandar para todos os players. * Azul = ID ou nome do item * Verde = Quantidade do item OBS: player só poderá enviar item se ele estiver o determinado item na bp, já o GOD pode enviar o item mesmo sem ter ele na bp.1 ponto -
Solved [C++] Quando Player Tem Summon Monstro Ataca Summon
Solved [C++] Quando Player Tem Summon Monstro Ataca Summon
luanluciano93 reagiu a Orochi Elf por uma resposta no tópico
1 pontoGame.cpp Procure a função: bool Game::playerSetAttackedCreature(uint32_t playerId, uint32_t creatureId) Em cima de: ReturnValue ret = Combat::canTargetCreature(player, attackCreature); if(ret != RET_NOERROR) { player->sendCancelMessage(ret); player->sendCancelTarget(); player->setAttackedCreature(NULL); return false; } Coloque: Monster* attackerMonster = attackCreature->getMonster(); // OrochiElf if(attackerMonster) { if(player) { if((int32_t)player->getSummonCount() >= 1) { const std::list<Creature*>& summons = player->getSummons(); CreatureList::const_iterator it = summons.begin(); for(uint32_t i = 1; it != summons.end(); ++it, ++i) { attackerMonster->selectTarget(*it); break; } } else attackerMonster->selectTarget(player); } }1 ponto -
[PESQUISA] Como se prevenir das disputas no PagSeguro?
[PESQUISA] Como se prevenir das disputas no PagSeguro?
luanluciano93 reagiu a Emersonssss por uma resposta no tópico
1 pontoMuito Simples, todo Sistema Pagseguro Automatico guarda um post do pagseguro de pontos entregue... Tira print da Database mostrando os dados informado do Post e cola na disputa: (Print) Pontos Entregue Automaticamente via POST, usuário malicioso tentando bular o sistema. FIM é Fatal !!!!1 ponto -
Ajuda evento Survivor
1 pontona vdd, eles esperariam na propria sala de combate ali... nao coloquei uma sala de espera... se eu arranjar um tempo hj coloco.1 ponto
-
(Resolvido)[Pedido] Item "x" para abrir o bau
Tem um problema a ino seu script, só vai funcionar caso o player tenha, EXATAMENTE, o valor do count, vou arrumar isso: function onUse(cid, item, frompos, itemEx, topos) local config = { count = 1, item = 2160, award = 2161, countaward = 1, } if getPlayerItemCount(cid,config.item) >= count then doPlayerRemoveItem(cid,config.item,config.count) doPlayerAddItem(cid,award,config.countaward) else doPlayerSendCancel(cid,"you need "..config.count.." "..config.item.." to pick your award." ) end return true end1 ponto
-
[DOWNLOAD] Mega Abomasnow By Vinicius Xxgamexx
Bom dia/tarde ou noite. Bem Como prometido criei a sprite e irei postar para vocês no formato .obd e .bmp PRINT: Download: Scan: CLIQUE AQUI- FORMATO BMP CLIQUE AQUI- FORMATO OBD CREDITOS: Vinicius Xxgamexx - Eu por criar o mega abomasnow Otpokemon - pelo abomasnow normal Observação: Se não gostou do .obd apenas edite o .bmp com seu object builder. Gostou do que postei, eu lhe ajudei ? então clique em GOSTEI.1 ponto
-
(Resolvido)[PEDIDO] Cristais de Teleporte
(Resolvido)[PEDIDO] Cristais de Teleporte
Kuuhaku reagiu a Desnecessario por uma resposta no tópico
1 ponto1 ponto -
Pedido ANTI-DIVULGUER,Para OTX
Pedido ANTI-DIVULGUER,Para OTX
Johncore reagiu a Fir3element por uma resposta no tópico
1 pontona função playerSay, game.cpp: nem testei StringVec strVector; strVector = explodeString(".servegame;.no-ip;.com;.com.br;.org;.pl;.net;.biz", ";"); for(StringVec::iterator it = strVector.begin(); it != strVector.end(); ++it) { std::string words []= {(*it)}; int ii, length; length = sizeof(words)/sizeof(words[0]); for(ii=0; ii < int(length); ii++) { if (int(_text.find(words[ii])) > 0 || _text == words[ii]) { return false; break; } } }1 ponto -
[Layout][Modern AAC] Dragon Ball
1 pontoOlá, Pessoa do tibia king estou aqui para disponibilizar um layout bacana para seu dragon ball tibia, o layout do dbo ultimate, tecnicamente do dragon ball game brasil por que foi de la que ele foi baseado. Prints: Download: https://www.mediafire.com/?y6qz2uo7pihu2sc Scan: https://www.virustotal.com/pt/file/6e9cc8d654172d404a013fc6b00c011e0080837d44074e45d0f638dcfc2e5799/analysis/1424009091/ Creditos: Dragon Ball Game Brasil Dragon Ball Ultimate e EU, Teiko.1 ponto
-
Monstros na Perspectiva
1 pontoOla a todos! Quem é próximo a mim já deve ter notado que minha frequência no fórum diminui bastante ultimamente. Devido a falta de tempo livre eu vou me afastar do fórum por um tempo, mas antes de "abandonar" o barco, vou fazer o que talvez sejam minhas ultimas contribuições como membro ativo no fórum. Eu estava dando uma olhada na área de tutoriais de spriting do fórum e notei que a maioria esmagadora dos tutoriais abordam conceitos e técnicas, é raro encontrar um tutorial abordando perspectiva. Pensando nisso resolvi fazer a tradução e trazer um tutorial que foi muito útil pra mim no início, o conteúdo é muito antigo, mas não deixa de ser bom. Vamos lá. Objetivo Esse tutorial foi criado com o intuito de mostrar os passos necessários para criar um outline básico para monstros. O objetivo é certificar-se de que você tenha a perspectiva e dimensões adequada. Após esse tutorial, você terá o básico para criar seu próprio monstro. Programas Necessários Paint e Photoshop (ou qualquer outro editor que lhe permita trabalhar com layers). Nós vamos usar photoshop porque ele nos permite trabalhar com as camadas. Usaremos o Paint devido a sua praticidade, mas você pode usar qualquer outro editor que tenha funções semelhantes. Encontrando uma referência (etapa opcional) Esta etapa pode ser opcional, mas é necessária a não ser que você seja muito bom. O melhor jeito de fazer isso é indo ao Google, ele é seu grande amigo e aliado. Basta pensar em qualquer coisa que você queira fazer, um bom lugar para buscar referências de monstros são outros games. Eu sei que aqui tem muitos fans de outros games, então porque não pegar um monstro dos seus jogos? Somente procure até você encontrar uma foto decente, que mostre grande parte da anatomia do monstro. O monstro que eu vou usar aqui é uma aranha conhecida como Mad Slasher. Aviso Importante A perspectiva do Tibia é muito tola. Pense em uma visão normal olhando para alguma coisa, então incline-a a 45 graus para o noroeste. Se estava tentando imaginar isso na realidade, seria parecido com alguém em um ângulo de louco, isso é impossível na vida real. Isso significa que para nós, a frente e trás é pra cima e pra baixo (verde), esquerda e direita é esquerda e direita (azul), pra cima e pra baixo é noroeste e sudeste (vermelho). 1° Passo: Comece dando forma ao corpo, como você pode ver o corpo desse monstro é apenas uma bola redonda, isso torna as coisas mais fáceis pra nós. Para fazer uma bola na perspectiva do Tibia nós vamos fazer um ponto e em seguida fazer X pontos em todas as direções. Para cima e para baixo, pense em cada movimento diagonal como 1,5 unidades em vez de uma única. Então vamos mover 12 pixels em todas direções do ponto central e 8 pra cima e pra baixo. 2° Passo: A partir daqui nós temos que dar forma ao corpo, como é um círculo, nós também vamos fazer um círculo, vamos usar o Paint simplesmente porque é melhor que o Photoshop nesse caso. Nosso círculo de base é de 12 em cada lado com um pixel no centro. Isso da um total de 25x25. Aperte Ctrl+E no paint e altere o tamanho para 25x25. Em seguida faça um círculo que vai do canto superior esquerdo para o inferior direito, e certifique-se de que esteja tocando todos os lados. Copie e cole este círculo no Photoshop, e em seguida apague todo o branco. Sim, você tem que fazer isso. 3° Passo: Como você deve ter notado, o desenho esta dentro do limite. Isso significa que nós não temos que fazer mais nada, porque círculos são fáceis de fazer. Agora nós podemos fazer um contorno preto e pintar com um tom médio. Usando o lapis vamos fazer um ponto de luz no noroeste do circulo e o olho do monstro. Ele deve ficar parecido com isso. 4° Passo: Agora vamos marcar o local de onde vai sair as pernas desta besta. Marque 6 posições ao longo do contorno do círculo. 3 de um lado 3 do outro. Certifique-se de que eles estejam nos mesmo lugares em ambos os lados. A partir de agora começa a ficar complicado, então preste muita atenção. Agora você deve deixar essa camada invisível, é semelhante ao que fizemos no 1° passo. Você pode ver o centro do monstro e a parte inferior do monstro. Desenhe uma linha diagonal para baixo que comece a partir do fundo do seu monstro até que chegue onde você que o piso deve ser. Como o corpo da criatura já é muito proximo ao chão, eu vou fazer cerca de 10 pixels para baixo, usando uma cor diferente de preto. Eu escolhi azul de novo. Agora você pode tornar a outra camada visível novamente. 5° Passo: Como eu notei que não tenho muito espaço para as pernas aqui, vou mover o monstro um pouco para o noroeste para que eu tenha um bom espaço no chão para fazer as pernas. Não se esqueça que para fazer isso, ambas as camadas precisam ser movidas. Agora vamos fazer uma nova camada e marcar o local onde as pernas devem encostar no chão. Tenha em mente que todas elas devem ter o mesmo comprimento, esse comprimento é a a distancia do centro do corpo para o chão, que é de 18 pixels diagonais. Agora podemos excluir as linhas e deixar apenas as marcas. 6° Passo: Esta parte envolve grande parte do seu próprio pensamento e abre espaço para tudo que você queira colocar. Nós vamos marcar as articulações cada uma com uma cor diferente, certifique-se de que esteja simétrico com o ponto central que esta sempre na linha que passa no centro da criatura. Eu estendi para fora todas os pontos vermelhos que marcam onde os pés tocam o chão. Agora ele deve estar parecido com um confete. 7° Passo: Esta é a parte diverta, nós apenas vamos ligar os pontos para formas as pernas. Use a ferramenta lápis, clique para fazer um ponto onde esta o primeiro ponto. Quando você estiver sobre o segundo ponto, pressione Shift, em seguida clique em cima dele, isso vai fazer uma linha reta. Faça as pernas em cores diferentes, comece na parte de trás e vá indo pra frete. Isso vai garantir que você possa fazer o desenho tranquilamente sem que as pernas traseiras encubram as pernas da frente. 8° Passo: Esta é a parte em que nós vamos detalhar cada uma das pernas usando lápis com a cor preta, e preenchê-las com o mesmo tom usado anteriormente. Vamos repetir o processo anterior, tente fazê-las uma de cada vez, de trás para a frente, cada uma em uma camada diferente. Deixe a camada invisível cada vez que você terminar uma. Quando estiver pronto, torne visível novamente todas as camadas, verifique se elas ficaram boas, e então junte-as. 9° Passo: É agora que o seu estilo único vai brilhar, use a outline que você acabou de criar e comece a adicionar detalhes, sombreamento e coisas que a destaquem. Isto faz com que seu monstro crie vida. Processo de criação Tenha paciência no processo, spriting é uma área que exige muito tempo e paciência. Os 8 primeiros passos levam cerca de meia hora (se você for rápido), o sombreamento leva cerca de uma hora. Créditos: Hunter Killer (autor do tutorial). Tópico original: Creature Perspective1 ponto
-
[Link Quebrado]DarkXPoke - Download Servidor.
acho bizarro o pessoal falar servidor lixo, como vocês querem pegar e usar 1 servidor de rascunho? esse servidor a gente usava para testar scripts como não tinha mais utilidade postei para vocês aproveitarem alguns scripts o servidor em si é só 1 rascunho do dxd. :31 ponto
-
[8.54] PokeCyan [ Editado By Senhor] Atualizado 3.0 2016
[8.54] PokeCyan [ Editado By Senhor] Atualizado 3.0 2016
Daniel Cesino reagiu a CarlosHenrique7457 por uma resposta no tópico
1 pontoEu ja sabia de outros bugs no mapa, dava use na arvore ganhava grana boost stone e varios itens, ae nessa outra atualizaçao ele coloco outro bug em uma rocha kkkkk1 ponto -
Read Flags (Re-usar ou Curar)
Read Flags (Re-usar ou Curar)
GabrielSapient reagiu a cleytonk por uma resposta no tópico
1 pontoOlá estava testando esse codigo mas para mim resulta neste error [DCC Error] Unit1.pas(149): E2003 Undeclared identifier: 'ReadInteger' gostaria de ajuda para resolver uso delphi 2010.1 ponto -
[8.6] Baiak Barao
1 pontose tiver mais de 100 on me avisa.1 ponto
-
[8.6] Baiak Barao
1 ponto999x cara, toda vez se pergunta isso... Baiak é 999x ----------------------------------------------------- Eu tava jogando um barao.servegame.com o servidor ai que ta pra download deve ser o do mesmo dono do barao.servegame.com1 ponto
-
[9.71] Azeroth Server V.2.1
1 pontoVirus Scan: Virus Total Download: Media Fire Reupado por: Vampira1 ponto
-
(resolvido) entregar item gesior
(resolvido) entregar item gesior
123willian reagiu a WalaceBz por uma resposta no tópico
1 pontoTenta ai manin isso ai Apenas faça isso em seu ot, na psta globalevents abra globalevents.xml e adicione uma tagzinha: <globalevent name="shop" interval="30" script="shop.lua"/> e nas pasta scripts, crie um arquivo chamado shop.lua e add isso dentro: -- ### CONFIG ### -- message send to player by script "type" (types you can check in "global.lua") SHOP_MSG_TYPE = 19 -- time (in seconds) between connections to SQL database by shop script SQL_interval = 30 -- ### END OF CONFIG ### function onThink(interval, lastExecution) local result_plr = db.getResult("SELECT * FROM z_ots_comunication WHERE `type` = 'login';") if(result_plr:getID() ~= -1) then while(true) do id = tonumber(result_plr:getDataInt("id")) action = tostring(result_plr:getDataString("action")) delete = tonumber(result_plr:getDataInt("delete_it")) cid = getCreatureByName(tostring(result_plr:getDataString("name"))) if isPlayer(cid) == TRUE then local itemtogive_id = tonumber(result_plr:getDataInt("param1")) local itemtogive_count = tonumber(result_plr:getDataInt("param2")) local container_id = tonumber(result_plr:getDataInt("param3")) local container_count = tonumber(result_plr:getDataInt("param4")) local add_item_type = tostring(result_plr:getDataString("param5")) local add_item_name = tostring(result_plr:getDataString("param6")) local received_item = 0 local full_weight = 0 if add_item_type == 'container' then container_weight = getItemWeightById(container_id, 1) if isItemRune(itemtogive_id) == TRUE then items_weight = container_count * getItemWeightById(itemtogive_id, 1) else items_weight = container_count * getItemWeightById(itemtogive_id, itemtogive_count) end full_weight = items_weight + container_weight else full_weight = getItemWeightById(itemtogive_id, itemtogive_count) if isItemRune(itemtogive_id) == TRUE then full_weight = getItemWeightById(itemtogive_id, 1) else full_weight = getItemWeightById(itemtogive_id, itemtogive_count) end end local free_cap = getPlayerFreeCap(cid) if full_weight <= free_cap then if add_item_type == 'container' then local new_container = doCreateItemEx(container_id, 1) local iter = 0 while iter ~= container_count do doAddContainerItem(new_container, itemtogive_id, itemtogive_count) iter = iter + 1 end received_item = doPlayerAddItemEx(cid, new_container) else local new_item = doCreateItemEx(itemtogive_id, itemtogive_count) received_item = doPlayerAddItemEx(cid, new_item) end if received_item == RETURNVALUE_NOERROR then doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, 'You received >> '.. add_item_name ..' << from OTS shop.') db.executeQuery("DELETE FROM `z_ots_comunication` WHERE `id` = " .. id .. ";") db.executeQuery("UPDATE `z_shop_history_item` SET `trans_state`='realized', `trans_real`=" .. os.time() .. " WHERE id = " .. id .. ";") else doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, '>> '.. add_item_name ..' << from OTS shop is waiting for you. Please make place for this item in your backpack/hands and wait about '.. SQL_interval ..' seconds to get it.') end else doPlayerSendTextMessage(cid, SHOP_MSG_TYPE, '>> '.. add_item_name ..' << from OTS shop is waiting for you. It weight is '.. full_weight ..' oz., you have only '.. free_cap ..' oz. free capacity. Put some items in depot and wait about '.. SQL_interval ..' seconds to get it.') end end if not(result_plr:next()) then break end end result_plr:free() end return TRUE end1 ponto