Eu queria saber tipo assim eu criei uma vocaçao com faço um comando para o player se transformar nessa vocaçao?
- Forums
- OTServ
- Recursos
- Scripting
- Actions e Talkactions
- [talkaction] Troca De Vocação 100%
[talkaction] Troca De Vocação 100%
By _ferrari_, 14 de jun. de 2009 in Actions e Talkactions
info
Group: Campones
Joined: 17/11/11
Posts: 45
Reputation: 0
Tibia Character: Claudio Pally

info
Group: Visconde
Joined: 23/02/08
Posts: 273
Reputation: +101
Tibia Character: 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.
Edited Fevereiro 28 by Byerne
info
Group: Infante
Joined: 13/10/08
Posts: 1.6k
Reputation: +420
Tibia Character: 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
Group: Visconde
Joined: 23/02/08
Posts: 273
Reputation: +101
Tibia Character: 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
Group: Artesão
Joined: 15/01/12
Posts: 100
Reputation: +9
Tibia Character: Leon Of Pandoria

Bem MAssa!
;D
VLw's
info
Group: Barão
Joined: 24/02/10
Posts: 204
Reputation: +14
Tibia Character: Krewcz

Esta funcionando este sistema?





info
Group: Campones
Joined: 23/04/09
Posts: 14
Reputation: +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.