Ir para conteúdo

Featured Replies

Postado

@marcot coloquei no meu servidor e deu tudo certo :D agora uma perguntinha pra esse script ficar perfeito, teria como colocar o item para upar magic level como a spell normal faz quando chamamos ela, e também colocar um tempo pra poder dar use no item, tipo 2 segundos ai depois pode usar dnv :D teria como fazer este favor? serei eternamente grato

  • Respostas 19
  • Visualizações 901
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Você pode fazer assim no caso da exura, cria o arquivo item_skill.lua em data/actions/scripts: local combat = createCombatObject() setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_HEALING) setComb

  • Você vai fazer o seguinte: copia tudo que está na magia e cola no action, depois procura essa parte:   function onCastSpell(cid, var) return doCombat(cid, combat, var) end e substitua por:

  • Vou tentar explicar dando um exemplo. Quero fazer um item que solte "Exevo Mas San", o script equivalente no meu servidor é o holy light.lua. A princípio temos: local combat = createCombatObj

Postado
  • Autor
43 minutos atrás, Samu DS disse:

@marcot coloquei no meu servidor e deu tudo certo :D agora uma perguntinha pra esse script ficar perfeito, teria como colocar o item para upar magic level como a spell normal faz quando chamamos ela, e também colocar um tempo pra poder dar use no item, tipo 2 segundos ai depois pode usar dnv :D teria como fazer este favor? serei eternamente grato

sim acabei de nota isso kkkk estava reparando que se clicar no item sem parar o jogo fica roubado, tem que colocar um delay e seria bom tbm upar magic lvl

 

Postado
  • Solução

@apollo333, @Samu DS

Desculpem nao ter respondido, estava maratonando uma série ontem.

Aqui a versão upando ML e com exausted:

local config = {
	requiredLevel = 100, -- Level necessario
	usingMana = 200, -- Mana que sera gasta
	storageID = 40001, -- Mude se ja estiver em uso
	timeExausted = 1, -- Tempo de exausted global
}

local errorMsg = {
	level = "Not enough level.",
	exausted = "You are exausted.",
	mana = "Not enough mana.",
}

local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatParam(combat, COMBAT_PARAM_EFFECT, 49)
setCombatFormula(combat, COMBAT_FORMULA_LEVELMAGIC, -0.5, -30, -1.1, 0)

local arr = {
	{0, 0, 1, 1, 1, 0, 0},
	{0, 1, 1, 1, 1, 1, 0},
	{1, 1, 1, 1, 1, 1, 1},
	{1, 1, 1, 2, 1, 1, 1},
	{1, 1, 1, 1, 1, 1, 1},
	{0, 1, 1, 1, 1, 1, 0},
	{0, 0, 1, 1, 1, 0, 0}
}


local area = createCombatArea(arr)
setCombatArea(combat, area)

function onUse(cid, item, frompos, item2, topos)
	if getPlayerLevel(cid) > config.requiredLevel then
		if getPlayerStorageValue (cid, config.storageID) < os.time() then
			if getPlayerMana(cid) > config.usingMana then
				doPlayerAddMana(cid, -config.usingMana)
				doPlayerAddSpentMana(cid, config.usingMana, true)
				setPlayerStorageValue(cid, config.storageID, os.time() + config.timeExausted)
				return doCombat(cid, combat, numberToVariant(cid))
			else
				doPlayerSendCancel(cid, errorMsg.mana)
				doSendMagicEffect(getCreaturePosition(cid), 2)
			end
		else
			doPlayerSendCancel(cid, errorMsg.exausted)
			doSendMagicEffect(getCreaturePosition(cid), 2)
		end
	else
		doPlayerSendCancel(cid, errorMsg.level)
	end
	return TRUE
end

 

Editado por marcot (veja o histórico de edições)

Postado
  • Autor

@marcot desculpa te incomodar tanto rsrsrs mas e que ainda me restou apenas uma duvida, eu criei esta spell 

Spoiler


local combat0_Brush = createCombatObject()
setCombatParam(combat0_Brush, COMBAT_PARAM_EFFECT, CONST_ME_HOLYDAMAGE)
setCombatParam(combat0_Brush, COMBAT_PARAM_TYPE, COMBAT_PHYSICALDAMAGE)
setCombatArea(combat0_Brush,createCombatArea({{1, 0, 1},
{1, 2, 1},
{1, 1, 1}}))
function getDmg_Brush(cid, level, maglevel)
    return (10)*-1,(20)*-1 
end
setCombatCallback(combat0_Brush, CALLBACK_PARAM_LEVELMAGICVALUE, "getDmg_Brush")


local function RunPart(c,cid,var,dirList,dirEmitPos)
    if (isCreature(cid)) then
        doCombat(cid, c, var)
        if (dirList ~= nil)
            local i = 2;
            while (i < #dirList) do
                doSendDistanceShoot(dirEmitPos,{x=dirEmitPos.x-dirList,y=dirEmitPos.y-dirList[i+1],z=dirEmitPos.z},dirList[1])
                i = i + 2
            end        
        end
    end
end

function onCastSpell(cid, var)
    local startPos = getCreaturePosition(cid)
    RunPart(combat0_Brush,cid,var)
    return true
end

C9UL9qYAQCCgEIc93lZBIg.gif

 porem quando adciono o script no inicio e no final ela nao funciona, mas quando coloco ela dentro do arquivo da pasta spell e chamdo ela pelo nome ela e lançada, saberia me dizer porque ela nao quer ser lançada com item?

Editado por apollo333 (veja o histórico de edições)

Postado

Essa ultima script que você mandou está com vários erros.

Tem um erro de sintaxe de um if sem then, e a função RunPart está sendo chamada sem todos seus 5 parâmetros, onde 2 deles não foram definidos no código (dirList dirEmitPos)

Editado por marcot (veja o histórico de edições)

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo