Ir para conteúdo

Líderes

Conteúdo Popular

Exibindo conteúdo com a maior reputação em 11/03/18 em todas áreas

  1. Channel Help Mute (TFS 0.4)

    fezeRa e 3 outros reagiu a Lyu por uma resposta no tópico

    4 pontos
    Introdução : Muta um jogador no canal HELP por meio de um comando. game.cpp Procure por Game::playerSay, abaixo de player->setIdleTime(0) adicione : if (channelId == CHANNEL_HELP) { std::string helpmute = "0"; player->getStorage("455010", helpmute); time_t now = time(NULL); time_t seconds = atoi(helpmute.c_str()) - now; if (seconds > 0) { std::stringstream sec; sec << "You are muted for " << seconds << " seconds on this channel."; player->sendTextMessage(MSG_STATUS_SMALL, sec.str()); return false; } } data/talkactions/scripts/helpmute.lua : function onSay(cid, words, param) if param == '' then return doPlayerSendCancel(cid, 'Informe o nome do jogador e o tempo em segundos.') end local default = 600 local tmp = string.explode(param, ',') if not isCreature(getCreatureByName(tmp[1])) then return doPlayerSendCancel(cid, 'Jogador inexistente ou off-line.') end setPlayerStorageValue(getCreatureByName(tmp[1]), 455010, os.time() + (tonumber(tmp[2]) or default)) doPlayerSendCancel(cid, 'O jogador ' .. tmp[1] .. ' foi mutado.') return true end data/talkactions/talkactions.xml : <talkaction log="yes" group="4" access="3" words="/helpmute" event="script" value="helpmute.lua"/> Como utilizar? Para impedir um jogador de falar no Channel Help, utilize o comando /helpmute Playername, segundos. Para resetar os segundos, utilize o mesmo comando só que em segundos, coloque 0. Comando disponível apenas para a acessos superiores, configuração disponível no XML talkactions.xml. Versão do TFS: 0.4 Créditos: Lyu
  2. 3 pontos
    Olá a todos. Não sei se e com todos ou só alguns, porem tem um erro do qual o server muda o item ao relogar. não vi no fórum soluções e um amigo ajudou e estou trazendo para todos. Chega de lenga lenga bora la. Na sua database clique em player_items Depois estrutura Depois na linha itemtype clique para mudar. Logo apos fazer isso clique em SMALLINT Mudando para int e valor 11 De um enter e pronto seus problemas foram resolvidos.. o resultado final deve ficar assim. Valeu, espero que as pessoas que tenham esse erro consigam se resolver. bjundas
  3. [10.91] Remere's Map Editor

    Hrod reagiu a Bruno Carvalho por uma resposta no tópico

    1 ponto
    Bom pessoal, há muito tempo o Remere's Map Editor ficou open source. Eu estou testando e gostaria de compartilhar ele com vocês. Changelog Versão 10.91 adicionada (NOVO) (Não é uma versão oficial e como sempre digo: Não é recomendado que se utilize os items novos, apenas crie o mapa sem utilizá-los até que tenha um OTB oficial) Melhorias no sistema de zoom Suporte para versões 10.10+ Live casts Ultima versão do github Informações Precisa do Microsoft Visual C++ 2013 - 32/64Bits: Redistributable Package Não tem suporte para Windows Xp Download Versão até 10.91 rev 250 https://mega.nz/#!z9910YbL!9cHUvoYlrFiwshsVCe-JEKKzqrwp-w7ZsCqhFiAtBWE Créditos Hjnilsson (RME) MartyX - Ajudou a compilar Comedinha (Bruno Carvalho) Pessoal do TPForums Outros Contato com o criador: Pelo Twitter: @leremere
  4. Baú Que dá Outfit se tiver Level

    DarkRed reagiu a Ayron5 por uma resposta no tópico

    1 ponto
    Bom galera antes de tudo, pesquisei e não encontrei desse que dá a roupa se tiver o tal level pedido na script. Tou deixando bem explicado para melhor compreensão de todos. O script é simples e já foi testado, estando o mesmo 100% na minha base 8.54 Vamos lá! Vá em data/actions/scripts e crie um arquivo Lua chamado > Outfitquest Feito isso dentro adicione esse código v Em actions.xml você adiciona v Explicação: if item.uid == 12154 then 12154 é a unique id que você vai colocar no baú. Lembrando que vc pode mudar os valores. Obs: Mudando esse valor vc terá que deixar igual na da tag da actions.xml if getPlayerLevel(cid) >= 30 then 30 é o level que o player precisa ter para concluir a quest. Mude ao seu gosto! questOut = getPlayerStorageValue(cid, 31503) 31503 é a storage da quest, recomendo não mudar/caso mude, deixe todos eles iguais pois eles se repetem no script. setPlayerStorageValue(cid, 181655, 1) 181655 é a storage da quest da roupa que vc vai querer que ele ganhe, mas vc me pergunta Ayron/Sepultura onde eu acho essa storage de roupa? Simples, vá em data/XML e abra o outfits.xml Lá vc encontrará algo assim v <outfit id = "59" quest = "181655"> <list gender = "0" lookType = "1498" name = "Christmas" /> <!-- 0 mulher, 1 homem --> <list gender = "1" lookType = "1497" name = "Christmas" /> </ outfit> Note que o valor 181655 é o valor da quest que lista as roupas que deseja dar no baú Atenção aqui ( o script dá a roupa automático de acordo com o sexo do player) ^ ^ Bom se vc já fez tudo deixou as coisas OK falta a ultima parte. Abra o seu (rme map editor) e lá escolha o baú, feito isso aperte com o botão direito do mouse sobre ele e vá em propriedades, abrirá uma janelinha, na parte da Unique ID coloque o valor da unique da script que é o mesmo da tag na actions.xml = 12154 ficando assim v Pronto! salve o mapa e vá testar. ^ ^ Espero ajudar alguém, e se ajudei deixa o Rep! aí para fortalecer a amizade É isso, abraços!
  5. (incomplete) EMERALD PALACE [NOKTURNO]

    DdJs reagiu a noktuno por uma resposta no tópico

    1 ponto
    i dont have time to finish this. comment if you like it for more pieces. 1 2 By Nokturno scan https://www.virustotal.com/#/file/8181d00868e9c238d2045fb047c12de02058f905034862bc52e1a09bf8b8a233/detection emeraldpalace-by nokturno.otbm
  6. 1 ponto
    Fala linduxos do TK, hoje vim trazer para vocês um sistema que venho modificando a algum tempo. O Sistema de pagseguro automático, ao longo do script ensinarei perfeitamente como instalar/configurar. Lembrando que uso esse sistema em um servidor meu e está 100% entregando os pontos no mesmo instante, adicionei a opção de entregar pontos dobrados, para promoção double points acima de X valor. Vá em sua pasta www ou htocs/config abra o arquivo config.php e procure por: $config['site']['layout'] = ... embaixo disto adicione o seguinte: // Pagseguro Automático by Absolute on Luminera // Seu email cadastrado no PagSeguro $config['pagseguro']['email'] = 'SEU E-MAIL DO PAGSEGURO'; // Nome do produto $config['pagseguro']['produtoNome'] = 'Premium Points'; // Valor de cada ponto // Exemplo de valores: // 100 = R$ 1,00 // 250 = R$ 2,50 $config['pagseguro']['produtoValor'] = '100'; Simples explicação sobre este passo: em SEU E-MAIL DO PAGSEGURO basta colocar o seu e-mail do pagseguro, ficando como exemplo: $config['pagseguro']['email'] = '[email protected]'; (não mexa em mais nada) Próximo passo: Agora vá na sua pasta www ou htocs e crie um arquivo chamado pagseguro_retorno.php (Extensão PHP formato de página PHP), dentro do pagseguro_retorno.php adicione: <?PHP $host = "localhost"; /* HOST */ $user = "root"; /* USER */ $passwd = "SENHADOPHPMYADMIN"; /* PASSWORD */ $db = "NOMEDADATABASE"; /* DB */ ############################################################## # CONFIGURAÇÕES ############################################################## $retorno_token = 'SEUTOKENPAGSEGURO'; // Token gerado pelo PagSeguro if (empty($_POST['Referencia'])) { header("Location http://pagseguro.com.br"); } list($accname, $world) = explode('-', $_POST['Referencia']); if ($world=='sv') { $retorno_host = "$host"; // Local da base de dados MySql $retorno_database = "$db"; // Nome da base de dados MySql $retorno_usuario = "$user"; // Usuario com acesso a base de dados MySql $retorno_senha = "$passwd"; // Senha de acesso a base de dados MySql } ############################################################### # ATENÇÃO TIBIAKING NÃO ALTERE DESTA LINHA PARA BAIXO OK? Absolute Agradeçe hihi # $lnk = mysql_connect("$host", "$user", "$passwd") or die ('Nao foi possível conectar ao MySql: ' . mysql_error()); mysql_select_db("$db", $lnk) or die ('Nao foi possível ao banco de dados selecionado no MySql: ' . mysql_error()); // Validando dados no PagSeguro $PagSeguro = 'Comando=validar'; $PagSeguro .= '&Token=' . $retorno_token; $Cabecalho = "Retorno PagSeguro"; foreach ($_POST as $key => $value) { $value = urlencode(stripslashes($value)); $PagSeguro .= "&$key=$value"; } if (function_exists('curl_exec')) { $curl = true; } elseif ( (PHP_VERSION >= 4.3) && ($fp = @fsockopen ('ssl://pagseguro.uol.com.br', 443, $errno, $errstr, 30)) ) { $fsocket = true; } elseif ($fp = @fsockopen('pagseguro.uol.com.br', 80, $errno, $errstr, 30)) { $fsocket = true; } if ($curl == true) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, 'https://pagseguro.uol.com.br/Security/NPI/Default.aspx'); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, $PagSeguro); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_TIMEOUT, 30); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_URL, 'https://pagseguro.uol.com.br/Security/NPI/Default.aspx'); $resp = curl_exec($ch); curl_close($ch); $confirma = (strcmp ($resp, "VERIFICADO") == 0); } elseif ($fsocket == true) { $Cabecalho = "POST /Security/NPI/Default.aspx HTTP/1.0\r\n"; $Cabecalho .= "Content-Type: application/x-www-form-urlencoded\r\n"; $Cabecalho .= "Content-Length: " . strlen($PagSeguro) . "\r\n\r\n"; if ($fp || $errno>0) { fputs ($fp, $Cabecalho . $PagSeguro); $confirma = false; $resp = ''; while (!feof($fp)) { $res = @fgets ($fp, 1024); $resp .= $res; if (strcmp ($res, "VERIFICADO") == 0) { $confirma=true; break; } } fclose ($fp); } else { echo "$errstr ($errno)<br />\n"; } } if ($confirma) { ## Recebendo Dados ## $TransacaoID = $_POST['TransacaoID']; $VendedorEmail = $_POST['VendedorEmail']; $Referencia = $_POST['Referencia']; $TipoFrete = $_POST['TipoFrete']; $ValorFrete = $_POST['ValorFrete']; $Extras = $_POST['Extras']; $Anotacao = $_POST['Anotacao']; $TipoPagamento = $_POST['TipoPagamento']; $StatusTransacao = $_POST['StatusTransacao']; $CliNome = $_POST['CliNome']; $CliEmail = $_POST['CliEmail']; $CliEndereco = $_POST['CliEndereco']; $CliNumero = $_POST['CliNumero']; $CliComplemento = $_POST['CliComplemento']; $CliBairro = $_POST['CliBairro']; $CliCidade = $_POST['CliCidade']; $CliEstado = $_POST['CliEstado']; $CliCEP = $_POST['CliCEP']; $CliTelefone = $_POST['CliTelefone']; $NumItens = $_POST['ProdValor_1']; $ProdQuantidade_x = $POST['ProdQuantidade_1']; # GRAVA OS DADOS NO BANCO DE DADOS # mysql_query("INSERT into pagsegurotransacoes SET TransacaoID='$TransacaoID', VendedorEmail='$VendedorEmail', Referencia='$Referencia', TipoFrete='$TipoFrete', ValorFrete='$ValorFrete', Extras='$Extras', Anotacao='$accname', TipoPagamento='$TipoPagamento', StatusTransacao='$StatusTransacao', CliNome='$CliNome', CliEmail='$CliEmail', CliEndereco='$CliEndereco', CliNumero='$CliNumero', CliComplemento='$CliComplemento', CliBairro='$CliBairro', CliCidade='$CliCidade', CliEstado='$CliEstado', CliCEP='$CliCEP', CliTelefone='$CliTelefone', NumItens='$NumItens', Data=now(), ProdQuantidade_x='$ProdQuantidade_x';"); if ($NumItens >= 5) { $pontosadd = $NumItens * 2; } else { $pontosadd = $NumItens; } if ($StatusTransacao == "Aprovado") { mysql_query("UPDATE accounts SET premium_points = premium_points + '$pontosadd' WHERE name = '".htmlspecialchars($accname)."'"); mysql_query("UPDATE pagsegurotransacoes SET StatusTransacao = 'Entregue' WHERE CONVERT( `pagsegurotransacoes`.`TransacaoID` USING utf8 ) = '$TransacaoID' AND CONVERT( `PagSeguroTransacoes`.`StatusTransacao` USING utf8 ) = 'Aprovado' LIMIT 1 ;"); mysql_query('OPTIMIZE TABLE `pagsegurotransacoes`'); } } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Donate Server</title> <style type="text/css"> body { font-family: Tahoma, Geneva, sans-serif; font-size: 16px; width: 900px; margin: 0px auto; margin-top: 30px; } b { font-size: 18px; font-weight: bold; } </style> </head> <body> <table width="100%" border="0" cellspacing="0" cellpadding="0" align="center"> <tr> <td width="11%" align="center" valign="middle"><img src="images/true.png" height="auto" width="64" /></td> <td width="89%"><p><b>S</b>ua compra está sendo processada por nossos sistemas de apuração, dentro de no máximo <u>1 hora seus pontos serão creditados</u>, caso o pagamento não for efetuado, ficará em aberto 1 ou mais pagamentos pendentes em sua conta. Caso você tenha mais de 3 pagamentos pendentes por falta de pagamento, sua conta será bloqueada temporariamente para efetuar pagamentos.</p></td> </tr> </table> <p><b>ID de Transação:</b> <?php echo $_POST['TransacaoID']; ?></p> </body> </html> Explicação de configuração deste passo: Coloque a senha que você usa para entrar no phpmyadmin aqui: $passwd = "SENHADOPHPMYADMIN"; /* PASSWORD */ Exemplo de como ficaria: $passwd = "absolute123"; /* PASSWORD */ Coloque aqui o nome que está seu banco de dados (o mesmo que vai no config.lua, onde salva os characters, contas e cia): $db = "NOMEDADATABASE"; /* DB */ ; Exemplo de como ficaria: $db = "otserver"; /* DB */ IMPORTANTE, TOKEN Pagseguro! Você irá entrar neste link, aparecerá uma página pedindo para colocar a url de retorno, no entanto você colocará o seu site terminado em /pagseguro_retorno.php, exemplo de link para colocar: http://otglobal.com/pagseguro_retorno.php (LEMBRANDO QUE É APENAS UM EXEMPLO, SERÁ SEUSITE.COM/pagseguro_retorno.php, como na imagem a seguir: Pós verificar a seleção do "Ativar" e o link correto clique em Salvar. Agora descendo um pouco esta página onde terá a opção a cima terá uma opção como a imagem a seguir: Clique em GERAR, você receberá o seu código token e coloque no script que estará na sua pasta www ou htocs, mude na linha: $retorno_token = 'SEUTOKENPAGSEGURO'; // Token gerado pelo PagSeguro EM SEUTOKENPAGSEGURO coloque o TOKEN que você acabou de pegar, será vários números e letras, exemplo de como ficaria: $retorno_token = 'AE89464AE8145487484PAEA978E91'; // Token gerado pelo PagSeguro DOUBLE POINTS EXPLICAÇÃO: Neste mesmo script há algumas linhas com a seuginte função: if ($NumItens >= 5) { $pontosadd = $NumItens * 2; Isto quer dizer, > 5 (A cima de 5 pontos, receba: NumItens * 2, receba em 2x PONTOS EM DOBRO!) Para alterar o valor a cima que a pessoa receberá em dobro: NumItens >= 5) 5 pontos ou mais a pessoa receberá em dobro, caso seja para qualquer valor, troque o 5 pelo 1. Caso não deseje DOUBLE POINTS e sim 50% do valor em pontos, exemplo: 10R$ = 15 Pontos, altere para: $pontosadd = $NumItens * 1.5; Caso não deseje promoção e queira que seja 1 Real = 1 Ponto: $pontosadd = $NumItens * 1; Próximo passo: Calma gente, está quase acabando eu prometo, então abra o seu PHPMYADMIN, localhost/phpmyadmin ou seusite.com/phpmyadmin, exemplo: www.absolutewar.com/phpmyadmin ; absoluteot.servegame.com/phpmyadmin, clique na opção SQL do phpmyadmin (como mostrarei na imagem e de executar. Código a inserir no "espaço": CREATE TABLE `pagsegurotransacoes` ( `TransacaoID` varchar(36) NOT NULL, `VendedorEmail` varchar(200) NOT NULL, `Referencia` varchar(200) default NULL, `TipoFrete` char(2) default NULL, `ValorFrete` decimal(10,2) default NULL, `Extras` decimal(10,2) default NULL, `Anotacao` text, `TipoPagamento` varchar(50) NOT NULL, `StatusTransacao` varchar(50) NOT NULL, `CliNome` varchar(200) NOT NULL, `CliEmail` varchar(200) NOT NULL, `CliEndereco` varchar(200) NOT NULL, `CliNumero` varchar(10) default NULL, `CliComplemento` varchar(100) default NULL, `CliBairro` varchar(100) NOT NULL, `CliCidade` varchar(100) NOT NULL, `CliEstado` char(2) NOT NULL, `CliCEP` varchar(9) NOT NULL, `CliTelefone` varchar(14) default NULL, `NumItens` int(11) NOT NULL, `Data` datetime NOT NULL, `status` tinyint(1) unsigned NOT NULL default '0', UNIQUE KEY `TransacaoID` (`TransacaoID`,`StatusTransacao`), KEY `Referencia` (`Referencia`), KEY `status` (`status`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1; Pós executar irá aparecer uma mensagem que o código foi aceito e uma tabela nova foi criada, como na imagem a seguir: Agora por fim o ÚLTIMO PASSO Novamente na pasta www ou htdocs substitua o seu arquivo donate.php por este: <?php if(!$logged) if($action == "logout") $main_content .= '<div class="TableContainer" > <table class="Table1" cellpadding="0" cellspacing="0" > <div class="CaptionContainer" > <div class="CaptionInnerContainer" > <span class="CaptionEdgeLeftTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></span> <span class="CaptionEdgeRightTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></span> <span class="CaptionBorderTop" style="background-image:url('.$layout_name.'/images/content/table-headline-border.gif);" ></span> <span class="CaptionVerticalLeft" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif);" /></span> <div class="Text" >Logout Successful</div> <span class="CaptionVerticalRight" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif);" /></span> <span class="CaptionBorderBottom" style="background-image:url('.$layout_name.'/images/content/table-headline-border.gif);" ></span> <span class="CaptionEdgeLeftBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></span> <span class="CaptionEdgeRightBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></span> </div> </div> <tr> <td> <div class="InnerTableContainer" > <table style="width:100%;" ><tr><td>You have logged out of your '.$config['server']['serverName'].' account. In order to view your account you need to <a href="?subtopic=accountmanagement" >log in</a> again.</td></tr> </table> </div> </table></div></td></tr>'; else $main_content .= 'Please enter your account name and your password.<br/><a href="?subtopic=createaccount" >Create an account</a> if you do not have one yet.<br/><br/><form action="?subtopic=accountmanagement" method="post" ><div class="TableContainer" > <table class="Table1" cellpadding="0" cellspacing="0" > <div class="CaptionContainer" > <div class="CaptionInnerContainer" > <span class="CaptionEdgeLeftTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></span> <span class="CaptionEdgeRightTop" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></span> <span class="CaptionBorderTop" style="background-image:url('.$layout_name.'/images/content/table-headline-border.gif);" ></span> <span class="CaptionVerticalLeft" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif);" /></span> <div class="Text" >Account Login</div> <span class="CaptionVerticalRight" style="background-image:url('.$layout_name.'/images/content/box-frame-vertical.gif);" /></span> <span class="CaptionBorderBottom" style="background-image:url('.$layout_name.'/images/content/table-headline-border.gif);" ></span> <span class="CaptionEdgeLeftBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></span> <span class="CaptionEdgeRightBottom" style="background-image:url('.$layout_name.'/images/content/box-frame-edge.gif);" /></span> </div> </div> <tr> <td> <div class="InnerTableContainer" > <table style="width:100%;" ><tr><td class="LabelV" ><span >Account Name:</span></td><td style="width:100%;" ><input type="password" name="account_login" SIZE="10" maxlength="10" ></td></tr><tr><td class="LabelV" ><span >Password:</span></td><td><input type="password" name="password_login" size="30" maxlength="29" ></td></tr> </table> </div> </table></div></td></tr><br/><table width="100%" ><tr align="center" ><td><table border="0" cellspacing="0" cellpadding="0" ><tr><td style="border:0px;" ><div class="BigButton" style="background-image:url('.$layout_name.'/images/buttons/sbutton.gif)" ><div &#111;nmouseover="MouseOverBigButton(this);" &#111;nmouseout="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 &#111;nmouseover="MouseOverBigButton(this);" &#111;nmouseout="MouseOutBigButton(this);" ><div class="BigButtonOver" style="background-image:url('.$layout_name.'/images/buttons/sbutton_over.gif);" ></div><input class="ButtonText" type="image" name="Account lost?" alt="Account lost?" src="'.$layout_name.'/images/buttons/_sbutton_accountlost.gif" ></div></div></td></tr></form></table></td></tr></table>'; else { $main_content .= '<br><br><b>Valores:</b><br> 1 Point = R$ 1,00<br> 10 Points = R$ 10,00<br> 20 Points = R$ 20,00<br> E assim por diante...<br><br> '; $main_content .= ' <form target="pagseguro" method="post" action="https://pagseguro.uol.com.br/checkout/checkout.jhtml"> <input type="hidden" name="email_cobranca" value="'. $config['pagseguro']['email']. '"> <input type="hidden" name="tipo" value="CP"> <input type="hidden" name="moeda" value="BRL"> <input type="hidden" name="item_id_1" value="1"> <input type="hidden" name="item_descr_1" value="Pontos na account de nome: '.$account_logged->getCustomField("name").'"> <input type="hidden" name="item_valor_1" value="'. $config['pagseguro']['produtoValor'] .'"> <input type="hidden" name="item_frete_1" value="0"> <input type="hidden" name="item_peso_1" value="0"> <input type="hidden" name="ref_transacao" value="'.$account_logged->getCustomField("name").'"> <table border="0" cellpadding="4" cellspacing="1" width="100%" id="#estilo"><tbody> <tr bgcolor="#505050" class="white"> <th colspan="2"><strong>Escolha a quantidade de pontos que deseja comprar</strong></th> </tr> <tr> <td width="10%">Sua conta</td> <td><strong>'.$account_logged->getCustomField("name").'</strong></td> </tr> <tr> <td width="10%">Pontos</td> <td> <input name="item_quant_1" type="text" value="10" size="5" maxlength="5"> </td> </tr> <tr> <td colspan="2"> <input type="image" src="https://p.simg.uol.com.br/out/pagseguro/i/botoes/carrinhoproprio/btnFinalizar.jpg" name="submit" alt="Pague com PagSeguro - é rápido, grátis e seguro!" /> </td> </tr> </tbody></table></form> <b><span style="color:#ff0000;">OBS&sup1;:</span></b> Os pontos são entregues <b>automáticamente</b> logo após a <u>aprovação</u> do seu pagamento pelo PagSeguro, ou seja, pagou e foi aprovado pontos depositados. Você pdoerá acessar o shop offer e desfrutar dos melhores items do servidor! <?php } ?>'; } ?> Pronto galera tão fácil né? agora vocês poderão pegar seu guarda sol, sua água de coco e sentar na sua cadeira de praia enquanto o script entregará os pontos automáticamente em menos de 1 minuto. Espero ter ajudado, quaisquer dúvidas podem solicitar no tópico ou até mesmo me mandar uma mensagem privado que estarei disposto a ajuda-los. Créditos: Absolute (EU) Matheus Sesso pela página donate.php Nos vemos na próxima! Enjoy.
  7. NPC que vende informação

    jacksonsns reagiu a Ayron5 por uma resposta no tópico

    1 ponto
    Dale! suave? deixo aqui um npc que fiz agora para meu servidor... Como fala no titulo, ele cobra uma certa quantia de dinheiro ou item, para dar uma informação, só configure certinho. É bem simples mas pode ajudar alguém Lembrando que está testado e funcionando 100% Vá em data/npc e crie um arquivo XML com o nome info e cole isso dentro... Salve e feche... Agora em data/npc/scripts crie um arquivo LUA com o nome info e cole dentro... Bom, é só isso espero ajudar alguém, se ajudei deixa o REP! Aí pra fortalecer a amizade LEMBRANDO QUE DENTO DO ARQUIVO ESTÁ A EXPLICAÇÃO.
  8. (Resolvido)Mudar outfit de 1 em 1 segundo

    neontiger reagiu a Lyu por uma resposta no tópico

    1 ponto
    Fiz aqui rapidinho, utilizei onThink por ser um método mais seguro e permitir reLogin sem interferir na troca de outfits. data/creaturescripts/scripts/outfitring.lua local config = { ring = 2205, outfits = { {lookType = 128, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 3}, {lookType = 129, lookHead = 0, lookBody = 0, lookLegs = 0, lookFeet = 0, lookAddons = 3} } } function onThink(cid, interval) if getPlayerSlotItem(cid, CONST_SLOT_RING).itemid == config.ring then doSetCreatureOutfit(cid, config.outfits[os.time() % 2 == 0 and 1 or 2]) end return true end data/creaturescripts/creaturescripts.xml <event type="think" name="OutfitRing" event="script" value="outfitring.lua"/> adicionar no final de data/creaturescripts/scripts/login.lua registerCreatureEvent(cid, "OutfitRing") a configuração é na tabela config, onde você pode configurar o id do ring e as duas outfits. Abraços.
  9. (10.98) Remere's Map Editor v3.5

    Cat reagiu a L3K0T por uma resposta no tópico

    1 ponto
    que dlç cara, já vou baixar, pois eu uso o 3.3 mais esse provavelmente está com mais correções hehe
  10. local FRASES = {"Ja Volto!", "Saindo!", "Afk!", "Ja Volto!", "AFK!"} -- Auto-Mensagens. local TEMPO = 2 -- Intervalo de Tempo em segundos. local storage = 123456 -- Storage para verificar do player local function doSendAutoMessage(cid, pos) if (isCreature(cid)) then npos = getThingPos(cid) if (pos.x == npos.x) and (pos.y == npos.y) and (pos.z == npos.z) then doSendAnimatedText(pos, FRASES[math.random(#FRASES)], math.random(255)) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) addEvent(doSendAutoMessage, TEMPO*1000, cid, npos) end end end function onSay(cid, words, param) if (getPlayerStorageValue(cid, storage) == -1) then return doPlayerSendCancelMessage(cid, "Voce nao pode utilizar este comando!") end pos = getThingPos(cid) doSendAnimatedText(pos, FRASES[math.random(#FRASES)], math.random(255)) doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE) doCreatureSay(cid, "Vo Ficar Afk, Perae Beleza ?!.", TALKTYPE_ORANGE_1) doPlayerPopupFYI(cid, "Voce ficou AFK, Para sair do AFK, Ande.") addEvent(doSendAutoMessage, TEMPO*1000, cid, pos) return true end Olá, Não cheguei a testar, mas basicamente ele vai checar se o player tem o storage, se tiver, ele vai executar o código, caso contrário, vai devolver a mensagem 'Voce nao pode utilizar este comando!'.
  11. Criando Spells para seu servidor!

    ypz msty reagiu a Kimoszin por uma resposta no tópico

    1 ponto
    Ola gaaaaaaalera, é com muito prazer que venho trazer esse primeiro tutorial meu como Aprendiz do TibiaKing, Spells: Bom, spells sao as magias do nosso servidor, elas servem tanto para healar, atacar, dar suporte e etc ... Criar magias é algo muito simples, vc mesmo poderam criar quantas magias quiserem para o seu servidor seguindo esse tutorial, Muito bem, vamos começar ... Spells de Curar (Healing) Fazendo a sua Spell Nao precisamos mecher aqui Aqui sera, oque vai acontecer Aqui é o effect que saira quando o player usar a spell A spell nao vai agressivar, assim podendo ser usada em areas PZ Aqui sera um Extra, a spell ira curar paralyze Formula do magic level, quanto maior mais vai healar Nao precisamos mecher aqui tambem Legenda: × Mais efeito pode ser encontrados no final do Tutorial × Oque ira acontecer, poder ser encontrado no final do Tutorial × Condições, pode ser encontradas mais no final do Tutorial Obrigado a Todos, Estou terminando de fazer o SpellMaker para facilitar a vida de vc, Abraços Spells de Atacar (Attack) Fazendo a sua Spell Nao mechremos aqui Aqui sera o tipo de dano que a spell causara Aqui é o effect que saira quando o player usar a spell setAttackFormula(combat, COMBAT_FORMULA_LEVELMAGIC, 5, 5, 5, 12) Formula do magic level, quanto maior mais vai healar Area que a spell vai atingir, Nao mecheremos aqui tambem Legenda: × Areas, podem ser encontradas no final do Tutorial × Efeitos, podem ser encontrados no final do Tutorial × Danos, podem ser encontrados no final do Tutorial Spells de Suporte (Support) Fazendo a sua Spell Nao mechemos aqui Efeito da magia Magia nao agressiva, pode ser usada em areas PZ Condição de escudo de mana O tempo que demora para essa spell acabar, 1 segundo = 1000 Nao mechemos aqui Legenda: × Efeito, pode ser encontrados mais no final do Tutorial × Condições, pode ser encontradas mais no final do Tutorial Oque a Spell vai fazer Efeitos Areas Condições
  12. Criando Spells para seu servidor!

    BlackLubbuk reagiu a Renato por uma resposta no tópico

    1 ponto
    Putz cara, perfeito. Rep+
  13. [Anti Mc] Para Portais

    Belmont reagiu a DukeeH por uma resposta no tópico

    0 pontos
    Nesse script ai você não consegue botar a limitação, tem que colocar no portal em si. Colocar uma actionid no teleport que é criado, se não tiver esse ip lá, ele teleporta, se não, ele faz o boneco voltar. Poderia ter procurado um pouco:
Líderes está configurado para São Paulo/GMT-03:00

Informação Importante

Confirmação de Termo