Ir para conteúdo

Npc Promote Projeto. Rep+Rep+Rep+Rep+Rep+


miccolisbest

Posts Recomendados

=======Galera Boa Noite=======

 

Gostaria de uma ajudinha ao configurar um npc para vender "First Promote" e "Second Promote", identificando a vocação do player e oferecendo as opções de troca de vocação.

 

ex: Se um player for "sorcerer", e falar "hi" com o npc, o npc identifica que o player é "sorcerer" e oferece a opção de virar "Master sorcerer", por 30 Crystal Refine(ID 8300). O player diz "yes" e o npc confirma que player tem "30 crystal refine" e da para o player sua nova vocação "Master Sorcerer". e assim sucessivamente para outras vocações.

 

Mas se o player já for "Master Sorcerer" e falar "hi" com o npc, o npc identifica que o player é "Master Sorcerer" e oferece a opção de virar "Epic Master sorcerer", por 60 Crystal Refine(ID 8300). O player diz "yes" e o npc confirma que player tem "60 crystal refine" e da para o player sua nova vocação "Epic Master Sorcerer". E assim para todas as vocações.

 

classes= Sorcerer > Master Sorcerer > Epic Master Sorcerer

classes= Kinght > Elite Kinght > Epic Elite Kinght

classes= Druid > Elder Druid > Epic Elder Druid

classes= Paladin > Royal Paladin > Epic Royal Paladin

 

Bom essas são as minhas vocações descritas em :

C:\[8.60]Projeto Global Compacto\data\XML\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="10" gainmanaticks="6" gainmanaamount="10" manamultiplier="4.0" attackspeed="1000" soulmax="100" gainsoulticks="120" fromvoc="0" attackable="no">

<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="2.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="Master Sorcerer" description="a master sorcerer" needpremium="0" gaincap="10" gainhp="5" gainmana="30" gainhpticks="1" gainhpamount="10" gainmanaticks="1" gainmanaamount="150" manamultiplier="1.1" attackspeed="650" soulmax="100" gainsoulticks="120" fromvoc="1">

<formula meleeDamage="0.0" distDamage="0.0" wandDamage="1.3" magDamage="1.4" magHealingDamage="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="Elder Druid" description="a elder druid" needpremium="0" gaincap="10" gainhp="5" gainmana="30" gainhpticks="1" gainhpamount="10" gainmanaticks="1" gainmanaamount="150" manamultiplier="1.1" attackspeed="650" soulmax="100" gainsoulticks="120" fromvoc="2">

<formula meleeDamage="0.0" distDamage="0.0" wandDamage="1.3" magDamage="1.4" magHealingDamage="1.1" 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="Royal Paladin" description="a royal paladin" needpremium="0" gaincap="20" gainhp="10" gainmana="15" gainhpticks="1" gainhpamount="75" gainmanaticks="1" gainmanaamount="150" manamultiplier="1.4" attackspeed="650" soulmax="100" gainsoulticks="120" fromvoc="3">

<formula meleeDamage="0.0" distDamage="1.5" wandDamage="1.0" magDamage="1.2" magHealingDamage="1.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="4" name="Elite Knight" description="a elite knight" needpremium="0" gaincap="25" gainhp="15" gainmana="5" gainhpticks="1" gainhpamount="100" gainmanaticks="1" gainmanaamount="150" manamultiplier="3.0" attackspeed="650" soulmax="100" gainsoulticks="120" fromvoc="4">

<formula meleeDamage="1.4" distDamage="0.0" wandDamage="1.0" magDamage="1.3" magHealingDamage="1.2" 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="Sorcerer" description="a sorcerer" needpremium="1" gaincap="10" gainhp="5" gainmana="30" gainhpticks="1" gainhpamount="15" gainmanaticks="1" gainmanaamount="22" manamultiplier="1.1" attackspeed="700" 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" 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="Druid" description="an druid" needpremium="1" gaincap="10" gainhp="5" gainmana="30" gainhpticks="1" gainhpamount="15" gainmanaticks="1" gainmanaamount="22" manamultiplier="1.1" attackspeed="700" soulmax="200" gainsoulticks="15" fromvoc="2" lessloss="30">

<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="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="Paladin" description="a paladin" needpremium="1" gaincap="20" gainhp="10" gainmana="15" gainhpticks="1" gainhpamount="18" gainmanaticks="1" gainmanaamount="19" manamultiplier="1.4" attackspeed="700" soulmax="200" gainsoulticks="15" fromvoc="3" lessloss="30">

