Ir para conteúdo
  • 0

Bau que da vocação


Geleia30

Pergunta

Ola tenho uma duvida tenho um script de bau que quando o player clica no bau da outra vocação pro player , so que quando o player morre ou reloga a vocação desapareçe e fica a que ele estava antes, queria saber se tem como arrumar isso e deixar a vocação nova permanente.

Obs : Não sei se é no Script ou se é na Database

Uso ForgottenServer.s3db

 

Script do Bau

function onUse(cid,item,frompos,item2,topos)

if getPlayerVocation(cid) ~= 6 then

doPlayerSetVocation(cid, 6)

doSendMagicEffect(getThingPos(cid),14)

doPlayerSendTextMessage(cid,22,"Parabéns,Agora Voce é um ".. getPlayerVocationName(cid)..".")

else

doPlayerSendCancel(cid,"Voçe ja trocou de vocação.")

return true

end

end

Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0
function onUse(cid,item,frompos,item2,topos)
if getPlayerStorageValue(cid, 13524) <= 0 then
doPlayerSetVocation(cid, 6)
doSendMagicEffect(getThingPos(cid),14)
doPlayerSendTextMessage(cid,22,"Parabéns,Agora Voce é um ".. getPlayerVocationName(cid)..".")
setPlayerStorageValue(cid,13524,1)
else
doPlayerSendCancel(cid,"Voçe ja trocou de vocação.")
end
return true
end

Link para o comentário
Compartilhar em outros sites

  • 0

Amigo, achei que adicionando um storage iria parar o problema '-'

Verifica o que o @rogeriok sugeriu, confere se esta tudo ok com a nova vocação.

 

E realize esse ultimo teste, se não der certo, eu não sei mais como ajudar ;/

function onUse(cid,item,frompos,item2,topos)
if getPlayerStorageValue(cid, 13524) <= 0 then
doPlayerSetVocation(cid, 6)
doSendMagicEffect(getThingPos(cid),14)
doPlayerSendTextMessage(cid,22,"Parabéns,Agora Voce é um ".. getPlayerVocationName(cid)..".")
setPlayerStorageValue(cid,13524,1)
doPlayerSave(cid, true)
else
doPlayerSendCancel(cid,"Voçe ja trocou de vocação.")
end
return true
end

Link para o comentário
Compartilhar em outros sites

  • 0

Script do baú

 

function onUse(cid, item, frompos, item2, topos)
if getPlayerVocation(cid) ~= 6 and getPlayerStorageValue(cid, 98765) == -1 then
doPlayerSetVocation(cid, 6)
doSendMagicEffect(getThingPos(cid),14)
doPlayerSendTextMessage(cid,22,"Parabéns,Agora Voce é um ".. getPlayerVocationName(cid)..".")
setPlayerStorageValue(cid, 98765, 1)
else
doPlayerSendCancel(cid,"Voçe ja trocou de vocação.")
return true
end
end

 

e vá em data/creaturescripts/scripts/login.lua e adicione isso.

 

if getPlayerStorageValue(cid, 98765) == 1 and getPlayerVocation(cid) ~= 6 then
doPlayerSetVocation(cid, 6)
end

Link para o comentário
Compartilhar em outros sites

  • 0

Tambem não deu certo,to achando que o problema é na database,pois ate quando eu modifico a vocação direto pela database quando eu relogo o char ele volta a estar com a vocação antiga =p,vo da uma olhada em umas apostila aqui em casa,se descobrir venho informar qual era o erro,ah não achei erro nenhum nas vocações só isto de diferente lessloss="50"não sei pra q serve

Link para o comentário
Compartilhar em outros sites

  • 0

Tenta usar esse comando na sua database...

UPDATE `players` SET `promotion`=0;

 

E use mude sua vocations.xlm

 

<?xml version="1.0" encoding="UTF-8"?>
<vocations>
<vocation id="0" name="None" description="none" gaincap="5" gainhp="5" gainmana="5" gainhpticks="6" gainhpamount="1" gainmanaticks="6" gainmanaamount="1" manamultiplier="4.0" attackspeed="2000" soulmax="100" gainsoulticks="120" fromvoc="0">
 <formula meleeDamage="1.0" distDamage="1.0" defense="1.0" armor="1.0"/>
 <skill id="0" multiplier="1.5"/>
 <skill id="1" multiplier="2.0"/>
 <skill id="2" multiplier="2.0"/>
 <skill id="3" multiplier="2.0"/>
 <skill id="4" multiplier="2.0"/>
 <skill id="5" multiplier="1.5"/>
 <skill id="6" multiplier="1.1"/>
</vocation>
<vocation id="1" name="Sorcerer" description="a sorcerer" gaincap="10" gainhp="5" gainmana="30" gainhpticks="2" gainhpamount="5" gainmanaticks="2" gainmanaamount="15" manamultiplier="1.1" attackspeed="2000" soulmax="100" gainsoulticks="120" fromvoc="1" lessloss="20">
 <formula meleeDamage="1.0" distDamage="1.0" defense="1.0" armor="1.0"/>
 <skill id="0" multiplier="1.5"/>
 <skill id="1" multiplier="2.0"/>
 <skill id="2" multiplier="2.0"/>
 <skill id="3" multiplier="2.0"/>
 <skill id="4" multiplier="2.0"/>
 <skill id="5" multiplier="1.5"/>
 <skill id="6" multiplier="1.1"/>
