Ir para conteúdo
  • 0

[B]Não Sei Oq Tem De Errado Nessa Spell O.o[/b]


milbradt

Pergunta

Tipo.. quando você a usa essa spell, ela era pra BUFFAR o jogador e ficar saindo um EFEITO nele.

 

Bom até ai tudo bem, o detalhe é que uso a spell apenas 1 vez e não posso mais usar a mesma =\

 

Aki esta o Link no site que o Skydangerous recomendou que coloca-se no site da pastebin então ai esta.

 

http://pastebin.com/EzZemTDJ

 

Vou deixar ela aki mesmo tambem.

 

Então isso fica em Spells/Scripts/buff.lua

 

local tempo = 60 * 1000 -- Tempo, nesse caso esta 60 segundos Lembrando que 1000 = 1 segundo

local ml = 5 -- quantos ira aumentar o skill de ML

local skillfist = 5 -- quantos ira aumentar o skill de Fist

local skillsword = 5 -- quantos ira aumentar o skill de Sword

local skillaxe = 5 -- quantos ira aumentar o skill de Axe

local skillclub = 5 -- quantos ira aumentar o skill de Club

local skilldistance = 5 -- quantos ira aumentar o skill de Distance

local skillshield = 5 -- quantos ira aumentar o skill de Shield

local health = 30 -- A cada 1 segundo quantos aumentar de vida

local combat = createCombatObject()

setCombatParam(combat, COMBAT_PARAM_EFFECT, 30)

setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0)

local condition = createConditionObject(CONDITION_ATTRIBUTES)

setConditionParam(condition, CONDITION_PARAM_TICKS, tempo)

setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVEL, ml)

setConditionParam(condition, CONDITION_PARAM_SKILL_FIST, skillfist)

setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, skillsword)

setConditionParam(condition, CONDITION_PARAM_SKILL_AXE, skillaxe)

setConditionParam(condition, CONDITION_PARAM_SKILL_CLUB, skillclub)

setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCE, skilldistance)

setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, skillshield)

setConditionParam(condition, CONDITION_PARAM_OUTFIT, outfit)

setCombatCondition(combat, condition)

local condition = createConditionObject(CONDITION_HASTE)

setConditionParam(condition, CONDITION_PARAM_SPEED, 250)

setConditionParam(condition, CONDITION_PARAM_TICKS, tempo)

setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE)

setCombatCondition(combat, condition)

local condition = createConditionObject(CONDITION_REGENERATION)

setConditionParam(condition, CONDITION_PARAM_SUBID, 1)

setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE)

setConditionParam(condition, CONDITION_PARAM_TICKS, tempo)

setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN, health)

setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS, 1000)

setCombatCondition(combat, condition)

 

function magicEffect2(cid)

if (isCreature(cid)) then

if (isCreature(cid) and getPlayerStorageValue(cid, 102051) ~= 1) then

doSendMagicEffect(getPlayerPosition(cid), 120)

else if (isCreature(cid) and k > 0) then

setPlayerStorageValue(cid, 102053,0)

while (k <= 59) do

k = k + 1

stopEvent(vetor2[k])

end

end

end

 

if (isCreature(cid) and o == 58) then

setPlayerStorageValue(cid, 102053,0)

end

k = k + 1

end

--addEvent(print, 10, o)

end

 

function onCastSpell(cid, var)

if getPlayerStorageValue(cid, 102053) ~= 1 then

j = 0

k = 0

setPlayerStorageValue(cid, 102051,0)

if isCreature(cid) and getPlayerStorageValue(cid, 102059) ~= 1 then

doCombat(cid, combat, var)

vetor2 = {}

tempo2 = 1

while (tempo2 ~= 150000) do

vetor2[j] = addEvent(magicEffect2, tempo2, cid)

tempo2 = tempo2 + 1

j = j + 1

end

setPlayerStorageValue(cid, 102053,1) -- storage novo, quando = 1 player esta transformado

return true

else

setPlayerStorageValue(cid, 102051,1)