<formula meleeDamage="1.0" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="1.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="Knight" description="an knight" needpremium="1" gaincap="25" gainhp="15" gainmana="5" gainhpticks="1" gainhpamount="22" gainmanaticks="1" gainmanaamount="15" manamultiplier="3.0" attackspeed="700" soulmax="200" gainsoulticks="15" fromvoc="4" lessloss="30">

<formula meleeDamage="1.1" distDamage="1.0" wandDamage="1.0" magDamage="1.0" magHealingDamage="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="Epic Master Sorcerer" description="an master sorcerer" needpremium="0" gaincap="10" gainhp="5" gainmana="30" gainhpticks="4" gainhpamount="40" gainmanaticks="2" gainmanaamount="70" manamultiplier="1.1" attackspeed="1900" soulmax="299" gainsoulticks="15" fromvoc="5" lessloss="30">

<formula meleeDamage="1.0" distDamage="1.0" wandDamage="2.0" magDamage="1.2" magHealingDamage="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="Epic Elder Druid" description="an elder druid" needpremium="0" gaincap="10" gainhp="5" gainmana="30" gainhpticks="4" gainhpamount="40" gainmanaticks="2" gainmanaamount="70" manamultiplier="1.1" attackspeed="1900" soulmax="299" gainsoulticks="15" fromvoc="6" lessloss="30">

<formula meleeDamage="1.0" distDamage="1.0" wandDamage="2.0" magDamage="1.2" magHealingDamage="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="Epic Royal Paladin" description="an royal paladin" needpremium="0" gaincap="20" gainhp="10" gainmana="15" gainhpticks="3" gainhpamount="60" gainmanaticks="3" gainmanaamount="60" manamultiplier="1.4" attackspeed="1900" soulmax="299" gainsoulticks="15" fromvoc="7" lessloss="30">

<formula meleeDamage="1.1" distDamage="1.1" wandDamage="1.0" magDamage="1.1" magHealingDamage="1.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="Epic Elite Knight" description="an elite knight" needpremium="0" gaincap="25" gainhp="15" gainmana="5" gainhpticks="8" gainhpamount="70" gainmanaticks="4" gainmanaamount="50" manamultiplier="3.0" attackspeed="1900" soulmax="299" gainsoulticks="15" fromvoc="8" lessloss="30">

<formula meleeDamage="1.2" distDamage="1.0" wandDamage="1.0" magDamage="1.1" magHealingDamage="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="13" name="Addicted Zealot" description="an Addicted Zealot" needpremium="0" gaincap="250" gainhp="300" gainmana="900" gainhpticks="300" gainhpamount="500" gainmanaticks="4" gainmanaamount="300" manamultiplier="3.0" attackspeed="400" soulmax="200" gainsoulticks="15" fromvoc="8" lessloss="50">

<formula meleeDamage="3.3" distDamage="3.3" wandDamage="3.3" magDamage="3.3" magHealingDamage="3.3" defense="3.3" magDefense="3.3" armor="3.3"/>

<skill fist="3.3" club="3.3" sword="3.3" axe="3.3" distance="3.3" shielding="3.3" fishing="3.3" experience="3.3"/>

</vocation>

</vocations>

============================================================================

Bom isso é o que contem no arquivo:

C:\[8.60]Projeto Global Compacto\data\npc\vip promotion.xml

 

<?xml version="1.0" encoding="UTF-8"?>

<npc name="Vip Epic Promotion" script="data/npc/scripts/vip promote.lua" walkinterval="2000" floorchange="0">

<mana now="800" max="800"/>

<health now="200" max="200"/>

<look type="133" head="114" body="119" legs="132" feet="114"/>

</npc>

============================================================================

Bom isso é o que contem no arquivo:

C:\[8.60]Projeto Global Compacto\data\npc\scripts\vip promote.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 = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid

 

if(msgcontains(msg, 'Epic Master Sorcerer') or msgcontains(msg, 'Epic Master Sorcerer')) then

selfSay('Deseja virar {Epic Master Sorcerer} por 30 Crystal Refiner?', cid)

talkState[talkUser] = 1

elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then

if(getPlayerItemCount(cid, 8300) >= 30) then

doPlayerRemoveItem(cid, 8300, 30)

doPlayerSetVocation(cid,9)

selfSay('Vocação trocada com sucesso , Agora você é um Epic Master Sorcerer.', cid)

else

selfSay('Você não tem {Crystal Refiner} Suficientes.', cid)

end

talkState[talkUser] = 0

end

return true

end

 

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)

npcHandler:addModule(FocusModule:new())

============================================================================

 

PS: Se tiver faltando alguma informação para vocês me ajudar nesta questão, poste e eu edito clocando oque esta faltando.

 

============================================================================

 

 

======Galera Muito Obrigado======

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...