Líderes
Conteúdo Popular
Exibindo conteúdo com a maior reputação em 10/03/15 em todas áreas
-
[Show Off] Mega Bomb s2
JustinnoTibianno e um outro reagiu a Mega Bomb por um tópico no fórum
Opa.. agradeço, não sei como funciona esse negocia de iluminação.. mas agradeço hahah Talvez um pouco menos dessa frozen mud fique melhor mesmo.. agradeço os elogios Pra comemorar a volta do fórum... hehehe Mapinha novo(eu não sei fazer essas arvores gigantes então deixei inacabado) ESPERO QUE GOSTEM!!2 pontos -
BattleField TFS 1.1+
Administrador e um outro reagiu a zipter98 por um tópico no fórum
Troque: return RETURNVALUE_YOUMAYNOTATTACKTHISPLAYER por: return false2 pontos -
Bom Dia, Boa Tarde ou Boa Noite, tudo depende da hora que ver o tópico Bom Hoje vim Postar meu servidor Pokemon Anonymous, estava em mente com um projeto de Poketibia Base Lendaria sem ser as tradicionais PokeZot e PokePro. Vamos Ao Que Interessa: Informações: Base Editada Poke Dash Pokemon 1 a 3 Geração. Lendarios 1 a 5 Geração - Respectivamente suas versões Shinys. Mega Stone. Hydra Stone. Boost Stone2. Pergaminho 400% e 500%. Master Ball 100%. Red Megas. Shadow Megas. Vip System "Contendo aria vip com direito a ir final de algumas quest's como por exemplo b21 e b22, e contendo quest's especiais somente nela como exemplo: Sb1 a Sb3 e Especial Box. (Para adquirir Vip é com o comando !buyvip, as scarab coins que eles pedem o npc Mark Vende Por 50TD cada, é necessário 100 Scarab Coins para comprar 7 dias vip). " Quest's B1 a B22 e SB1 a SB3 e Especial Boxs, e mais de 50 Quest's espalhadas pelo Mapa. Arias Up Free e Vip. Held System 100%, contendo X-Experience que aumenta 50% da EXP, X-Cooldown Que abaixa tempo dos golpes, ETC. Sistema Torneio que ocorre as 10:45. Servidor contém muitos sistemas e informações. Prints Download Scan Peço Desculpas por qualquer erro primeira postagem minha, Se gostar não custa nada curti . Creditos: Pokemon By Bolz. Lucas Kuchiki - Editor do Servidor " EU ". PxG Por algumas Sprits.1 ponto
-
[Gesior] PagSeguro Automático (100% Funcional)
Sirarcken reagiu a Natanael Beckman por um tópico no fórum
Bom galera antes de vir postar este sistema já tentei de varias formas incluir isso ao meu servidor mais sempre tive problemas e não tinha sucesso com o sistema, porém um dia consegui adicionar utilizando de um tutorial postado aqui no fórum, o problema foi que esse sistema existe um BUG no qual do nada um player que fez uma doação de 10,00 reais estava com 1000 premium points na sua acc. Fui em busca de soluções encontrei uma com um amigo meu programador de PHP, Joffily Ferreira e vou postar pra vocês porque acho justo todos usufruir do que é bom. Vamos la deixa de bla bla e vamos ao que interessa... Crie um arquivo .php chamado de retpagseguro, insira dentro do mesmo os code a seguir: OBS: Este arquivo deve fica localizado na pasta htdocs ou www <?PHP $host = "localhost"; /* HOST */ $user = "root"; /* USER */ $passwd = "senhadb"; /* PASSWORD */ $db = "nomedb"; /* DB */ $retorno_token = 'suatokenpagseguro'; // Token gerado pelo PagSeguro ############################################################## # CONFIGURAÇÕES ############################################################## 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 } ############################################################### # NÃO ALTERE DESTA LINHA PARA BAIXOs# $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 = intval($_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 ($StatusTransacao == "Aprovado") { mysql_query("UPDATE accounts SET premium_points = premium_points + '$NumItens' 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> No arquivo acima você vai alterar as seguintes linhas: $host = "localhost"; /* HOST */ $user = "root"; /* USER */ $passwd = "senhadb"; /* PASSWORD */ $db = "nomedb"; /* DB */ $retorno_token = 'suatokenpagseguro'; // Token gerado pelo PagSeguro Gere sua token no PagSeguro com este link e ative o link do retorno ao seu site veja na imagem abaixo um exemplo: Certo agora crie um arquivo .php com o nome doacao e insira no mesmo os codes abaixo: OBS: Quem utiliza gesior 2012 bota na pasta pages ou quem utiliza gesior anteriores fica na pasta htdocs ou www. <?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 .= '<table width="100%" border="0" cellpadding="4" cellspacing="1"> <tbody><tr> <td class="white" colspan="3" bgcolor="#505050"><span class="style4">Detalhes da bonificação de Points.</span></td> </tr> <tr bgcolor="#f1e0c6"><td width="35%"><b>Doação</b></td><td width="35%"><b>Points</b></td></tr> <tr bgcolor="#d4c0a1"><td>R$5,00</td><td><img src="layouts/tibiarl/images/content/bullet.gif"> 5 Points</td></tr> <tr bgcolor="#f1e0c6"><td>R$10,00</td><td><img src="layouts/tibiarl/images/content/bullet.gif"> 10 Points</td></tr> <tr bgcolor="#d4c0a1"><td>R$20,00</td><td><img src="layouts/tibiarl/images/content/bullet.gif"> 20 Points</td></tr> <tr bgcolor="#f1e0c6"><td>R$40,00</td><td><img src="layouts/tibiarl/images/content/bullet.gif"> 40 Points</td></tr> <tr bgcolor="#d4c0a1"><td>R$60,00</td><td><img src="layouts/tibiarl/images/content/bullet.gif"> 60 Points</td></tr> <tr bgcolor="#f1e0c6"><td><center><img src="layouts/tibiarl/images/content/bullet.gif"> E assim por diante!!! <img src="layouts/tibiarl/images/content/bullet.gif"></center><td><center><img src="layouts/tibiarl/images/content/bullet.gif"> E assim por diante!!! <img src="layouts/tibiarl/images/content/bullet.gif"></center></td></tr> </tbody></table></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_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 DONATAR.</strong></th> </tr> <tr bgcolor="#d4c0a1"> <td width="10%">Sua conta</td> <td><strong>'.$account_logged->getCustomField("name").'</strong></td> </tr> <tr bgcolor="#d4c0a1"> <td width="10%">Pontos</td> <td> <input type="number" ng-model="get_points" min="1" size="5" maxlength="5"> <input name="item_valor_1" type="hidden" value="{{get_points * 100}}" size="5" maxlength="5"> <input name="item_quant_1" type="hidden" value="1" size="1" maxlength="1"> </td> </tr> <tr bgcolor="#d4c0a1"> <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. <?php } ?>'; } ?> Agora abra o arquivo config.php e adicione os codes abaixo: #PAGSEGURO SISTEMA AUTOMATICO $config['pagseguro']['email'] = '[email protected]<script cf-hash='f9e31' type="text/javascript"> /* */</script>'; //E-mail da sua conta PagSeguro $config['pagseguro']['produtoNome'] = 'Premium Points'; //Identificação do Pontos $config['pagseguro']['produtoValor'] = '100'; //100 = R$ 1,00 - 250 = R$ 2,50 Vamos em layout.php nas primeiras linhas terá a tag abrindo html, exemplo: <html> Troque por: <html ng-app> Ou se tiver assim: <html xmlns="http://www.w3.org/1999/xhtml"> Troque por: <html xmlns="http://www.w3.org/1999/xhtml" ng-app> Mais abaixo juntos aos codes de JS adicione: <script src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.25/angular.min.js"></script> Agora vamos na database e adicione a seguinte tabela: CREATE TABLE IF NOT EXISTS `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, `ProdQuantidade_x` int(5) 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; Beleza se tiver feito tudo OK naturalmente seu sistema está funcionando perfeitamente. Haaaa, quem quiser que o sistema entregue DOUBLE POINTS vou ensinar abaixo, eu particularmente estou com essa promoção no meu OT.... No arquivo retpagseguro.php procure por: mysql_query("UPDATE accounts SET premium_points = premium_points + '$NumItens' WHERE name = '".htmlspecialchars($accname)."'"); Troque por: mysql_query("UPDATE accounts SET premium_points = premium_points + '$NumItens' * 2 WHERE name = '".htmlspecialchars($accname)."'"); Bom a única mudança ai foi a multiplicação dos pontos totais incluindo * 2. Caso o seu tenha algum erro provavelmente vai ser gerado pelo layout.php se você não encontrar a formula correta então aconselho utilizar gesior 2012. Créditos: Tatu Hunter Joffily Ferreira (Ajustar o sistema) E as demais variadas participações incluindo a minha1 ponto -
DarkXPoke. A DxP(DarkXPoke) era um Projeto que o Smix e sua Equipe vinha desenvolvendo. O Servidor contem sistemas variados daPxG. Um Cliente excepcional e muitas outras coisas. 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 em areana, finalmente, adicionada. • Smeargle, copia os moves de qualquer pokemon. • Ditto, não copia pokemons shinys. • Shiny Ditto, só copia pokemon que tenha uma mutação Shiny. • Wild Trainers, versão beta. Ainda estou fazendo • Prince System • Perfect addon system. 1.0 -- Posivel Mudar A Cor Do Addon. • 3 Novas pokebolas adicionadas no servidor. • Silvestre ball: atributos = +2% de life, para pokemons Venenosos e Planta. • Water ball: atributos = +2% de life, para pokemons de Water. • Moon ball: atributos = +2% de life, para pokemons de Dark e Ghost. • Pokemons com novas outfits, não são todos. • Pokebag box prize e pokebags novas. • Egg Sistema O Sistema Mais Conhecido É Procurado Entre Servidores - O player leva o egg até o npc e espera 2 horas para ele chocar, logo após o tempo determinado ele pode voltar e pegar seu - pokemon. Também pode comprar a incubadora, para sua casa • Tm Sistema : - Player não pode adicionar 2 TMs da mesma magia. - Player escolhe qual move quer substituir. • "Spray level up", ele upa um level do player, não importando o qual. • Novo potion, só players, com level 10 ou mais, podem usar. • Shinys aparecem aleatoriamente, pelo mapa. 2% de chance para o respawn. • PVP System 100%, com outfits prédefinidas. • Shiny balls funcionando igual SvkE. Caso o player tenha um pokemon shiny ou um que esteja +10 a pokebola se transforma em especial bola. • Boat System 100%, com a seguinte rota: De Pallet town a cinnaba city. • Perfect icon system 100%, 1ª e 2ª geração, contando agora com o reforço do Unique ball system. • Unique ball system. • Otcliente, customizado. • Duel system 1x1, bem formulado. • Master ball, captura pokemons vivos e mortos e adiciona boost +10, porém, se o pokemon for um shiny tem 25% de chance. • !check aprimorado. • Pokemon balanceados, não sei se ficou bom. Quando abrir um BETA TEST, vocês poderam saborear. • Novos Status adicionados: - Stun - Sleep - Poison - Ice - Burn - Slow - Miss • Promotion system. Com 5 ranks cada uma. A cada rank você ganha mais defesa e ataque em seus devidos elementos. Rank[1]: atk = 15%, def = 15% Rank[2]: atk = 25%, def = 25% Rank[3]: atk = 35%, def = 35% Rank[4]: atk = 45%, def = 45% Rank[5]: atk = 55%, def = 55% • Tournament system, 1x1 e 2x2, 85%. Dei uma parada neste sistema, comi muito meu juizo, que já é pouco ^}^. • ** Quests ** • • Snorlax doll quest. - 5k de experiencia, 2000(dois mil) dollars e snorlax doll. • Big Porygon quest. – Big Porygon e 15000k de experiência. • Cerulean quest. – 5 Ultra balls, 10 Super balls, 15 Great balls e 25 pokeballs. • Ice quest. – Permição para Crystal Onix Quest e Ice stone. • Rock tunnel quest. – Rock stone e 2000k de experiência. • Team Rocket Quest. – Box Prize (+2), 5.000 dollars e 2000k de experiência. • Crystal Onix Quest. – Crystal onix e 15000k de experiência. • Family Hitmons – Qualquer um dos hitmon(lee, chan ou top), e 2000k de experiência. • Cinnabar Quest – Fire stone e 2000k de experiência. • Charizard Valley quest – Charizard e 15000k de experiência. • Underwater quest – Blastoise, Gyarados ou Tentacruel e 15000k de experiência. • Gary Oak[1] – Box prize (+1) • Gary Oak[2] – Box prize (+2) • Gary Oak[3] – Box prize (+3) • Gary Oak[4] – Box prize (+4) • Gary Oak[5] – Permissão para escolher uma das promotions. • Nick system, feito pelas sources do servidor. Sistemas do OTClient: Skin System = PXG Pokedex System = PXG TV Cam System Automatic Loot System = PXG Download: DarkXPoke Serve. Scan: VirusTotal1 ponto
-
SPRITES PXG 2015 [JUNHO]
Viinho Sdt reagiu a JairKevick22 por um tópico no fórum
Fala galera! venho novamente trazer umas sprites bem foda da pxg! bom elas são de junho de 2015! estão um pouco desatualizadas! --------------------------------------------------------------------------------------------------------------------------------------------------------------- estou trabalhando com minha equipe para descompactar a nova! para quem nao viu ainda eu ja disponibilizei a do gyarados de outubro! o link estará no final do post! --------------------------------------------------------------------------------------------------------------------------------------------------------------- bom segue logo a baixo o download e o scam <3 ! desculpe eu n ter mt tempo para organizar o topico --------------------------------------------------------------------------------------------------------------------------------------------------------------- DOWNLOAD> http://www.4shared.com/rar/939SzeCWce/SPRITES_POKEMON_PXG_2015_junho.html? SCAN> https://www.virustotal.com/pt/file/0b04d796b21d0e921a87876046cf3542acb03c66366a986621a85b43762b79ae/analysis/1442087829/ CREDITOS: PXG PELAS SPRITES <31 ponto -
Batalha dos Lendários - Articuno Zapdos Moltres Aerodactyl
Clarym reagiu a RafaelDimitry por um tópico no fórum
Diversão: Batalha dos Lendários - Articuno Zapdos Moltres Aerodactyl Fala ai galera mais uma vez venho trazendo conteúdo para Poketibia, dessa vez saindo um pouco da série, resolvi fazer uns vídeos mostrando a batalha do ADM contra os lendários, então é isso galera, espero que curtam! Curtam o vídeo e se inscrevam no canal!1 ponto -
[City War Event] Luta pela sobrevivência
gutalo reagiu a MarceloHeuheuheu por um tópico no fórum
Fala galerinha linda do XTibia, hoje estou trazendo um evento que andei modificando e otimizando, é o evento City WAR, este evento tem no servidorglobalwar e outros. A autoria vem de um membro da otland, portante havia o mesmo aqui em um datapack e decidi otimizar este evento para vocês do XTibia. Observação: É um pouco parecido com o evento do meu amigo e scripter DuH, porém com mais funções e regras, mas o objetivo é praticamente o mesmo. Como funciona: Quando um GM executar o comando para abrir o evento, abrirá um teleport no lugar configurada onde os membros entraram em uma arena onde não perde level nem skills, o evento terá o tempo de 20 minutos (configurável), caso o player morra poderá voltar novamente pelo teleport que estará localizado no lugar até o termino do evento, a regra é clara produção, quando der os X minutos, o que mais matou levará para a casa backpack o prêmio do evento. Vamos lá; Primeiramente, em sua pasta data/lib crie um arquivo com o nome de city war.lua e dentro do mesmo coloque: configCW = {timetostart = 500, -- tempo para iniciar o evento em segundos telpos = {x=32340, y=32213, z=7}, -- onde aparecerá o teleport stats = 201201201701, kill = 201201201702, death = 201201201703, ostime = 201201201704, evttime = 20, -- quanto tempo irá rolar o evento topleftPos = {x=32722, y=31336, z=6}, -- canto esquerdo superior botrightPos = {x=32791, y=31384, z=6}, -- canto direito inferior templepos = {x=32369, y=32241, z=7}, -- posição do templo principal arenapos = {{x=32722, y=31340, z=6}, {x=32786, y=31336, z=6}, {x=32722, y=31380, z=6}, {x=32783, y=31374, z=6}}, -- posição dos 4 tronos times = 8, -- não precisa mexer finaltime = 300 -- não precisa mexer } function configCW:new() local newevt = {} setmetatable(newevt, self) self.__index = self doBroadcastMessage("The City War will be open in " .. self.timetostart .. " seconds.") setGlobalStorageValue(self.stats, 0) addEvent(function () newevt:start() end, self.timetostart*1000) end function configCW:start() if getGlobalStorageValue(self.stats) == 0 then setGlobalStorageValue(self.ostime, os.time()) local teleport = doCreateItem(1387, self.telpos) doItemSetAttribute(teleport, "aid", 5540) setGlobalStorageValue(self.stats, 1) doBroadcastMessage("The City War is starting...") for _, posi in pairs(self.arenapos) do local item = getTileItemById(posi, 1387) if(item.uid ~= 0) then doRemoveItem(item.uid) end end addEvent(function () self:preclose() end, self.evttime*1000*60) addEvent(function () self:announce(0) end, (self.evttime/self.times)*1000*60) end end function configCW:announce(times) if times < self.times then if #self:getTopFrags(true) >= 1 then doBroadcastMessage("Top City War fraggers: " .. self:getTopFrags()) end addEvent(function () self:announce(times+1) end, (self.evttime/self.times)*1000*60) end end function configCW:preclose() if getGlobalStorageValue(self.stats) == 1 then setGlobalStorageValue(self.stats, 2) doBroadcastMessage("The City War will end in " .. self.finaltime .. " seconds.") addEvent(function () self:close() end, self.finaltime*1000) local item = getTileItemById(self.telpos, 1387) if(item.uid ~= 0) then doRemoveItem(item.uid) end end end function configCW:close() if getGlobalStorageValue(self.stats) == 2 then if #self:getTopFrags(true) >= 1 then doBroadcastMessage("The City War has ended. The winners are: " .. self:getTopFrags()) else doBroadcastMessage("The City War has ended. There were no winners.") end doRemovePlayersFromArea(self.topleftPos, self.botrightPos, self.templepos) for _, posi in pairs(self.arenapos) do doCreateTeleport(1387, self.templepos, posi) end for place, info in ipairs(self:getTopFrags(true)) do if place > 5 then break end local cid = getPlayerByName(info) doPlayerSendTextMessage(cid, 4, "Congratulations, you were the " .. place .. "º place in the City War.") doPlayerAddItem(cid, 6571, 1) end setGlobalStorageValue(self.stats, -1) end end function configCW:isPlayerInEvent(cid) if getPlayerStorageValue(cid, self.stats) == -1 or getPlayerStorageValue(cid, self.stats) - os.time() <= -5 or getGlobalStorageValue(self.stats) < 1 then return false end return true end function configCW:getTopFrags(tab) local frag = {} for _, pid in pairs(getPlayersOnline()) do if (getPlayerStorageValue(pid, self.kill) ~= -1 or getPlayerStorageValue(pid, self.death) ~= -1) and self:isPlayerInEvent(pid) then local kill = getPlayerStorageValue(pid, self.kill)+1 local death = getPlayerStorageValue(pid, self.death)+1 print(getCreatureName(pid), kill-death) table.insert(frag, {getCreatureName(pid), kill-death}) end end print(#frag) local frag, str, n = doOrderTab(frag, 0), nil, 5 print(#frag) if tab then return frag else if #frag < 5 then n = #frag end for i = 1, n do local cid = getPlayerByName(frag[i]) local kill = getPlayerStorageValue(cid, self.kill)+1 local death = getPlayerStorageValue(cid, self.death)+1 str = str and str .. ", " .. frag[i] .. "[" .. kill .. "/" .. death .. "]" or frag[i] .. "[" .. kill .. "/" .. death .. "]" end end return str end function doOrderTab(tabela, value) local max, index = {}, nil for i = 1, #tabela do valor = value for a, b in ipairs(tabela) do if b[2] > valor then valor = b[2] valor2 = b[1] index = a end end table.remove(tabela, index) if valor ~= value then table.insert(max, valor2) end end return max end Configuração do arquivo: telpos = {x=32340, y=32213, z=7}, -- POSIÇÃO ONDE NASCE O TP DO EVENTO! topleftPos = {x=32722, y=31336, z=6}, -- AQUI COLOQUE A POSIÇÃO DO CANTO ESQUERDO LA EM CIMA DO MAPA botrightPos = {x=32791, y=31384, z=6}, -- AQUI A POSIÇÃO DO CANTO DIREITO EM BAIXO DO MAPA templepos = {x=32369, y=32241, z=7}, -- POSIÇÃO DO TEMPLO ONDE OS JOGADORES NASCERAM PÓS A MORTE arenapos = {{x=32722, y=31340, z=6}, {x=32786, y=31336, z=6}, {x=32722, y=31380, z=6}, {x=32783, y=31374, z=6}}, -- ATENÇÃO, NO MAPA QUE ESTAREI DISPONIBILIZANDO VISIVELMENTE TERÁ 4 BASES, VOCÊ TERA QUE COLOCAR A POSIÇÃO DAS BASES AÍ NESSES 3 LUGARES. doPlayerAddItem(cid, 6571, 1) -- AQUI VOCÊ COLOCARÁ O PRÊMIO DO GANHADOR, NO CASO QUEIRA ADICIONAR POR EXEMPLO 1kk, COLOQUE 2160,1 - Primeiro ID depois quantia. Segundo passo, crie um arquivo com o nome de citywarCreature.lua e coloque dentro da pasta creaturescripts/scripts com o seguinte conteúdo: function onPrepareDeath(cid, lastHitKiller, mostDamageKiller) if isInRange(getCreaturePosition(cid), configCW.topleftPos, configCW.botrightPos) then setPlayerStorageValue(cid, configCW.death, getPlayerStorageValue(cid, configCW.death) +1) setPlayerStorageValue(lastHitKiller[1], configCW.kill, getPlayerStorageValue(lastHitKiller[1], configCW.kill) +1) end return true end E adicione em creaturescripts.xml a seguinte tag <event type="preparedeath" name="CityWar" event="script" value="citywarCreature.lua"/> Terceiro passo, crie um arquivo em movements/scripts com o nome de citywarMovements.lua com o seguinte conteúdo: function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition) if isPlayer(cid) and getGlobalStorageValue(configCW.stats) == 1 then doTeleportThing(cid, configCW.arenapos[math.random(1, #configCW.arenapos)]) doSendMagicEffect(getPlayerPosition(cid), 28) if not(configCW:isPlayerInEvent(cid)) then setPlayerStorageValue(cid, configCW.stats, getGlobalStorageValue(configCW.ostime) + configCW.evttime*60 + configCW.finaltime) setPlayerStorageValue(cid, configCW.kill, -1) setPlayerStorageValue(cid, configCW.death, -1) end else doTeleportThing(cid, fromPosition) end return true end Em Movements.xml adicione a seguinte linha <movevent type="StepIn" actionid="5540" event="script" value="citywarMovements.lua"/> Quarto e último passo, em talkactions/scripts crie um arquivo com o nome de citywarTalkactions.lua e coloque o seguinte conteúdo: function onSay(cid, words, param) if getGlobalStorageValue(configCW.stats) == -1 then configCW:new() else doPlayerSendCancel(cid, "The event is already running.") end return true end Em talkactions/talkactions.xml adicione a seguinte linha: <talkaction log="yes" words="/citywar" access="3" event="script" value="citywarTalkactions.lua"/> Este mapa é para o evento! Download : http://www.mediafire...ld City War.rar Scan : https://www.virustot...sis/1402539782/ Créditos: Absolute. Collocor.1 ponto -
CONTEÚDO REMOVIDO: AGORA VOCÊ VAI TER QUE TER CRIATIVIDADE OU SE PENDURAR-SE NAS COSTA DE ALGUÉM, MENOS NA MINHA - BOA SORTE! error 404 - I do not serve the forum I retired.1 ponto
-
[Tutorial] Alterando PIC e Imagens do Client
Gangsta reagiu a PsyMcKenzie por um tópico no fórum
Alterando PIC e Imagens do Client E ai galera, hoje vou ensinar pra vocês, como alterar o PIC e outras imagens do seu Client. Vamos lá! 1º - Faça o download do PIC Editor e extraia para uma pasta. Download PIC Editor 2º - Abra o PIC Editor, você verá esta tela. 3º - Em seguida, vá em Arquivo e clique em Abrir. 4º - Logo após, selecione o arquivo PIC do seu client. 4º - Agora, clique vá em Arquivo e clique em Importar e selecione a imagem que você quer que seja sua nova PIC. Lembre que esta imagem deve estar nas dimensões 640x480 e no formato BMP. 5º - Caso queira alterar outras imagens, basta clicar em uma das setas na parte inferior e selecionar o que deseja substituir. 6º - Por fim, clique em Compilar. 7º - Selecione a pasta do seu client e salve o novo arquivo .PIC la, substituindo o antigo. 8º - Abra seu Client e desfrute do novo Background. É isso galera, espero que tenha ajudado! Tutorial feito por mim. Abraços! Créditos: Roksas.1 ponto -
Achei a primeira pista... @Mudrock, a pista que achei é a 2? achei o número mud1 ponto
-
Procura direito, o @vodkart fez um sistema que é ótimo. Entra neste link ai: http://www.xtibia.com/forum/topic/188712-marriage-system-npc/1 ponto
-
Seu Ultimo Sprite.
RigBy reagiu a Desnecessario por um tópico no fórum
1 ponto -
Da uma lida no manual de referencia para saber mais sobre funções que usam o tempo do sistema, é simples. A ideia é basicamente tu contar os segundos desde 1970 e de acordo com o numero de segundos o sistema operacional te diz informações como hora, data, dia da semana e etc. http://www.lua.org/manual/5.1/pt/manual.html#5.8 E tem também o lua-users, que aborda o tema e da diversos exemplos de uso http://lua-users.org/wiki/OsLibraryTutorial1 ponto
-
[Resolvido] [PEDIDO] PASSIVE E ATTACK
FlamesAdmin reagiu a zipter98 por uma questão
Ah, sim. O problema estava na área. Comentário atualizado com as correções.1 ponto -
[Resolvido] [PEDIDO] PASSIVE E ATTACK
FlamesAdmin reagiu a zipter98 por uma questão
Spells corrigidas.1 ponto -
Ajuda(Urgente) sistema de pagamento website
boyfrempss reagiu a LeoTK por uma questão
seguinte então pesquise sobre como ativar conta vendendor no pagseguro para ver se sua conta está ativada porque não adianta você fazer tudo os negocio certinho sendo que não possue a conta vendedor verificada1 ponto -
[Arquivado]Os servidores poketibia atuais
RodriigoRobson reagiu a Felipe Moraes por um tópico no fórum
Acho que o problema está na comunidade como um todo. Como já falaram, poucos servidores hoje em dia são originais, e a maioria sequer se preocupa com isso. Isso infelizmente está acontecendo e não só nos servidores de pokemons, mas em todos. A facilidade em se conseguir um servidor pronto é muito grande, e os players acabam entrando, mesmo sabendo que se trata de mais um servidor "meh" sem nenhum atrativo diferente dos demais. A nova geração de ot-admins não quer ter o trabalho de inovar, muito menos de aprender. É só dar uma olhada na seção de pedidos de scripts. É muito mais fácil pedir para alguém fazer do que correr atrás em busca de conhecimento. Mais fácil baixar pronto e rodar, do que ter trabalho para preparar algo realmente original, diferente e inovador. Temos outros fatores também que contribuem para essa decadência, como também já falaram, criação de servidor em busca de lucro, opção pela facilidade, cópias etc. Não vemos mais criação e inovação como víamos antes. Sinceramente, não consigo ver um horizonte muito promissor. Não sei se é por conta da faixa etária dos entrantes, ou simplesmente uma questão cultural. Mas ao que tudo indica, a falência é uma possibilidade. Espero que com o empenho de todos que sabem um pouco mais, possam repassar e despertar o interesse nos novos, se eles quiserem é claro.1 ponto -
Muito obrigado amigo, deu certinho, consegui =) Notei apenas que ta faltando os pokemons Trapinch, Vibrava e Flygon que são um dos meus preferidos rsrsrs e dos lendários apenas latios e latias que por sinal quase nenhum server tem rsrsrs.... mais nao vejo isso como um problema, muito menos defeito, vou tentar ver alguns tutoriais e tentar add pelo menos o a familia do flygon rsrsrsrs... servidor show, obrigado por compartilhar parabens pelo servidor, recomendo1 ponto
-
[Resolvido] Dúvida Exp Poketibia
joshua8822 reagiu a FelipeCzY por uma questão
Muito obrigado amigo, me ajudou muito, consegui =)1 ponto -
C#Presente no Sistema de Pizzaria
RigBy reagiu a Felipe Moraes por uma questão
Utilizando banco de dados, a base vai ser a mesma que o JV te disse. Algumas poucas diferenças vai ser é que você vai pegar os dados do banco, eles não estarão disponíveis na memória. Não vou me atentar à sintaxe do c#, mas tentarei te explicar a lógica para que consiga resolver. Primeiro, você tera que ter uma tabela com os dados do cliente, e para nosso exemplo, pode até mesmo adicionar uma coluna nela sobre quantos pedidos esse cliente já fez. Exemplo: Tabela Cliente Coluna: idCliente Coluna: Nome Coluna: total_pedidos Lembrando que fugimos à regra de modelagem do banco, utilizando o total_pedidos na mesma tabela, mas para nosso exemplo será suficiente. No código, primeiro, ao ser feito um novo pedido, verifique se já existe esse cliente no banco. Se não existe, insira um novo registro. Se o cliente já existe, você vai verificar em outra query, o total dos pedidos (select) e salvar esse resultset em uma variavel local. Você vai entrar na condicional que o JV postou, com a diferença que vai fazer as alterações no banco. Ta um pouco tarde, estou com um pouco de sono, caso não entenda, poste sua dúvida que tentarei te explicar de outra forma. Lembrando que há várias formas de se resolver isso, mas acredito que essa seja uma das mais didáticas.1 ponto -
vai em data/lib/configurations la contem experience so é baixar la " esta no inicio"1 ponto
-
[Resolvido] Dúvida Exp Poketibia
zipter98 reagiu a joshua8822 por uma questão
Vai em configuration.lua (data/lib/configuration.lua) e busque isto: (esta a o inicio) pokemonExpPerLevelRate = baseExpRate = generalExpRate = Agora: pokemonExpPerLevelRate = 0 (Change) baseExpRate = 1 (Change) generalExpRate = 1 (Change)1 ponto -
pokemon moves.lua (data/lib): areas.lua: ionDelugeArea = { {0, 0, 1, 1, 1, 0, 0}, {0, 1, 1, 1, 1, 1, 0}, {1, 1, 1, 1, 1, 1, 1}, {1, 1, 1, 2, 1, 1, 1}, {1, 1, 1, 1, 1, 1, 1}, {0, 1, 1, 1, 1, 1, 0}, {0, 0, 1, 1, 1, 0, 0} } exp2.0.lua (data/creaturescripts/scripts): Abaixo de: local damageCombat = combat Coloque: if getPlayerStorageValue(attacker, 2919) > os.time() then damageCombat = ELECTRICDAMAGE end No mesmo arquivo, abaixo de: if isSummon(attacker) and getPlayerStorageValue(getCreatureMaster(attacker), 86228) >= 1 then valor = valor*getClanPorcent(getCreatureMaster(attacker), combat, "atk") elseif isSummon(cid) and getPlayerStorageValue(getCreatureMaster(cid), 86228) >= 1 then valor = valor - (valor*getClanPorcent(getCreatureMaster(cid), combat, "def", pokes[getCreatureName(cid)].type, pokes[getCreatureName(cid)].type2)) end Coloque:1 ponto
-
[Pokemon] Servidor Skyfall - Completo
xande24 reagiu a MarcosFraga por um tópico no fórum
Desde quando o avast funciona? zoeira, pode ficar tranquilo se tiver algum tipo de virus é o famoso falso-positivo que não interfere em nada no OS, no mais é a distro que não tem uma fonte de reconhecimento da microsoft nem mesmo no avast, ai acusa como desconhecida.1 ponto -
Como Compilar TFS 0.4 CAST/WAR Com Vídeo.
mantega11 reagiu a Marco Oliveira por um tópico no fórum
Uma boa forma de me agradecer seria reputando o tópico, assim as pessoas saberiam que a source é funcional.1 ponto -
SPRITES PXG 2015 [JUNHO]
Viinho Sdt reagiu a JairKevick22 por um tópico no fórum
ZPITER CADE O REP? O PIPI VAI CAIR EM1 ponto -
Bem primeiramente boa tarde o que quero saber e se voce consegui fazer um exp.ring não infinito com as explicações abaixos. Explicações: - Este exp ring ou double exp ring gostaria que fosse por stages e de preferencia ring não fosse infinito, pois testei alguns de alguns forum que ao dar logout e entrar novamente o ring ficava infinito. - Exp Ring uso contínuo: Não pode tirar enquanto estiver usando. Se deslogar com o double exp ring ativado, gastará o tempo do ring mesmo com o personagem deslogado.1 ponto