Ir para conteúdo

locauty

Membro
  • Registro em

  • Última visita

Histórico de Curtidas

  1. Gostei
    locauty deu reputação a mattos123 em [BUG] Depot Player Passa por dentro   
    Vá no seu items.xml localize o ID do tile que está usando , e edite a seu gosto. <item id="ID_FLOOR" article="a" name="depot floor">         <attribute key="walkStack" value="0" /> -- [Solução]     </item>
  2. Gostei
    locauty deu reputação a TiuoDrog em [PEDIDO] Object Builder   
    Desculpe reviver o topic mas esta ai o Object Builder e tambem ira precisar do Adobe Air
  3. Curtir
    locauty deu reputação a joadson em [Resolvido] Ring nao transforma quando equipado   
    Não está dando os atributos porque você só abriu a "chave" e não fechou.
    <movevent type="Equip" itemid="12655" slot="ring" event="function" value="onEquipItem"/> <movevent type="DeEquip" itemid="12655" slot="ring" function="onDeEquipItem"/> <movevent type="Equip" itemid="12658" slot="ring" event="function" value="onEquipItem"/> <movevent type="DeEquip" itemid="12658" slot="ring" event="function" value="onDeEquipItem"/> use esse meu e refaça o teste.
  4. Obrigado
    locauty deu reputação a jaksFischer em (Resolvido)[AJUDA] Preciso de ajuda com dominio   
    Olá, boa noite,
     
    Para isso é simples, basta editar a zona de DNS, você irá apontar o www para o IP seu servidor
     
    Siga o seguinte:
     
    Abra a opção "Hospedagem de Sites", após, assim que abrir a próxima tela, você irá abrir o menu de configurações do site  
     
    Clique em Gerenciar Domínios  
     
     
    Agora você deverá clicar em "Zona de DNS"  
     
    Agora você deverá editar o www, no meu caso está com o meu domínio, para apontar para o seu IP, deverá coloca-lo onde está o endereço do site.
  5. Obrigado
    CreatureScript
    function onDeath(cid, corpse, deathList) local config = { onlypremium = false, -- se precisa ser premium para não perder nada levelandskills = true, -- se ao morrer o jogador irá perder level e skill loot = false, -- se ao morrer o jogador irá perder o loot level = -- até que level irá proteger o player } if isPlayer(cid) and getPlayerLevel(cid) <= config.level then if config.onlypremium == true and not isPremium(cid) then return TRUE end if config.loot == false then doCreatureSetDropLoot(cid, false) end if config.levelandskills == false then doPlayerSetLossSkill(cid, 0) end return TRUE end return TRUE end CreatureScript.Xml
    <event type="death" name="ProtectLevel" event="script" value="levelprotection.lua"/> Login.lua
    registerCreatureEvent(cid, "ProtectLevel")  
  6. Obrigado
    locauty deu reputação a Kimoszin em [Action] Alavanca que vende item.   
    Esse script é para aquele OTserver que pode bugar o NPC para comprar itens, um deles é o de potion.
    Então eu resolvi criar esse script, mais ele nao é novidade, você ja deve ter visto.

    - Para que serve?
    Hora, para vender itens, e nao se preocupar se alguem vai bugar o seu OT, pode ser tanto runas, potions e etc...

    - Como eu faço para ter em meu servidor?
    Basta adicionar o actionID 7004 numa alavanca, e depois adicionar os script em data\actions\scripts e actions.xml

    alavancasell.lua

    local config = { money = 1000, -- Dinheiro que vai custar item = 7618, -- ID do item que vai vender count = 20, -- Quantidade } function onUse(cid, item, fromPosition, itemEx, toPosition) pos = getCreaturePosition(cid) if item.itemid == 1945 then if doPlayerRemoveMoney(cid, config.money) == TRUE then doPlayerAddItem(cid, config.item, config.count) doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, "Você acaba de comprar "..config.count.." "..getItemNameById(config.item)..".") doSendMagicEffect(pos, CONST_ME_MAGIC_BLUE) else doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, "Desculpe, mais você nao tem dinheiro suficiente.") doSendMagicEffect(pos, CONST_ME_POFF) end end end actions.xml <action actionid="7004" event="script" value="alavancasell.lua"/>

    É isso galera, esse script simples que salva vidas
    Abraços...
  7. Gostei
    locauty deu reputação a Emersonssss em (Resolvido)[Ajuda] Script Evento Double Xp   
    Explicando Em DoubleXP = {"Wednesday", "Sunday"} Coloque os dias que serão Double XP, será de 00:00 a 24:59 do dia escolhido, os dias tem que ser em ingles, quando o player logar e for o dia escolhido será modificado o rateXP dele para Double.
    Segue :
    function onLogin(cid) -- Monday = Segunda -- Tuesday = Terça -- Wednesday = Quarta -- Thursday = Quinta -- Friday = Sexta -- Saturday = Sabado -- Sunday = Domingo DoubleXP = {"Wednesday", "Sunday"} if isInArray(DoubleXP, os.date("%A")) then doPlayerSetRate(cid, SKILL__LEVEL, 2.0) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "--[Double XP]--\nHoje Estamos em evento Double XP!!") end return true end Em CreatureScripts.xml
    <event type="login" name="DoubleXP" event="script" value="DoubleXP.lua"/> Login.lua
    registerCreatureEvent(cid, "DoubleXP") Creditos?
    Emerson Henrique
  8. Obrigado
    locauty deu reputação a maresoft em Pedido comando !spell diferente   
    Vai em Data/talkations/scripts/ e cria um arquivo chamado spells.lua e coloca isso dentro:
     
     



     
    Depois vai em talkactions.xml 
    <talkaction words="!spells" event="script" value="spells.lua"/>
  9. Gostei
    locauty deu reputação a Qwizer em LOGAR EM 2 CHAR NA MESMA CONTA   
    config.lua procure por onePlayerOnlinePerAccount = true e mude para onePlayerOnlinePerAccount = false
  10. Gostei
    locauty deu reputação a trancx123 em (Resolvido)Gostaria de um Arco sem Flechas   
    @danielkight bem, vc precisa me falar 1 item q tenha o efeito q vc queira...

    bota isso no lugar desse q vc me passou:
     
    <item id="22419" article="a" name="crude umbral crossbow">         <attribute key="weight" value="13000" />         <attribute key="weaponType" value="distance" />         <attribute key="range" value="5" />         <attribute key="hitChance" value="1" />         <attribute key="attack" value="3" />    ---> aqui vc vai botar vai botar o atributo q vc deseja, n sei qual é pois vc n falou um item com o mesmo efeito  </item> o atributo será como esse <attribute key="shootType" value="energy" /> só mudar o value para o efeito q vc deseja  
  11. Gostei
    locauty deu reputação a LucasDipic em Traduzir falas do acc mananger!   
    Nas sources e também da pra mudar uma pequena parte do inicio em creaturescript/login.lua
  12. Gostei
    locauty deu reputação a luanluciano93 em Gesior - Bug Acentos feat Ç   
    procura a página que esta dando esses erros, por exemplo, se for a shopsystem.php, abre o arquivo e no inicio substitui isso:

    <?php

    por isso:

    <?php header("Content-Type: text/html; charset=ISO-8859-1",true);
  13. Gostei
    locauty deu reputação a Absolute em [AJUDA] RME Unsupported Client Version (8)   
    Clique em IMPORT MAP e coloque o mapa do servidor, o mapa está corrompido por isso não conseguirá abrir em open, mas fazendo este processo não haverá erros e você poderá salva-lo normalmente.
  14. Gostei
    locauty deu reputação a vankk em [HELP] 100 points gratis Ajudar   
    Tenta fazer algo do tipo, em baixo de $reg_account->setPassword($reg_password); no pages/createaccount.php você coloca isso $reg_account->setPremiumPoints(100);
     
    Se você tiver usando Gesior AAC 2012, é isso.. Ele vai setar 100 points para a conta nova que está sendo criada, lembre-se de quando terminar o Test Server, você remover isso, e também setar a conta de todos para premium_points 0
     
     
  15. Gostei
    locauty deu reputação a Absolute em [Pagseguro Automático] 100% e com Double Points OPCIONAL   
    Fala linduxos do TK, hoje vim trazer para vocês um sistema que venho modificando a algum tempo.
    O Sistema de pagseguro automático, ao longo do script ensinarei perfeitamente como instalar/configurar.
    Lembrando que uso esse sistema em um servidor meu e está 100% entregando os pontos no mesmo instante, adicionei a opção de entregar pontos dobrados, para promoção double points acima de X valor.
     
    Vá em sua pasta www ou htocs/config abra o arquivo config.php e procure por: $config['site']['layout'] = ... embaixo disto adicione o seguinte:
     
    // Pagseguro Automático by Absolute on Luminera // Seu email cadastrado no PagSeguro $config['pagseguro']['email'] = 'SEU E-MAIL DO PAGSEGURO'; // Nome do produto $config['pagseguro']['produtoNome'] = 'Premium Points'; // Valor de cada ponto // Exemplo de valores: // 100 = R$ 1,00 // 250 = R$ 2,50 $config['pagseguro']['produtoValor'] = '100'; Simples explicação sobre este passo: em SEU E-MAIL DO PAGSEGURO basta colocar o seu e-mail do pagseguro, ficando como exemplo:
    $config['pagseguro']['email'] = '[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.
  16. Gostei
    locauty deu reputação a Rusherzin em (Resolvido)[Pedido] tile   
    Coloque isso em um script em data/movements/scripts
    function onStepIn(cid, position, fromPosition) local newTown = 1 -- id da nova cidade if getPlayerTown(cid) ~= newTown then return doPlayerSetTown(cid, newTown) and doPlayerSendTextMessage(cid, 27, "Você agora é morador da cidade(" .. getTownName(newTown) .. ").") end return doPlayerSendCancel(cid, "Você já é morador dessa cidade") and doTeleportThing(cid, fromPosition) end E adicone a tag no movements.xml:
    <movevent type="StepIn" actionid="5554" event="script" value="NOMEDOSCRIPT.lua"/> Aí, depois é só adicionar o actionid "5554" no piso.
  17. Gostei
    locauty deu reputação a luanluciano93 em Gesior - Bug Acentos feat Ç   
    tenta mudar no layout de iso-8859-1 para utf-8
  18. Gostei
    locauty deu reputação a tiago.bordin1988 em Gesior com bug na guild.   
    pode deixa se achar solução eu te envio sim, aliás pra isso serve os forum pra ajudarmos uns aos outros.
     
    Solução:
     
    vá em CONFIG.LUA e coloque assim.
    Se tiver TRUE altere pra FALSE.

    ingameGuildManagement = false
     
     
    Resolvido
  19. Gostei
    locauty deu reputação a NewCore em [RESOLVIDO] Error while saving player ajuda   
    ALTER TABLE `accounts` ADD `vip_time` INT( 11 ) NOT NULL DEFAULT '0';  Add isso tb:
     
      ALTER TABLE `killers` ADD `war` INT NOT NULL DEFAULT 0;
     
  20. Gostei
    locauty deu reputação a AgaSsI em [Gesior Acc] Guild War System Com Escudos   
    Vou postar o tão famoso Guild War System Com Escudos.

    Vou começar pelo site :

    Vá em Xampp/Htdocs e crie e um arquivo chamado wars.php,dentro add isto:


    <?php $main_content = "<h1 align=\"center\">Guild Wars</h1> <script type=\"text/javascript\"><!-- function show_hide(flip) { var tmp = document.getElementById(flip); if(tmp) tmp.style.display = tmp.style.display == 'none' ? '' : 'none'; } --></script> <a onclick=\"show_hide('information'); return false;\" style=\"cursor: pointer;\"><h1><center>&#187; Click to se the commands &#171;<center></h1></a> <table width=\"100%\" border=\"0\" cellspacing=\"1\" cellpadding=\"4\" id=\"information\" style=\"display: none;\";> <tr align=\"center\"><b>You must send this commands in GUILD CHAT.</tr> <tr style=\"background: #512e0b;\"><td align=\"center\" class=\"white\"><b>Command</b></td><td colspan=\"2\" align=\"center\" class=\"white\"><b>Description</b></td></tr> <tr style=\"background: #F1E0C6;\"><td><b>/war invite, guild name, fraglimit</b></td><td>Sends an invitation to start the war. Example: <font color=red><BR>/war invite, Chickens, 150<BR></font><B>(Invite a guild to war with 150 frags count.)</B></td></tr> <tr style=\"background: #D4C0A1;\"><td><b>/war invite, guild name, fraglimit, money</b></td><td>Send the invitation to start the war. Example: <font color=red><BR>/war invite, Chickens, 150, 10000</font><br><B> (Invite a guild to war with 150 frags count and payment of 10000 gold coins <- you need donate to guild to use it.)<B></td></tr> <tr style=\"background: #F1E0C6;\"><td><b>/war accept, guild name</b></td><td>Accepts the invitation to start a war. Example: <font color=red><BR>/war accept, Chickens</font><BR><B>(Accept the war against guild \"Chickens\".)</b></td></tr> <tr style=\"background: #D4C0A1;\"><td><b>/war reject, guild name</b></td><td>Rejects the invitation to start a war. Example: <font color=red><BR>/war reject, Chickens</font><BR><B>(Reject a invitation to war from Chickens.)</B></td></tr> <tr style=\"background: #F1E0C6;\"><td><b>/war cancel, guild name</b></td><td>Cancels the invitation. Example: <font color=red><BR>/war cancel, Chickens</font><br><b>(Cancel my guild invitation to war with Chickens.)</b></td></tr> <tr style=\"background: #D4C0A1;\"><td><b>/balance</b></td><td>See the guild balance - balance of money.</td></tr> <tr style=\"background: #F1E0C6;\"><td><b>/balance donate value</b></td><td>Deposits money on the guild's bank account. All players can donate. Example: <font color=red><BR>/balance donate 100000 </font><BR><B>(You will donate 100k to your guild balance.)</B></td></tr> <tr style=\"background: #D4C0A1;\"><td><b>/balance pick value</b></td><td>Withdraws money from the guild's bank account. Can be used only by the guild leader. Example: <font color=red><BR>/balance pick 100000 </font><BR><B>(You will withdraw 100k from your guild balance.)</B></td></tr> </table> <table width=\"100%\" border=\"0\" cellspacing=\"1\" cellpadding=\"4\"> <tr> <td style=\"background: #512e0b\" class=\"white\" width=\"150\"><b>Aggressor</b></td> <td style=\"background: #512e0b\" class=\"white\"><b>Information</b></td> <td style=\"background: #512e0b\" class=\"white\" width=\"150\"><b>Enemy</b></td> </tr><tr style=\"background: #F1E0C6;\">"; $count = 0; foreach($SQL->query('SELECT * FROM `guild_wars` WHERE `status` IN (1,4) OR ((`end` >= (UNIX_TIMESTAMP() - 604800) OR `end` = 0) AND `status` IN (0,5));') as $war) { $a = $ots->createObject('Guild'); $a->load($war['guild_id']); if(!$a->isLoaded()) continue; $e = $ots->createObject('Guild'); $e->load($war['enemy_id']); if(!$e->isLoaded()) continue; $alogo = $a->getCustomField('logo_gfx_name'); if(empty($alogo) || !file_exists('guilds/' . $alogo)) $alogo = 'default_logo.gif'; $elogo = $e->getCustomField('logo_gfx_name'); if(empty($elogo) || !file_exists('guilds/' . $elogo)) $elogo = 'default_logo.gif'; $count++; $main_content .= "<tr style=\"background: " . (is_int($count / 2) ? $config['site']['darkborder'] : $config['site']['lightborder']) . ";\"> <td align=\"center\"><a href=\"?subtopic=guilds&action=show&guild=".$a->getId()."\"><img src=\"guilds/".$alogo."\" width=\"64\" height=\"64\" border=\"0\"/><br />".$a->getName()."</a></td> <td align=\"center\">"; switch($war['status']) { case 0: { $main_content .= "<b>Pending acceptation</b><br />Invited on " . date("M d Y, H:i:s", $war['begin']) . " for " . ($war['end'] > 0 ? (($war['end'] - $war['begin']) / 86400) : "unspecified") . " days. The frag limit is set to " . $war['frags'] . " frags, " . ($war['payment'] > 0 ? "with payment of " . $war['payment'] . " bronze coins." : "without any payment.")."<br />Will expire in three days."; break; } case 3: { $main_content .= "<s>Canceled invitation</s><br />Sent invite on " . date("M d Y, H:i:s", $war['begin']) . ", canceled on " . date("M d Y, H:i:s", $war['end']) . "."; break; } case 2: { $main_content .= "Rejected invitation<br />Invited on " . date("M d Y, H:i:s", $war['begin']) . ", rejected on " . date("M d Y, H:i:s", $war['end']) . "."; break; } case 1: { $main_content .= "<font size=\"6\"><span style=\"color: red;\">" . $war['guild_kills'] . "</span> : <span style=\"color: lime;\">" . $war['enemy_kills'] . "</span></font><br /><br /><span style=\"color: darkred; font-weight: bold;\">On a brutal war</span><br />Began on " . date("M d Y, H:i:s", $war['begin']) . ($war['end'] > 0 ? ", will end up at " . date("M d Y, H:i:s", $war['end']) : "") . ".<br />The frag limit is set to " . $war['frags'] . " frags, " . ($war['payment'] > 0 ? "with payment of " . $war['payment'] . " bronze coins." : "without any payment."); break; } case 4: { $main_content .= "<font size=\"6\"><span style=\"color: red;\">" . $war['guild_kills'] . "</span> : <span style=\"color: lime;\">" . $war['enemy_kills'] . "</span></font><br /><br /><span style=\"color: darkred;\">Pending end</span><br />Began on " . date("M d Y, H:i:s", $war['begin']) . ", signed armstice on " . date("M d Y, H:i:s", $war['end']) . ".<br />Will expire after reaching " . $war['frags'] . " frags. ".($war['payment'] > 0 ? "The payment is set to " . $war['payment'] . " bronze coins." : "There's no payment set."); break; } case 5: { $main_content .= "<i>Ended</i><br />Began on " . date("M d Y, H:i:s", $war['begin']) . ", ended on " . date("M d Y, H:i:s", $war['end']) . ". Frag statistics: <span style=\"color: red;\">" . $war['guild_kills'] . "</span> to <span style=\"color: lime;\">" . $war['enemy_kills'] . "</span>."; break; } default: { $main_content .= "Unknown, please contact with gamemaster."; break; } } $main_content .= "<br /><br /><a onclick=\"show_hide('war-details:" . $war['id'] . "'); return false;\" style=\"cursor: pointer;\">&#187; Details &#171;</a></td> <td align=\"center\"><a href=\"?subtopic=guilds&action=show&guild=".$e->getId()."\"><img src=\"guilds/".$elogo."\" width=\"64\" height=\"64\" border=\"0\"/><br />".$e->getName()."</a></td> </tr> <tr id=\"war-details:" . $war['id'] . "\" style=\"display: none; background: " . (is_int($count / 2) ? $config['site']['darkborder'] : $config['site']['lightborder']) . ";\"> <td colspan=\"3\">"; if(in_array($war['status'], array(1,4,5))) { $deaths = $SQL->query('SELECT `pd`.`id`, `pd`.`date`, `gk`.`guild_id` AS `enemy`, `p`.`name`, `pd`.`level` FROM `guild_kills` gk LEFT JOIN `player_deaths` pd ON `gk`.`death_id` = `pd`.`id` LEFT JOIN `players` p ON `pd`.`player_id` = `p`.`id` WHERE `gk`.`war_id` = ' . $war['id'] . ' AND `p`.`deleted` = 0 ORDER BY `pd`.`date` DESC')->fetchAll(); if(!empty($deaths)) { foreach($deaths as $death) { $killers = $SQL->query('SELECT `p`.`name` AS `player_name`, `p`.`deleted` AS `player_exists`, `k`.`war` AS `is_war` FROM `killers` k LEFT JOIN `player_killers` pk ON `k`.`id` = `pk`.`kill_id` LEFT JOIN `players` p ON `p`.`id` = `pk`.`player_id` WHERE `k`.`death_id` = ' . $death['id'] . ' ORDER BY `k`.`final_hit` DESC, `k`.`id` ASC')->fetchAll(); $count = count($killers); $i = 0; $others = false; $main_content .= date("j M Y, H:i", $death['date']) . " <span style=\"font-weight: bold; color: " . ($death['enemy'] == $war['guild_id'] ? "red" : "lime") . ";\">+</span> <a href=\"index.php?subtopic=characters&name=" . urlencode($death['name']) . "\"><b>".$death['name']."</b></a> "; foreach($killers as $killer) { $i++; if($killer['is_war'] != 0) { if($i == 1) $main_content .= "killed at level <b>".$death['level']."</b> by "; else if($i == $count && $others == false) $main_content .= " and by "; else $main_content .= ", "; if($killer['player_exists'] == 0) $main_content .= "<a href=\"index.php?subtopic=characters&name=".urlencode($killer['player_name'])."\">"; $main_content .= $killer['player_name']; if($killer['player_exists'] == 0) $main_content .= "</a>"; } else $others = true; if($i == $count) { if($others == true) $main_content .= " and few others"; $main_content .= ".<br />"; } } } } else $main_content .= "<center>There were no frags on this war so far.</center>"; } else $main_content .= "<center>This war did not began yet.</center>"; $main_content .= "</td> </tr>"; } if($count == 0) $main_content .= "<tr style=\"background: ".$config['site']['darkborder'].";\"> <td colspan=\"3\">Currently there are no active wars.</td> </tr>"; $main_content .= "</table>"; $main_content .= '<div align="right"><small><b>Customized by: <a href="http://www.tibiaking.com/forum/user/240289-walef-xavier">Walef Xavier</a></b></small></div><br />'; ?> Agora vá em Xampp/Htdocs/index.php e add o seguinte: case "wars"; $subtopic = "wars"; $topic = "Guild Wars"; include("wars.php"); break; Agora para finalizar a parte do site vá em Xampp/Htdocs/Layout/Tibiacom/layout.php e add o seguinte: <a href='?subtopic=wars'> <div id='submenu_wars' class='Submenuitem' onMouseOver='MouseOverSubmenuItem(this)' onMouseOut='MouseOutSubmenuItem(this)'> <div class='LeftChain' style='background-image:url(<?PHP echo $layout_name; ?>/images/general/chain.gif);'></div> <div id='ActiveSubmenuItemIcon_polls' class='ActiveSubmenuItemIcon' style='background-image:url(<?PHP echo $layout_name; ?>/images/menu/icon-activesubmenu.gif);'></div> <div class='SubmenuitemLabel'><font color=red>Guild Wars</font></div> <div class='RightChain' style='background-image:url(<?PHP echo $layout_name; ?>/images/general/chain.gif);'></div> </div> </a> Agora vamos para seu Ot: Va em GlobalEvents/scripts/start.lua e add o seguinte: executeQuery("DELETE FROM `guild_wars` WHERE `status` = 0 AND `begin` < " .. (os.time() - 2 * 86400) .. ";") db.executeQuery("UPDATE `guild_wars` SET `status` = 5, `end` = " .. os.time() .. " WHERE `status` = 1 AND `end` > 0 AND `end` < " .. os.time() .. ";") Agora vá em Lib e crie um arquivo .lua chamado 101-war,dentro add o seguinte: WAR_GUILD = 0 WAR_ENEMY = 1 Agora para finalizar vamos colocar os comandos em Talkactions ! Vá em Talkactions/scripts e crie dois arquivos chamados war.lua e balance.lua,dentro add o seguinte: War.lua function onSay(cid, words, param, channel) local guild = getPlayerGuildId(cid) if(not guild or getPlayerGuildLevel(cid) < GUILDLEVEL_LEADER) then doPlayerSendChannelMessage(cid, "", "You cannot execute this talkaction.", TALKTYPE_CHANNEL_W, 0) return true end local t = string.explode(param, ",") if(not t[2]) then doPlayerSendChannelMessage(cid, "", "Not enough param(s).", TALKTYPE_CHANNEL_W, 0) return true end local enemy = getGuildId(t[2]) if(not enemy) then doPlayerSendChannelMessage(cid, "", "Guild \"" .. t[2] .. "\" does not exists.", TALKTYPE_CHANNEL_W, 0) return true end if(enemy == guild) then doPlayerSendChannelMessage(cid, "", "You cannot perform war action on your own guild.", TALKTYPE_CHANNEL_W, 0) return true end local enemyName, tmp = "", db.getResult("SELECT `name` FROM `guilds` WHERE `id` = " .. enemy) if(tmp:getID() ~= -1) then enemyName = tmp:getDataString("name") tmp:free() end if(isInArray({"accept", "reject", "cancel"}, t[1])) then local query = "`guild_id` = " .. enemy .. " AND `enemy_id` = " .. guild if(t[1] == "cancel") then query = "`guild_id` = " .. guild .. " AND `enemy_id` = " .. enemy end tmp = db.getResult("SELECT `id`, `begin`, `end`, `payment` FROM `guild_wars` WHERE " .. query .. " AND `status` = 0") if(tmp:getID() == -1) then doPlayerSendChannelMessage(cid, "", "Currently there's no pending invitation for a war with " .. enemyName .. ".", TALKTYPE_CHANNEL_W, 0) return true end if(t[1] == "accept") then local _tmp = db.getResult("SELECT `balance` FROM `guilds` WHERE `id` = " .. guild) local state = _tmp:getID() < 0 or _tmp:getDataInt("balance") < tmp:getDataInt("payment") _tmp:free() if(state) then doPlayerSendChannelMessage(cid, "", "Your guild balance is too low to accept this invitation.", TALKTYPE_CHANNEL_W, 0) return true end db.query("UPDATE `guilds` SET `balance` = `balance` - " .. tmp:getDataInt("payment") .. " WHERE `id` = " .. guild) end query = "UPDATE `guild_wars` SET " local msg = "accepted " .. enemyName .. " invitation to war." if(t[1] == "reject") then query = query .. "`end` = " .. os.time() .. ", `status` = 2" msg = "rejected " .. enemyName .. " invitation to war." elseif(t[1] == "cancel") then query = query .. "`end` = " .. os.time() .. ", `status` = 3" msg = "canceled invitation to a war with " .. enemyName .. "." else query = query .. "`begin` = " .. os.time() .. ", `end` = " .. (tmp:getDataInt("end") > 0 and (os.time() + ((tmp:getDataInt("begin") - tmp:getDataInt("end")) / 86400)) or 0) .. ", `status` = 1" end query = query .. " WHERE `id` = " .. tmp:getDataInt("id") if(t[1] == "accept") then doGuildAddEnemy(guild, enemy, tmp:getDataInt("id"), WAR_GUILD) doGuildAddEnemy(enemy, guild, tmp:getDataInt("id"), WAR_ENEMY) end tmp:free() db.query(query) doBroadcastMessage(getPlayerGuildName(cid) .. " has " .. msg, MESSAGE_EVENT_ADVANCE) return true end if(t[1] == "invite") then local str = "" tmp = db.getResult("SELECT `guild_id`, `status` FROM `guild_wars` WHERE `guild_id` IN (" .. guild .. "," .. enemy .. ") AND `enemy_id` IN (" .. enemy .. "," .. guild .. ") AND `status` IN (0, 1)") if(tmp:getID() ~= -1) then if(tmp:getDataInt("status") == 0) then if(tmp:getDataInt("guild_id") == guild) then str = "You have already invited " .. enemyName .. " to war." else str = enemyName .. " have already invited you to war." end else str = "You are already on a war with " .. enemyName .. "." end tmp:free() end if(str ~= "") then doPlayerSendChannelMessage(cid, "", str, TALKTYPE_CHANNEL_W, 0) return true end local frags = tonumber(t[3]) if(frags ~= nil) then frags = math.max(10, math.min(1000, frags)) else frags = 100 end local payment = tonumber(t[4]) if(payment ~= nil) then payment = math.max(100000, math.min(1000000000, payment)) tmp = db.getResult("SELECT `balance` FROM `guilds` WHERE `id` = " .. guild) local state = tmp:getID() < 0 or tmp:getDataInt("balance") < payment tmp:free() if(state) then doPlayerSendChannelMessage(cid, "", "Your guild balance is too low for such payment.", TALKTYPE_CHANNEL_W, 0) return true end db.query("UPDATE `guilds` SET `balance` = `balance` - " .. payment .. " WHERE `id` = " .. guild) else payment = 0 end local begining, ending = os.time(), tonumber(t[5]) if(ending ~= nil and ending ~= 0) then ending = begining + (ending * 86400) else ending = 0 end db.query("INSERT INTO `guild_wars` (`guild_id`, `enemy_id`, `begin`, `end`, `frags`, `payment`) VALUES (" .. guild .. ", " .. enemy .. ", " .. begining .. ", " .. ending .. ", " .. frags .. ", " .. payment .. ");") doBroadcastMessage(getPlayerGuildName(cid) .. " has invited " .. enemyName .. " to war till " .. frags .. " frags.", MESSAGE_EVENT_ADVANCE) return true end if(not isInArray({"end", "finish"}, t[1])) then return false end local status = (t[1] == "end" and 1 or 4) tmp = db.getResult("SELECT `id` FROM `guild_wars` WHERE `guild_id` = " .. guild .. " AND `enemy_id` = " .. enemy .. " AND `status` = " .. status) if(tmp:getID() ~= -1) then local query = "UPDATE `guild_wars` SET `end` = " .. os.time() .. ", `status` = 5 WHERE `id` = " .. tmp:getDataInt("id") tmp:free() doGuildRemoveEnemy(guild, enemy) doGuildRemoveEnemy(enemy, guild) db.query(query) doBroadcastMessage(getPlayerGuildName(cid) .. " has " .. (status == 4 and "mend fences" or "ended up a war") .. " with " .. enemyName .. ".", MESSAGE_EVENT_ADVANCE) return true end if(status == 4) then doPlayerSendChannelMessage(cid, "", "Currently there's no pending war truce from " .. enemyName .. ".", TALKTYPE_CHANNEL_W, 0) return true end tmp = db.getResult("SELECT `id`, `end` FROM `guild_wars` WHERE `guild_id` = " .. enemy .. " AND `enemy_id` = " .. guild .. " AND `status` = 1") if(tmp:getID() ~= -1) then if(tmp:getDataInt("end") > 0) then tmp:free() doPlayerSendChannelMessage(cid, "", "You cannot request ending for war with " .. enemyName .. ".", TALKTYPE_CHANNEL_W, 0) return true end local query = "UPDATE `guild_wars` SET `status` = 4, `end` = " .. os.time() .. " WHERE `id` = " .. tmp:getDataInt("id") tmp:free() db.query(query) doBroadcastMessage(getPlayerGuildName(cid) .. " has signed an armstice declaration on a war with " .. enemyName .. ".", MESSAGE_EVENT_ADVANCE) return true end doPlayerSendChannelMessage(cid, "", "Currently there's no active war with " .. enemyName .. ".", TALKTYPE_CHANNEL_W, 0) return true balance.lua local function isValidMoney(value) if(value == nil) then return false end return (value > 0 and value <= 99999999999999) end function onSay(cid, words, param, channel) local guild = getPlayerGuildId(cid) if(guild == 0) then return false end local t = string.explode(param, ' ', 1) if(getPlayerGuildLevel(cid) == GUILDLEVEL_LEADER and isInArray({ 'pick' }, t[1])) then if(t[1] == 'pick') then local money = { tonumber(t[2]) } if(not isValidMoney(money[1])) then doPlayerSendChannelMessage(cid, '', 'Invalid amount of money specified.', TALKTYPE_CHANNEL_W, 0) return true end local result = db.getResult('SELECT `balance` FROM `guilds` WHERE `id` = ' .. guild) if(result:getID() == -1) then return false end money[2] = result:getDataLong('balance') result:free() if(money[1] > money[2]) then doPlayerSendChannelMessage(cid, '', 'The balance is too low for such amount.', TALKTYPE_CHANNEL_W, 0) return true end if(not db.query('UPDATE `guilds` SET `balance` = `balance` - ' .. money[1] .. ' WHERE `id` = ' .. guild .. ' LIMIT 1;')) then return false end doPlayerAddMoney(cid, money[1]) doPlayerSendChannelMessage(cid, '', 'You have just picked ' .. money[1] .. ' money from your guild balance.', TALKTYPE_CHANNEL_W, 0) else doPlayerSendChannelMessage(cid, '', 'Invalid sub-command.', TALKTYPE_CHANNEL_W, 0) end elseif(t[1] == 'donate') then local money = tonumber(t[2]) if(not isValidMoney(money)) then doPlayerSendChannelMessage(cid, '', 'Invalid amount of money specified.', TALKTYPE_CHANNEL_W, 0) return true end if(getPlayerMoney(cid) < money) then doPlayerSendChannelMessage(cid, '', 'You don\'t have enough money.', TALKTYPE_CHANNEL_W, 0) return true end if(not doPlayerRemoveMoney(cid, money)) then return false end db.query('UPDATE `guilds` SET `balance` = `balance` + ' .. money .. ' WHERE `id` = ' .. guild .. ' LIMIT 1;') doPlayerSendChannelMessage(cid, '', 'You have transfered ' .. money .. ' money to your guild balance.', TALKTYPE_CHANNEL_W, 0) else local result = db.getResult('SELECT `name`, `balance` FROM `guilds` WHERE `id` = ' .. guild) if(result:getID() == -1) then return false end doPlayerSendChannelMessage(cid, '', 'Current balance of guild ' .. result:getDataString('name') .. ' is: ' .. result:getDataLong('balance') .. ' bronze coins.', TALKTYPE_CHANNEL_W, 0) result:free() end return true end Agora vá em Talkactions/talkactions.xml e add as duas tags: <talkaction words="/war" channel="0" event="script" value="war.lua" desc="(Guild channel command) War management."/> <talkaction words="/balance" channel="0" event="script" value="balance.lua" desc="(Guild channel command) Balance management."/> Pronto,seu Guild War Systema está instalado...mas para funcionar necessitará das tabelas na sua database e do Tfs 0.4 .Vou posta-los abaixo,respectivamente. .:: Tabelas ::. Para quem ainda não sabe add tabelas a sua database,vou ensinar: Acesse seu phpmyadmin,digite sua senha (caso tenha),clique no nome da sua database a esquerda,assim que carregar a sua database clique em SQL lá em cima...Aparecerá um espaço em branco lá voce irá add as seguintes tabelas...e depois clicar em Executar. CREATE TABLE IF NOT EXISTS `guild_wars` ( `id` INT NOT NULL AUTO_INCREMENT, `guild_id` INT NOT NULL, `enemy_id` INT NOT NULL, `begin` BIGINT NOT NULL DEFAULT '0', `end` BIGINT NOT NULL DEFAULT '0', `frags` INT UNSIGNED NOT NULL DEFAULT '0', `payment` BIGINT UNSIGNED NOT NULL DEFAULT '0', `guild_kills` INT UNSIGNED NOT NULL DEFAULT '0', `enemy_kills` INT UNSIGNED NOT NULL DEFAULT '0', `status` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0', PRIMARY KEY (`id`), KEY `status` (`status`), KEY `guild_id` (`guild_id`), KEY `enemy_id` (`enemy_id`) ) ENGINE=InnoDB; ALTER TABLE `guild_wars` ADD CONSTRAINT `guild_wars_ibfk_1` FOREIGN KEY (`guild_id`) REFERENCES `guilds` (`id`) ON DELETE CASCADE, ADD CONSTRAINT `guild_wars_ibfk_2` FOREIGN KEY (`enemy_id`) REFERENCES `guilds` (`id`) ON DELETE CASCADE; ALTER TABLE `guilds` ADD `balance` BIGINT UNSIGNED NOT NULL AFTER `motd`; CREATE TABLE IF NOT EXISTS `guild_kills` ( `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY, `guild_id` INT NOT NULL, `war_id` INT NOT NULL, `death_id` INT NOT NULL ) ENGINE = InnoDB; ALTER TABLE `guild_kills` ADD CONSTRAINT `guild_kills_ibfk_1` FOREIGN KEY (`war_id`) REFERENCES `guild_wars` (`id`) ON DELETE CASCADE, ADD CONSTRAINT `guild_kills_ibfk_2` FOREIGN KEY (`death_id`) REFERENCES `player_deaths` (`id`) ON DELETE CASCADE, ADD CONSTRAINT `guild_kills_ibfk_3` FOREIGN KEY (`guild_id`) REFERENCES `guilds` (`id`) ON DELETE CASCADE; ALTER TABLE `killers` ADD `war` INT NOT NULL DEFAULT 0;

    Pronto o Guild Wars System está totalmente instalado!

    Creditos: Walef Xavier
    sei que o topico ta ruim maiis ta aii o war system
  21. Gostei
    Bom Pessoal Esse é Meu Primeiro Post Aqui Então Se Não Estiver Na Areá Certa Por Favor Mova-o, Sem Mais Delongas Vamos Falar Do Servidor.
     
    Informações Básicas: O Servidor Contém 4 Gerações De Pokemons Completa, E Vários Shinys, Também Contem Mega Pokemons (Mais De 30), O Mapa é Parecido Com O Do OTPokemon, Varias Quests Interessantes Feitas.
     
    Os Servidor Tem Alguns Sistemas Tais Quais:
    Clãn System (No Total De 8, E Cada Um Da Outfit E Outras Coisas)
    Police Ou Rocket System, Permitindo O Player Escolhe Um Lado Da Força Kk (Ganha Tambem Uma Outfit Exclusiva)
    O Servidor Contém Tambem Boost Stone System (Boost Até +60)
    E Claro Não Podemos Deixa De Citar A Bike System Com Almento De Velocidade Configuravel.
    No Mapa Também Tem PVP  E Trade Center (Para O PVP Funcionar Quando Ligar Serve Click Em World Type > PVP-Enforced.
    Falando Um Pouco Do Client... Bom Ele é Bem Comum é Um OTC Com Todas Função Funcionando.
     
    Erros: Alguns Faceis De Tirar Na Parte Dos Pokemon
    Sem Potrait Alguns Pokemon (Não Acho Que Seja Erro Pois Da Pra Por Facil)
     
    Prints:
     
    ATUALIZAÇÃO V3
     
     
     
    Link Do Download Do Client E Servidor V1.
    http://www.4shared.com/rar/1tIOhOdOba/Base_PxP_Servidor_E_Client_V1.html
     
    Link De Download Do Client E Servidor V2.
    http://www.4shared.com/rar/ZMe4QFWDce/Pokemon_X_Power.html
     
    Link De Download Do Client E Servidor V3
    http://www.mediafire.com/download/kx6kobli6va034s/Pokemon+X+Power.rar
     
    Scan:
    https://www.virustotal.com/pt/file/b830f6800401d37e8ac7d2b0ae809c5a79a472f2373ec5ac5d561ccc354dab11/analysis/1452782049/
    Creditos A Mim Que Fiz Tudo, Mais Informações No Site: http://maurosg8.wix.com/dwpoketibia
  22. Gostei
    locauty deu reputação a ADMDestroyer em [Gesior] Retirar :8090 do Site método 100%   
    Bom Galera venho trazer pra vocês meu tutorial com um método infalivel de como tirar o :8090 do seu site,de forma facil e rapida,pois estava em busca e não achei respostas e nen tutoriais que resolvessem meu problema.






    Bom para começarmos você deve configurar seu site para a porta :8090




    Acesse a pasta do XamPP/apache/conf e abra o arquivo httpd com o bloco de notas.


    Procure por :

    Listen 80

    E por :

    ServerName localhost:80

    Substitua todos os 80 por 8090.

    Dentro da pasta conf, abra a pasta extra, e em seguida abra httpd-ssl e procure por :


    Listen 443

    E por:

    <virtualhost _default_:443="">

    Substitua esses 443 por 4499.

    Agora vá; em seu firewall e Adicione a Porta 8090 e Porta 80 e marca a opção TCP.

    Se usar Roteador, desbloqueie as portas no router tambem

    Agora reinicie o xampp e acesse seu Site http://localhost:8090/







    Feito Isso acesse no-ip.com crie sua conta caso não tenha uma




    Depois acesse sua conta e vá em ADD Host







    Agora em Hostname coloque um nome qualquer para que os player acessem seu site




    Ex: meuotserver.servegame.com




    Em Host Type selecione port 80 redirect




    em ip adreess não mecha




    em port coloque 8090




    Selecione a opção Mask URL




    em page title coloque o nome do seu servidor




    Depois desca e clique em create host








    Em seguida aguarde 5 minutos para o host atulizar e voce ja pode acessar seu site pelo hostname que voce criou



    exemplo.servegame.com






    E depois crie outro ip de acesso ao servidor pois voce nao conseguira acessar o servidor,pois vai dar conflito!



    Créditos




    100% ADM Destroyer por descobrir o método e trazer a vocês



    Caso poste em outro forum coloque os devidos crétidos

  23. Gostei
    locauty deu reputação a Tricoder em (Resolvido)Erro no BAN   
    Oi de novo! kk   Não sei se vai resolver, mas tente executando em Sqlitestudio > Open SQL query editor:
    DROP TABLE IF EXISTS player_statements; CREATE TABLE player_statements ( id INTEGER PRIMARY KEY, player_id INTEGER NOT NULL, channel_id INTEGER NOT NULL DEFAULT '0', text VARCHAR( 255 ) NOT NULL, date INTEGER NOT NULL DEFAULT '0', FOREIGN KEY ( player_id ) REFERENCES players ( id ) );
  24. Gostei
    locauty deu reputação a jeremias em Templates para site, Narutibia~NTOPanzer   
    Olá pessoal, está disponível para Dowload  as templetes do antigo NTO Panzer, em breve postarei o site completo! vlw. 
    não se esqueçam do REP+ 
                                                                                                                                                               
    Créditos  pela produção das Templates: NTO PANZER. 
     
    Dowload: http://www.mediafire.com/download/abctzye7lg78t92/TemplatesNtopanzer.rar
     
    Scan: https://www.virustotal.com/pt/file/2a184d2216d5b6f9045945d9bec972f9c71c9c641ce31d669c45f65823b7ecd7/analysis/1447852459/
     

     
  25. Gostei
    locauty deu reputação a StronGer em AJUDA Inquisition quest   
    Estou precisando de ajuda com o script da Inquisition.
    quando eu mato o Boss o teleporte não aparece
    o script ta desse jeito

    data\creaturescripts

    <event type="kill" name="inquisitionPortals" script="Inquisition.lua"/> data\creaturescripts\scripts\Inquisition.lua local config = { timeToRemove = 180, message = "You now have 3 minutes to exit this room through the teleporter. It will bring you to the next room only during his time or the teleporter will disappear", teleportId = 5023, bosses = { -- Nome do monstro, Posicao do teleporte ["Ushuriel"] = { pos={x = 1934, y = 537, z = 11, stackpos=1 }, aid=1001 }, ["Zugurosh"] = { pos={ x=1900, y=501, z=11, stackpos=1 }, aid=1002}, ["Madareth"] = { pos={ x=1977, y=580, z=11, stackpos=1 }, aid=1003}, ["Annihilon"] = { pos={ x=1977, y=516, z=11, stackpos=1 }, aid=1005}, ["Hellgorak"] = { pos={ x=1885, y=547, z=11, stackpos=1 }, aid=1006} }, brothers ={ ["Golgordan"] = {pos={ x=2013, y = 546, z = 11, stackpos=1 },aid=1004, brother = "Latrivan"}, ["Latrivan"] = {pos={ x=2013, y = 546, z = 11, stackpos=1 },aid=1004, brother = "Golgordan"}, brothersArea ={ fromPos = {x = 2001, y = 534, z = 11}, toPos = {x = 2017, y = 546, z = 11} } } } local function removal(position) doRemoveThing(getTileItemById(position, config.teleportId).uid, 1) return TRUE end function onKill(cid, target, lastHit) if(config.bosses[getCreatureName(target)]) then local t = config.bosses[getCreatureName(target)] local teleport = doCreateItem(config.teleportId, t.pos) local position = t.pos doItemSetAttribute(teleport, "aid", t.aid) doCreatureSay(cid, config.message, TALKTYPE_ORANGE_1) addEvent(removal, config.timeToRemove * 1000, position) elseif(config.brothers[getCreatureName(target)]) then local t = config.brothers[getCreatureName(target)] local brother = getCreatureByName(t.brother) if(isMonster(brother) == true) then if(isInRange(getCreaturePosition(brother), config.brothers.brothersArea.fromPos, config.brothers.brothersArea.toPos) == true) then return TRUE end else local teleport = doCreateItem(config.teleportId, t.pos) local position = t.pos doItemSetAttribute(teleport, "aid", t.aid) doCreatureSay(cid, config.message, TALKTYPE_ORANGE_1) addEvent(removal, config.timeToRemove * 1000, position) end end return TRUE end data\movements <movevent type="StepIn" fromaid="1001" toaid="1006" event="script" value="inq.lua"/> <movevent type="StepIn" fromaid="2001" toaid="2005" event="script" value="inq.lua"/> <movevent type="StepIn" fromaid="3000" toaid="3010" event="script" value="inq.lua"/> data\movements\scripts\inq.lua local config = { bosses={---actionid, posicao para onde ira, valor que colocara, texto de entrada [1001] = {pos={x = 1846, y = 595, z = 13, stackpos=1}, value=1, text="Entering The Crystal Caves"}, [1002] = {pos={x = 2149, y = 425, z = 14, stackpos=1}, value=2, text="Entering The Blood Halls"}, [1003] = {pos={x = 1815, y = 565, z = 15, stackpos=1}, value=3, text="Entering The Vats"}, [1004] = {pos={x = 1815, y = 565, z = 15, stackpos=1}, value=4, text="Entering The Arcanum"}, [1005] = {pos={x = 1975, y = 499, z = 12, stackpos=1}, value=5, text="Entering The Hive"}, [1006] = {pos={x = 1887, y = 494, z = 12, stackpos=1}, value=6, text="Entering The Shadow Nexus"} }, mainroom={---actionid, posicao que ira,menor valor de storage que poder entrar, texto de entrada [2001] = {pos={x = 1846, y = 595, z = 13, stackpos=1}, value=1, text="Entering The Crystal Caves"}, [2002] = {pos={x = 2149, y = 425, z = 14, stackpos=1}, value=2, text="Entering The Blood Halls"}, [2003] = {pos={x = 1815, y = 565, z = 15, stackpos=1}, value=3, text="Entering The Vats"}, [2004] = {pos={x = 1815, y = 565, z = 15, stackpos=1}, value=4, text="Entering The Arcanum"}, [2005] = {pos={x = 1975, y = 499, z = 12, stackpos=1}, value=5, text="Entering The Hive"} }, portals={---actionid,texto de entrada [3000] = {pos={x = 1940, y = 520, z = 14}, text="Entering Inquisition Portals Room"}, [3001] = {pos={x = 1934, y = 541, z = 11}, text="Entering The Ward of Ushuriel"}, [3002] = {pos={x = 1946, y = 567, z = 13}, text="Entering The Undersea Kingdom"}, [3003] = {pos={x = 1900, y = 505, z = 11}, text="Entering The Ward of Zugurosh"}, [3004] = {pos={x = 2133, y = 401, z = 11}, text="Entering The Foundry"}, [3005] = {pos={x = 1973, y = 580, z = 11}, text="Entering The Ward of Madareth"}, [3006] = {pos={x = 2027, y = 444, z = 13}, text="Entering The Battlefield"}, [3007] = {pos={x = 2009, y = 545, z = 11}, text="Entering The Ward of The Demon Twins"}, [3008] = {pos={x = 1870, y = 387, z = 11}, text="Entering The Soul Wells"}, [3009] = {pos={x = 1973, y = 516, z = 11}, text="Entering The Ward of Annihilon"}, [3010] = {pos={x = 1882, y = 547, z = 11}, text="Entering The Ward of Hellgorak"} }, storage=56123,---storage used in boss and mainroom portals e={} }----dunno whats this but have to be like this to make doCreatureSayWithDelay working, DON'T TOUCH} function onStepIn(cid, item, position, fromPosition) if isPlayer(cid) == TRUE then if(config.bosses[item.actionid]) then local t= config.bosses[item.actionid] if getPlayerStorageValue(cid, config.storage)< t.value then setPlayerStorageValue(cid, config.storage, t.value) end doTeleportThing(cid, t.pos) doSendMagicEffect(getCreaturePosition(cid),10) doCreatureSay(cid,t.text,19,1, config.e) elseif(config.mainroom[item.actionid]) then local t= config.mainroom[item.actionid] if getPlayerStorageValue(cid, config.storage)>=t.value then doTeleportThing(cid, t.pos) doSendMagicEffect(getCreaturePosition(cid),10) doCreatureSay(cid,t.text,19,1,config.e) else doTeleportThing(cid, fromPosition) doSendMagicEffect(getCreaturePosition(cid),10) doCreatureSay(cid, 'You don\'t have enough energy to enter this portal', TALKTYPE_ORANGE_1) end elseif(config.portals[item.actionid]) then local t= config.portals[item.actionid] doTeleportThing(cid, t.pos) doSendMagicEffect(getCreaturePosition(cid),10) doCreatureSay(cid,t.text,19,1,config.e) end end end
    Alguem pode me ajudar por favor?

Informação Importante

Confirmação de Termo