Eu queria saber tipo assim eu criei uma vocaçao com faço um comando para o player se transformar nessa vocaçao?
- Fórum
- OTServ
- Recursos
- Scripting
- Actions e Talkactions
- [talkaction] Troca De Vocação 100%
[talkaction] Troca De Vocação 100%
Por _ferrari_, 14 de jun. de 2009 em Actions e Talkactions
info
Grupo: Campones
Registrado: 17/11/11
Posts: 45
Reputação: 0
Char no Tibia: Claudio Pally

info
Grupo: Visconde
Registrado: 23/02/08
Posts: 273
Reputação: +101
Char no Tibia: Foxx Rookslayer

function onSay(cid,words,params)
local vocations, level, v, info = {['sorcerer'], ['druid'], ['paladin'], ['knight']}, getPlayerLevel(cid), vocations[string.lower(param)], getVocationInfo(v)
if not v then
doPlayerSendCancel(cid, "This vocation does not exists.")
return true
end
doPlayerSetVocation(cid, v)
playerid = getPlayerGUID(cid)
db.executeQuery("UPDATE `players` SET `healthmax` = ".. 150 + (level * info.gainhealth) ..", `health` = ".. 150 + (level * info.gainhealth) ..", manamax = ".. 150 + (level * info.gainmana) ..", mana = ".. 150 + (level * info.gainmana) ..", cap = ".. level * info.gaincap .." WHERE `id` = "..playerid..";")
doRemoveCreature(cid)
return true
end
Serve pra todas as vocations sem precisar configurar.
Editado Fevereiro 28 por Byerne
info
Grupo: Infante
Registrado: 13/10/08
Posts: 1.6k
Reputação: +420
Char no Tibia: Demonbholder

function onSay(cid,words,params) local vocations, level, v, info = {'sorcerer', 'druid', 'paladin', 'knight'}, getPlayerLevel(cid), vocations[param], getVocationInfo(v) if not v then doPlayerSendCancel(cid, "This vocation does not exists.") return true end doPlayerSetVocation(cid, v) playerid = getPlayerGUID(cid) db.executeQuery("UPDATE `players` SET `healthmax` = ".. 150 + (level * v.gainhealth) ..", `health` = ".. 150 + (level * v.gainhealth) ..", manamax = ".. 150 + (level * v.gainmana) ..", mana = ".. 150 + (level * v.gainmana) ..", cap = ".. level * v.gaincap .." WHERE `id` = "..playerid..";") doRemoveCreature(cid) return true end
Serve pra todas as vocations sem precisar configurar.
eu acho que você errou a variável ali na query.
info
Grupo: Visconde
Registrado: 23/02/08
Posts: 273
Reputação: +101
Char no Tibia: Foxx Rookslayer

function onSay(cid,words,params) local vocations, level, v, info = {'sorcerer', 'druid', 'paladin', 'knight'}, getPlayerLevel(cid), vocations[param], getVocationInfo(v) if not v then doPlayerSendCancel(cid, "This vocation does not exists.") return true end doPlayerSetVocation(cid, v) playerid = getPlayerGUID(cid) db.executeQuery("UPDATE `players` SET `healthmax` = ".. 150 + (level * v.gainhealth) ..", `health` = ".. 150 + (level * v.gainhealth) ..", manamax = ".. 150 + (level * v.gainmana) ..", mana = ".. 150 + (level * v.gainmana) ..", cap = ".. level * v.gaincap .." WHERE `id` = "..playerid..";") doRemoveCreature(cid) return true end
Serve pra todas as vocations sem precisar configurar.
eu acho que você errou a variável ali na query.
HAHAHA É. E também v sempre seria nul ._.
info
Grupo: Artesão
Registrado: 15/01/12
Posts: 100
Reputação: +9
Char no Tibia: Leon Of Pandoria

Bem MAssa!
;D
VLw's
info
Grupo: Barão
Registrado: 24/02/10
Posts: 204
Reputação: +14
Char no Tibia: Krewcz

Esta funcionando este sistema?





info
Grupo: Campones
Registrado: 23/04/09
Posts: 14
Reputação: +1
Acho que seria mais lógico, quando o player trocar de vocação vc migrar o ml, pra sword por ex, ou pra distance.. etc.. que é o que o cara upa..
ex.
mage ml 100
vira
kina sword,club,axe 100
ou
pala distance 100
claro que ai, no kina e pala, o ml vai pra 0.
No caso de um kina virar mage,
Skill mais alto vira ml,
skill baixa pra 0.
Em qualquer mudança, o shield sempre vai pra 50, que é o medio de qualquer char, e se pega fast. ou 30.. por ex.