doPlayerSendCancel(cid, "Sorry, you can not turn while flying.")

end

else

doPlayerSendCancel(cid, "Sorry, you are buffed.")

end

end

 

 

 

e no caso em xml fica assim:

 

No caso isso fica em Spells/spell.xml

 

<instant name="Testando" words="buff" aggressive="0" lvl="1" mana="40" selftarget="1" exhaustion="1500" script="scripts/teste.lua">

 

 

 

agradeço desde ja a ajuda bigsmile.gif

Editado por milbradt
Link para o comentário
Compartilhar em outros sites

12 respostass a esta questão

Posts Recomendados

  • 0

Valeu ae amigo, vou testar quando chegar do serviço, volto as 19:00 horas e quando voltar ja deixo o REP + ja que ja usei ele e posso usar denovo depois das 17 horas happy.png tomare que de certo.. kkkk

 

@edited

 

Agora analizando isso que mostrei não fica em creaturescripts.. e sim em Spells, então na verdade a "spell" parecida com DGZ na verdade tem que ter algo a mais em creaturescripts?

 

Pois minha script nada vai no local de creaturescripts... :X

Editado por milbradt
Link para o comentário
Compartilhar em outros sites

  • 0

No caso funciona normalmente.. só que tipo.. se vou usar ela novamente aparece essa mensagem: Sorry, you are buffed.

 

que no caso seria uma das ultimas mensagem que aparece no script

 

else

doPlayerSendCancel(cid, "Sorry, you are buffed.")

end

-------------------------------------------------------------------------------------------

Reformulando eh uma SPELL que BUFFA e fica um efeito ao redor do PERSONAGEM ate o BUFF acabar tendeu? ^^

 

Editei la em cima onde fica localizado o script ^^

Link para o comentário
Compartilhar em outros sites

  • 0

Olha tente assim: Adicione: setPlayerStorageValue(cid, 102053, 0) em Creaturescripts .. Ou Nessa parte abaixo,

 

setPlayerStorageValue(cid, 102053,1) -- storage novo, quando = 1 player esta transformado

return true

else

 

 

Coloque assim:

 

setPlayerStorageValue(cid, 102053,0) -- storage novo, quando = 1 player esta transformado

return true

else

Editado por CelinoAndrade
Link para o comentário
Compartilhar em outros sites

  • 0

Quando fiz essa spell eu tava iniciando em Lua ainda, então resolvi reformular e dar uma adaptada rapidinho pra ti agora. Vai ficar assim:

local tempo = 60 -- tempo em segundos.
local effect = {27,28,29} -- effect no player, caso queira apenas 1, basta remover os outros numeros.

local ml = 5 -- quantos ira aumentar o skill de ML
local skillfist = 5 -- quantos ira aumentar o skill de Fist
local skillsword = 5 -- quantos ira aumentar o skill de Sword
local skillaxe = 5 -- quantos ira aumentar o skill de Axe
local skillclub = 5 -- quantos ira aumentar o skill de Club
local skilldistance = 5 -- quantos ira aumentar o skill de Distance
local skillshield = 5 -- quantos ira aumentar o skill de Shield
local health = 30 -- A cada 1 segundo quantos aumentar de vida
local combat = createCombatObject()
setCombatParam(combat, COMBAT_PARAM_AGGRESSIVE, 0)

local condition = createConditionObject(CONDITION_ATTRIBUTES)
setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000)
setConditionParam(condition, CONDITION_PARAM_STAT_MAGICLEVEL, ml)
setConditionParam(condition, CONDITION_PARAM_SKILL_FIST, skillfist)
setConditionParam(condition, CONDITION_PARAM_SKILL_SWORD, skillsword)
setConditionParam(condition, CONDITION_PARAM_SKILL_AXE, skillaxe)
setConditionParam(condition, CONDITION_PARAM_SKILL_CLUB, skillclub)
setConditionParam(condition, CONDITION_PARAM_SKILL_DISTANCE, skilldistance)
setConditionParam(condition, CONDITION_PARAM_SKILL_SHIELD, skillshield)
setConditionParam(condition, CONDITION_PARAM_OUTFIT, outfit)
setCombatCondition(combat, condition)

