Postado Janeiro 4, 2015 10 anos Galera, estou com dificuldades de alterar uma spell no meu OTServer, a spell ao ser usada adiciona um effect no player, porém além do effect eu queria que ela mudasse o outfit, a duração do effect e do outfit seriam as mesmas. Vou postar o script que estou usando: local tempo = 60 -- tempo em segundos. local effect = {208} -- effect no player, caso queira apenas 1, basta remover os outros numeros. local ml = 35 -- quantos ira aumentar o skill de ML local skillfist = 35 -- quantos ira aumentar o skill de Fist local skillsword = 35 -- quantos ira aumentar o skill de Sword local skillaxe = 35 -- quantos ira aumentar o skill de Axe local skillclub = 35 -- quantos ira aumentar o skill de Club local skilldistance = 35 -- quantos ira aumentar o skill de Distance local skillshield = 35 -- quantos ira aumentar o skill de Shield local health = 80 -- 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 magicEffect2(tempo2,tempo3,cid) if (isCreature(cid)) then if getPlayerStorageValue(cid, 102053) > 0 and getCreatureCondition(cid, CONDITION_REGENERATION, 1) then for i=1, #effect do local position = {x=getPlayerPosition(cid).x, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z} doSendMagicEffect(position, effect) end end end end function onCastSpell(cid, var) local position129 = {x=getPlayerPosition(cid).x+2, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z} 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(magicEffect2, tempo2, tempo2, tempo*1000, cid) tempo2 = tempo2 + 300 end setPlayerStorageValue(cid, 102053,1) -- storage verifica transformado, quando = 1 player esta transformado. doCreatureSay(cid, "Kyuubi Furie", TALKTYPE_MONSTER) doSendMagicEffect(position129, 130) else doPlayerSendCancel(cid, "Sorry, you are transformed.") end end Fico agrecido desde de já, e darei REP+ a todos que ajudarem. OBS: e meu segundo tópico no forum.
Postado Janeiro 4, 2015 10 anos Solução tente assim. local tempo = 60 -- tempo em segundos. local effect = {208} -- effect no player, caso queira apenas 1, basta remover os outros numeros. local outfit = {lookType = 608} -- outfit que ira dar local ml = 35 -- quantos ira aumentar o skill de ML local skillfist = 35 -- quantos ira aumentar o skill de Fist local skillsword = 35 -- quantos ira aumentar o skill de Sword local skillaxe = 35 -- quantos ira aumentar o skill de Axe local skillclub = 35 -- quantos ira aumentar o skill de Club local skilldistance = 35 -- quantos ira aumentar o skill de Distance local skillshield = 35 -- quantos ira aumentar o skill de Shield local health = 80 -- 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_OUTFIT) setConditionParam(condition, CONDITION_PARAM_TICKS, tempo*1000) addOutfitCondition(condition, 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 magicEffect2(tempo2,tempo3,cid) if (isCreature(cid)) then if getPlayerStorageValue(cid, 102053) > 0 and getCreatureCondition(cid, CONDITION_REGENERATION, 1) then for i=1, #effect do local position = {x=getPlayerPosition(cid).x, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z} doSendMagicEffect(position, effect[i]) end end end end function onCastSpell(cid, var) local position129 = {x=getPlayerPosition(cid).x+2, y=getPlayerPosition(cid).y, z=getPlayerPosition(cid).z} 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(magicEffect2, tempo2, tempo2, tempo*1000, cid) tempo2 = tempo2 + 300 end setPlayerStorageValue(cid, 102053,1) -- storage verifica transformado, quando = 1 player esta transformado. doCreatureSay(cid, "Kyuubi Furie", TALKTYPE_MONSTER) doSendMagicEffect(position129, 130) else doPlayerSendCancel(cid, "Sorry, you are transformed.") end end
Postado Janeiro 5, 2015 10 anos Autor Muito obrigado, era exatamente isso que eu queria! Cara, so mais uma coisa: 1° : onde eu troco o effect que fica no player, porque eu troco la no local effect e ele nao muda no jogo. 2°: como eu mudo o effect que faz quando usa a transform. Se tiver como ajudar fico agradecido. UP! UP
Postado Janeiro 5, 2015 10 anos Basta procurar pelas linhas que tenham: doSendMagicEffect(POSIÇÃO, EFEITO) Dependendo da posição, vc sabe qual é o efeito que vai ser lançado em tal local e assim pode alterá-lo.
Postado Janeiro 5, 2015 10 anos Autor Vo tentar, qualquer coisa te dou um toque! Cara, e o seguinte: addEvent(magicEffect2, tempo2, tempo2, tempo*1000, cid) Nessa linha do escript na parte "magiceffect2" se eu mudar o 2 por outro ele altera o effect, porém so vai do 0 ao 4 os effects. Voce nao sabe alterar pro script mudar o effect na linha: local effect = {208} Se puder ajeitar pra mim fico grato. Ja consegui resolver! Se quiser REP+ pela atenção basta me ensinar a dar REP+! xD OBS: Sou novato!
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.