Jump to content

Recommended Posts

Ola eu tenho uma spell de attack que deveria ter uma chnce de falhar mas ela nao falha alguem pode editar pramin colocar a chance 50% de pegar!

 

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_RED)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, FALSE)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_DEATH)

function onCastSpell(cid, var)
local target = getCreatureTarget(cid)
if (isPlayer(target)) then
	if (getCreatureHealth(target) > getCreatureMaxHealth(target) * 0.20) then
		doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "O alvo tem que estar com menos de 20% da vida.")
	return false
	end
else
	doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Voce so pode usar em jogadores.")
return false
end
doSendMagicEffect(getPlayerPosition(cid), 49)
	local storage = 23011
	local spellname = "Execute"
	local hp = -10000

        if exhaustion.check(cid, storage) == false then
			doCreatureAddHealth(target, hp)
                return doCombat(cid, combat, var)
        else
                doSendAnimatedText(getThingPos(cid), "MISS!", 180)
end
end

 

Edited by doido (see edit history)
Link to post
Share on other sites

  • doido changed the title to Spell attackk
  • Assistente

Removi o verificação de storage que havia pois nao tava sendo utilizada, e quando erra dara o effect que tava nela: doSendAnimatedText(getThingPos(cid), "MISS!", 180)

Testa ai avisa se der erro.

 

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_EFFECT, CONST_ME_MAGIC_RED)
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, FALSE)
setCombatParam(combat, COMBAT_PARAM_DISTANCEEFFECT, CONST_ANI_DEATH)
 
function onCastSpell(cidvar)
    local target = getCreatureTarget(cid)
    if (isPlayer(target)) then
        doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Voce so pode usar em jogadores.")
        return false
    end
    if (getCreatureHealth(target) > getCreatureMaxHealth(target) * 0.20then
        doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "O alvo tem que estar com menos de 20% da vida.")
        return false
    end
    local chance = 0.5
    local spellname = "Execute"
    local hp = -10000
    if chance >= math.random() then
        doSendMagicEffect(getPlayerPosition(cid), 49)
        doCreatureAddHealth(target, hp)
        doCombat(cid, combat, var)
        return true
    else
        doSendAnimatedText(getThingPos(cid), "MISS!"180)
        return false
    end
end

 

Discord: Naze#3578

 

Ter Linux Dentro de Windows com Acesso 'localhost' para testes e +

AutoLoot Otimizado Direto na Source (tfs 0.4/otx)

 

// Pirataria é crime, original é roubo, compartilhar é legal.

 

tumblr_muk78tEwDQ1qah4nko1_500.gif

Link to post
Share on other sites

a skill nao sai e fala voce so poder usar em jogadores!

Amigo conseguir editar aqui ta funcionando mas preciso agora de adicionar um shot effect

asdasdsad

 

 

Edited by doido (see edit history)
Link to post
Share on other sites

  • Assistente
doSendDistanceShoot(fromPos, toPos, type)

usa essa função e pega as posições como pegou no doSendMagicEffect

Discord: Naze#3578

 

Ter Linux Dentro de Windows com Acesso 'localhost' para testes e +

AutoLoot Otimizado Direto na Source (tfs 0.4/otx)

 

// Pirataria é crime, original é roubo, compartilhar é legal.

 

