Ir para conteúdo

[npc] Como Passo Npc Xml Para Sql?


Jeet

Posts Recomendados

Galera tenho um ot aki 8.1 XML passei ele para 8.4 SQL...

 

tinha uma quest no OT que precisava de um liquido...

 

 

No ot 8.1 tinha um npc que vendia ele, Quando passei o npc para 8.4 para vender ele so vendia o potion seco!!

 

aki ele \/ tem como alguem passsa ele para 8.4 mim??? eu agradeço!!!

 

 

OTserv8.1\data\npc\scripts\pitser

 

 

 

 

local keywordHandler = KeywordHandler:new()

local npcHandler = NpcHandler:new(keywordHandler)

NpcSystem.parseParameters(npcHandler)

 

 

 

-- OTServ event handling functions start

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

-- OTServ event handling functions end

 

local shopModule = ShopModule:new()

npcHandler:addModule(shopModule)

 

 

shopModule:addBuyableItem({'blood', 'vial of blood'}, 2006, 10, 1, 'vial of blood')

shopModule:addBuyableItem({'oil', 'vial of oil'}, 2006, 30, 11, 'vial of oil')

 

 

shopModule:addBuyableItem({'holy tible', 'book'}, 1970, 5000, 'the holly tible')

shopModule:addBuyableItem({'pick', 'pick'}, 2553, 50, 'pick')

 

 

npcHandler:addModule(FocusModule:new())

 

 

 

 

 

 

 

EM Vermelho são os potion que eu quero que o NPC venda. OBS >>8.4!!

Link para o comentário
Compartilhar em outros sites

Galera tenho um ot aki 8.1 XML passei ele para 8.4 SQL...

tinha uma quest no OT que precisava de um liquido...


No ot 8.1 tinha um npc que vendia ele, Quando passei o npc para 8.4 para vender ele so vendia o potion seco!!

aki ele \/ tem como alguem passsa ele para 8.4 mim??? eu agradeço!!!


OTserv8.1\data\npc\scripts\pitser




local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)



-- OTServ event handling functions start
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
-- OTServ event handling functions end

local shopModule = ShopModule:new()
npcHandler:addModule(shopModule)


shopModule:addBuyableItem({'blood', 'vial of blood'}, 2006, 10, 1, 'vial of blood')
shopModule:addBuyableItem({'oil', 'vial of oil'}, 2006, 30, 11, 'vial of oil')


shopModule:addBuyableItem({'holy tible', 'book'}, 1970, 5000, 'the holly tible')
shopModule:addBuyableItem({'pick', 'pick'}, 2553, 50, 'pick')


npcHandler:addModule(FocusModule:new())







EM Vermelho são os potion que eu quero que o NPC venda. OBS >>8.4!!


kra... em modo trade, aqui deu vários erros para cada teste q eu fazia.... se vc n ligar.. posso te passar um script q o NPC venda da maneira tradicional... por diálogo...
Editado por brainless
Link para o comentário
Compartilhar em outros sites

desculpe a demora... não tenho costume de acessar aos fins de semana...

 

vai o script aí

 

local goods = {
{id=2, name='blood', cost=50},
{id=11, name='oil', cost=100},
}

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

local function createList()
  local goodslist = ''
  for i = 1, #goods - 1 do
  if (i > 1) and (i < #goods) then goodslist = goodslist..',' end
  goodslist = goodslist..' '..goods[i].name
  end
  if #goods > 1 then goodslist = goodslist..' and '..goods[#goods].name end
  return goodslist
end

npcHandler:setMessage(MESSAGE_GREET, "Hmm...Hello |PLAYERNAME|. I sell vials of "..createList())

function buyFluids(cid, message, keywords, parameters, node)
  if (not npcHandler:isFocused(cid)) then return false end
  if doPlayerRemoveMoney(cid, goods[parameters.id].cost) == TRUE then
  doPlayerAddItem(cid, 2006, 1, goods[parameters.id].id)
  npcHandler:say('Here is your '..goods[parameters.id].name, (cid))
  else npcHandler:say('Are you joking me? You dont have the money!!', (cid)) end
  keywordHandler:moveUp(1)
  return true
end

local node={}
for i = 1, #goods do
  local node1 = keywordHandler:addKeyword({goods[i].name}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you want to buy '..goods[i].name..' for '..goods[i].cost..' gps?'})
  node1:addChildKeyword({'yes'}, buyFluids, {id = i})
  node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, moveup = 1, text = 'OK, back when you want to buy something.'})
end

npcHandler:addModule(FocusModule:new())

 

testado e funcional... tfs 2.0

 

 

ATENÇÃO

pra eu fazer os testes, foi necessário baixar uma versão atualizada do items.otb e colocar na pasta data/items

 

se vc notar que o npc está vendendo vials vazias, pode baixar uma versão atualizada do items.otb em http://www.speedyshare.com/609501539.html

 

scan

 

wuqyxh.jpg

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

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...