Ir para conteúdo
  • Cadastre-se

[Ajuda] Script de Critical apenas para quem tem quantia X de resets


Posts Recomendados

Alguém me ajuda com esse script? quéro que para usar o Critical o player precisa ter cérta quantia de reset

 

 

local config = {
   effectonuse = 14, -- efeito que sai
   levelscrit = 100,  --- leveis que terão
   local reset_storage = 39650 -- o storage do seu sistema de reset
   local quant_reset = 2 -- quantidade de resets para poder usar
   storagecrit = 48903 -- storage do Critical System
   }
   
function onUse(cid, item, frompos, item2, topos)
    if getPlayerStorageValue(cid, config.storagecrit) < config.levelscrit then
   doRemoveItem(item.uid, 1)
doSendMagicEffect(topos,config.effectonuse)
doPlayerSendTextMessage(cid,22,"You've Leveled your Critical Skill to ["..(getPlayerStorageValue(cid, config.storagecrit)+1).."/100].")
setPlayerStorageValue(cid, config.storagecrit, getPlayerStorageValue(cid, config.storagecrit)+1)
elseif getPlayerStorageValue(cid, config.storagecrit) >= config.levelscrit then
doPlayerSendTextMessage(cid,22,"Voce Já tem o Máximo De Critical Skill Permitido.\nCongratulations!!!!")
    return 0
    end
return 1
end

 

quem poder me ajudar Rep+  :D

Att,
Dieguiin XP

 

»»http://baiakfull.com/««

Link para o post
Compartilhar em outros sites
local tab = {
	effect = 14, -- efeito que sai
	levelcrit = 100,  --- leveis que terão
	resetsto = 39650, -- o storage do seu sistema de reset
	resetmin = 2, -- quantidade de resets para poder usar
	critsto = 48903 -- storage do Critical System
}
   
function onUse(cid, item, frompos, item2, topos)
	if(getPlayerStorageValue(cid, tab.resetsto) < tab.resetmin) then
		doPlayerSendCancel(cid, "You need to have at least "..tab.resetmin.." resets to use the Critical System.")
		return true
	end
		if(getPlayerStorageValue(cid, tab.critsto) < tab.levelcrit) then
			doRemoveItem(item.uid, 1)
			doSendMagicEffect(getThingPos(cid), tab.effect)
			setPlayerStorageValue(cid, tab.critsto, getPlayerStorageValue(cid, tab.critsto)+1)
			doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "You've leveled your Critical Skill to ["..(getPlayerStorageValue(cid, tab.critsto)+1).."/100].")
		else
			doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "You already have the maximum allowed of Critical Skill.\nCongratulations!!!!")
			return false
		end
return true
end

The corrupt fear us.

The honest support us.

