Ir para conteúdo

otservcode

Membro
  • Registro em

  • Última visita

Tudo que otservcode postou

  1. otservcode postou uma resposta no tópico em Suporte Tibia OTServer
    Bom, eu posso fazer a função que retorna esses dados tanto por C++ como por LUA, eu vou ver se hoje a noite me sobra tempo e eu faço pra ti.
  2. otservcode postou uma resposta no tópico em Suporte Tibia OTServer
    Qual é a distro?
  3. Certo, mas não tem nada a ver, o gesior apenas pega o campo vip e converte para data legivel, isso não depende nada do website... Enfim, na pasta LIB, me envia como tá o seu arquivo.
  4. Bom, o que eu posso te sugerir, é entender como esse problema acontece, se o player ta pk ou não, se usa algum item especifico, após entender o problema, encontrar um script relacionado com isso, por exemplo, se for o de pk, então deve checar algum código que checa a skull do player ou algo do gênero.
  5. E aí, beleza? Segue o código, para configurar altere nas variáveis da tabela config. local config = { backToLevel = 8, redskull = false, --need to be without redskull to reset ? battle = true, --need to be without battle to reset ? pz = false, --need to be in protect zone to reset ? healthPercent = 50, -- porcentagem que ele vai receber de vida manaPercent = 50, -- porcentagem que ele vai receber de mana stages = { {resets = 4, level = 350, premium = 330}, {resets = 9, level = 355, premium = 340}, {resets = 14, level = 360, premium = 355}, {resets = 19, level = 365, premium = 360}, {resets = 24, level = 380, premium = 370}, {resets = 29, level = 390, premium = 380}, {resets = 34, level = 410, premium = 400}, {resets = 39, level = 430, premium = 420}, {resets = 44, level = 450, premium = 440}, {resets = 49, level = 480, premium = 470}, {resets = 54, level = 510, premium = 500}, {resets = 59, level = 550, premium = 540}, {resets = 64, level = 590, premium = 580}, {resets = 69, level = 630, premium = 620}, {resets = 74, level = 680, premium = 670}, {resets = 79, level = 730, premium = 720}, {resets = 84, level = 780, premium = 770}, {resets = 89, level = 860, premium = 840}, {resets = 94, level = 930, premium = 910}, {resets = 2 ^ 1024, level = 1010, premium = 990} } } function onSay(player, words, param) local function getExperienceForLevel(lv) lv = lv - 1 return ((50 * lv * lv * lv) - (150 * lv * lv) + (400 * lv)) / 3 end local function getPlayerResets() local resets = player:getStorageValue(500) return resets < 0 and 0 or resets end local function doPlayerAddResets(count) player:setStorageValue(500, getPlayerResets() + count) end if config.redskull and player:getSkull() == 4 then player:sendCancelMessage("You need to be without red skull to reset.") return false elseif config.pz and not getTilePzInfo(player:getPosition()) then player:sendCancelMessage("You need to be in protection zone to reset.") return false elseif config.battle and player:getCondition(CONDITION_INFIGHT) then player:sendCancelMessage("You need to be without battle to reset.") return false end local resetLevel = 0 for x, y in ipairs(config.stages) do if getPlayerResets() <= y.resets then resetLevel = player:isPremium() and y.premium or y.level break end end if getPlayerLevel(player) < resetLevel then player:sendCancelMessage("You need level " .. resetLevel .. " or more to reset.") return false end doPlayerAddResets(1) local healthMax, manaMax = player:getMaxHealth() * (config.healthPercent/100), player:getMaxMana() * (config.manaPercent/100) player:removeExperience(getExperienceForLevel(player:getLevel()) - getExperienceForLevel(config.backToLevel)) player:setMaxHealth(healthMax) player:setMaxMana(manaMax) player:addHealth(healthMax) player:addMana(manaMax) player:getPosition():sendMagicEffect(CONST_ME_FIREWORK_RED) player:sendTextMessage(MESSAGE_INFO_DESCR, "Now you have " .. getPlayerResets() .. " " .. (getPlayerResets() == 1 and "reset" or "resets") .. ".") return false end
  6. E aí, beleza? O problema é que na passagem de parâmetros da função está creature, ou seja, na hora de setar a storage a referência do objeto está player o que deveria ser creature, segue corrigido: function onStepIn(creature, item, position, fromPosition) if item.actionid == 8126 then creature:setStorageValue(cid, 81262, 1) end return true end
  7. E aí beleza? Bom, o que tem a ver gesior com o código rsrs? O problema é que o código não consegue achar a função vip.hasVip, você adicionou corretamente o arquivo a sua lib?
  8. E aí, beleza? Cara, provavelmente é alguma falha no código fonte da função onMoveItem, pois o código está certinho, aonde pegou a função?
  9. E aí, beleza? Provavelmente é algum código que você colocou no creaturescripts e em alguma circunstância específica gera um erro onde o player não consegue "morrer".

Informação Importante

Confirmação de Termo