Ir para conteúdo

Rayo

Membro
  • Registro em

  • Última visita

Tudo que Rayo postou

  1. Rayo postou uma resposta no tópico em Suporte Tibia OTServer
    você está usando qual website? gesior?
  2. Rayo postou uma resposta no tópico em Suporte Tibia OTServer
    A quantidade de kills está sendo salva na base de dados? ja verificou o banco de dados?
  3. Bom dia, realizei a modificação a partir do pedido de um membro do fórum.Onde ele desejava que fosse dado o dobro de pontos a partir de x pontos comprados. A modificação é baseada no tópico do Natanael Beckman: No arquivo config.php: $config['pagSeguro']['doublePoints'] = false // Não altere,deixe como false mesmo No arquivo retpagseguro.php substitua por este: <?php ### DONT TOUCH IN THIS CODE ### ### WORKING FINE 19/08/2006 ### ### IVENSPONTES ### ### github.com/ivenspontes/ ### header("access-control-allow-origin: https://pagseguro.uol.com.br"); require_once 'custom_scripts/PagSeguroLibrary/PagSeguroLibrary.php'; require 'config/config.php'; $method = $_SERVER['REQUEST_METHOD']; if('POST' == $method){ $type = $_POST['notificationType']; $notificationCode = $_POST['notificationCode']; if ($type === 'transaction'){ try { $credentials = PagSeguroConfig::getAccountCredentials(); $transaction = PagSeguroNotificationService::checkTransaction($credentials, $notificationCode); $arrayPDO['transaction_code'] = $transaction->getCode(); $arrayPDO['name'] = $transaction->getReference(); $arrayPDO['payment_method'] = $transaction->getPaymentMethod()->getType()->getTypeFromValue(); $arrayPDO['status'] = $transaction->getStatus()->getTypeFromValue(); $item = $transaction->getItems(); $arrayPDO['item_count'] = $item[0]->getQuantity(); $date_now = date('Y-m-d H:i:s'); $arrayPDO['data'] = $date_now; $dobrarApartirDe = 10; try { $conn = new PDO('mysql:host='.$config['pagSeguro']['host'].';dbname='.$config['pagSeguro']['database'].'', $config['pagSeguro']['databaseUser'], $config['pagSeguro']['databasePass']); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $stmt = $conn->prepare('INSERT into pagseguro_transactions SET transaction_code = :transaction_code, name = :name, payment_method = :payment_method, status = :status, item_count = :item_count, data = :data'); $stmt->execute($arrayPDO); if ($arrayPDO['status'] == 'PAID') { if (!$config['pagSeguro']['doublePoints'] && $arrayPDO['item_count'] >= $dobrarApartirDe) { $arrayPDO['item_count'] = $arrayPDO['item_count']*2; } $stmt = $conn->prepare('UPDATE accounts SET premium_points = premium_points + :item_count WHERE name = :name'); $stmt->execute(array('item_count' => $arrayPDO['item_count'], 'name' => $arrayPDO['name'])); $stmt = $conn->prepare("UPDATE pagseguro_transactions SET status = 'DELIVERED' WHERE transaction_code = :transaction_code AND status = 'PAID'"); $stmt->execute(array('transaction_code' => $arrayPDO['transaction_code'])); } } catch(PDOException $e) { echo 'ERROR: ' . $e->getMessage(); } } catch(PagSeguroServiceException $e) { die($e->getMessage()); } } } Substitua o valor da variável $dobrarApartirDe pelo valor que você deseja dobrar os pontos. Ex: Se você só deseja dobrar os pontos quando o doador fizer a compra de 10 pontos ou mais, o valor da variável será $dobrarApartirDe = 10; Espero ter ajudado com essa simples modificação! Até mais!
  4. @Zeikko Em $config['pagSeguro']['doublePoints'] = false; (não altere,deixe como false mesmo) e Substitua o seu retpagseguro.php por este: <?php ### DONT TOUCH IN THIS CODE ### ### WORKING FINE 19/08/2006 ### ### IVENSPONTES ### ### github.com/ivenspontes/ ### header("access-control-allow-origin: https://pagseguro.uol.com.br"); require_once 'custom_scripts/PagSeguroLibrary/PagSeguroLibrary.php'; require 'config/config.php'; $method = $_SERVER['REQUEST_METHOD']; if('POST' == $method){ $type = $_POST['notificationType']; $notificationCode = $_POST['notificationCode']; if ($type === 'transaction'){ try { $credentials = PagSeguroConfig::getAccountCredentials(); $transaction = PagSeguroNotificationService::checkTransaction($credentials, $notificationCode); $arrayPDO['transaction_code'] = $transaction->getCode(); $arrayPDO['name'] = $transaction->getReference(); $arrayPDO['payment_method'] = $transaction->getPaymentMethod()->getType()->getTypeFromValue(); $arrayPDO['status'] = $transaction->getStatus()->getTypeFromValue(); $item = $transaction->getItems(); $arrayPDO['item_count'] = $item[0]->getQuantity(); $date_now = date('Y-m-d H:i:s'); $arrayPDO['data'] = $date_now; try { $conn = new PDO('mysql:host='.$config['pagSeguro']['host'].';dbname='.$config['pagSeguro']['database'].'', $config['pagSeguro']['databaseUser'], $config['pagSeguro']['databasePass']); $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $stmt = $conn->prepare('INSERT into pagseguro_transactions SET transaction_code = :transaction_code, name = :name, payment_method = :payment_method, status = :status, item_count = :item_count, data = :data'); $stmt->execute($arrayPDO); if ($arrayPDO['status'] == 'PAID') { if (!$config['pagSeguro']['doublePoints'] && $arrayPDO['item_count'] >= 20 ) { $arrayPDO['item_count'] = $arrayPDO['item_count']*2; } $stmt = $conn->prepare('UPDATE accounts SET premium_points = premium_points + :item_count WHERE name = :name'); $stmt->execute(array('item_count' => $arrayPDO['item_count'], 'name' => $arrayPDO['name'])); $stmt = $conn->prepare("UPDATE pagseguro_transactions SET status = 'DELIVERED' WHERE transaction_code = :transaction_code AND status = 'PAID'"); $stmt->execute(array('transaction_code' => $arrayPDO['transaction_code'])); } } catch(PDOException $e) { echo 'ERROR: ' . $e->getMessage(); } } catch(PagSeguroServiceException $e) { die($e->getMessage()); } } } Faça o teste e veja se funcionou! Lembrando que só dará pontos em dobros quando for comprado 20 ou mais pontos.
  5. Onde tem $config['pagSeguro']['productValue'] = 1.00; é o valor da Premium points, ou seja, 1 premium point vale R$1.00(Um Real). Se você colocar 20.00 irá mudar o valor da premium point,ou seja, 1 premium point valerá R$20.00(Vinte reais).
  6. Rayo postou uma resposta no tópico em Suporte OTServer Derivados
    Qual base/distro você está utilizando? DxP?
  7. Veja este tópico: Ou este da otland: https://otland.net/threads/auto-restart-linux.262336/
  8. Rayo postou uma resposta no tópico em Suporte Tibia OTServer
    function onLogin(cid) registerCreatureEvent(cid,"FimPremium") local pos = {x = 32369, y = 32241, z = 7} if isPremium(cid) then setPlayerStorageValue(cid, 59898989, 1) elseif getPlayerStorageValue(cid, 59898989) == 1 and not isPremium(cid) and getPlayerSex(cid) == 0 and getPlayerVocation(cid) > 0 then doCreatureChangeOutfit(cid, {lookType = 136}) doTeleportThing(cid, pos) doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, t) t = "Your premium account is over" doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT) setPlayerStorageValue(cid, 59898989, -1) elseif getPlayerStorageValue(cid, 59898989) == 1 and not isPremium(cid) and getPlayerSex(cid) == 1 and getPlayerVocation(cid) > 0 then doCreatureChangeOutfit(cid, {lookType = 128}) doTeleportThing(cid, pos) doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, t) t = "Your premium account is over" doSendMagicEffect(getCreaturePosition(cid), CONST_ME_TELEPORT) setPlayerStorageValue(cid, 59898989, -1) end return TRUE end Eu não testei mas o que eu fiz foi adicionar: getPlayerVocation(cid) > 0 Ou seja, como um char de rook não tem vocação então ele não vai realizar o resto do algoritmo. Só ira prosseguir se o player tiver alguma vocação. @bpm91 testa e veja se funcionou!
  9. O de enviar o item para o depot, você pode utilizar este: https://otland.net/threads/add-items-depot-from-player-online-offline.196947/
  10. O que você precisa é que o script teleport aqueles que terminaram(mesmo se for no tempo menor do que o defnidido? ao invés de aguardar todos terminarem?
  11. Como assim amigo? explique melhor.
  12. Rayo postou uma resposta no tópico em Suporte Tibia OTServer
    Olha este tópico:
  13. Qual a base/distro que você utiliza?
  14. É em protocollogin.cpp na função void ProtocolLogin::getCharacterList Cara, na verdade você terá que ter além da sources também um OTC 8.60 ou 8.54(Pelo print da sua imagem eu imagino que seja versões anteriores a 8.60) para poder fazer essa alteração! Pois terá que alterar na source do ot e manipular as informações do reset(que vem do banco de dados) para ser mostrada na tela que lista os personagens. Se você tiver o OTC(Open Tibia Client) da versão 8.60, o arquivo para fazer essa alteração se encontra em /modules/client_entergame/characterlist.lua. Caso você não tenha o OTC da versão 8.60(ou da versão do seu ot) terá que compilar.
  15. @Hastafaru qual é a sua dificuldade em configurar o script? Eu olhei o link e o cara explica a instalação detalhadamente.
  16. Essa função: function onStatsChange(cid, attacker, type, combat, value) -- This should block all damage monster cause on eachother expect player summons if isMonster(cid) and isMonster(attacker) then local master = getCreatureMaster(cid) if not master or not isPlayer(master) then return false end end return true end Foi você que criou? ou faz parte do script da hydra?Se sim,em qual arquivo ela se encontra?
  17. Então escolha outra distro com source diferente.
  18. Cara, eu falei coluna TYPE(ela ta abaixo da coluna PASSWORD) não foi coluna ID.
  19. Rayo postou uma resposta no tópico em Suporte Tibia OTServer
    Vai funcionar pois o que muda no linux é o modo que é executado/iniciado o otserver. Há alguns tutoriais no fórum que ensina,mas eu recomendo você entrar em contato com a otmanager e verificar se o VPS deles já vem com o ot instalado.
  20. No fórum da otland há um script parecido com o que você pediu: https://otland.net/threads/tfs-1-1-items-upgrading-by-jewels.228712/ Ele a upgrade no item,utilizando jóias! Também há um outro sistema mais completo: https://otland.net/threads/tfs-1-1-ultimate-item-stat-system-elements-skills-exp-loot-and-more.229771/
  21. Na tabela "accounts" abra a sua conta e mude o type para 5.
  22. Coloca um print do erro que causa na distro/terminal
  23. Rayo postou uma resposta no tópico em Suporte Tibia OTServer
    Olhe um destes tutoriais: https://otland.net/threads/monsters-samples.197399/
  24. Rayo postou uma resposta no tópico em Suporte Tibia OTServer
    Cara,você vai criar um monstro ESPECIFICO para a raid... eu não disse para você usar o próprio Orc Warlord... ex: Orc Warlord Imperador
  25. Rayo postou uma resposta no tópico em Suporte Tibia OTServer
    Você cria um monstro,coloca la no raid, e nas configurações do monstro você diminui a chance do monstro dropar o item,coloca bem díficil... Exemplo: <?xml version="1.0" encoding="ISO-8859-1"?> <monster name="Orc Warlord" nameDescription="an orc warlord" race="blood" experience="670" speed="240" manacost="0"> <health now="950" max="950" /> <look type="2" corpse="6008" /> <targetchange interval="4000" chance="10" /> <flags> <flag summonable="0" /> <flag attackable="1" /> <flag hostile="1" /> <flag illusionable="0" /> <flag convinceable="0" /> <flag pushable="0" /> <flag canpushitems="1" /> <flag canpushcreatures="1" /> <flag targetdistance="1" /> <flag staticattack="90" /> <flag runonhealth="0" /> </flags> <attacks> <attack name="melee" interval="2000" min="0" max="-250" /> <attack name="physical" interval="2000" chance="20" range="7" min="0" max="-200"> <attribute key="shootEffect" value="throwingstar" /> </attack> </attacks> <defenses armor="35" defense="35"> <defense name="invisible" interval="2000" chance="5" duration="3000"> <attribute key="areaEffect" value="blueshimmer" /> </defense> </defenses> <elements> <element firePercent="80" /> <element energyPercent="20" /> <element holyPercent="10" /> <element earthPercent="-10" /> <element deathPercent="-5" /> </elements> <immunities> <immunity invisible="1" /> </immunities> <voices interval="5000" chance="10"> <voice sentence="Ranat Ulderek!" /> <voice sentence="Orc buta bana!" /> <voice sentence="Ikem rambo zambo!" /> <voice sentence="Futchi maruk buta!" /> </voices> <loot> <item name="gold coin" countmax="45" chance="18000" /> <item name="stealth ring" chance="90" /> <item name="gold ring" chance="30" /> <item name="protection amulet" chance="2190" /> <item name="two handed sword" chance="1680" /> <item name="throwing star" countmax="18" chance="13920" /> <item id="2419" chance="3450" /><!-- scimitar --> <item name="orcish axe" chance="5400" /> <item name="dragon hammer" chance="320" /> <item name="plate armor" chance="5210" /> <item name="brass armor" chance="740" /> <item name="brass legs" chance="9000" /> <item name="dark helmet" chance="1260" /> <item name="crusader helmet" chance="280" /> <item name="plate legs" chance="4280" /> <item name="meat" countmax="2" chance="9000" /> <item id="2667" countmax="2" chance="10800" /><!-- fish --> <item name="hunting spear" chance="5260" /> <item id="7395" chance="50" /><!-- orc trophy --> <item name="health potion" chance="470" /> <item name="magma boots" chance="280" /> <item name="orc tooth" chance="9640" /> <item name="broken helmet" chance="24350" /> <item name="orc leather" chance="20620" /> <item name="skull belt" chance="4610" /> </loot> </monster> O gold ring é o item mais dificil de dropar... ai você vai alterando

Informação Importante

Confirmação de Termo