Ir para conteúdo

Featured Replies

Postado

Meu problema é o seguinte, fiz o npc tudo direitinho eu falo com ele e ele me da a promotion (que no caso é a vip) quando eu deslogo e logo novamente volta pra royal paladin, queria saber o porque D:

Minhas vocations.xml/
 


<?xml version="1.0" encoding="UTF-8"?>
<vocations>
<vocation id="0" name="None" description="none" needpremium="0" 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" attackable="no">
<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
<skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.0"/>
</vocation>
<vocation id="1" name="Sorcerer" description="a sorcerer" needpremium="0" gaincap="10" gainhp="5" gainmana="30" gainhpticks="2" gainhpamount="50" gainmanaticks="1" gainmanaamount="50" manamultiplier="1.1" attackspeed="1700" soulmax="100" gainsoulticks="120" fromvoc="1">
<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
<skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.0"/>
</vocation>
<vocation id="2" name="Druid" description="a druid" needpremium="0" gaincap="10" gainhp="5" gainmana="30" gainhpticks="2" gainhpamount="50" gainmanaticks="1" gainmanaamount="50" manamultiplier="1.1" attackspeed="1700" soulmax="100" gainsoulticks="120" fromvoc="2">
<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
<skill fist="1.5" club="1.8" sword="1.8" axe="1.8" distance="1.8" shielding="1.5" fishing="1.1" experience="1.0"/>
</vocation>
<vocation id="3" name="Paladin" description="a paladin" needpremium="0" gaincap="20" gainhp="10" gainmana="15" gainhpticks="2" gainhpamount="50" gainmanaticks="2" gainmanaamount="50" manamultiplier="1.4" attackspeed="1700" soulmax="100" gainsoulticks="120" fromvoc="3">
<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
<skill fist="1.2" club="1.2" sword="1.2" axe="1.2" distance="1.1" shielding="1.1" fishing="1.1" experience="1.0"/>
</vocation>
<vocation id="4" name="Knight" description="a knight" needpremium="0" gaincap="25" gainhp="15" gainmana="5" gainhpticks="1" gainhpamount="50" gainmanaticks="2" gainmanaamount="50" manamultiplier="3.0" attackspeed="1700" soulmax="100" gainsoulticks="120" fromvoc="4">
<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
<skill fist="1.1" club="1.1" sword="1.1" axe="1.1" distance="1.4" shielding="1.1" fishing="1.1" experience="1.0"/>
</vocation>
<vocation id="5" name="Master Sorcerer" description="a master sorcerer" needpremium="1" gaincap="10" gainhp="5" gainmana="30" gainhpticks="2" gainhpamount="70" gainmanaticks="1" gainmanaamount="70" manamultiplier="1.1" attackspeed="1500" soulmax="200" gainsoulticks="15" fromvoc="1" lessloss="30">
<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
<skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.0"/>
</vocation>
<vocation id="6" name="Elder Druid" description="an elder druid" needpremium="1" gaincap="10" gainhp="5" gainmana="30" gainhpticks="2" gainhpamount="70" gainmanaticks="1" gainmanaamount="70" manamultiplier="1.1" attackspeed="1500" soulmax="200" gainsoulticks="15" fromvoc="2" lessloss="30">
<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.1" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
<skill fist="1.5" club="1.8" sword="1.8" axe="1.8" distance="1.8" shielding="1.5" fishing="1.1" experience="1.0"/>
</vocation>
<vocation id="7" name="Royal Paladin" description="a royal paladin" needpremium="1" gaincap="20" gainhp="10" gainmana="15" gainhpticks="2" gainhpamount="70" gainmanaticks="1" gainmanaamount="70" manamultiplier="1.4" attackspeed="1500" soulmax="200" gainsoulticks="15" fromvoc="3" lessloss="30">
<formula meleeDamage="1.0" distDamage="1.1" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
<skill fist="1.2" club="1.2" sword="1.2" axe="1.2" distance="1.1" shielding="1.1" fishing="1.1" experience="1.0"/>
</vocation>
<vocation id="8" name="Elite Knight" description="an elite knight" needpremium="1" gaincap="25" gainhp="15" gainmana="5" gainhpticks="1" gainhpamount="70" gainmanaticks="1" gainmanaamount="70" manamultiplier="3.0" attackspeed="1500" soulmax="200" gainsoulticks="15" fromvoc="4" lessloss="30">
<formula meleeDamage="1.1" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.1" defense="1.0" magDefense="1.0" armor="1.0"/>
<skill fist="1.1" club="1.1" sword="1.1" axe="1.1" distance="1.4" shielding="1.1" fishing="1.1" experience="1.0"/>
</vocation>
<vocation id="9" name="Master Sorcerer VIP" description="an master sorcerer VIP" needpremium="0" gaincap="10" gainhp="5" gainmana="30" gainhpticks="2" gainhpamount="80" gainmanaticks="1" gainmanaamount="80" manamultiplier="1.1" attackspeed="1300" soulmax="400" gainsoulticks="35" fromvoc="5" lessloss="38">
<skill fist="1.5" club="2.0" sword="2.0" axe="2.0" distance="2.0" shielding="1.5" fishing="1.1" experience="1.0"/>
</vocation>
<vocation id="10" name="Elder Druid VIP" description="an elder druid VIP" needpremium="0" gaincap="10" gainhp="5" gainmana="30" gainhpticks="2" gainhpamount="80" gainmanaticks="1" gainmanaamount="80" manamultiplier="1.1" attackspeed="1300" soulmax="400" gainsoulticks="35" fromvoc="6" lessloss="38">
<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
<skill fist="1.5" club="1.8" sword="1.8" axe="1.8" distance="1.8" shielding="1.5" fishing="1.1" experience="1.0"/>
</vocation>
<vocation id="11" name="Royal Paladin VIP" description="an royal paladin VIP" needpremium="0" gaincap="20" gainhp="10" gainmana="15" gainhpticks="2" gainhpamount="80" gainmanaticks="1" gainmanaamount="80" manamultiplier="1.4" attackspeed="1300" soulmax="400" gainsoulticks="20" fromvoc="7" lessloss="38">
<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
<skill fist="1.2" club="1.2" sword="1.2" axe="1.2" distance="1.1" shielding="1.1" fishing="1.1" experience="1.0"/>
</vocation>
<vocation id="12" name="Elite Knight VIP" description="an elite knight VIP" needpremium="0" gaincap="25" gainhp="15" gainmana="5" gainhpticks="1" gainhpamount="80" gainmanaticks="1" gainmanaamount="80" manamultiplier="3.0" attackspeed="1300" soulmax="400" gainsoulticks="20" fromvoc="8" lessloss="38">
<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.0" defense="1.0" magDefense="1.0" armor="1.0"/>
<skill fist="1.1" club="1.1" sword="1.1" axe="1.1" distance="1.4" shielding="1.1" fishing="1.1" experience="1.0"/>
</vocation>
</vocations>

