Ir para conteúdo

NPC de Troca De Life Crystal [Pedido]


EliaWalak

Posts Recomendados

Estou Implantando em meu servidor Sistema de Upgrade do OneShot , Eu ja tinha visto antes no servidor RPGBrasil e achei Genial... e para isso preciso de ajuda. De um NPC que Troca 10 Life Crystal (ID: 2177) Por 1x de Pure Energy (ID: 8306)... e 10 Pure Energy Por 1x Flawless Ice Crystal (ID: 8300).

 

Meu Primeiro Pedido no Xtibia, se Tiver erros me desculpem :/

Link para o comentário
Compartilhar em outros sites

Tenta esse:

 

Vá até a pasta data\npc copie qualquer arquivo e renomeie para Joaozinho.xml, abra o arquivo com o bloco de notas, apague tudo e cole o código abaixo:

 

<npc name="Joaozinho" script="data/npc/scripts/npccrystal.lua" access="5" lookdir="1">
<health now="1000" max="1000"/>
<look type="133" head="95" body="86" legs="86" feet="38" addons="3"/>
<parameters>
 <parameter key="message_greet" value="Hello |PLAYERNAME|.I've been working hard these days in this project, I can now change your dear friend {crystal}. Fale {crystal} para trocar por um pure energy ou fale {energy} para trocar por um flawless ice crystal." />
</parameters>
</npc>

 

 

Copie qualquer arquivo da pasta data\npc\scripts e renomeie para npccrystal.lua abra o arquivo com o bloco de notas, apague tudo e cole o código abaixo:

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, 'life crystal') or msgcontains(msg, 'crystal')) then
selfSay('Voce deseja trocar 10 life crystals por um pure energy?', cid)
talkState[talkUser] = 1
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
if(getPlayerItemCount(cid, 2177) >= 10) then
if(doPlayerRemoveItem(cid, 2177, 10) == TRUE) then
doPlayerAddItem(cid, 8306)
selfSay('Here you are.', cid)
else
selfSay('Sorry, you don\'t have the item.', cid)
end
else
selfSay('Sorry, you don\'t have the item.', cid)
end
talkState[talkUser] = 0
elseif(msgcontains(msg, 'pure energy') or msgcontains(msg, 'energy')) then
selfSay('Voce deseja trocar 10 pure energy por um flawless ice crystal?', cid)
talkState[talkUser] = 1
elseif(msgcontains(msg, 'yes') and talkState[talkUser] == 1) then
if(getPlayerItemCount(cid, 8306) >= 10) then
if(doPlayerRemoveItem(cid, 8306, 10) == TRUE) then
doPlayerAddItem(cid, 8300)
selfSay('Here you are.', cid)
else
selfSay('Sorry, you don\'t have the item.', cid)
end
else
selfSay('Sorry, you don\'t have the item.', cid)
end
talkState[talkUser] = 0
elseif(msgcontains(msg, 'no') and isInArray({1}, talkState[talkUser]) == TRUE) then
talkState[talkUser] = 0
selfSay('Ok then.', cid)
end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...