eu e o jhon já fizemos um sistema desses:
www.jhon - soft.com/produto/678283/Exchanged_Vocation.html
obs: retire os espaços do link /\
caso ele deixe postar eu te mando por aqui
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

eu e o jhon já fizemos um sistema desses:
www.jhon - soft.com/produto/678283/Exchanged_Vocation.html
obs: retire os espaços do link /\
caso ele deixe postar eu te mando por aqui
Editado Maio 5 por Vodkart
lol isso eu tenho que compra.
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

por isso que eu falei "se ele deixar eu postar"
to com o sistema, vou ver com o jhon se eu posso disponibilizar na comunidade
Se eu n consegui isso vo ter que coloka por systema de atributos pra ser coloka manualmente.
tenta conseguir ae.
info
Grupo: Marquês
Registrado: 02/08/12
Posts: 1k
Reputação: +234
Char no Tibia: Maurolkit

Não vou dar nas mão não, mas vou dar uma ideia de como fazer.
vWRgrzit[/pastebin]
local vocationConfig = {
[iD DA VOCAÇÃO] = {manaPerLevel = quanto de mana essa vocação ganha por nível, healthPerLevel = quanto de vida essa vocação ganhar por nível},
}
aff cara eu n sei quase nada de script e esse script e o coração do ot sem ele o ot n vai adianta nd ter +70 vocações
pq alguém vai pega uma classe que tenha muito life depois vai muda pra uma classe que bate muito
ae vai ficar com um life grande e batendo muito
vc consegue criar ele o script com isso que ele passo?
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

ainda n consegui falar com ele
mas me diz uma coisa, só vai mudar o hp e mana?
e as skills, magic lvl não?
não a unica coisa que eu preciso e que mude o HP e a MP
não vai ter magic lvl n
no lugar do magic lvl vai se Rank Mission
quanto mais auto tiver seu rank mission melhor é
pq vai ter missão que e preciso ta com o rank lvl 7 lvl 8 .....
tenta fazer com base nisso e me fala se e talkactions ou action explica onde eu bota por favor vo aumenta agora vo da 8 rep+
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

a talk é essa
changevoc.lua
function onSay(cid, words, param)
local tabble = {
["sorcerer"] = 1,
["druid"] = 2,
["paladin"] = 3,
["knight"] = 4
}
local param = string.lower(param)
if param == "" or not tabble[param] then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,"this vocation does exist.") return true
end
local pid, nv = getPlayerGUID(cid), tabble[param]
setPlayerStorageValue(cid, 889456, nv) -- evitar bugs
local hp,mana = (getVocationInfo(nv).healthGain*getPlayerLevel(cid)),(getVocationInfo(nv).manaGain*getPlayerLevel(cid))
doRemoveCreature(cid)
db.executeQuery("UPDATE `players` SET `manamax` = "..mana..",`health` = "..hp..", `healthmax` = "..hp..",`mana` = "..mana.." WHERE `id` = "..pid)
return true
end
tag:
<talkaction words="/changevoc" event="script" value="changevoc.lua"/>
exemplo: /changevoc knight
configuração:
local tabble = {
["sorcerer"] = 1,
["druid"] = 2,
["paladin"] = 3,
["knight"] = 4
}
["nome da vocation"] = ID da vocation
exemplo adicionando uma nova vocation:
local tabble = {
["sorcerer"] = 1,
["druid"] = 2,
["paladin"] = 3,
["knight"] = 4,
["infernalist"] = 5
}
--------------------
agr pra finalizar vc vai em data > creaturescript > script > login.lua e antes do último "return true" adc isso:
if getPlayerStorageValue(cid, 889456) ~= -1 then doPlayerSetVocation(cid, getPlayerStorageValue(cid,889456)) end
flw
obs: colocar a talk soh para utilizar em PZ e aumentar o limite de tempo para usar a talk
isso é fácil
mas esse script é pra vc fazer o teste se a mana e o hp vao ficar conforme o lvl
Editado Maio 7 por Vodkart
blz vo testa aki
@edit
blz fuciono perfeitamente mais eu n quero que ganhe a vocation assim pela talkactions eu quero que ganha por npc ou item
eu tenho um npc que da vocation mais não muda o hp e a mp pelo lvl fica a antiga so muda a vocação
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}
function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end
function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end
function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end
function onThink() npcHandler:onThink() end
function creatureSayCallback(cid, type, msg)
if(not npcHandler:isFocused(cid)) then
return false
end
local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid
if(msgcontains(msg, 'healer') or msgcontains(msg, 'healer')) then
selfSay('Tem certeza.', cid)
talkState[talkUser] = 1
elseif(msgcontains(msg, 'yes') or msgcontains(msg, 'sim') and talkState[talkUser] == 1) then
if(getPlayerItemCount(cid, 2160) >= 0) then
doPlayerRemoveItem(cid, 2160, 0)
doPlayerSetVocation(cid, 6)
selfSay('Agora sua clase e healer.', cid)
else
selfSay('Você não tem dinheiro!', cid)
end
talkState[talkUser] = 0
end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

