Vá em creaturescripts, xml e antes do returne true adicione: setPlayerStorageValue(cid, 102051, 0)
![]()
Por milbradt, 23 de jun. de 2012 em Scripts
info
Grupo: Campones
Registrado: 14/06/12
Posts: 16
Reputação: 0
Char no Tibia: Intens'e Pvp

Vá em creaturescripts, xml e antes do returne true adicione: setPlayerStorageValue(cid, 102051, 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
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 Junho 23 por milbradt
info
Grupo: Campones
Registrado: 14/06/12
Posts: 16
Reputação: 0
Char no Tibia: Intens'e Pvp

Olha normalmente pra essas 'Storage"s' darem certo precisam que suas Tag sejam ativadas .. faz assim, posta a Mensagem que o player ver ao Tentar usar a Spell ![]()
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 ^^
info
Grupo: Campones
Registrado: 14/06/12
Posts: 16
Reputação: 0
Char no Tibia: Intens'e Pvp

Olha tente assim: Adicione: setPlayerStorageValue(cid, 102053, 0) em Creaturescripts .. Ou Nessa parte abaixo,
setPlayerStorageValue(cid, 102053,1) -- storage novo, quando = 1 player esta transformadoreturn true
else
Coloque assim:
setPlayerStorageValue(cid, 102053,0) -- storage novo, quando = 1 player esta transformadoreturn true
else
Editado Junho 25 por CelinoAndrade
info
Grupo: Conde
Registrado: 30/06/11
Posts: 631
Reputação: +371
Char no Tibia: Warrior of Mort

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 Junho 25 por Jhon992
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 ![]()
info
Grupo: Conde
Registrado: 30/06/11
Posts: 631
Reputação: +371
Char no Tibia: Warrior of Mort

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 Junho 26 por Jhon992
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?
info
Grupo: Conde
Registrado: 30/06/11
Posts: 631
Reputação: +371
Char no Tibia: Warrior of Mort

Tinha feito merda mesmo kk, ta arrumado ali em cima no meu último post.
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 Junho 26 por milbradt
info
Grupo: Cavaleiro
Registrado: 04/12/09
Posts: 188
Reputação: +19
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
Editado Junho 24 por milbradt