Ir para conteúdo

[Npc] Addon


netflat15

Posts Recomendados

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

Link para o comentário
Compartilhar em outros sites

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())

Link para o comentário
Compartilhar em outros sites

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!

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

  • 2 weeks later...
Visitante
Este tópico está impedido de receber novos posts.
  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...