Histórico de Curtidas
-
Baiakym deu reputação a luanluciano93 em Talkaction - Reparar Soft Boots TFS 1.2function onSay(player, words, param) if player:getItemCount(10021) >= 1 then if player:removeMoney(20000) then if not player:removeItem(10021, 1) then player:sendCancelMessage("You don't have a worn soft boots to repair.") player:getPosition():sendMagicEffect(CONST_ME_POFF) end player:addItem(2640, 1) player:sendTextMessage(MESSAGE_INFO_DESCR, "Your worn soft boots has been repaired!") player:getPosition():sendMagicEffect(CONST_ME_FIREWORK_YELLOW) else player:sendCancelMessage("You don't have 50000 gold coints to repair a worn soft boots.") player:getPosition():sendMagicEffect(CONST_ME_POFF) end else player:sendCancelMessage("You don't have a worn soft boots to repair.") player:getPosition():sendMagicEffect(CONST_ME_POFF) end return false end não testei
-
Baiakym deu reputação a Natanael Beckman em [Gesior] PagSeguro Automático atualizado 09/09/2016.ATUALIZAÇÃO 09/09/2016!
Fala galera!
Bom venho atualizar este tópico que tem sido bem utilizado por todos, porém continha uma estrutura bem antiga/desatualizada.
Graças a um amigo Ivens Pontes que refez todo o sistema vou postar agora a nova atualização. Lembrando que esse sistema é feito baseado no Gesior ACC 2012.
1 - Se você utiliza linux é necessário ter instalado o php5-curl, mais abaixo irei deixar um comando completo:
apt-get install php5-mysql php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl [ATENÇÃO] após a instalação reinicie seu apache ou nginx.
2 - Acesse sua conta PagSeguro e nesse link cadastre o seu link de retorno e gere sua token em integrações.
http://seusite.com/retpagseguro.php 3 - Abra seu config.php e adicione as seguintes tags:
# PAGE: donate.php $config['site']['usePagseguro'] = true; //true show / false hide $config['site']['usePaypal'] = true; //true show / false hide $config['site']['useDeposit'] = true; //true show / false hide $config['site']['useZaypay'] = true; //true show / false hide $config['site']['useContenidopago'] = true; //true show / false hide $config['site']['useOnebip'] = true; //true show / false hide # Pagseguro config By IVENSPONTES $config['pagSeguro']['email'] = "[email protected]"; //Email Pagseguro $config['pagSeguro']['token'] = "YOURTOKENHERE"; // TOKEN $config['pagSeguro']['urlRedirect'] = 'http://seusite.com/?subtopic=donate&action=final'; //turn off redirect and notifications in pagseguro.com.br $config['pagSeguro']['urlNotification'] = 'http://seusite.com/retpagseguro.php'; //your return location $config['pagSeguro']['productName'] = 'Premium Points'; $config['pagSeguro']['productValue'] = 1.00; // 1.50 = R$ 1,50 etc... $config['pagSeguro']['doublePoints'] = false; ## Double points - true is on / false is off $config['pagSeguro']['host'] = 'localhost'; ## YOUR HOST $config['pagSeguro']['database'] = 'gesior860'; ## DATABASE $config['pagSeguro']['databaseUser'] = 'root'; ## USER $config['pagSeguro']['databasePass'] = ''; ## PASSWORD [ATENÇÃO] Leia atentamente e preencha todos os campos corretamente para não haver falhas imprevistas.
MySQL CODE:
CREATE TABLE `pagseguro_transactions` ( `transaction_code` VARCHAR( 36 ) NOT NULL , `name` VARCHAR( 200 ) DEFAULT NULL , `payment_method` VARCHAR( 50 ) NOT NULL , `status` VARCHAR( 50 ) NOT NULL , `item_count` INT( 11 ) NOT NULL , `data` DATETIME NOT NULL , UNIQUE KEY `transaction_code` ( `transaction_code` , `status` ) , KEY `name` ( `name` ) , KEY `status` ( `status` ) ) ENGINE = MYISAM DEFAULT CHARSET = latin1; 4 - Vou disponibilizar um download com alguns arquivos que devem ficar localizados na pasta www/html ou pra você que usa windows htdocs.
html-pag-files1.zip
Contém:
+/custom_scripts/PagSeguroLibrary +/dntpagseguro.php +/retpagseguro.php 5 - Mais uma vez vamos fazer o mesmo procedimento só que agora vamos adicionar os seguintes arquivos na pasta pages.
pages.zip
Contém:
+/donate_forms/files.php +/donate.php
Bom é isso, faça um pequeno teste, comente e rep+.
Créditos:
Ivens Pontes
-
Baiakym deu reputação a Ryzor em [LUA] Conhecendo o os.dateEste tutorial abaixo foi inteiramente criado por shoeei.
Introdução
Vou tentar ajudar vocês com um tutorial de os.date. Sendo sincero, eu aprendi a pouco tempo como usar o os.date, em um exemplar de programação lua. Estou fazendo este tutorial para esclarecer a maioria das duvidas que vocês possam ter, então, por favor, prestem muita atenção se forem ler, e não leiam a menos, que estejam com tempo, paciência e vontade de aprender, pois eu creio que mesmo sendo novato com o os.date, eu vou conseguir fazer um bom tutorial.
Publico Alvo
Este tutorial foi feito para ensinar programadores lua, do nível iniciante/intermediário, ou seja, aqueles que já tem algum conhecimento quanto a os.time, variáveis, loopings, e etc...
Tutorial
Em OtServers, os.date é pouco explorado, já que sua funcionalidade, é, por muitos, desconhecida. Então vou explicar como você poderia usa-lo em um script para o seu ot. Vamos ver, digamos que você queira que um script funcione a partir das oito da manhã, e pare de funcionar a partir das duas da tarde; para isso, você poderia usar o os.date. O os.date, assim como o os.time, serve para controlar valores de tempo, e retornam os mesmos de acordo com os valores da cpu, a partir de quando o script entra em funcionamento, então, o exemplo acima ficaria assim:
function onSay(cid, words, param) if os.date("%X") >= "08:00:00" and os.date("%X") <= "14:00:00" then doPlayerSendTextMessage(cid, 22, "Teste") end end No exemplo acima, a talkaction só ira funcionar se for depois das oito da manhã, e antes das duas da tarde, então, dentro deste intervalo de tempo, o script funcionará normalmente, e irá mandar a mensagem "Teste" para o jogador. Já se o script for executado fora deste intervalo, no caso, nada acontecerá.
Deve-se notar, também, que no script acima, dentro dos parênteses esta isto:
"%X" Certo, eu acho que eu poderia chamar isto de Pattern; existem vários destes parâmetros que podem ser utilizados, neste caso, eu usei o "%X", pois ele retorna valores do horário na seguinte forma:
Onde, azul são as horas, vermelho são os minutos, e verde são os segundos; neste caso, você deveria usar os números como um relógio digital de 24 horas.
Acho que a lógica do os.date já deu para entender, mas vamos recapitular:
O os.date é usado para retornar algum valor de tempo;
Você pode usa-lo como uma condição para executar um outro comando;
Dentro dos parênteses do os.date, você deve usar parâmetros.
Uma coisa muito importante do os.date, é que você deve igualar ele, com valores entre aspas, mesmo que sejam números, por exemplo:
if os.date("%X") >= "08:00:00" and os.date("%X") <= "20:00:00"Perceba que os números estão entre aspas. Certo, depois de termos recapitulado a lógica do os.date, vamos aos mais importantes parâmetros que podem ser usados e os valores que são retornados por eles; segue a lista:
Pattern - Explicação:
%a - dia da semana abreviado (Wed) %A - dia da semana completo (Sunday) %b - nome do mês abreviado (Sep) %B - nome do mês completo (April) %c - data e hora (09/16/98 23:48:10) %d - dia do mês [01-31] %H - hora de um relógio de 24 horas [00-23] %I - hora de um relógio de 12 horas [01-12] %M - minutos [00-59] %m - mês [01-12] %S - segundos [00-60] %w - dia da semana por números [0-6 = Domigo-Sabado] %x - data (09/16/98) %X - hora (23:48:10) %Y - ano (1998) Vocês podem perceber que todas as palavras que forem usadas, tanto abreviações, como palavras inteiras, devem ser em ingles, é claro.
Certo, dito os mais usados parâmetros e a lógica do os.date, acho que isso pode encerrar o nosso tutorial, mas antes, uma ultima dica; se você tem duvida de que valor o parâmetro vai retornar, faça o seguinte:
function onSay(cid, words, param) local par = os.date("Parâmetro") doPlayerSendTextMessage(cid, 22, "O valor é "..par.."!") end E por ultimo, mas não menos importante, para se criar uma tabela usando o os.date, deve-se usá-lo da seguinte maneira:
os.date("*t", Valor_da_Tabela) Finalização
Isso deve funcionar e encerrar o nosso tutorial; é claro que o os.date pode ter mais alguma utilidade que eu desconheça, mas eu acho que isso pode ser uma boa introdução dele. Espero que tenham gostado, ate mais.
-
Baiakym deu reputação a Caronte em Faço Script simples@moviebr, além de você ter colocado o if no lugar errado, você esqueceu do then...
o melhor a se fazer, é colocar o if dentro do loop do for, assim, construindo uma tabela de sorteio só com players.
eu corrigi:
function onThink(interval, lastExecution) local players = getPlayersOnline() local list = {} for i, tid in ipairs(players) do if getPlayerAccess(tid) <= 1 then list[i] = tid end end local winner = list[math.random(1, #list)] doBroadcastMessage('[LOTTERY SYSTEM] Winner: '.. getCreatureName(winner) ..', Reward: Suprise Bag - Congratulations! (Proxima loteria em 30 minutos)') doPlayerAddItem(winner, 6570,1) return true end -
Baiakym deu reputação a dodoby em Faço Script simplesfunction onThink(interval, lastExecution) local players = getPlayersOnline() local list = {} for i, tid in ipairs(players) do list[i] = tid end if(getPlayerAccess(players)) <= 1 local winner = list[math.random(1, #list)] doBroadcastMessage('[LOTTERY SYSTEM] Winner: '.. getCreatureName(winner) ..', Reward: Suprise Bag - Congratulations! (Proxima loteria em 30 minutos)') doPlayerAddItem(winner, 6570,1) return TRUE else end end Testa ai @Baiakym
-
Baiakym deu reputação a Movie em Faço Script simplesNão prometo nada, mas vou tentar aqui.
Nem precisei criar, achei um aqui no TK: http://www.tibiaking.com/forum/topic/41998-creaturescript-level-speed-ao-atingir-determinado-level-reformulado/
-
Baiakym deu reputação a Movie em Faço Script simplesTenta ai:
-
Baiakym deu reputação a luanluciano93 em (Resolvido)Maximo de players na guildVeja essa etapa de aceitar invites: https://github.com/gesior/Gesior2012/blob/TFS-0.4_rev_3703%2B/pages/guilds.php#L645-L761
Talvez se colocar uma condição:
SE (TOTAL_MEMBROS >= 30) ENTÃO RETORNA ERRO Depois dessa checagem:
if(!check_name($name)) $guild_errors[] = 'Invalid name format.'; Coloco que isso:
$guildMembers = $SQL->query('SELECT COUNT(`gr`.`id`) AS `total` FROM `players` AS `p` LEFT JOIN `guild_ranks` AS `gr` ON `gr`.`id` = `p`.`rank_id` WHERE `gr`.`guild_id` = '.$guild->getId() )->fetch(); if($guildMembers['total'] >= 30) $guild_errors[] = 'The guild is already on its members limit.'; Eu não testei, talvez funcione!
-
Baiakym recebeu reputação de Homen Nuclear em Estilo do MapaOlha, se fizer estilo baiak já terá vários players que jogarão seu ot
se for inovar, terá que correr atrás porque o caminho é mais complicado, mas se der tudo certo os players nunca mais saem do seu ot =P
-
Baiakym recebeu reputação de brendoonh em (Resolvido){Pedido} Tile para castle24heu to usando esse aqui, movements ->
function onStepIn(cid, item, position, fromPosition)
storage_guild = getGlobalStorageValue(123123) if getPlayerGuildId(cid) == storage_guild then return TRUE else doTeleportThing(cid, getPlayerMasterPos(cid)) doPlayerSendTextMessage(cid, 22, "Sua guild nao domina mais o castelo por isso foi teletransportado para o templo.") return FALSE end end funciona mas dá um erro no distro de vez em quando, e dá pra melhorar mas eu não manjo.... dá pra usar mas quem quiser ajeitar fica a vontade e_e -
Baiakym deu reputação a Klauguns em Fire Storm Event "Tempestade de fogo" AutomaticoBom galera a um tempo eu procuro esse evento os que eu encontrei aki não funcionou no meu ot e depois de muito procurar acabei encontrando em um outro fórum estrangeiro e resolvi trazer esse conteúdo pro tibiaking . Eu testei esse evento no tfs 0.4 rev 3777 criado por Luanluciano93 . chega de bla bla bla e vamos ao que interessa :
Como funciona o evento ?
O evento funciona da seguinte forma , assim que começar o evento os players devem digitar o comando " !fire join "
logo apos ele é teleportado para dentro do evento onde deve aguardar o inicio da tempestade , em seguida desviar se o mais rápido da chuva de fogos se ele for atingido ele será teleportado para o templo e o ultimo player que ficar no evento se torna o vencedor .
Na pasta do seu servidor tem uma pasta mods , abra essa pasta , copie e cole um arquivo com o nome w-fire.xml depois cole esse script dentro desse arquivo que tu criou .
Agora vamos configurar o local que o player vai ser teleportado , a área que a tempestade de fogo vai cair , o local que o player atingido e o ganhador vai ser teleportado , os prêmios e o mais importante o horário que vai abrir o evento que é 100% automático .. Configurar prêmio: fireStormRewards = { random = false, rew = {2160,30,2494,1,2495,1} <<< aki esta configurado para dar 300k + demon armor + demon legs , configure a seu gosto Configurar posições : fireStormKickPosition = {x=160,y=51,z=7} <<< aki você coloca a posição do seu templo ou cidade que desejar , pois é o local onde o player será teleportado ao terminar o evento e os players que forem atingidos pela tempestade fireStormCenterRoomPosition = {x=767,y=959,z=7} <<< aki você vai colocar o local que o player será teleportado quando ele disser "!fire join" fireStormRangeX_RangeY = {51,50} <<< aki você vai colocar a area da tempestade quanto maior for os números , maior será a área atingida . <globalevent name="fireStormTime" time="23:25" event="script"> <<< aki você configura o horário que tu quiser . Se quiserem usar o mesmo mapa que usei é só clicar AQUI Pronto galera como eu apenas trouxe o conteúdo para o tibiaking e caso esteja contra as regras peço aos moderadores para retirar o tópico e quanto aos créditos eu realmente não sei quem criou esse sistema se alguém souber me informe que postarei os devidos créditos .