Pode ser pra pessoa ter que falar um comando?
creaturescript muda de vocaçao
Por Duuhzinhow, 16 de mar. de 2014 em Scripts
info
Grupo: Visconde
Registrado: 14/01/14
Posts: 276
Reputação: +30
Gênero: Masculino
Char no Tibia: Sonda retro

Pode ser pra pessoa ter que falar um comando?
Olha, eu preferiria um creaturescript. Creio que uma talkaction, ocorreria muitos imprevistos que eu nao gostaria que acontecesse.. ![]()
info
Grupo: Conde
Registrado: 18/01/12
Posts: 988
Reputação: +327
Gênero: Masculino
Char no Tibia: Xerife Woody

é um creaturescripts , agora estou sem tempo , logo mais vejo se faço !
Editado Março 16 por DuuhCarvalho
Boa Tarde, sou novo em Scripting, porém, estudando um pouco consegui fazer um script que ao meu ver atende ao que você está pedindo. Vamos lá:
Crie changevoc.lua
--[[Script desenvolvido por Desperate]]-- function onAdvance(cid, skill, oldLevel, newLevel) local voc = getPlayerVocation(cid) if newLevel == 20 and voc == 1 then doPlayerSetVocation(cid, 2) doPlayerSendTextMessage(cid, 22, "Você foi promovido à (nome da vocação)!") doSendMagicEffect(getCreaturePosition(cid), 11) elseif newLevel == 40 and voc == 2 then doPlayerSetVocation(cid, 3) doPlayerSendTextMessage(cid, 22, "Você foi promovido à (nome da vocação)!") doSendMagicEffect(getCreaturePosition(cid), 11) end return true end
Tag do creaturescripts.xml
<event type="advance" name="ChangeVoc" event="script" value="changevoc.lua"/>
Adicione no login.lua
registerCreatureEvent(cid, "ChangeVoc")
Caso de algo errado, por favor diga aqui e eu tentarei resolver.
Espero que você goste.
Creditos:
Desperate
Edits : Arumado alguns erros de funcionamento.
Editado Março 16 por Desperate
info
Grupo: Visconde
Registrado: 14/01/14
Posts: 276
Reputação: +30
Gênero: Masculino
Char no Tibia: Sonda retro

Boa Tarde, sou novo em Scripting, porém, estudando um pouco consegui fazer um script que ao meu ver atende ao que você está pedindo. Vamos lá:
Crie changevoc.lua
--[[Script desenvolvido por Desperate]]-- function onAdvance(cid, skill, oldLevel, newLevel) local voc = getPlayerVocation(cid) if newLevel == 50 and voc == 1 then doPlayerSetVocation(cid, 2) doPlayerSendTextMessage(cid, 22, "Você foi promovido à (nome da vocação)!") doSendMagicEffect(getCreaturePosition(cid), 11) elseif newLevel == 55 and voc == 2 then doPlayerSetVocation(cid, 3) doPlayerSendTextMessage(cid, 22, "Você foi promovido à (nome da vocação)!") doSendMagicEffect(getCreaturePosition(cid), 11) end return true endTag do creaturescripts.xml
<event type="advance" name="ChangeVoc" event="script" value="changevoc.lua"/>Adicione no login.lua
registerCreatureEvent(cid, "ChangeVoc")Caso de algo errado, por favor diga aqui e eu tentarei resolver.
Espero que você goste.
Creditos:
Desperate
Não é bem isso amigo.. leia o topico e tente reformular. Mas mesmo assim, muito obrigado por tentar ajudar!
--[[Script desenvolvido por Desperate]]-- function onAdvance(cid, skill, oldLevel, newLevel) if newLevel == 20 then doPlayerSetVocation(cid, 2) doPlayerSendTextMessage(cid, 22, "Você foi promovido à (nome da vocação)!") doSendMagicEffect(getCreaturePosition(cid), 11) elseif newLevel == 40 then doPlayerSetVocation(cid, 3) doPlayerSendTextMessage(cid, 22, "Você foi promovido à (nome da vocação)!") doSendMagicEffect(getCreaturePosition(cid), 11) end return true end
Creio que esse seja o certo, ao chegar no nível 20 a vocação do jogador será mudada para 2 e no nível 40 para 3 e assim por diante... Caso não seja isso, por favor, explique melhor, pois é oque está em seu post.
para adicionar mais níveis é só copiar essa parte
elseif newLevel == 40 then doPlayerSetVocation(cid, 3) doPlayerSendTextMessage(cid, 22, "Você foi promovido à (nome da vocação)!") doSendMagicEffect(getCreaturePosition(cid), 11)
e alterar o 40 na primeira linha e o 3 na segunda linha e colar embaixo do ultimo doSendMagicEffect(getCreaturePosition(cid), 11).
Editado Março 16 por Desperate
info
Grupo: Visconde
Registrado: 14/01/14
Posts: 276
Reputação: +30
Gênero: Masculino
Char no Tibia: Sonda retro

Hum, entendi, desculpe eu nao tinha entendido bem, muito obrigado! rep+
(Seu limite de rep ja foi alcançado
)
info
Grupo: Campones
Registrado: 02/03/14
Posts: 59
Reputação: +10

local config = {
--[id da voca] = { level necessario, nova voc}
[1] = { 300, 215},
[2] = { 25, 217},
[3] = { 200, 218}
}
function onAdvance(cid, skill, oldLevel, newLevel)
local voc = config[getPlayerVocation(cid)]
if voc then
if getPlayerLevel(cid) >= voc[1] then
doPlayerSetVocation(cid, voc[2])
doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "Você Transformou!")
doSendMagicEffect(getCreaturePosition(cid), 15)
else
doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "Você precisa estar no level " .. voc[1] .. " para transformar.")
end
else
doPlayerSendCancel(cid, "Você não pode se Transformar!")
end
return true
end
Testa ai amigo.
Hum, entendi, desculpe eu nao tinha entendido bem, muito obrigado! rep+
(Seu limite de rep ja foi alcançado
)
Fico feliz que tenha funcionado.
info
Grupo: Conde
Registrado: 18/01/12
Posts: 988
Reputação: +327
Gênero: Masculino
Char no Tibia: Xerife Woody

Tópico movido para Pedidos e dúvidas resolvidos.





info
Grupo: Visconde
Registrado: 14/01/14
Posts: 276
Reputação: +30
Gênero: Masculino
Char no Tibia: Sonda retro
Eae Galera, eu estou atras creio que é um creaturescript, que quando voce chega á "x' level, sua vocaçao muda automaticamente. Como o servidor é de narutibia, tem muitas vocaçoes, portanto funcionaria assim: Level, 20 voce ganha uma vocaçao, level 40, ganha outra, 60 outra, 80 outra, 100 outra, 120 outra, 140 outra, 160 outra, 180 outra, 200 outra, 220 outra, 240 outra, 260 outra, 280 outra, 300 outra, 320 outra, 340 outra, 360 outra, 380 outra, 400 outra, 420 outra, 440 outra, 460 outra, 480 outra, 500 outra, 520 outra, 540 outra, 560 outra, 580 outra, 600 outra, 630 outra, 660 outra, e 700 a ultima.
Qualquer duvida é só postar aqui, e daria rep+ para quem fazer esse script, sempre que eu ver algum post da pessoa. Espero que alguem possa me ajudar por favor! Vlw gente, agradeço desde ja!