Tudo que Rayo postou
-
Bug no site
você está usando qual website? gesior?
-
Bug no site
A quantidade de kills está sendo salva na base de dados? ja verificou o banco de dados?
-
[Gesior]Dobrar pontos PagSeguro a partir de x valor doado
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!
-
Como deixar double points acima de R$ 20
@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.
-
Como deixar double points acima de R$ 20
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).
-
ERRO NO ORDER
Qual base/distro você está utilizando? DxP?
-
Quais comando linux para Ot Nao fechar?
Veja este tópico: Ou este da otland: https://otland.net/threads/auto-restart-linux.262336/
-
Fim Premium
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!
-
Novo comando de depot
O de enviar o item para o depot, você pode utilizar este: https://otland.net/threads/add-items-depot-from-player-online-offline.196947/
-
Ajuda com script da anihi modificado
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?
-
Sets por Porcentagem
Como assim amigo? explique melhor.
-
Memorial outfiths
Olha este tópico:
-
Problema com Cast System TFS
Qual a base/distro que você utiliza?
-
Adicionar reset no cast
É 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.
-
(Resolvido)[Rain] Sistema de Chuva
@Hastafaru qual é a sua dificuldade em configurar o script? Eu olhei o link e o cara explica a instalação detalhadamente.
-
(Resolvido)Monster nao se curam mesmo com script
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?
-
BUG LOOK Guild derrubando servidor
Então escolha outra distro com source diferente.
-
(Resolvido)Nenhum talkactions funciona
Cara, eu falei coluna TYPE(ela ta abaixo da coluna PASSWORD) não foi coluna ID.
-
Map baiak em linux
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.
-
(Resolvido)Sistema de melhoria
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/
-
(Resolvido)Nenhum talkactions funciona
Na tabela "accounts" abra a sua conta e mude o type para 5.
-
BUG LOOK Guild derrubando servidor
Coloca um print do erro que causa na distro/terminal
-
Raids
Olhe um destes tutoriais: https://otland.net/threads/monsters-samples.197399/
-
Raids
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
-
Raids
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