</vocation>
<vocation id="2" name="Druid" description="a druid" gaincap="10" gainhp="5" gainmana="30" gainhpticks="2" gainhpamount="5" gainmanaticks="2" gainmanaamount="15" manamultiplier="1.1" attackspeed="2000" soulmax="100" gainsoulticks="120" fromvoc="2" lessloss="20">
 <formula meleeDamage="1.0" distDamage="1.0" defense="1.0" armor="1.0"/>
 <skill id="0" multiplier="1.5"/>
 <skill id="1" multiplier="1.8"/>
 <skill id="2" multiplier="1.8"/>
 <skill id="3" multiplier="1.8"/>
 <skill id="4" multiplier="1.8"/>
 <skill id="5" multiplier="1.5"/>
 <skill id="6" multiplier="1.1"/>
</vocation>
<vocation id="3" name="Paladin" description="a paladin" gaincap="20" gainhp="10" gainmana="15" gainhpticks="2" gainhpamount="10" gainmanaticks="2" gainmanaamount="15" manamultiplier="1.6" attackspeed="2000" soulmax="100" gainsoulticks="120" fromvoc="3" lessloss="20">
 <formula meleeDamage="1.0" distDamage="1.5" defense="1.0" armor="1.0"/>
 <skill id="0" multiplier="1.2"/>
 <skill id="1" multiplier="1.2"/>
 <skill id="2" multiplier="1.2"/>
 <skill id="3" multiplier="1.2"/>
 <skill id="4" multiplier="1.1"/>
 <skill id="5" multiplier="1.1"/>
 <skill id="6" multiplier="1.1"/>
</vocation>
<vocation id="4" name="Knight" description="a knight" gaincap="25" gainhp="15" gainmana="5" gainhpticks="2" gainhpamount="20" gainmanaticks="2" gainmanaamount="5" manamultiplier="4.0" attackspeed="2000" soulmax="100" gainsoulticks="120" fromvoc="4" lessloss="20">
 <formula meleeDamage="1.5" distDamage="1.0" defense="1.0" armor="1.0"/>
 <skill id="0" multiplier="1.1"/>
 <skill id="1" multiplier="1.1"/>
 <skill id="2" multiplier="1.1"/>
 <skill id="3" multiplier="1.1"/>
 <skill id="4" multiplier="1.4"/>
 <skill id="5" multiplier="1.1"/>
 <skill id="6" multiplier="1.1"/>
</vocation>
<vocation id="5" name="Master Sorcerer" description="a master sorcerer" gaincap="10" gainhp="5" gainmana="30" gainhpticks="2" gainhpamount="10" gainmanaticks="2" gainmanaamount="30" manamultiplier="1.1" attackspeed="1500" soulmax="200" gainsoulticks="15" fromvoc="5" lessloss="30">
 <formula meleeDamage="1.0" distDamage="1.0" defense="1.0" armor="1.0"/>
 <skill id="0" multiplier="1.5"/>
 <skill id="1" multiplier="2.0"/>
 <skill id="2" multiplier="2.0"/>
 <skill id="3" multiplier="2.0"/>
 <skill id="4" multiplier="2.0"/>
 <skill id="5" multiplier="1.5"/>
 <skill id="6" multiplier="1.1"/>
</vocation>
<vocation id="6" name="Elder Druid" description="an elder druid" gaincap="10" gainhp="5" gainmana="30" gainhpticks="2" gainhpamount="10" gainmanaticks="2" gainmanaamount="30" manamultiplier="1.1" attackspeed="1500" soulmax="200" gainsoulticks="15" fromvoc="6" lessloss="30">
 <formula meleeDamage="1.0" distDamage="1.0" defense="1.0" armor="1.0"/>
 <skill id="0" multiplier="1.5"/>
 <skill id="1" multiplier="1.8"/>
 <skill id="2" multiplier="1.8"/>
 <skill id="3" multiplier="1.8"/>
 <skill id="4" multiplier="1.8"/>
 <skill id="5" multiplier="1.5"/>
 <skill id="6" multiplier="1.1"/>
</vocation>
<vocation id="7" name="Royal Paladin" description="a royal paladin" gaincap="20" gainhp="10" gainmana="15" gainhpticks="2" gainhpamount="15" gainmanaticks="2" gainmanaamount="30" manamultiplier="1.6" attackspeed="1500" soulmax="200" gainsoulticks="15" fromvoc="7" lessloss="30">
 <formula meleeDamage="1.0" distDamage="2.0" defense="1.0" armor="1.0"/>
 <skill id="0" multiplier="1.2"/>
 <skill id="1" multiplier="1.2"/>
 <skill id="2" multiplier="1.2"/>
 <skill id="3" multiplier="1.2"/>
 <skill id="4" multiplier="1.1"/>
 <skill id="5" multiplier="1.1"/>
 <skill id="6" multiplier="1.1"/>