blz
o npc vai cobrar pra mudar de voc?
somente premium vai poder trocar de voc?
será necessário level para vocs?
vai ter limite de tempo, por exemplo só pode mudar á cada 3 horas?
o npc vai cobrar pra mudar de voc?
não.
somente premium vai poder trocar de voc?
não.
será necessário level para vocs?
não.
vai ter limite de tempo, por exemplo só pode mudar á cada 3 horas?
não.
Cada npc so da 1 vocação pq a vera vários npc espelhado pelo mapa e também se de coloque um script que quando eu clica no item da a vocação também pq ja tem system de forja e vc vai pode cata os itens para pode fazer a vocação.
info
Grupo: Herói
Registrado: 20/05/10
Posts: 3.4k
Reputação: +1.5k
Gênero: Masculino

vc vai colocar vários npc diferente pelo mapa? LOL
ok... criei um npc dps vc só tira a base dele e edita as falas e o ID da voc que vai dar
Nome do seu npc.xml
<?xml version="1.0"?>
<npc name="Nome do seu npc" script="data/npc/scripts/changevoc.lua" walkinterval="50000" floorchange="0">
<health now="100" max="100"/>
<look type="129" head="95" body="116" legs="121" feet="115" addons="3"/>
<parameters>
<parameter key="message_greet" value="Ola |PLAYERNAME|. deseja se tornar um {healer}? "/>
</parameters>
</npc>
changevoc.lua
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}
function onCreatureAppear(cid) npcHandler:onCreatureAppear(cid) end
function onCreatureDisappear(cid) npcHandler:onCreatureDisappear(cid) end
function onCreatureSay(cid, type, msg) npcHandler:onCreatureSay(cid, type, msg) end
function onThink() npcHandler:onThink() end
function creatureSayCallback(cid, type, msg)
if(not npcHandler:isFocused(cid)) then
return false
end
local talkUser, msg, pid = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid, string.lower(msg), getPlayerGUID(cid)
local voc_ID = 4 -- id da nova VOC
if isInArray({"healer","voc","change","mudar","heal", "yes", "sim"}, msg) and not talkState[talkUser] then
npcHandler:say("Você deseja realmente se tornar um healer?! {yes}", cid)
talkState[talkUser] = 1
elseif (msgcontains(msg, 'yes') or msgcontains(msg, 'sim') and talkState[talkUser] == 1) then
setPlayerStorageValue(cid, 889456, voc_ID) -- evitar bugs
local hp,mana = (getVocationInfo(voc_ID).healthGain*getPlayerLevel(cid)),(getVocationInfo(voc_ID).manaGain*getPlayerLevel(cid))
doRemoveCreature(cid)
db.executeQuery("UPDATE `players` SET `manamax` = "..mana..",`health` = "..hp..", `healthmax` = "..hp..",`mana` = "..mana.." WHERE `id` = "..pid)
elseif msg == "no" then
selfSay("então tudo bem.", cid)
talkState[talkUser] = 0
npcHandler:releaseFocus(cid)
end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
sobre o item, CADA item é diferente ou vai ser um item só, mas com actionID modificado?
exemplo:
Item ID 8865 para VOC 5
Item ID 8866 para VOC 6
etc...
Editado Maio 8 por Vodkart
Eu vo testa aki a do npc jaja eu te falo do item
@edit
Vlw fuciono o npc da mudando o hp e o mp.
sobre o item
vai ser cada item dando uma vocação diferente
exemplo:
Item ID 8865 para VOC 5
Item ID 8866 para VOC 6
etc...
info
Grupo: Campones
Registrado: 03/05/13
Posts: 53
Reputação: +2
Eu conseguir um system de troca de classe sempre que quiser no ot que eu to desenvolvendo contem +70 classes.
pra n fica desorganizado eu preciso de um system que no tipo troke o HP e o MP sempre que troka de vocação tipo:
Classe HP MP
Inicial 5 5
TimeKiller 25 40
Necromance 60 25
Shaman 15 80
Se eu for :Inicial lvl 130 vo ter no maximo HP:650 MP:650.
Se eu for :TimeKiller lvl 130 vo ter no maximo HP:3250 MP: 5200.
Se eu for :Shaman lvl 130 vo ter no maximo : HP :1950 MP: 10400.
Eu quero que tipo se eu for um inicial quando eu fala com o npc e troka a vocação meu hp e mp mude de acordo com a vocação.
Tipo eu so inicial lvl 130 tenho 650 de hp quando eu fala com o npc minha vocação muda pra timekiller e meu hp muda para 3250. Minha mana tambem muda.
Vo da uma semana de rep+ (7 rep+)
Por que eu acho menho dificio esse systema vlw
caso se n se contente quando o ot for aberto a vera um classe que so vai ter o pessoal que me ajudo.
Flw