Ir para conteúdo

Featured Replies

Postado
O problema é o seguinte, esse npc ai deveria comprar cada ovo por 10k e ele até faz isso, só que quando da trade nele ele compra em dobro, por exemplo se eu coloco pra vender 25 eggs ele vai lá e compra 50, pagando 250k em cada slot da bp.
 
 

<?xml version="1.0" encoding="UTF-8"?>
<npc name="Pet Seller" script="data/npc/scripts/runes.lua" walkinterval="2000" floorchange="0">
<health now="100" max="100"/>
<look type="80" head="0" body="0" legs="0" feet="0" addons="0"/>
<parameters>
<parameter key="module_shop" value="1"/>
<parameter key="shop_sellable" value="Fire pet egg,6542,10000"/>
<parameter key="shop_sellable" value="Ice pet egg,6543,10000"/>
<parameter key="shop_sellable" value="Energy pet egg,6545,10000"/>
<parameter key="shop_sellable" value="Holy pet egg,6541,10000"/>
<parameter key="shop_sellable" value="Physical pet egg,2695,10000"/>
<parameter key="shop_sellable" value="Terra pet egg,6544,10000"/>
</parameters>
</npc>

 
runes.xml

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
 
local shopModule = ShopModule:new()
npcHandler:addModule(shopModule)
 
 
shopModule:addSellableItem({'colloured egg', 'pet egg'}, 6541, 10000, 'colloured egg')
shopModule:addSellableItem({'colloured egg', 'pet egg'}, 6542, 10000, 'colloured egg')
shopModule:addSellableItem({'colloured egg', 'pet egg'}, 6543, 10000, 'colloured egg')
shopModule:addSellableItem({'colloured egg', 'pet egg'}, 6544, 10000, 'colloured egg')
shopModule:addSellableItem({'colloured egg', 'pet egg'}, 6545, 10000, 'colloured egg')
shopModule:addSellableItem({'colloured egg', 'pet egg'}, 2695, 10000, 'colloured egg')
 
local items = {[1] = 2190, [2] = 2182, [5] = 2190, [6] = 2182}
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, 'first rod') or msgcontains(msg, 'first wand')) then
if(isSorcerer(cid) or isDruid(cid)) then
if(getPlayerStorageValue(cid, 30002) <= 0) then
selfSay('So you ask me for a {' .. getItemNameById(items[getPlayerVocation(cid)]) .. '} to begin your advanture?', cid)
talkState[talkUser] = 1
else
selfSay('What? I have already gave you one {' .. getItemNameById(items[getPlayerVocation(cid)]) .. '}!', cid)
end
else
selfSay('Sorry, you aren\'t a druid either a sorcerer.', cid)
end
elseif(msgcontains(msg, 'yes')) then
if(talkState[talkUser] == 1) then
doPlayerAddItem(cid, items[getPlayerVocation(cid)], 1)
selfSay('Here you are young adept, take care yourself.', cid)
setPlayerStorageValue(cid, 30002, 1)
end
talkState[talkUser] = 0
elseif(msgcontains(msg, 'no') and isInArray({1}, talkState[talkUser])) then
selfSay('Ok then.', cid)
talkState[talkUser] = 0
end
 
return true
end
 
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 
Sim, eu usei um ex-Dark Rodo porque eu não consigo criar um npc do 0.. e talvez até seja esse o motivo de dar esse erro.. alguém por favor poderia me ajudar?
 
obrigado desde já.

 

Resolvido por olokomeu

Ir para solução
Postado
  • Solução

Primeiro você deve criar um arquivo XML em data>npc. Dentro desse aquivo você coloca:

 

 

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

<npc name="Nome do seu NPC" script="data/npc/scripts/default.lua" walkinterval="2000" floorchange="0">
<health now="100" max="100"/>  -- Hp do npc
<look type="268" head="114" body="101" legs="0" feet="115" addons="1"/>   -- Ropa do Npc
<parameters>
<parameter key="module_shop" value="1"/>
<parameter key="message_greet" value="Hello |PLAYERNAME|. I buy eggs. Talk {trade}."/>   -- Mensagem do Npc
<parameter key="shop_sellable" value="nome do item,id do item,preço do item;nome do item2,id do item2,preço do item2;" />  -- Aqui o npc compra item
<parameter key="shop_buyable" value="Aqui"/>   -- Aqui é caso você queira que o Npc venda algo para o player.
</parameters>
</npc>

 

Obs: em "Shop_sellable" eu coloquei até 2 item, mas caso queira por mais é so sair adicionando "nome do item,id do item,preço do item;" Lembre-se de alterar para item que você quer,id do item que vai ser vendido e o preço que será vendido.

 

Agora vá em data>npc>script. Crie um arquivo.lua com o nome de default e coloque dentro dele:

 

 

local keywordHandler = KeywordHandler:new()

local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
 
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
 
npcHandler:addModule(FocusModule:new())

 

:)!

Eu te Ajudei? Então solta aquele REP+ !!

Meus Tutoriais [Tutorial] Bug "Temple position is wrong" (MySql)

Outros:    [Meu Show OFF | Mapa próprio 8.6] 

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.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo