Jump to content
Close

luiz.marsilio

Member
  • Content Count

    21
  • Joined

  • Last visited

  • Days Won

    1

luiz.marsilio last won the day on June 11 2018

luiz.marsilio had the most liked content!

About luiz.marsilio

  • Rank
    Baker

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Como eu disse, o script do ricardo só conta a quantidade online direto no banco de dados. Antes o site pegava a informação que o server informa (status). É esse status que está sendo enviado com dados incorretos e é esse status que vai para o OTLIST. Apenas alterar a forma com que os dados são apresentados no site do server não significa que o status enviado pelo server com a quantidade de players esteja correta. Por favor poste a source do server aqui.
  2. Possibilidades: O servidor mysql não está instalado A porta para o servidor mysql é outra que não essa O endereço para o servidor mysql está incorreto (localhost, tentar mudar para 127.0.0.1 se você alterou o arquivo hosts) O servidor mysql está corrompido Lembre-se de que para usar o servidor em modo MYSQL você DEVE instalar um servidor MYSQL, caso contrário não funcionará.
  3. É muito provável que você tenha redirecionado o hostname no seu arquivo hosts para esse endereço. Verifique também se o IP está correto nos hosts nas configurações do no-ip.
  4. Por gentileza coloque mais informações no seu tópico, por exemplo Que versão você está usando O que significa "ot não fica on" Os passos que você fez para chegar nesse erro
  5. Pela discussão pode ser incompatibilidade dos compiladores, bibliotecas que não foram adicionadas ou bibliotecas não suportadas pela versão do compilador. Fonte: https://stackoverflow.com/questions/7751640/undefined-reference-to-gxx-personality-sj0 Aqui eles dizem que você precisa recompilar as bibliotecas usando o mesmo compilador que está usando para compilar as sources. Fonte: https://stackoverflow.com/questions/2189681/undefined-references-when-trying-to-link-qt-app-with-my-static-library Também é interessante utilizar uma maquina virtual para realizar esses testes com os compiladores, utilizando outras versões do SO de forma que não afete sua maquina.
  6. Não tenho como testar o script. local config ={ pos = {x=31293, y=32627, z=7}, tempo = 7*86400, -- 7 dias storageTempo = 37, level = 500, storage = 201201112201 } function onUse(cid, item, fromPosition, itemEx, toPosition) if getPlayerStorageValue(cid, config.storageTempo) > os.time() - config.tempo then doPlayerSendCancel(cid, "Voce ainda nao pode usar esse item") return false end if getPlayerStorageValue(cid, config.storage) == 1 then if getPlayerLevel(cid) >= config.level then if getTilePzInfo(getCreaturePosition(cid)) then doTeleportThing(cid, config.pos) setPlayerStorageValue(cid, config.storageTempo, os.time() + config.tempo) doSendMagicEffect(getPlayerPosition(cid),66) doSendAnimatedText(getCreaturePosition(cid), "Teleport!", TEXTCOLOR_ORANGE) else doPlayerSendCancel(cid, "You need to be in protection zone.") end else doPlayerSendCancel(cid, "Not enough level (500).") end else doPlayerSendCancel(cid, "You need to be epic to use this item.") end return true end
  7. Parece que esse problema está relacionado as sources do seu server, onde é registrado a quantidade de jogadores online, uptime e etc. Aparentemente o valor que o server está retornando no status é o 7, enquanto que 18 é a contagem de registros encontrados marcados como online no banco de dados. Sugiro que faça o teste em uma source limpa e verifique se o problema persiste.
  8. Olá Reescrevi o código para TFS 1.3 com itens aleatórios. Obs: só recebe 1 item (quantidade), mesmo os agrupáveis. local config = { level = 99, items = { 11258, -- phoenix charm 11259, -- unity charm 11260, -- spiritual charm 11261, -- twin charm 11262, -- solitude charm 2160, -- crystal coin 2195 -- boots of haste }, tempo = 24*3600, -- horas storage = 31402 } function onUse(player, item, fromPosition, itemEx, toPosition) local player = Player(player) if not player then return end if player:getLevel() < config.level then player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You must be level 100 or higher.") return end if player:getStorageValue(config.storage) - os.time() > 0 then player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You must wait 24 hours before getting new daily reward.") return end player:setStorageValue(config.storage, os.time() + config.tempo) player:addItem(config.items[math.random(1, #config.items)]) player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "You have received a random item.") return true end
  9. Adicione uma storage ao player quando ele entra na área. Verifique no login se o player tem essa storage, se tiver, remove a redskull e a storage.
  10. edit -> Playlist Curso de C++ (180 vídeos) edit -> Incluir playlist de LUA em Português Para complementar o tópico Aprenda LUA (em inglês) https://learnxinyminutes.com/docs/lua/ Aula de LUA (em inglês):
  11. O server é bem interessante. Baixei ele e joguei um bom tempo no meu PC pra dar uma olhada. Acho que alguns ajustes ainda são necessários, loot, velocidade dos monstros e algumas coisas no mapa. O server é uma ótima base para criar em cima, já tem muita coisa feita e funcionando muito bem. Parabéns pelo projeto. Quem quer resolver o problema do char não morrer, vai até o arquivo login.lua que está localizado em data/creaturescripts/scripts/login.lua e cole o código abaixo:
  12. function isInPvpFight(cid) if getPlayerStorageValue(cid, 887568) - os.time() <= 0 then return false else return true end end Tenta alterar a função assim Edit Outra coisa, a storage só está sendo adicionada à pessoa que ataca e não ao atacado, logo inclua a linha no script: setPlayerStorageValue(target, 887568, os.time()+time) Talvez nem seja necessário alterar a função, uma vez que ela faz exatamente a mesma coisa só escrita de uma forma diferente.
  13. Você pode me dar mais informações sobre isso? Não entendi muito bem como funciona esse sistema VIP e sua staff.
  14. Olá tibianos. Trago um sistema de honra bem simples. Basicamente, é constituído por três funções, addHonor, remHonor e getHonor. Essas três funções adicionam, removem e buscam a pontuação atual de honra do jogador. Escolhi gravar os dados no banco de dados para ficar mais fácil de manipular. Pode ser aplicado em diversos sistemas, por exemplo: Comprar por Honra; Recompensa em Eventos; Acesso à NPCs; Acesso à Quests; Ganhar desconto em NPCs; Ganhar mais ao vender para NPCs; enfim, a criatividade é o limite. function addHonor(self, value) -- luiz henrique marsilio db.query("UPDATE `players` SET `honor` = `honor` + " .. value .. " WHERE `players`.`id` = ".. self:getGuid().. ";") return true end function remHonor(self, value) -- luiz henrique marsilio db.query("UPDATE `players` SET `honor` = `honor` - " .. value .. " WHERE `players`.`id` = ".. self:getGuid().. ";") return true end function getHonor(self) -- luiz henrique marsilio local query = db.storeQuery("SELECT `honor` FROM `players` WHERE `players`.`id` = " .. self:getGuid() .. ";") if query ~= false then local val = result.getNumber(query, "honor") result.free(query) return val end return -1 end Você precisará inserir uma coluna de nome honor, tipo INT, tamanho 11 e default 0 na sua tabela de players (mysql). Existem tutoriais aqui no fórum que explicam como fazer isso. Deixo um exemplo de aplicação do sistema em um script que dá pontos de honra ao matar outros players. function onKill(player, target) if not target:isPlayer() then return true end -- exemplo de honra sendo adicionada ao matar outro player local honor = math.floor(target:getLevel()/10) addHonor(player, honor) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, "Your honor points have been increased in " .. honor .. ".") player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, "You have now " .. getHonor(player) .. " honor points.") -- pode ser estabelecido para condições serem satisfeitas para que a honra seja adicionada nesse caso -- por exemplo config = {level = 100} if target:getLevel() >= config.level then /stuff end entre outros end Outro exemplo é essa talkaction que usei para criar um simples método de troca dos pontos de honra por items. -- lista dos items a serem comercializados pelo sistema de honra item = { ["boots of haste"] = {id = 2195, price = 100} -- id = id do item, price = valor para trocar por pontos de honra } function onSay(player, words, param) choise = item[param] -- seta o indice da tabela que sera acessado id e price if choise then -- se foi digitado alguma coisa de parametro continuar if getHonor(player) >= choise.price then -- verifica se a honra do player é suficiente para esse item escolhido (choise) player:addItem(choise.id, 1) -- add o item escolhido (id) remHonor(player, choise.price) -- desconta honor do player (price) player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, "You have received " .. ItemType(choise.id):getName()) -- mensagem confirmando o recebimento. busca o nome do item por id player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, "Your current Honor balance is " .. getHonor(player)) -- informa o saldo de honra atual else player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, "Your Honor is not enough to buy this item.") -- mensagem de erro caso nao tenha honra suficiente end else player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, "Available items on Honor Store: ") -- se nao houver parametro for i, j in pairs(item) do -- busca na lista os dados dos items disponiveis player:sendTextMessage(MESSAGE_STATUS_CONSOLE_ORANGE, "Item: [" .. i .. "]. Price: [" .. j.price .. "].") -- informa os dados encontrados através de mensagem end end return false -- retornar false impede que o comando seja falado pelo player na tela "Player says: !exemplo" end Era isso galera! Se você tem sugestão para um sistema simples deixe nos comentários para que eu possa avaliar e fazer se estiver dentro dos meus conhecimentos.

Open Tibia Server

Quer aprender a criar seu próprio servidor de Tibia? Então está no lugar certo, aqui você encontrará milhares de tutorias, scripts, códigos, mapas e utilitários para que você possa fazer o seu próprio servidor de Tibia começando do zero.

Redes Sociais

Anuncie no Tibia King

Precisa de mais visibilidade em seus projetos? Quer fazer um plano publicitário para o seu servidor? Anuncie no Tibia King e faça sua divulgação, possuímos centenas de acessos simultâneos e milhares diários, com certeza será a sua solução!

×
×
  • Create New...