tumblr_muk78tEwDQ1qah4nko1_500.gif

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Similar Content

    • By Preguica
      Estou arrumando uns bug no otserv 12.60 e queria arrumar a entrada para Falcon Bastion.
      Eu tinha alguma vez feito um script desse tipo mas perdi no velho hd.
      Quando usar o balde de areia no caso Bucket Filled with Chalk no chão, irá teleporta o char mas somente a noite do tibia. 
       
      Mas procurei e nada de achar a frase exata que funciona. tentei getWorldLight() < x Mas não funciona.
      Uma tinha acertado mas era algo com a hora do tibia que deu certo. e ficava assim exemplo: gametime() >= 18 and gametime() <= 6
       
      player:sendTextMessage(MESSAGE_EVENT_ADVANCE, "Nothing happens. Maybe it's still too early in the day to do something like this.") Fiz esse script só pra entrar, mas queria fazer perfeito e colocar essa palavras, quando não está a noite no game!
       
       
    • By Nysman
      [24/11/2020 19:37:50] Description: 
      [24/11/2020 19:37:50] data/lib/pokeinfo.lua:30: attempt to index a boolean value
      [24/11/2020 19:37:50] stack traceback:
      [24/11/2020 19:37:50]     data/lib/pokeinfo.lua:30: in function 'doPokeInfoList'
      [24/11/2020 19:37:50]     data/creaturescripts/scripts/goback.lua:113: in function <data/creaturescripts/scripts/goback.lua:87>
       
      pokeinfo.lua:

      Alguem me da uma luz pelo menos??? 
      actions/goback.lua eu adicionei:
      doPokeInfoList(cid)
      @Vodkart
    • By Bruno Rezende
      .Qual servidor ou website você utiliza como base? 
      The OTX Server Version: (2.100 - 6000) - Codename: (FINAL)
      Qual o motivo deste tópico? 
      Suporte
      Está surgindo algum erro? Se sim coloque-o aqui. 
       
      Você tem o código disponível? Se tiver publique-o aqui: 
       local config = { rate = 2.0, -- Rate que vai ficar o Scroll. time = 2, -- Tempo dado pelo Scroll. storage = 20011 } local function endExpRate(cid) if not isPlayer(cid) then return end doPlayerSetRate(cid, SKILL__LEVEL, 6.0) setPlayerStorageValue(cid, config.storage, -1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_RED, "Your extra experience time has ended.") end function onUse(cid, item, fromPosition, itemEx, toPosition) local timeLeft = getPlayerStorageValue(cid, 20011) if timeLeft > os.time() then local timeTable = os.date('*t', timeLeft - (os.time() + 3600)) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, string.format("You still have %d %s %d %s %d %s left of extra experience.", timeTable.hour, timeTable.hour > 1 and "hours" or "hour", timeTable.min, timeTable.min > 1 and "minutes" or "minute", timeTable.sec, timeTable.sec > 1 and "seconds" or "second")) return true end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, string.format("Your extra experience rate is now: %d. It will last for %d hours.", config.rate, config.time)) doPlayerSetRate(cid, SKILL__LEVEL, config.rate) setPlayerStorageValue(cid, config.storage, os.time() + config.time * 3600 * 1000) addEvent(endExpRate, config.time * 3600 * 1000, cid) doRemoveItem(item.uid, 1) return true end  
      Você tem alguma imagem que possa auxiliar no problema? Se sim, coloque-a aqui. 
       

    • By iaZe
      Opa pessoal, eu gostaria de criar um item que ao usar criasse um portal
      Se possível, esse portal levasse para mesma localização em um andar diferente
                       Ex: O player está em x = 10, y = 15, z = 7; Ao criar o portal, ele tem o destino x = 10, y = 15, z = 9
                       Ex: O player está em x = 160, y = 130, z = 7; Ao criar o portal, ele tem o destino x = 160, y = 130, z = 9
      Alguém poderia me ajudar?
    • By gordorezzi
      bom vou explicar oq acontece eu já vi uns 10 tipos de scripting ja vi pessoal perguntando isso mas ninguem respondeu 
      eu consegui fazer o piso por reset e coloco qualquer reset no piso tipo de 1 a 999 
      mas esta dando um erro q tipo eu posso resetar 999 vezes vai da a ação, mas sempre vai fica 1 reset
      eu n sei como fazer isso pensei q era algum comando tipo quando eu falo
      !reset aparece uma telinhafalando dos stage e lvl necessário e tals e essas escritas tem em .lua aqui
      mas n encontrei sobre o quanto reset eu tenho por exemplo quando eu faço
      !resetar  abre uma tela com a mensagem n vou lembrar de cabeça mas e algo falando sucesso agr vc tem 1 reset vai ser deslogado em 5 sec
       
      resumindo rs
       
      posso dar 999999 resets mas sempre vai constar 1 reset sempre 
      pf me ajudem com isso
      reset.lua
  • Recently Browsing   0 members

    No registered users viewing this page.


×
×
  • Create New...

Important Information

Confirmação de Termo