[Npc] Addon

netflat15
em Lixeira Pública

netflat15

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 10/11/09Posts: 9

Bom, queria um NPC que vendesse o primeiro addon por 50k. (NPC First addon)

 

E o outro NPC que vendesse o second addon por 200k. (NPC Second addon)

 

Procurei em alguns servers e não achei então vim pedir.

 

Versão 8.54

 

Obrigado a quem ajudar :D

Oneshot

avatar
Marquês
Marquês

INFOS

Grupo: MarquêsRegistrado: 05/07/09Posts: 1347
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

function buyAddons(cid, message, keywords, parameters, node)
--TODO: buyAddons function in modules.lua
if(not npcHandler:isFocused(cid)) then
	return false
end

local addon = parameters.addon
local cost = parameters.cost
local premium = (parameters.premium ~= nil and parameters.premium)

if isPlayerPremiumCallback == nil or (isPlayerPremiumCallback(cid) and premium) then
	if doPlayerRemoveMoney(cid, cost) then
		doPlayerAddAddons(cid, addon)
		npcHandler:say('There, you are now able to use all addons!', cid)
	else
		npcHandler:say('Sorry, you do not have enough money.', cid)
	end
else
	npcHandler:say('I only serve customers with premium accounts.', cid)
end

keywordHandler:moveUp(1)
return true
end

local node1 = keywordHandler:addKeyword({'first addon'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Do you want to buy the first addons set for 5000 gold coins?'})
node1:addChildKeyword({'yes'}, buyAddons, {addon = 1, cost = 50000, premium = true})
node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, moveup = 1, text = 'Too expensive, eh?'})

local node2 = keywordHandler:addKeyword({'second addon'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Would you like to buy the second addons set for 10000 gold coins?'})
node2:addChildKeyword({'yes'}, buyAddons, {addon = 2, cost = 200000, premium = true})
node2:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, moveup = 1, text = 'Too expensive, eh?'})

keywordHandler:addKeyword({'addon'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'I sell the first addons set for 5000 gold coins and the second addons set for 10000 gold coins.'})

npcHandler:addModule(FocusModule:new())

IrapuanPuan

Missão: Torna-se um moderador Xtibia.
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 20/07/09Posts: 29Char no Tibia: Excluí

Oneshot, explique melhor, você só colocou o script, não colocou npc, e nem disse como era.

Caro Ryl, vou tentar lhe explicar, e com ScreenShot:

 

Primeiro: pasta do seu ot/data/npcs, crie um arquivo xml, renomeie para Addon Seller abra-o em bloco de notas e coloque isso:

 

<?xml version="1.0" encoding="UTF-8"?>
<npc name="Addon Seller" script="data/npc/scripts/addons.lua" walkinterval="2000" floorchange="0">
<health now="100" max="100"/>
<look type="9" head="114" body="114" legs="114" feet="114" addons="3"/>
</npc>

 

Em seguida va na: Pasta do seu ot/data/npc/scripts, copie qualquer arquivo lua, que situa lá, renomeie para "addons", abra-o em bloco de notas e coloque isso:

 

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

function buyAddons(cid, message, keywords, parameters, node)
--TODO: buyAddons function in modules.lua
if(not npcHandler:isFocused(cid)) then
	return false
end

local addon = parameters.addon
local cost = parameters.cost
local premium = (parameters.premium ~= nil and parameters.premium)

if isPlayerPremiumCallback == nil or (isPlayerPremiumCallback(cid) and premium) then
	if doPlayerRemoveMoney(cid, cost) == TRUE then
		doPlayerAddAddons(cid, addon)
		npcHandler:say('Pronto! Agora você pode usar os tipos de addons que você comprou', cid)
	else
		npcHandler:say('Desculpe Mas Você não tem o dinheiro Necessário', cid)
	end
else
	npcHandler:say('Eu vendo apenas para premium accounts', cid)
end

keywordHandler:moveUp(1)
return true
end

local node1 = keywordHandler:addKeyword({'first addon'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Quer comprar o primeiro addon por apenas 50000 gps? '})
node1:addChildKeyword({'yes'}, buyAddons, {addon = 1, cost = 50000, premium = true})
node1:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, moveup = 1, text = ':S'})

local node2 = keywordHandler:addKeyword({'second addon'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Quer comprar a segunda addon por apenas 200000 gps?'})
node2:addChildKeyword({'yes'}, buyAddons, {addon = 2, cost = 200000, premium = true})
node2:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, moveup = 1, text = ':S'})

keywordHandler:addKeyword({'addon'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Eu vendo o primeiro addon por apenas 50000 gps e a seccond addon por apenas 200000 gps'})

npcHandler:addModule(FocusModule:new())

 

SS do NPC:

addonseller.png

__________________

 

Passei o NPC para o português para que auxilie os players para que consigam comprar ageitei também as falas que estavam meias ruins, e ageitei também as informações sobre o addon...

__________________

 

Mapa que estava usando na ss, Mapa para teste: Slayer Yourots

Créditos : 100% meus.

 

Grato

SirAvatar.

 

Se tirei sua dúvida reporte o tópico para algum moderador, ou alguém de um nível acima de moderador poder fechar o Tópico.

FLW!

Contato:

Skype:

sir.avatar

MSN

nininho41@hotmail.com

 

Meu Fã? Usou algum trabalho meu ? Me copiou ? Me odeia ? Use minha FanBar

mtofodaa.png

 

xtibia2010.png

 

Abraço para os homens, e um beijo nas mulheres ;*

Megahh

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 15/01/08Posts: 0

Pow velho, eu fiz ai a parada, mas quando eu digo "yes" pro npc, ele não faz nda.

quando eu digo "no" ele fala e talz...

da pra ver isso pra mim aew ?