Npc/scripts

local tab = {

[5] = {prom = 9}, -- [vocid] = {prom = newvocid},
[6] = {prom = 10},
[7] = {prom = 11},
[8] = {prom = 12}
}

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 t = tab[getPlayerVocation(cid)]

local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid
if (msgcontains(msg, 'promotion')) then
if t then

talkState[talkUser] = 1
selfSay('Eu posso lhe ensinar uma nova promotion, voce aceita?', cid)
else

talkState[talkUser] = 0
selfSay('Eu nao posso te promover, voce ainda nao esta pronto.', cid)
end
elseif (msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
if (getPlayerVocation(cid) ~= t.prom) then

talkState[talkUser] = 0
doPlayerSetVocation(cid, t.prom)
doSendMagicEffect(getThingPos(cid), CONST_ME_GIFT_WRAPS)
selfSay('Parabens, voce evoluiu sua promotion!', cid)
else

talkState[talkUser] = 0
selfSay('Voce ja foi promovido, continue sua jornada.', cid)
end
elseif (msgcontains(msg, 'no') and talkState[talkUser] == 1) then

talkState[talkUser] = 0
selfSay('Entao adeus, jovem gafanhoto.', cid)
end

return true
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())



Meu npc.xml

<npc name="Mestre Raikatu" script="data/npc/scripts/raikatu.lua" access="5" lookdir="1">
<health now="1000" max="1000"/>
<look type="325" head="39" body="114" legs="114" feet="39" addons="1"/>
<parameters>
<parameter key="message_greet" value="Ola |PLAYERNAME|. Eu sou o Mestre Raikatu, o que voce quer comigo?" />
</parameters>
</npc>

Postado

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, 'promotion')) then
selfSay('Eu posso lhe ensinar uma nova promotion, voce aceita?', cid)
talkState[talkUser] = 1


elseif (msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
if getPlayerPremiumDays(cid) > 0 then
selfSay('Parabens, voce evoluiu sua promotion!', cid)
doPlayerSetPromotionLevel(cid, 2)
doSendMagicEffect(getThingPos(cid), CONST_ME_GIFT_WRAPS)
talkState[talkUser] = 0
else
selfSay('Voce precisa ser premium para ter essa promotion.', cid)
talkState[talkUser] = 0
end
elseif (msgcontains(msg, 'no') and talkState[talkUser] == 1) then
selfSay('Entao adeus, jovem gafanhoto.', cid)
talkState[talkUser] = 0
end


return true
end


npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

Estou no serviço, não tenho como testar. Meio que fiz no improviso.

cms1-pr%C3%AAmio.png

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo