GU
dúvida

Efeitos na vocation

Por gustavo3754, 19 de dez. de 2012 em Scripts

ajuda porfavor d:
otserv
tibia
script
11
2.5k
gustavo3754G
19 de dezembro de 2012 às 17:22

Olá pessoal, eu to motando um servidor 8.54 só que eu peguei um script de Efeitos nas vocation aqui mesmo no xtibia, mas tambem estou usando um script de cada vocation com seu outfit. E parece que o script de outfit não ta deixando o de efeitos roda.. ajuda ai

D:

 

 

Data/creaturescript/effect.lua


local vocs = {
["Goku SSJ"] = {effect = 234},
["Goku SSJ3"] = {effect = 234},
["Goku SSJ3a"] = {effect = 13}
}

function onThink(cid, interval)
local voc = getPlayerVocationName(cid)
if vocs[voc] then
local efeito = vocs[voc].effect
doSendMagicEffect(getCreaturePosition(cid), efeito)
return true
end
local time = -1
addEvent(function() onRaio(cid) end, time*1000)
return true
end

 

 

Agora o Data/creaturescript/looktypes.lua

 


local outfits = {
[1] = {lookType = 69}, -- o numero 9 é o ID da vocação e 69 é o ID do looktype.
[2] = {lookType = 37},
[3] = {lookType = 18},
[4] = {lookType = 71},
[5] = {lookType = 70},
[11] = {lookType = 30}


}


function onLogin(cid)
local voc_id = getPlayerVocation(cid)
if getPlayerVocation(cid) > 0 then
doSetCreatureOutfit(cid, outfits[voc_id], -1)
end
return TRUE
end

 

 

 

Se alguem poder ajudar :x REP

Editado Dezembro 19 por CrazzyMaster

SmiXS
19 de dezembro de 2012 às 17:30

Para o efeito, tenta usar este aqui:

 

local vocs = {
[1] = {effect = 234},
[2] = {effect = 234},
[3] = {effect = 13}
}
--- Id da vocação, efeito ---

function onThink(cid, interval)
local voc = getPlayerVocation(cid)
if vocs[voc] then
local efeito = vocs[voc].effect
doSendMagicEffect(getCreaturePosition(cid), efeito)
return true
end
local time = -1
addEvent(function(), time*1000)
return true
end

Editado Dezembro 19 por SmiX

gustavo3754G
19 de dezembro de 2012 às 17:48

No começo tava indo normal, ai usei uma spell de transformação fico dando esse erro:

 

 

[19/12/2012 17:48:05] [Error - CreatureScript Interface]
[19/12/2012 17:48:05] In a timer event called from:
[19/12/2012 17:48:05] data/creaturescripts/scripts/effect.lua:onThink
[19/12/2012 17:48:05] Description:
[19/12/2012 17:48:05] data/creaturescripts/scripts/effect.lua:16: attempt to call global 'onRaio' (a nil value)
[19/12/2012 17:48:06] stack traceback:
[19/12/2012 17:48:06]  data/creaturescripts/scripts/effect.lua:16: in function <data/creaturescripts/scripts/effect.lua:16>

SmiXS
19 de dezembro de 2012 às 18:16

Já corrigi..... Tente outra vez;

slekronS
19 de dezembro de 2012 às 18:18

o.O legal

simix olha suas msg '-'

LuckOakeL
19 de dezembro de 2012 às 18:19

o.O legal

simix olha suas msg '-'

 

Comentários desse tipo são considerados flood. Dessa vez passa, na próxima é REP-.

gustavo3754G
19 de dezembro de 2012 às 22:51

SmiX

 

Não funcionou.

 

Estou usando TFS 0.3.6_8.54

SmiXS
19 de dezembro de 2012 às 23:35

Tó:

local vocs ={
[1] = {effect = 234},
[2] = {effect = 234},
[3] = {effect = 13}
}
--- Id da vocação, efeito ---

function onThink(cid, interval)
local voc = getPlayerVocation(cid)
if vocs[voc] then
local efeito = vocs[voc].effect
doSendMagicEffect(getCreaturePosition(cid), efeito)
return true
end
return true
end

Editado Dezembro 19 por SmiX

gustavo3754G
19 de dezembro de 2012 às 23:50

Funcionou perfeitamente, muito obrigado, você é muito gentil merece meu respeito.

 

Dou rep depois da 00:00 ja atingi o maximo hoje.

 

SmiX

 

Sei que é pedir muito mais eu queria saber como centralizar um efeito no player, sabe akeles efeitos grandes de mais que ficam ao lado do player por serem grandes. Existe funções pra isso, queria saber se tem como colocar centralazido em ARR (area) combat, para spells de transform. Aqui ta o script, só pesso isso, qero aprender sobre scripting.

 

function onCastSpell(cid, var)
a = {
[1] = {level = 50, newvoc = 2, outfit = 37, eff = 56},
[2] = {level = 100, newvoc = 3, outfit = 18, eff = 57},
[3] = {level = 150, newvoc = 4, outfit = 71, eff = 58},
[4] = {level = 200, newvoc = 5, outfit = 70, eff = 59},
}
b = a[getPlayerVocation(cid)]
if getPlayerLevel(cid) < b.level then
doPlayerSendCancel(cid, "You must be at level to transform.") return false
end
doSetCreatureOutfit(cid, {lookType = b.outfit}, -1)
doPlayerSetVocation(cid, b.newvoc)
doSendMagicEffect(getCreaturePosition(cid), b.eff)
doPlayerSendCancel(cid, "You Transformed!")
return true
end

Editado Dezembro 19 por CrazzyMaster

SmiXS
19 de dezembro de 2012 às 23:57

Me passa as sprites, eu ajeito ela...

gustavo3754G
20 de dezembro de 2012 às 00:09

Tipo, por spriter eu sei como arrumar, sou um spriter, mais se é outro jeito que voce quer ver aqui vai uma print, as sprites são do DBOBR

 

Aqui está a sprite da aura azul em .IDC Download

 

5F6Eb.jpg