local condition = createConditionObject(CONDITION_HASTE)
setConditionParam(condition, CONDITION_PARAM_SPEED, 250)
setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000)
setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE)
setCombatCondition(combat, condition)

local condition = createConditionObject(CONDITION_REGENERATION)
setConditionParam(condition, CONDITION_PARAM_SUBID, 1)
setConditionParam(condition, CONDITION_PARAM_BUFF, TRUE)
setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000)
setConditionParam(condition, CONDITION_PARAM_HEALTHGAIN, health)
setConditionParam(condition, CONDITION_PARAM_HEALTHTICKS, 1000)
setCombatCondition(combat, condition)

function magicEffect3(tempo2,tempo3,cid)
if (isCreature(cid)) then
   if getPlayerStorageValue(cid, 102053) > 0 and getCreatureCondition(cid, CONDITION_REGENERATION, 1) then
       for i=1, #effect do
           doSendMagicEffect(getPlayerPosition(cid), effect[i])
       end
   end
end
end

function onCastSpell(cid, var)
if getPlayerStorageValue(cid, 102053) ~= 1 or getCreatureCondition(cid, CONDITION_REGENERATION, 1) == false then
   doCombat(cid, combat, var)
   tempo2 = 0
   while (tempo2 ~= (tempo*1000)) do
       addEvent(magicEffect3, tempo2, tempo2, tempo*1000, cid)
       tempo2 = tempo2 + 1000
   end
   setPlayerStorageValue(cid, 102053,1) -- storage verifica transformado, quando = 1 player esta transformado.
else
   doPlayerSendCancel(cid, "Sorry, you are transformed.")
end
end

Editado por Jhon992
Link para o comentário
Compartilhar em outros sites

  • 0

Muito bom mano.. agora sim, esta funcionando normalmente e esta mais facil de configura-la.

Aproposito nem sabia que a script era sua ^^ Rep + Vlw ae..

 

E ja que estou aqui queria fazer uma pergunta, sabe me dizer se tem como mudar o locar do Effect nessa script? ao invés de colocar

para o efeito sair em baixo de você ele sair em uma area configurada, tipo...

 

Sou um leigo na parte de scripts mas acredito que o efeito sai em baixo de você apartir desse codigo

doSendMagicEffect(getPlayerPosition(cid), effect[i])

Pois bem, queria saber se tem como pegar e modificar para um local que eu queria coloca mais ou menos isso

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

 

Queria assim pq tenho umas SPRITES meio decentralizada, então se tiver como fazer isso me ajudaria muito, tendo em vista que é um efeito pra bonito happy.png

Link para o comentário
Compartilhar em outros sites

  • 0

Tenta assim, troca essa linha:

doSendMagicEffect(getPlayerPosition(cid), effect[i])

Por essas:

local position = {x=getPlayerPosition(cid).x+1, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z}
doSendMagicEffect(position, effect[i])

Editado por Jhon992
Link para o comentário
Compartilhar em outros sites

  • 0

Então manin, tentei substituir isso que você falou, porem não funcionou o efeito..

 

No caso a Speel Buffou direitinho o personagem mas o effect não ficou saindo em lugar nenhum.. ;S

 

Sabe algumo mais para mim tentar?

Link para o comentário
Compartilhar em outros sites

  • 0

UuahuHAUha.. agora sim manow... funcionou como eu queria e perfeitamente.. muito muito grato!!!

 

Como eu te dei REP + ontem a noite ainda não posso lhe dar outro.. porem depois que vier do serviço ja estara liberado e te dou o devido rep + como agradeçimento.

 

--------------------

--Edited--

Então CelinoAndrade agora que vi sua mensagem.. vlw por suas tentativas de me ajudar cara!

E quanto ao REP+ prometido Jhon992, esta la onde você me auxiliou pela 2 Vez ^^

Editado por milbradt
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...