</vocation>
<vocation id="8" name="Elite Knight" description="an elite knight" gaincap="25" gainhp="15" gainmana="5" gainhpticks="2" gainhpamount="30" gainmanaticks="2" gainmanaamount="10" manamultiplier="4.0" attackspeed="1500" soulmax="200" gainsoulticks="15" fromvoc="8" lessloss="30">
 <formula meleeDamage="2.0" distDamage="1.0" defense="1.0" armor="1.0"/>
 <skill id="0" multiplier="1.1"/>
 <skill id="1" multiplier="1.1"/>
 <skill id="2" multiplier="1.1"/>
 <skill id="3" multiplier="1.1"/>
 <skill id="4" multiplier="1.4"/>
 <skill id="5" multiplier="1.1"/>
 <skill id="6" multiplier="1.1"/>
</vocation>
<vocation id="9" name="Hell Wizard" description="a Hell Wizard" gaincap="10" gainhp="5" gainmana="30" gainhpticks="2" gainhpamount="20" gainmanaticks="2" gainmanaamount="60" manamultiplier="1.1" attackspeed="1300" soulmax="200" gainsoulticks="5" fromvoc="9" lessloss="50">
 <formula meleeDamage="1.0" distDamage="1.0" defense="1.0" armor="1.0"/>
 <skill id="0" multiplier="1.5"/>
 <skill id="1" multiplier="2.0"/>
 <skill id="2" multiplier="2.0"/>
 <skill id="3" multiplier="2.0"/>
 <skill id="4" multiplier="2.0"/>
 <skill id="5" multiplier="1.5"/>
 <skill id="6" multiplier="1.1"/>
</vocation>
<vocation id="10" name="High Saintess" description="a High Saintess" gaincap="10" gainhp="5" gainmana="30" gainhpticks="2" gainhpamount="20" gainmanaticks="2" gainmanaamount="60" manamultiplier="1.1" attackspeed="1300" soulmax="200" gainsoulticks="5" fromvoc="10" lessloss="50">
 <formula meleeDamage="1.0" distDamage="1.0" defense="1.0" armor="1.0"/>
 <skill id="0" multiplier="1.5"/>
 <skill id="1" multiplier="1.8"/>
 <skill id="2" multiplier="1.8"/>
 <skill id="3" multiplier="1.8"/>
 <skill id="4" multiplier="1.8"/>
 <skill id="5" multiplier="1.5"/>
 <skill id="6" multiplier="1.1"/>
</vocation>
<vocation id="11" name="Forcer Archer" description="a Forcer Archer" gaincap="20" gainhp="10" gainmana="15" gainhpticks="2" gainhpamount="25" gainmanaticks="2" gainmanaamount="50" manamultiplier="1.6" attackspeed="1300" soulmax="200" gainsoulticks="15" fromvoc="11" lessloss="50">
 <formula meleeDamage="1.0" distDamage="3.0" defense="1.0" armor="1.0"/>
 <skill id="0" multiplier="1.2"/>
 <skill id="1" multiplier="1.2"/>
 <skill id="2" multiplier="1.2"/>
 <skill id="3" multiplier="1.2"/>
 <skill id="4" multiplier="1.1"/>
 <skill id="5" multiplier="1.1"/>
 <skill id="6" multiplier="1.1"/>
</vocation>
<vocation id="12" name="Titan Blader" description="a Titan Blader" gaincap="25" gainhp="15" gainmana="5" gainhpticks="2" gainhpamount="60" gainmanaticks="2" gainmanaamount="25" manamultiplier="4.0" attackspeed="1300" soulmax="200" gainsoulticks="15" fromvoc="12" lessloss="50">
 <formula meleeDamage="3.0" distDamage="1.0" defense="1.0" armor="1.0"/>
 <skill id="0" multiplier="1.1"/>
 <skill id="1" multiplier="1.1"/>
 <skill id="2" multiplier="1.1"/>
 <skill id="3" multiplier="1.1"/>
 <skill id="4" multiplier="1.4"/>
 <skill id="5" multiplier="1.1"/>
 <skill id="6" multiplier="1.1"/>
</vocation>
</vocations>

 

 

Agr poe esse NPC para pagar a promotion...e Testa aew

 

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, 'promote') or msgcontains(msg, 'promotion')) then
selfSay('Deseja virar {promotion} ?', cid)
talkState[talkUser] = 1
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
if(getPlayerItemCount(cid, 2160) >= 2) and (getPlayerVocation(cid) >= 1 and getPlayerVocation(cid) <=4) then
doPlayerRemoveItem(cid, 2160, 2)
doPlayerSetVocation(cid, getPlayerVocation(cid)+4)
selfSay('Parabéns você acaba de ser promovido.', cid)
else
selfSay('Voce não dinheiro suficiente!', cid)
end   
talkState[talkUser] = 0
end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

 

 

Te ajudei? REP +++

Link para o comentário
Compartilhar em outros sites

  • 0

Rogerio vlws denovo man deu certinho aqui,testado e aprovado só n entendi muito o npc mas ta blz,rep +

 

Duvida sanada pode fechar o topico

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

×
×
  • Criar Novo...