

lucas502
Artesão-
Total de itens
122 -
Registro em
-
Última visita
Tudo que lucas502 postou
-
[Gesior E Modern] Pagseguro Entregando Pontos Automaticamente
tópico respondeu ao lucas502 de lucas502 em Tutoriais de Websites
A propósito, quanto tempo leva pra sair da "Aprovação" ? -- EDIT Aff, double post ¬¬, Maldito Chrome -
Ae beleza? Moveram o outro topico, mas encontrei problemas no script de stamina do jhon: Script: function onThink(interval, lastExecution, thinkInterval) local stamina = db.getResult("SELECT `id`, `stamina` FROM `players` WHERE `group_id` <= 2;") local stamina_hour = 3600000 -- 1 hra de stamina, o tempo é calculado em milesegundos. Exemplo: 1 min = 600000 mileseg. repeat if stamina:getID() == -1 then break end id, stamina_now = stamina:getDataInt("id"), stamina:getDataInt("stamina") if stamina_now < 151200000 then stamina_verifica = 151200000 - stamina_now if stamina_verifica < stamina_hour then db.executeQuery("UPDATE `players` SET `stamina` = '"..stamina_now+stamina_verifica.."' WHERE `id` == '"..id.."';") else db.executeQuery("UPDATE `players` SET `stamina` = '"..stamina_now+stamina_hour.."' WHERE `id` == '"..id.."';") end end until stamina:next() == false return true end Erro: [3:23:04.848] mysql_real_query(): UPDATE `players` SET `stamina` = '151200000' WHERE `id` == '197'; - MYSQL ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '== '197'' at line 1 (1064) Aguardo solução, obrigado! xD
-
Não funcionou... A mensagem que deveria aparecer "seu numero de confirmação é..", não está aparecendo. e não aparecem erros no distro.
-
Funcionou Vodkart! vlw REP+ quando der (esgotou '-') topico reportado.
-
Aew jhon, tem algo errado no seu script. Aqui não tá funcionando, o ultimo globalevents que você postou, nem manda a mensagem com o numero de confirmação pros players. O primeiro globalevents, ele manda o numero de confirmação pros players, mas não teleporta pro templo (não acontece nada se eu ficar esperando, fica sempre repetindo "Ultimo aviso...") PS: Testei o globalevents do script original do anthaab, o dele ta funcionando perfeitamente só que ta banindo e tá mandando mensagem até pros players nos trainers, e eu não quero isso. Quero que mova para o templo, e que não seja mandado pros players que estiverem trainer. Ah, mais um detalhe, eu percebi que o script funciona como um "todo". Somente vai banir ou mover o player pro templo, depois que o globalevent do mesmo script for ativado no interval. Não teria como fazer 2 coisas separadas? Por exemplo: 1º - O Script de mandar o numero de confirmação pro player rodar de 1 em 1 hora. 2º - O Script de checkar se ele respondeu ou não o numero, de 5 em 5 minutos. (Para dar uma tolerância do player responder em no maximo 5 minutos, e não esperar rodar o script todo novamente em 1 hora) Erro no primeiro globalevent que você postou: [3:26:24.644] [Error - GlobalEvent Interface] [3:26:24.644] data/globalevents/scripts/anthaab.lua:onThink [3:26:24.645] Description: [3:26:24.646] (luaDoTeleportThing) Thing not found Revise o script por favor jhon, muito obrigado!
-
Olá galera blz? Então, já usei a pesquisa do forum pra achar esse talkaction, encontrei alguns mas estes não me servem. No meu server mysql, há uma coluna na tabela "players", chamada "Promotion", sendo que o valor 1 para promoted, e 0 para não promoted. Ou seja, quando o comando !promote for digitado, eu quero que ao invés de trocar o valor na coluna "vocation" (como é o de todos os scripts), mudar o valor da coluna "promotion". Não sei por que mas esse server não é setado o ID da vocação em "VOCATION" na tabela, e sim em "Promotion" (pra definir se é promovido ou não) Atualmente meu script eh esse: -- [( Script created by Doidin and MatheusMkalo for XTibia.com )] -- function onSay(cid, words, param, channel) local config = { [1] = {level = 20, valor = 20000}, [2] = {level = 20, valor = 20000}, [3] = {level = 20, valor = 20000}, [4] = {level = 20, valor = 20000}, vipsconfig = {onlyvips = "no", storagevip = 13540}, -- Apenas players vips "yes" ou "no" e o storage da vip. onlypremmy = "no" -- Apenas players premium accounts "yes" or "no". } if config.onlypremmy == "yes" and not isPremium(cid) then return doPlayerSendTextMessage(cid, 23, "Sorry, only premium players.") end if config.vipsconfig.onlyvips == "yes" and getPlayerStorageValue(cid, config.vipsconfig.storagevip) - os.time() <= 0 then return doPlayerSendTextMessage(cid, 23, "Sorry, only vips players.") end if config[getPlayerVocation(cid)] then if getPlayerLevel(cid) >= config[getPlayerVocation(cid)].level then if doPlayerRemoveMoney(cid, config[getPlayerVocation(cid)].valor) then setPlayerPromotionLevel(cid, 1) doPlayerSendTextMessage(cid, 22, "Congratulations, you have been successfully promoted!") doSendMagicEffect(cid, 14) else doPlayerSendTextMessage(cid, 23, "You need "..config[getPlayerVocation(cid)].valor.." gold coins to promote.") end else doPlayerSendTextMessage(cid, 23, "You need level "..config[getPlayerVocation(cid)].level.." to promote.") end else doPlayerSendTextMessage(cid, 23, "Sorry, you already promoted.") end return TRUE end Mas ele vem causando muitos erros no distro, inclusive, em algumas ocasiões, alguns players trocam de vocação automaticamente de kina pra pally, e de sorc pra druid, ou mesmo até de sorc pra kina, e vice versa... (não sei pq desse erro... acho que é nessa script de promote que tá toda errada) Aguardo soluções, obrigado!
-
ta mas o que eu não entendi foi que NÃO EXISTE o script anthaab.lua no talkactions entendeu? só tem no globalevents, eu to dizendo que o script do talkactions vc nao botou aki
-
Pera não entendi, antes era uma tag no globalevents, agora eh tag no talkactions? Tipo..no primeiro post que postou sobre o script, vc me mandou uma tag do globalevents, agora me mandou uma tag do talkactions (sendo q o script ta na pasta de globalevents), não entendi ainda poderia explicar melhor, onde e o que colocar em cada "coisinha" ? vlw
-
Jhon, fiquei pensando aqui. Se o player tiver em war, e esse sistema entrar e fizer a pergunta pro player, se ele responder errado de propósito, ele vai ser movido pro templo mesmo assim? (tipo se aproveitar do sistema pra escapar de pk/war/etc) Vai funcionar esse problema? E outra, como eu defino a palavra do sistema tipo: !anthaab Xresposta para: !bot Xresposta !?
-
Fala galera blz? Então, to usando um talkaction que funciona assim: o lider da guild usa o comando !guildpoints, quando ele utiliza esse comando, todos os players da guild que atenderem o requisito de Level 150+ e não terem o mesmo Ip (até um limite), sendo eles 10+ players. Todos esses 10+ que atenderem a esses requisitos, ganharão 10 premium points, porém, fiz o teste e me deparei com 1 problema ao digitar !guildpoints: 01:41 10 players from your guild are valid (10 required), but you have together only 0 IPs (6 required). O Script parece funcionar normalmente, porém, na parte de getPlayerIp acho que tem algum problema que não consigo resolver, parece que o script não consegue "achar" os ips dos membros da guild pra verificar se existem mc's. (Desses 10 players, 6 ips no minimo diferentes é necessário para que o script dê os points, mas o script não está detectando os ips, e retornando um valor zero) Preciso de ajuda pra resolver esse problema. vlw galera, aguardo! Script: local playersNeeded = 10 local ipsNeeded = 6 local minimumLevel = 150 local storageId = 47578 local pointsForPlayer = 10 local function sendPlayersList(cid, list) for i, pid in ipairs(list) do local level = getPlayerLevel(pid) < minimumLevel and " - " .. getPlayerLevel(cid) .. " level " or "" local valid = getCreatureStorage(pid, storageId) > 1 and " - already received!" or "" doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, getCreatureName(pid) .. level) end end function onSay(cid, words, param, channel) if(getPlayerGuildLevel(cid) == 3) then local leaderGuild = getPlayerGuildId(cid) local players = getPlayersOnline() local guildMembersValid = {} local guildMembersInvalid = {} for i, pid in ipairs(players) do if(leaderGuild == getPlayerGuildId(pid)) then if(getPlayerLevel(pid) >= minimumLevel and tonumber(getCreatureStorage(pid, storageId)) < 2) then table.insert(guildMembersValid, pid) else table.insert(guildMembersInvalid, pid) end end end if(#guildMembersValid >= playersNeeded) then local IPs = {} for i, pid in ipairs(guildMembersValid) do local ip = getPlayerIp(pid) if(IPs[ip] == nil) then IPs[ip] = ip end end if(#IPs >= ipsNeeded) then doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Players that received points:") sendPlayersList(cid, guildMembersValid) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Players that did not receive points:") sendPlayersList(cid, guildMembersInvalid) local accounts = {} for i, pid in ipairs(guildMembersValid) do table.insert(accounts, getPlayerAccountId(pid)) doCreatureSetStorage(pid, storageId, os.time()) end db.executeQuery("UPDATE `accounts` SET `premium_points` = `premium_points`+" .. pointsForPlayer .. " WHERE `id` IN (" .. table.concat(accounts, ',') .. ");") else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, #guildMembersValid .. " players from your guild are valid (" .. playersNeeded .. " required), but you have together only " .. #IPs .. " IPs (" .. ipsNeeded .. " required)") doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Valid players:") sendPlayersList(cid, guildMembersValid) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Invalid players:") sendPlayersList(cid, guildMembersInvalid) end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, #guildMembersValid .. " players from your guild are valid, " .. playersNeeded .. " required. Minimum level required is " .. minimumLevel) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Valid players:") sendPlayersList(cid, guildMembersValid) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Invalid players:") sendPlayersList(cid, guildMembersInvalid) end else doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Only guild leader can request points.") end return true end
-
testei seu script, deu erro: [Error - LuaInterface::loadFile] data/creaturescripts/scripts/redskullamulet.lua:21: unexpected symbol near ')' [Warning - Event::loadScript] Cannot load script (data/creaturescripts/scripts/redskullamulet.lua) data/creaturescripts/scripts/redskullamulet.lua21: unexpected symbol near ')'
-
[Gesior E Modern] Pagseguro Entregando Pontos Automaticamente
tópico respondeu ao lucas502 de lucas502 em Tutoriais de Websites
Obrigado por reportar o problema nos spoilers, já consertei. -
[Gesior E Modern] Pagseguro Entregando Pontos Automaticamente
tópico respondeu ao lucas502 de lucas502 em Tutoriais de Websites
É muito gratificante pra mim receber elogios, realmente muito obrigado! Fico feliz em ajudar o xtibia Espero pelo seu test e fixed -
podem fechar o topico, duvida sanada, reportado. Obrigado!
-
Testei, não deu certo
-
[Gesior E Modern] Pagseguro Entregando Pontos Automaticamente
tópico respondeu ao lucas502 de lucas502 em Tutoriais de Websites
Sem problemas. Sim, o botão curtir funciona sim, depois eu faço um tutorial explicando ou te mando uma mp explicando. Edit ---- Legal que todos olham o tópico, mas ninguém comenta... -
Na verdade já fiz isso com outro item em script também, não funcionou.. Tenho quase certeza que não vai funcionar '-'
-
Olá galera, preciso de ajuda para colocar cargas no amuleto AOL Red/Black skull, como eu coloco cargas nesse amuleto? (10x cargas) Script: function onPrepareDeath(cid, lastHitKiller, mostDamageKiller) if (getPlayerSlotItem(cid, 2).itemid == 2196) and getPlayerSkullType(cid) >= 4 then doCreatureSetDropLoot(cid, false) doPlayerSetLossPercent(cid, PLAYERLOSS_ITEMS, 0) doPlayerSetLossPercent(cid, PLAYERLOSS_CONTAINERS, 0) end return true end login.lua registerCreatureEvent(cid, "RedSkullAmulet") creaturescripts tag <event type="preparedeath" name="RedSkullAmulet" event="script" value="script.lua"/> Item <item id="2196" article="a" name="Red Skull Amulet"> <attribute key="weight" value="420" /> <attribute key="slotType" value="necklace" /> PS: Não testei colocar a tag <attribute key="charges" value="10" /> pois acredito que não funcionaria por que o amuleto funciona em creaturescripts.
-
Pronto, o seu script de stamina ai ta funcionando direitinho. Valeu, topico reportado
-
Ok valeu, fico no aguardo então. E mais uma coisa: Quando for procurar pelo char no site, desse jeito que tá no script, tem q procurar assim: [VIP] Lucas, se eu simplesmente colocar só Lucas, não vai achar pq o mudou o nome (e ainda possibilitando de alguem criar outro char com o mesmo nome...) Vlw , no aguardo poxa, ninguem pra ajudar quanto a isso?
-
Boa Jhon, sempre tu nos ajudando aqui cara, vlw msmo então, vou testar, se tiver funcionando ou tiver algum problema, eu volto pra reportar o topico Já foi reputado A proposito, eu vi ali que você colocou pra checkar se a stamina está menos do que 42:00 certo? eu ia falar isso, por que se o script sempre adicionasse, não ia ter um limite né? Vlw edit -- cara, não sei se foi só comigo, mas agora quando o player morre, a stamina desce pra 0:00 ! será algum problema no script ou nada a ver? (não tava assim..) e se não for no script, pode ser onde? vlw, aguardo
-
[Gesior E Modern] Pagseguro Entregando Pontos Automaticamente
tópico respondeu ao lucas502 de lucas502 em Tutoriais de Websites
Sim foi testado, eu mesmo tive que fazer o script também pra funcionar, e realmente o do fórum não funciona, por isso eu trouxe o meu pro xtibia. Eu citei no tópico que foi testado, você leu? '-' -
[Gesior E Modern] Pagseguro Entregando Pontos Automaticamente
um tópico no fórum postou lucas502 Tutoriais de Websites
Olá xtibianos! Acredito que esse seja meu primeiro tutorial feito por mim mesmo aqui no fórum, espero que gostem e aprovem Rep + Introdução: Nesse tutorial, vou lhes ensinar como instalar e configurar o sistema de PagSeguro automático, para que quando o pagamento for Aprovado pelo PagSeguro, o sistema entregar os pontos automaticamente. Testado e funcionando em Gesior e Modern Acc. Funciona para qualquer versão de Tibia, desde que seja em MySQL. Quando você for testar, pode acontecer que os pontos sejam entregues com um atraso de no máximo 5~10 minutos depois de Aprovado o pagamento, porém, geralmente os pontos são entregues NA HORA do Aprovado pagamento. Instalação: Primeiramente vamos adicionar uma tabela na sua DataBase do MySQL, Executem esta query para criar a tabela: Feito isso, vamos editar ou adicionar se você já não tiver, essas linhas no seu htdocs/config/config.php : Depois, vamos adicionar essas linhas no seu htdocs/index.php : Agora, troque todo o seu htdocs/shopsystem.php (pode variar, mas no gesior geralmente é shopsystem.php)por este: Também troque todo o seu htdocs/donate.php (pode variar, mas no gesior geralmente é donate.php) por este: Agora, crie um novo arquivo .php com o nome pag_retorno.php com este conteúdo: Por último mas não menos importante, entre no site do PagSeguro e logue, após logar, vai aparecer várias opções na parte inferior do site do PagSeguro, clique em "Retorno Automático". Nesta página, é onde você gera o seu Token PagSeguro e configura sua URL de retorno. Você deve ativar a URL de retorno, e colocar este link na URL de Retorno: Pronto, já está tudo OK, agora vou ensinar como configurar algumas partes de alguns arquivos que citei acima. Configuração Adicional: Depois que você já alterou as informações no config.php no que é pedido, algumas alterações devem ser feitas também no arquivo htdocs/pag_retorno.php : (não esqueça de editar as partes que pedem informações sobre usuario, senha, nome db do MYSQL) 1 - Nas linhas: Você deve alterar o que está sendo pedido, e no "127.0.0.1", se você usa seu site no mesmo PC ou Dedicado/VPS que o seu Server, pode deixar "127.0.0.1" mesmo, se não (no caso de usar domínio), deve colocar ali o seu IP Externo Numérico do Server. 2 - Nas linhas: Esta parte é a que entrega os pontos automaticamente pra account, se você tem algum tipo de promoção no seu server, deve alterar aqui conforme sua promoção, exemplo: Se você tem a promoção de Double Points no seu Server, deve alterar: Por este: Para que os pontos sejam DOBRADOS na hora de entregar automaticamente, entendeu? Bom Galera, é isso aí, espero que gostem. Dúvidas, Sugestões ou Críticas, postem aqui para que eu possa atender a todos. Créditos: Tutorial feito 100% por mim (Lucas502 - xtibia.com) Te Ajudei? Então REP+ aew! EDIT: Adicionados Spoilers para melhor visualização do tópico. -
ja pensei nisso também, mas não quero deixar infinita, quero que funcione normalmente
-
Ola galera blz? Então, já que o meu server tem um bug na stamina (mesmo eu editando o rateStaminaGain no config.lua, a stamina recupera muito lentamente, mas muito mesmo!) Eu pensei em fazer um globalevent que, a cada tanto tempo, adicionasse tanto de stamina pra todos os players. Talvez em db.excutequery pra adicionar a stamina, ou algum outro jeito que o pessoal conheça ai, desde que adicione tanto X stamina a tanto X tempo pra todos os players. Vlw galera. Aguardo!
-
Quem Está Navegando 0 membros estão online
- Nenhum usuário registrado visualizando esta página.