The heroic join us.

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.


  • Conteúdo Similar

    • Por rodrigorodriguess
      Galerinha, no meu OT, smp quando eu bato em algum monster aparece em cima umas letrinhas escrito "CRITICAL" queria saber como remove-las do meu server.. REP+ pra quem ajudar.
    • Por xWhiteWolf
      Fala galera do TK, vejo que tem bastante gente procurando esse sisteminha que é praticamente igual ao dodge system, então eu decidi fazer visto que na realidade era só mudar 3 linhas kkkk em todo caso ta aí pra quem quiser:

      creaturescripts.xml:
       <!-- CRITICAL SYSTEM -->    <event type="statschange" name="critical" event="script" value="critical.lua"/> creaturescripts\scripts\login.lua:
      --- CRITICAL SYSTEM ---- registerCreatureEvent(cid, "critical") if getPlayerStorageValue(cid, 48913) == -1 then         setPlayerStorageValue(cid, 48913, 0)      end creaturescritps\scripts\critical.lua:
      --[[Critical System -------------------------  By Night Wolf]] local lvlcrit = 48913 local multiplier = 1.5 function onStatsChange(cid, attacker, type, combat, value) if isPlayer(attacker) and (not (attacker == cid)) and (type == STATSCHANGE_HEALTHLOSS or type == STATSCHANGE_MANALOSS)  then if (getPlayerStorageValue(attacker, lvlcrit)*3) >= math.random (0,1000) then dano = math.ceil(value*(multiplier)) doTargetCombatHealth(attacker, cid, combat, -dano, -dano, 255) doSendAnimatedText(getCreaturePos(attacker), "CRITICAL!!", 144) return false end end return true end lvlcrit é o storage que fica salvo o seu level de critical e multiplier é o multiplicador do dano para ataques críticos.. nesse caso um ataque critico vai ser 1,5 vezes maior doque um ataque normal (50% maior)

      Agora em actions.xml adicione:
      <action itemid="1294" script="criticalrock.lua"/> e em actions\scripts\criticalrock.lua adicione:
      --- CRITICAL System by Night Wolf       local config = {    effectonuse = 14, -- efeito que sai    levelscrit = 100,  --- leveis que terão    storagecrit = 48913 -- storage que será verificado    }     function onUse(cid, item, frompos, item2, topos)     if getPlayerStorageValue(cid, config.storagecrit) < config.levelscrit then    doRemoveItem(item.uid, 1) doSendMagicEffect(topos,config.effectonuse) doPlayerSendTextMessage(cid,22,"You've Leveled your Critical Skill to ["..(getPlayerStorageValue(cid, config.storagecrit)+1).."/"..config.levelscrit.."].") setPlayerStorageValue(cid, config.storagecrit, getPlayerStorageValue(cid, config.storagecrit)+1) elseif getPlayerStorageValue(cid, config.storagecrit) >= config.levelscrit then doPlayerSendTextMessage(cid,22,"You've already reached the MAX level of Critical Skill.\nCongratulations!!!!")     return 0     end return 1 end Feito isso tá pronto, pra editar o item que dá a skill de critical vc edita no actions.xml mesmo:
      <action itemid="1294"   << ID do item que será usado pra dar a skill.
      A config tá bem simples:
      effectonuse = 14, -- efeito que sai
         levelscrit = 100,  --- leveis que terão 
         storagecrit = 48913 -- storage que será verificado.

      Lembrando que cada pedra utilizada dará 0,3% a mais de chance.. 10 pedras dão 3% de chance de dar critico a cada ataque e 100 pedras (NIVEL MÁXIMO PADRÃO) dará 30% de chance de dar crítico em cada ataque.
      Espero que vcs gostem, qualquer coisa deixem os comentários aqui.

      Obs: aqui tá uma foto


      Note que esse script só funciona em players, se vc quiser que funcione em monstros você vai ter que abrir um por um todos os monstros do server e colocar essa tag aqui: 
      <script> <event name="critical"/> </script> coloque antes de  </monster>
      Minha dica: coloquem apenas no Trainer pra que o player consiga ver que ele tem o critical e quanto ele tira e deixem avisado que o sistema só vai funcionar em players. 
    • Por Movie
      Olá a todos, criei um OTServ a um tempo atrás e não deu muito certo então resolvi deixar disponível para vocês baixarem.
       
      O que editei: - Implementação da Aura System - Boss Event diário 100% automático. - Magias novas (!spells) - Quests inéditas - Eventos funcionais - Implementado um sistema de reset 100% funcional - Áreas Donate, Supreme, Ultimate, Super UP (cave exclusiva) e Reset City. - Sistema de compra de itens no templo. - Dodge e Critical System - Refinamento System - E muito mais...  
      Algumas imagens:
       
       
      Curtiu? dá um REP+ aí
       
      Download: clique aqui
      Scan: clique aqui
      Site: clique aqui
       
      O servidor vêm preparado para ser utilizado com MySQL.
      Em breve colocarei o site que usei para download aqui.
       
      Use a database que vêm junto com o arquivo.
       
       
      Créditos:
      75% Baiak Fusion
      25% Movie
    • Por Cat
      Trade Offline 2.0!

      Testado em OTX2, pode funcionar em TFS 0.4.
      Como Funciona? É semelhante ao Market System das versões atuais, o sistema vem acompanhado de uma página para o Gesior AAC. A versão 2.0 trás algumas melhorias, leia mais sobre visitando o tópico oficial do sistema:
       Trade Offline 2.0
       
      Amostras:
       

       

      Auto Loot Versão Ilimitada!

      Versão ilimitada de itens, não ficam armazenados em storages!
      Outras novidades: Opções para informar quando estiver acabando os slots, ativar ou desativar mensagens de aviso ou o próprio auto loot e depósito de Gold direto no banco!
       
      Disponível em duas versões:
       Auto Loot Unlimited Version para TFS!
       Auto Loot Unlimited Version para OTX!
       

       

      Tasks Diárias com Contador de Monstros! (via NPC)

      Escolha tarefas de diferentes níveis, Fácil, Médio, Difícil e Especialista.
      Recompensas configuráveis. Acompanha uma extensão do sistema que é a contagem de monstros, para saber quantos monstros tem no servidor e balancear a configuração do seu Task System! 
       
       Daily Tasks com 4 opções diárias TFS 1.x
       Contador de Monstros TFS 1.x
       
      Amostras:
       

       

      Gerenciador de Quests!
      Organize suas missões!
      Funções unidas no mesmo arquivo, diga adeus ao Spam de quests em Actions!
       
       Gerenciador de Quests TFS 0.X
       Libs compatíveis com TFS 1.X
       

       

      Dodge & Critical System!
      Torne o PVP e a caça mais emocionantes em seu Otserv!
      Sistema já disponível, esta versão trás correções de erros e dodge para mana também!
      (testado no TFS 1.3 8.60)
       
       Dodge e Critical System TFS 1.x
       

       
      PREMIAÇÕES TK MAGAZINE
      Membros que receberam o medalhão como forma de agradecimento por terem contribuído com um conteúdo exclusivo:
      @WooX, @Vodkart (2x), @Mor3nao (2x) e @Movie (2x)
       
      • [Informações] Tk Magazine
      • Lista de Medalhas TKM.
       
      Créditos pelas imagens: Domínio Público, distribuído por Academia de Spriting.
       
    • Por Movie
      [Dodge & Critical]

      Sabe aqueles sistemas de dodge e critical que temos nos servidores de baiak? Então, é isso que hoje vou trazer para vocês!
      Há um sistema disponibilizado na internet, porém não funcional, o que eu fiz foi fixá-lo e adicionar o dodge para mana também.

      Testado no TFS 1.3 na versão 8.60

      Na pasta lib crie um arquivo chamado dodgeCritical.lua
      --[[ Dodge & Critical fixado por Movie (Movie#4361) Disponibilizado para o TibiaKing e não autorizo outras reproduções Mantenha os créditos <3 --]] STORAGEVALUE_DODGE = 48900 STORAGEVALUE_CRITICAL = 48901 DODGE = { LEVEL_MAX = 100, -- máximo de level que o dodge será PERCENT = 0.2 -- porcentagem que irá defender o ataque } CRITICAL = { LEVEL_MAX = 100, -- máximo de level que o critical será PERCENT = 0.2 -- porcentagem que irá aumentar o ataque } function Player.getDodgeLevel(self) return self:getStorageValue(STORAGEVALUE_DODGE) end function Player.setDodgeLevel(self, value) return self:setStorageValue(STORAGEVALUE_DODGE, value) end function Player.getCriticalLevel(self) return self:getStorageValue(STORAGEVALUE_CRITICAL) end function Player.setCriticalLevel(self, value) return self:setStorageValue(STORAGEVALUE_CRITICAL, value) end Não esqueça de registrar a lib no lib.lua

      Agora na pasta creaturescript/scripts crie um arquivo chamado dodgeCritical.lua
      --[[ Dodge & Critical fixado por Movie (Movie#4361) Disponibilizado para o TibiaKing e não autorizo outras reproduções Mantenha os créditos <3 --]] function onHealthChange(creature, attacker, primaryDamage, primaryType, secondaryDamage, secondaryType, origin) if (not attacker or not creature) then return primaryDamage, primaryType, secondaryDamage, secondaryType end if primaryType == COMBAT_HEALING then return primaryDamage, primaryType, secondaryDamage, secondaryType end if ((creature:getDodgeLevel() * 3) >= math.random (0, 1000) and creature:isPlayer()) then primaryDamage = 0 secondaryDamage = 0 creature:say("DODGE!", TALKTYPE_MONSTER_SAY) creature:getPosition():sendMagicEffect(CONST_ME_BLOCKHIT) end if (attacker:isPlayer() and (attacker:getCriticalLevel() * 3) >= math.random (0, 1000)) then primaryDamage = primaryDamage + math.ceil(primaryDamage * CRITICAL.PERCENT) attacker:say("CRITICAL!", TALKTYPE_MONSTER_SAY) creature:getPosition():sendMagicEffect(CONST_ME_EXPLOSIONHIT) end return primaryDamage, primaryType, secondaryDamage, secondaryType end <event type="healthchange" name="DodgeCritical" script="dodgeCritical.lua"/>  
      Agora crie outro arquivo dentro do creaturescripts/scripts com o nome dodgeMana.lua
      --[[ Dodge & Critical fixado por Movie (Movie#4361) Disponibilizado para o TibiaKing e não autorizo outras reproduções Mantenha os créditos <3 --]] function onManaChange(creature, attacker, primaryDamage, primaryType, secondaryDamage, secondaryType, origin) if (not attacker or not creature) then return primaryDamage, primaryType, secondaryDamage, secondaryType end if ((creature:getDodgeLevel() * 3) >= math.random (0, 1000) and creature:isPlayer()) then primaryDamage = 0 secondaryDamage = 0 creature:say("DODGE!", TALKTYPE_MONSTER_SAY) creature:getPosition():sendMagicEffect(CONST_ME_BLOCKHIT) end return primaryDamage, primaryType, secondaryDamage, secondaryType end <event type="manachange" name="DodgeMana" script="dodgeMana.lua"/>  
       
      Não esqueça de registra no login.lua
      player:registerEvent("DodgeCritical") player:registerEvent("DodgeMana") Adicione também no login.lua
      if player:getDodgeLevel() == -1 then player:setDodgeLevel(0) end if player:getCriticalLevel() == -1 then player:setCriticalLevel(0) end
      Agora na pasta scripts/talkactions crie um arquivo chamado dodgeCritical.lua
      --[[ Dodge & Critical fixado por Movie (Movie#4361) Disponibilizado para o TibiaKing e não autorizo outras reproduções Mantenha os créditos <3 --]] local dodge = TalkAction("!dodge") local critical = TalkAction("!critical") function dodge.onSay(player, words, param) local skill = player:getDodgeLevel() local message = "DODGE SYSTEM\nO sistema consiste em defender uma porcentagem dos ataques recebidos.\n\nPor Exemplo:\nCada pedra utilizada atribui 0,3% a mais de chance.\nCom 10 pedras, voce tera 3% de chance de defender 50% dos ataques recebidos.\nCom 100 pedras (maximo), voce tera 30% de chance de defender 50% dos ataques recebidos.\nCada pedra que voce usar, sua skill de dodge aumenta em 1 ponto.\n\n------------------\nDodge Skill: [" .. skill .. "/100]" doPlayerPopupFYI(player, message) end dodge:register() function critical.onSay(player, words, param) local skill = player:getCriticalLevel() local message = "CRITICAL SYSTEM\nO sistema consiste em ter uma chance de dar um dano critico.\n\nPor Exemplo:\nCada pedra utilizada atribui 0,3% a mais de chance.\nCom 10 pedras, voce tera 3% de chance de hitar um dano critico dos ataques desferidos ao seu oponente.\nCom 100 pedras (maximo), voce tera 30% de chance de hitar um dano critico dos ataques desferidos ao seu oponente.\nCada pedra que voce usar, sua skill de dodge aumenta em 1 ponto.\n\n------------------\nCritical Skill: [" .. skill .. "/100]" doPlayerPopupFYI(player, message) end critical:register()
      Pronto, agora você tem o sistema no seu servidor!
      Curtiu? Dá um REP+ aí
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo