Ir para conteúdo
  • 0

Modificaçao de Script (nivel:Hardcore)


slekron

Pergunta

fala ai pessoal

encontrei um scrip aki no fórum e ele não esta muito complexo então gostaria de pedir a v6 se

conseguem arruma-lo ou fazer outro q funcione corretamente.

 

ideia

uma magia q transforma uma vocação em outra aumentando uma certa quantidade de life e de mana e adicionando um novo looktype;essa magia deve ter um tempo de duração para perder os atributos,por meio q ao re-logar ou quando mana de player acabar.

( o problema do script é o seguinte :funciona quase corretamente...quase... quando uso a spell ela acontece tudo certin porem quando re-logo e volto a vocação anterior o life e mana continuam acumulado, ou seja se o player usala toda vez q re-logar terá 100000 de life.

 

 

 

 

local time = 10 -- quantos segundos vai durar

 

function onCastSpell(cid, var)

if getPlayerVocation(cid) == 1 then

if getPlayerLevel(cid) >= 60 then

doCreatureSay(cid, 'Fight Mode!', TALKTYPE_ORANGE_1)

setCreatureMaxHealth(cid, getCreatureMaxHealth(cid)+700)

setCreatureMaxMana(cid, getCreatureMaxMana(cid)+400)

doPlayerSetVocation(cid,5)

doSetCreatureOutfit(cid, {lookType=397}, -1)

addEvent(getCreatureMaxMana, time*1000, cid)

addEvent(getCreatureMaxHealth, time*1000, cid)

doSendMagicEffect(getPlayerPosition(cid), 7)

doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "You're Transform.")

doSendMagicEffect(getPlayerPosition(cid), 2)

end

return true

end

end

 

 

 

 

 

 

 

 

 

Agradeço a todos que responderem e ao menos tentarem resolver ou criar outro como resultado darem rep++ :)

Link para o comentário
Compartilhar em outros sites

14 respostass a esta questão

Posts Recomendados

  • 0

Tenta assim amigão:

 

 

local time = 10 -- quantos segundos vai durar

 

function onCastSpell(cid, var)

if getPlayerVocation(cid) == 1 then

if getPlayerLevel(cid) >= 60 then

doCreatureSay(cid, 'Fight Mode!', TALKTYPE_ORANGE_1)

setCreatureMaxHealth(cid, getCreatureMaxHealth(cid)+700)

setCreatureMaxMana(cid, getCreatureMaxMana(cid)+400)

doPlayerSetVocation(cid,5)

doSetCreatureOutfit(cid, {lookType=397}, -1)

addEvent(getCreatureMaxMana, time*1000, cid)

addEvent(setCreatureMaxMana, time*1000, cid, getCreatureMaxMana(cid)-400)

addEvent(getCreatureMaxHealth, time*1000, cid)

addEvent(setCreatureMaxHealth, time*1000, cid, getCreatureMaxHealth(cid)-700)

doSendMagicEffect(getPlayerPosition(cid), 7)

doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "You're Transform.")

doSendMagicEffect(getPlayerPosition(cid), 2)

end

return true

end

end

 

Link para o comentário
Compartilhar em outros sites

  • 0

Jean isso é considerado flood, peça isso por PM, não vou negar ajuda :)

Neste tópico estamos resolvendo outra dúvida, como é a primeira vez não irei te punir, preste mais atenção amigo!

Link para o comentário
Compartilhar em outros sites

  • 0

Roksas deu certíssimo :)

o life não acumula.+ ainda ta ficando na msm vocação e com msm looktype

teria como fazer voltar a vocação anterior no msm período de tempo ?

Link para o comentário
Compartilhar em outros sites

  • 0

Prontinho!

 

 

local time = 10 -- quantos segundos vai durar

 

function onCastSpell(cid, var)

if getPlayerVocation(cid) == 1 then

if getPlayerLevel(cid) >= 60 then

doCreatureSay(cid, 'Fight Mode!', TALKTYPE_ORANGE_1)

setCreatureMaxHealth(cid, getCreatureMaxHealth(cid)+700)

setCreatureMaxMana(cid, getCreatureMaxMana(cid)+400)

doPlayerSetVocation(cid,5)

doSetCreatureOutfit(cid, {lookType=397}, -1)

addEvent(getCreatureMaxMana, time*1000, cid)

addEvent(setCreatureMaxMana, time*1000, cid, getCreatureMaxMana(cid)-400)

addEvent(getCreatureMaxHealth, time*1000, cid)

addEvent(setCreatureMaxHealth, time*1000, cid, getCreatureMaxHealth(cid)-700)

addEvent(doRemoveCondition, time*1000, cid, CONDITION_OUTFIT)

addEvent(doPlayerSetVocation, time*1000, cid, 1)

doSendMagicEffect(getPlayerPosition(cid), 7)

doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "You're Transform.")

doSendMagicEffect(getPlayerPosition(cid), 2)

end

return true

end

end

 

Link para o comentário
Compartilhar em outros sites

  • 0

addEvent(getCreatureMaxMana, time*1000, cid)
addEvent(setCreatureMaxMana, time*1000, cid, getCreatureMaxMana(cid)-400)
addEvent(getCreatureMaxHealth, time*1000, cid)
addEvent(setCreatureMaxHealth, time*1000, cid, getCreatureMaxHealth(cid)-700)
addEvent(doRemoveCondition, time*1000, cid, CONDITION_OUTFIT)

...

era melhor por condition

e

addEvent(getCreatureMaxMana, time*1000, cid)

ta de zoa né??

Link para o comentário
Compartilhar em outros sites

  • 0

tudo ok ...mas ..,tipo quando ele loga antes do tempo da transform acabar o life acumula,e se ele morre acredito q tb acumulará.

teria como por pra ficar com batle ou algo assim pra ele nao logar enquanto nao acabar a transform ?

(e se ele morre?)

Link para o comentário
Compartilhar em outros sites

  • 0

Tenta assim então:

 

 

local time = 10 -- quantos segundos vai durar

 

function onCastSpell(cid, var)

if getPlayerVocation(cid) == 1 then

if getPlayerLevel(cid) >= 60 then

doCreatureSay(cid, 'Fight Mode!', TALKTYPE_ORANGE_1)

setCreatureMaxHealth(cid, getCreatureMaxHealth(cid)+700)

setCreatureMaxMana(cid, getCreatureMaxMana(cid)+400)

doPlayerSetVocation(cid,5)

doSetCreatureOutfit(cid, {lookType=397}, -1)

addEvent(doAddCondition, 1*1000, cid)

addEvent(setCreatureMaxMana, time*1000, cid, getCreatureMaxMana(cid)-400)

addEvent(setCreatureMaxHealth, time*1000, cid, getCreatureMaxHealth(cid)-700)

addEvent(doRemoveCondition, time*1000, cid, CONDITION_OUTFIT)

addEvent(doPlayerSetVocation, time*1000, cid, 1)

doSendMagicEffect(getPlayerPosition(cid), 7)

doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "You're Transform.")

doSendMagicEffect(getPlayerPosition(cid), 2)

end

return true

end

end

 

Link para o comentário
Compartilhar em outros sites

  • 0

da esse erro :

 

[06/04/2013 13:10:07] [Error - Spell Interface]

[06/04/2013 13:10:07] In a timer event called from:

[06/04/2013 13:10:07] data/spells/scripts/support/Air Form.lua:onCastSpell

[06/04/2013 13:10:07] Description:

[06/04/2013 13:10:07] (luaDoAddCondition) Creature not found

 

 

e quando eu dou log-out o life acumula.

Link para o comentário
Compartilhar em outros sites

  • 0

Mals, erro meu, tente este:

 

 

local time = 10 -- quantos segundos vai durar

 

function onCastSpell(cid, var)

if getPlayerVocation(cid) == 1 then

if getPlayerLevel(cid) >= 60 then

doCreatureSay(cid, 'Fight Mode!', TALKTYPE_ORANGE_1)

setCreatureMaxHealth(cid, getCreatureMaxHealth(cid)+700)

setCreatureMaxMana(cid, getCreatureMaxMana(cid)+400)

doPlayerSetVocation(cid,5)

doSetCreatureOutfit(cid, {lookType=397}, -1)

addEvent(doAddCondition, 1*1000, cid, CONDITION_INFIGHT)

addEvent(setCreatureMaxMana, time*1000, cid, getCreatureMaxMana(cid)-400)

addEvent(setCreatureMaxHealth, time*1000, cid, getCreatureMaxHealth(cid)-700)

addEvent(doRemoveCondition, time*1000, cid, CONDITION_OUTFIT)

addEvent(doPlayerSetVocation, time*1000, cid, 1)

doSendMagicEffect(getPlayerPosition(cid), 7)

doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "You're Transform.")

doSendMagicEffect(getPlayerPosition(cid), 2)

end

return true

end

end

 

Link para o comentário
Compartilhar em outros sites

  • 0

o batle aparece + some rápido acho q e na configuração do arquivo lua ...porem se ele morrer sera q acumula ?

pq a condition só vai remover enquanto estiver no tempo e ele for a vocação 5 .quando ele morre ele volta como vocação 1

ai o life acumula

 

ja desistiram

 

?

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...