ele muda a vocação pelo menos ? apareçe algum erro ?
info
Grupo: Marquês
Registrado: 25/09/10
Posts: 1.3k
Reputação: +446
Gênero: Masculino

Tenta este :
doCreatureChangeOutfit(cid, outfit)
info
Grupo: Visconde
Registrado: 06/04/11
Posts: 350
Reputação: +8
Char no Tibia: Mulekepirado

@manyzin
não da nenhum erro, e sim a vocação e mudada.
@krhiegen
não funcionou com essa função.
info
Grupo: Marquês
Registrado: 22/07/12
Posts: 1.1k
Reputação: +400
Gênero: Masculino
Char no Tibia: Luck Oake

Substitua sua função doSetCreatureOutfit por essa:
doSetCreatureOutfit(cid, {lookType = 355}, -1)
Onde 355 é o ID da outfit.
info
Grupo: Visconde
Registrado: 06/04/11
Posts: 350
Reputação: +8
Char no Tibia: Mulekepirado

não funciona e nem da nenhum erro.
info
Grupo: Marquês
Registrado: 22/07/12
Posts: 1.1k
Reputação: +400
Gênero: Masculino
Char no Tibia: Luck Oake

Dei uma arrumada no seu script, já vi o erro.
function onCastSpell(cid, var)
a = {
[37] = {level = 40, newvoc = 65, outfit = 355, eff = 70},
[38] = {level = 80, newvoc = 65, outfit = 356, eff = 70},
[39] = {level = 120, newvoc = 65, outfit = 357, eff = 70},
[40] = {level = 160, newvoc = 65, outfit = 358, eff = 70},
}
b = a[getPlayerVocation(cid)]
if getPlayerLevel(cid) < b.level then
doPlayerSendCancel(cid, "Você não tem o level necessário para se transformar.") return false
end
doSetCreatureOutfit(cid, {lookType = b.outfit}, -1)
doPlayerSetVocation(cid, b.newvoc)
doSendMagicEffect(getCreaturePosition(cid), b.eff)
doPlayerSendCancel(cid, "Transformado.")
return true
end
Configurando a tabela:
a = {
[37] = {level = 40, newvoc = 65, outfit = 355, eff = 70},
[38] = {level = 80, newvoc = 65, outfit = 356, eff = 70},
[39] = {level = 120, newvoc = 65, outfit = 357, eff = 70},
[40] = {level = 160, newvoc = 65, outfit = 358, eff = 70},
}
Traduzindo:
[iD da Vocação] = {level necessário, id da vocação que ficará, outfit, efeito},
Editado Dezembro 19 por LuckOake
info
Grupo: Visconde
Registrado: 06/04/11
Posts: 350
Reputação: +8
Char no Tibia: Mulekepirado

da esse erro:
20/12/2012 16:51:57] [Error - Spell Interface]
[20/12/2012 16:51:57] data/spells/scripts/shikara/transform.lua:onCastSpell
[20/12/2012 16:51:57] Description:
[20/12/2012 16:51:57] data/spells/scripts/shikara/transform.lua:11: attempt to index global 'b' (a nil value)
[20/12/2012 16:51:57] stack traceback:
[20/12/2012 16:51:57] data/spells/scripts/shikara/transform.lua:11: in function <data/spells/scripts/shikara/transform.lua:1>
info
Grupo: Marquês
Registrado: 22/07/12
Posts: 1.1k
Reputação: +400
Gênero: Masculino
Char no Tibia: Luck Oake

Tó:
function onCastSpell(cid, var)
a = {
[37] = {level = 40, newvoc = 65, outfit = 355, eff = 70},
[38] = {level = 80, newvoc = 65, outfit = 356, eff = 70},
[39] = {level = 120, newvoc = 65, outfit = 357, eff = 70},
[40] = {level = 160, newvoc = 65, outfit = 358, eff = 70},
}
b = a[getPlayerVocation(cid)]
if not b then
doPlayerSendCancel(cid, "Você não pode se transformar.") return false
elseif getPlayerLevel(cid) < b.level then
doPlayerSendCancel(cid, "Você não tem o level necessário para se transformar.") return false
end
doSetCreatureOutfit(cid, {lookType = b.outfit}, -1)
doPlayerSetVocation(cid, b.newvoc)
doSendMagicEffect(getCreaturePosition(cid), b.eff)
doPlayerSendCancel(cid, "Transformado.")
return true
end
info
Grupo: Visconde
Registrado: 06/04/11
Posts: 350
Reputação: +8
Char no Tibia: Mulekepirado

não ta nem transformando e nem mudando a vocation, so aparece a msg 'Você não pode se transformar.'.
info
Grupo: Marquês
Registrado: 22/07/12
Posts: 1.1k
Reputação: +400
Gênero: Masculino
Char no Tibia: Luck Oake

Se a vocação não tiver configurada na tabela não vai acontecer nada mesmo. Acabei de testar o script aqui e tá funcionando.
Editado Dezembro 19 por LuckOake
info
Grupo: Visconde
Registrado: 06/04/11
Posts: 350
Reputação: +8
Char no Tibia: Mulekepirado

mais ta configurada olha como ficou minha tabela:
[37] = {level = 40, newvoc = 64, outfit = 354, eff = 73},
[38] = {level = 80, newvoc = 65, outfit = 355, eff = 73},
[39] = {level = 120, newvoc = 66, outfit = 356, eff = 73},
[40] = {level = 160, newvoc = 67, outfit = 357, eff = 73},
info
Grupo: Marquês
Registrado: 22/07/12
Posts: 1.1k
Reputação: +400
Gênero: Masculino
Char no Tibia: Luck Oake

Você configurou corretamente o ID das vocações entre os Colchetes [ ]?
Do jeito que tá sua tabela, apenas quem tiver nas vocações de ID 37, 38, 39 e 40 pode transformar.
info
Grupo: Visconde
Registrado: 06/04/11
Posts: 350
Reputação: +8
Char no Tibia: Mulekepirado

vixi, e msm tem como colocar para mais vocations usar?
info
Grupo: Marquês
Registrado: 22/07/12
Posts: 1.1k
Reputação: +400
Gênero: Masculino
Char no Tibia: Luck Oake

Claro, é só adicionar mais linhas na tabela:
[37] = {level = 40, newvoc = 64, outfit = 354, eff = 73},
[38] = {level = 80, newvoc = 65, outfit = 355, eff = 73},
[39] = {level = 120, newvoc = 66, outfit = 356, eff = 73},
[40] = {level = 160, newvoc = 67, outfit = 357, eff = 73},
[41] = {level = 200, newvoc = 68, outfit = 358, eff = 73},
[42] = {level = 240, newvoc = 69, outfit = 359, eff = 73},
[43] = {level = 280, newvoc = 70, outfit = 360, eff = 73},
E assim em diante.



info
Grupo: Visconde
Registrado: 06/04/11
Posts: 350
Reputação: +8
Char no Tibia: Mulekepirado
galera eu estou com um script de uma spell que ela muda a vocação do player e muda a outfit, só tem um problema ela não esta mudando o outfit, já tentei mais só conheço uma função que transforma um player, que é doSetCreatureOutfit,mais essa função não esta funcionando, alguém ajuda ai.
Editado Dezembro 19 por nbb147