Ir para conteúdo
  • Cadastre-se

L3K0T

Sub-Admin
  • Total de itens

    2162
  • Registro em

  • Última visita

  • Dias Ganhos

    111

Tudo que L3K0T postou

  1. Só reverter o processo... Em protocolgame.cpp procure por: msg->put<uint16_t>(player->getHealth()); msg->put<uint16_t>(player->getPlayerInfo(PLAYERINFO_MAXHEALTH)); Substitua : if (player->getPlayerInfo(PLAYERINFO_MAXHEALTH) > 0) { msg->put<uint16_t>(uint16_t(player->getHealth() * 100 / player->getPlayerInfo(PLAYERINFO_MAXHEALTH))); msg->put<uint16_t>(100); } else { msg->put<uint16_t>(0); msg->put<uint16_t>(0);
  2. A parte que o Luciano disse, fiz alteração local pontos = getPlayerStorageValue(players[i], boss.storage) if pontos ~= nil then if i == 1 then addLoot(boss.comum, tabela_reward, false) addLoot(boss.semi_raro, tabela_reward, false) addLoot(boss.raro, tabela_reward, false) addLoot(boss.sempre, tabela_reward, true) elseif i >= 2 and pontos >= math.ceil((porcentagem * 0.8)) then addLoot(boss.comum, tabela_reward, false) addLoot(boss.semi_raro, tabela_reward, false) addLoot(boss.raro, tabela_rewar
  3. 10 anos de Tíbia King ❤

  4. Source uint32_t Player::getAttackSpeed() const { int32_t SpeedAttack; SpeedAttack = vocation->getAttackSpeed() - (getSkill(SKILL_FIST, SKILL_LEVEL) * 9); if (SpeedAttack < 350) { return 350; } else { return (uint32_t)SpeedAttack; } } int32_t Player::getFistDamage() const { int32_t FistDamage; FistDamage = vocation->getFistDamage() - (getSkill(SKILL_FIST, SKILL_LEVEL) * 2); if (FistDamage < 1) { return 1; } else { return FistDamage; } }
  5. Na verdade pra ele ser kikado vc deverá por no login.lua pra verificar se o playeré Premium ou não, se ele logar e não for vip seja lá aonde ele estiver, ele vai pro templo da cidade principal <event type="login" name="LoginScriptVip" script="loginVip.lua"/> local TEMPLE_POSITION = {x = 100, y = 200, z = 7} -- Coordenadas do templo function onLogin(cid) local vip = getPlayerPremiumDays(cid) if vip == 0 then -- Teleporta o jogador para o templo doTeleportThing(cid, TEMPLE_POSITION, false) doPlayerSendText
  6. <event type="death" name="onDeath" script="avoidSameIPKill.lua"/> function onDeath(cid, corpse, killer) local playerIp = getPlayerIp(cid) local killerIp = getPlayerIp(killer) -- Verifica se o jogador morto e o jogador que matou têm o mesmo IP if playerIp == killerIp then return false -- Evita registrar a kill end -- Resto da lógica para contabilizar as kills normalmente return true end
  7. function onUse(cid, item, fromPosition, itemEx, toPosition) local ITEM_ID = 12780 -- ID do item Senzu Bean local STORAGE_ID = 50000 -- ID de armazenamento para controle de cooldown local COOLDOWN_TIME = 60 -- Tempo de recarga em segundos local HEAL_PERCENTAGE = 20 -- Porcentagem de vida e mana a ser curada local EFFECT_ID = 80 -- ID do efeito visual ao usar a Senzu Bean local pos = getPlayerPosition(cid) local newPos = {x = pos.x + 1, y = pos.y, z = pos.z} -- Verifica se o item usado é uma Senzu Bean if item.itemid ~= ITEM_ID then
  8. Curando 20% mana e vida function onUse(cid, item, fromPosition, itemEx, toPosition) local ITEM_ID = 12780 -- ID do item Senzu Bean local STORAGE_ID = 50000 -- ID de armazenamento para controle de cooldown local COOLDOWN_TIME = 60 -- Tempo de recarga em segundos local HEAL_PERCENTAGE = 20 -- Porcentagem de vida e mana a ser curada local EFFECT_ID = 80 -- ID do efeito visual ao usar a Senzu Bean local pos = getPlayerPosition(cid) local newPos = {x = pos.x + 1, y = pos.y, z = pos.z} -- Verifica se o item usado é uma Senzu Bean
  9. Te ajuda? function onUse(cid, item, fromPosition, itemEx, toPosition) local ITEM_ID = 12780 -- ID do item Senzu Bean local STORAGE_ID = 50000 -- ID de armazenamento para controle de cooldown local COOLDOWN_TIME = 60 -- Tempo de recarga em segundos local HEAL_AMOUNT = 200000 -- Quantidade de vida e mana a ser curada local EFFECT_ID = 80 -- ID do efeito visual ao usar a Senzu Bean local pos = getPlayerPosition(cid) local newPos = {x = pos.x + 1, y = pos.y, z = pos.z} -- Verifica se o item usado é uma Senzu Bean if item.itemi
  10. local storages = {13002} local message = [[ ( Guia Nto Hard ) Desça no subsolo de Konoha e procure por criaturas para batalhar! 1. Utilize Jutsus para Curar (Regeneration) e Atacar (Throw Kunai). 2. Utilize a palavra (skip) para subir e sair do calabouço! ]] local signature = "L3K0T" function onStepIn(cid, item, position, fromPosition) if isPlayer(cid) then for _, v in ipairs(storages) do if getPlayerStorageValue(cid, v) <= 0 then doPlayerPopupFYI(cid, message) setPlayerStorageValue(cid, 13002, 1)
  11. Tenta isso rateStaminaLoss = 5 rateStaminaGain = 2 rateStaminaThresholdGain = 12 staminaRatingLimitTop = 42 * 60 staminaRatingLimitBottom = 6 * 60 rateStaminaAboveNormal = 1.5 rateStaminaUnderNormal = 0.5 staminaThresholdOnlyPremium = true
  12. function Player.canAttack(cid, target) -- Verifica se o jogador e o alvo são jogadores reais (não NPCs ou criaturas) if not isPlayer(cid) or not isPlayer(target) then return true end -- Verifica se o jogador está usando MC e tem o mesmo endereço IP que o alvo if getPlayerClient(cid).isMC and getPlayerIp(cid) == getPlayerIp(target) then -- Se as condições acima forem verdadeiras, envia uma mensagem de cancelamento para o jogador e impede o ataque doPlayerSendCancel(cid, "Você não pode atacar outro jogador enquanto estiver usando MC com o mesmo endereço
  13. Remove todos os espaços, comentários e verifique se o mysql esta configurado correto com o seu banco de dados
  14. Este tópico foi movido para a seção de Suporte Otserv.
  15. Tenta local STAMINA_GAIN = 2 -- Quantidade de stamina recuperada por minuto local STAMINA_INTERVAL = 60 * 1000 -- Intervalo de tempo entre cada aumento de stamina (em milissegundos) function onLogin(cid) checkStamina(cid) -- Verifica se o jogador já está dormindo ao entrar no jogo end function onLogout(cid) stopStaminaGain(cid) -- Remove o evento de aumento de stamina ao sair do jogo end function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor) stopStaminaGain(cid) -- Remove o evento de aumento de stamina ao mudar d
  16. Ve se te ajuda data/creturescript/creaturescript.xnml. <event type="advance" name="AntiBotAdvance" script="antibot_advance.lua"/> data/creturescript/antibot_advance.lua. local creaturesToKill = math.random(300, 1000) local antiBotStorage = 25631 -- armazena quantas criaturas o jogador matou local antiBotTime = 30 -- tempo em segundos para o jogador matar o número de criaturas necessárias function onKill(cid, target, lastHit) if isPlayer(cid) and isCreature(target) then local storageValue = getPlayerStorageValue(cid, antiBotStorage) if storageValue
  17. Voce pode tantar essa formula 0.9 * 1000 ficando local config = { lifeGain = 5.5, lifeGainMax = 8, manaGain = 5.5, manaGainMax = 8, exhaustionSeconds = 0.9 * 1000, effectChar = 212 } function onUse(cid, item, fromPosition, itemEx, toPosition) if exhaustion.check(cid, item.itemid) then local timeLeft = exhaustion.get(cid, item.itemid) if timeLeft > 0 then doPlayerSendCancel(cid, "You are exhausted. You need to wait " .. timeLeft .. " seconds before using this item again.") return true
  18. Agora é pra ser usado a casa 2 segundos local config = { lifeGain = 5.5, lifeGainMax = 8, manaGain = 5.5, manaGainMax = 8, exhaustionSeconds = 2, effectChar = 212 } function onUse(cid, item, fromPosition, itemEx, toPosition) if exhaustion.check(cid, item.itemid) then local timeLeft = exhaustion.get(cid, item.itemid) if timeLeft > 0 then doPlayerSendCancel(cid, "You are exhausted. You need to wait " .. timeLeft .. " seconds before using this item again.") return true end
  19. Deixei sem tempo pra nos testar local config = { lifeGain = 5.5, lifeGainMax = 8, manaGain = 5.5, manaGainMax = 8, effectChar = 212 } function onUse(cid, item, fromPosition, itemEx, toPosition) doRemoveItem(item.uid, 1) local health = getCreatureMaxHealth(cid) * (config.lifeGain/100) local mana = getCreatureMaxMana(cid) * (config.manaGain/100) local healthmax = getCreatureMaxHealth(cid) * (config.lifeGainMax/100) local manamax = getCreatureMaxMana(cid) * (config.manaGainMax/100) doCreatureAddHealth(cid, math.
  20. local config = { lifeGain = 5.5, lifeGainMax = 8, manaGain = 5.5, manaGainMax = 8, exhaustionSeconds = 0.9, effectChar = 212, itemExhaustion = 10 -- adicione o tempo de espera em segundos aqui } function onUse(cid, item, fromPosition, itemEx, toPosition) if exhaustion.check(cid, config.itemExhaustion) then local timeLeft = exhaustion.get(cid, config.itemExhaustion) if timeLeft > 0 then doPlayerSendCancel(cid, "You are exhausted. You need to wait " .. timeLeft .. " seconds before using this item again.")
  21. Vc quer usar semprea cada certo tempo, agora entendi amigo local config = { lifeGain = 5.5, lifeGainMax = 8, manaGain = 5.5, manaGainMax = 8, exhaustionSeconds = 0.9, effectChar = 212 } function onUse(cid, item, fromPosition, itemEx, toPosition) if exhaustion.check(cid, item.itemid) then local timeLeft = exhaustion.get(cid, item.itemid) if timeLeft > 0 then doPlayerSendCancel(cid, "You are exhausted. You need to wait " .. timeLeft .. " seconds before using this item again.") return t
  22. Tente: *creatureevets o creturescript <event type="death" name="Death" script="death.lua"/> function onDeath(player, corpse, killer, mostDamageKiller, unjustified, mostDamageUnjustified) local position = player:getPosition() corpse = Game.createItem(CORPSE_ID, 1, position) if corpse then corpse:setAttribute(ITEM_ATTRIBUTE_CORPSEOWNER, player:getName()) else print("Failed to create corpse for player ".. player:getName() ..".") return false end player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Y
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo