GU
dúvida

[SPELL] Erro Script De Transformação

Por gustavo3754, 19 de dez. de 2012 em Scripts

d:
script
7
1.5k
gustavo3754G
19 de dezembro de 2012 às 17:47

Eae pessoal, to aqui denovo dessa vez é um script de uma spell de transformação, feita pelo LuckOake.

 

Ele transforma na boa todas as vocations mais quando acaba as vocation o certo era aparecer "You can not Transform" aparece isso mais tambem da um erro global.

 

[19/12/2012 17:42:24] [Error - Spell Interface]
[19/12/2012 17:42:25] data/spells/scripts/transform.lua:onCastSpell
[19/12/2012 17:42:25] Description:
[19/12/2012 17:42:25] data/spells/scripts/transform.lua:11: attempt to index global 'b' (a nil value)
[19/12/2012 17:42:25] stack traceback:
[19/12/2012 17:42:25]  data/spells/scripts/transform.lua:11: in function <data/spells/scripts/transform.lua:1>

 

Esse é o script:

 

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

LuckOakeL
19 de dezembro de 2012 às 17:48

O script corrigido já tá no tópico do nbb147. Mas de qualquer jeito, tá aqui também:

 

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

gustavo3754G
19 de dezembro de 2012 às 22:49

[19/12/2012 22:48:24] [Error - Spell Interface]
[19/12/2012 22:48:24] data/spells/scripts/transform.lua:onCastSpell
[19/12/2012 22:48:24] Description:
[19/12/2012 22:48:24] data/spells/scripts/transform.lua:11: attempt to index global 'b' (a nil value)
[19/12/2012 22:48:25] stack traceback:
[19/12/2012 22:48:25]  data/spells/scripts/transform.lua:11: in function <data/spells/scripts/transform.lua:1>

 

Ele apresenta esse erro quando eu transformo na ultima transformação.

AkatsukyiA
20 de dezembro de 2012 às 00:42

Você pode tentar tirar a ultima virgula disso aqui

 

 

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}, <==

}

gustavo3754G
20 de dezembro de 2012 às 02:32

Ainda dando o mesmo erro, só que agora da erro quando eu to na ultima transform e tento transformar denovo

AkatsukyiA
20 de dezembro de 2012 às 12:44

da erro quando vc tenta voltar pro normal? quando tenta transforma do normal pra 4 voc?

gustavo3754G
20 de dezembro de 2012 às 15:43

JA ARRUMEI O SCRIPT EU MESMO.

Editado Dezembro 20 por CrazzyMaster