Ir para conteúdo
  • 0

Pedido/Erro Script de transformação 8.6


gustavo3754

Pergunta

Tipo do script: Quero um script que quando o player se transformar usando o script de transformar (Logo mais abaixo) ele não volte para a vocação anterior quando deslogar.

Protocolo (versão do tibia): 8.60 TFS

Server utilizado: Alissow OTs 4.11

Eu utilizo esse script de transformação no meu servidor em proscesso.

Spells/Script/Transform.lua

function onCastSpell(cid, var)
local config = {
[1] = {level = 20, 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},
}
trans = config[getPlayerVocation(cid)]
if not trans then
doPlayerSendCancel(cid, "You can not transform.") return false
elseif getPlayerLevel(cid) >= trans.level then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, "You not level " .. trans.level .. " to transform.")
end
doSetCreatureOutfit(cid, {lookType = trans.outfit}, -1)
doPlayerSetVocation(cid, trans.newvoc)
doSendMagicEffect(getCreaturePosition(cid), trans.eff)
doPlayerSendCancel(cid, "You Transformed!")
return true
end

O que acontece é que ele funciona sem erro, perfeitamente, mais quando o player que se transforma quando ele reloga ele esta de volta a vocação anterior que tinha sido transformada.

Queria um script melhor ou um de apoio, que quando ele desloga-se naum voltasse para a vocação anterior, apenas por spells de reverção.

Bem é isso, espero que tenha explica o que realmente quero e que tenham entendido, obrigado pela atenção, att crazzy.

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

to viajando vo voltar domingo da minha viagem, mais olha nao mexo com wodbo ( alem de eu ser fã pra carai ) mais axo que seria isto:

function onCastSpell(cid, var)
local config = {
[1] = {level = 20, 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},
}
trans = config[getPlayerVocation(cid)]
if not trans then
doPlayerSendCancel(cid, "You can not transform.") return false
elseif getPlayerLevel(cid) >= trans.level then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, "You not level " .. trans.level .. " to transform.")
end
doSetCreatureOutfit(cid, {lookType = trans.outfit}, -1)
doPlayerSetVocation(cid, trans.newvoc)
doSendMagicEffect(getCreaturePosition(cid), trans.eff)
doPlayerSendCancel(cid, "You Transformed!")
doPlayerSave(cid) -- FUNCAO DE SALVAR 1
db.query("UPDATE `players` SET `vocation` = ".. trans.newvoc .." WHERE `id` = " .. getPlayerGUID(cid)) -- FUNCAO DE SALVAR 2
return true
end
Link para o comentário
Compartilhar em outros sites

  • 0

Erro continua.

 

[16/10/2013 13:55:29] [Error - Spell Interface]

[16/10/2013 13:55:29] data/spells/scripts/transform.lua:onCastSpell

[16/10/2013 13:55:29] Description:

[16/10/2013 13:55:29] data/spells/scripts/transform.lua:18: attempt to call field 'query' (a nil value)

[16/10/2013 13:55:29] stack traceback:

[16/10/2013 13:55:29] data/spells/scripts/transform.lua:18: in function

 

 

Sem isso vo acaba ficando sem projeto ;(

Editado por CrazzyMaster
Link para o comentário
Compartilhar em outros sites

  • 0


function onCastSpell(cid, var)

local config = {

[1] = {level = 20, 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},

}

trans = config[getPlayerVocation(cid)]

if not trans then

doPlayerSendCancel(cid, "You can not transform.") return false

elseif getPlayerLevel(cid) >= trans.level then

doPlayerSendTextMessage(cid, MESSAGE_STATUS_DEFAULT, "You not level " .. trans.level .. " to transform.")

end

doSetCreatureOutfit(cid, {lookType = trans.outfit}, -1)

doPlayerSetVocation(cid, trans.newvoc)

doSendMagicEffect(getCreaturePosition(cid), trans.eff)

doPlayerSendCancel(cid, "You Transformed!")

doPlayerSave(cid) -- FUNCAO DE SALVAR 1

db.executeQuery("UPDATE `players` SET `vocation` = ".. trans.newvoc .." WHERE `id` = " .. getPlayerGUID(cid) .. ";") -- FUNCAO DE SALVAR 2

return true

end

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...