Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Galera, gostaria de um NPC meu ao invés de vender itens em gold's vender em talons...como faço? Não tenho a opção de escolher o id do item.

 

 

 

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

<npc name="Event Items" script="data/npc/scripts/default.lua" walkinterval="2000" floorchange="0">
<health now="100" max="100"/>
<look type="146" head="12" body="101" legs="122" feet="115" addons="2"/>
<parameters>
<parameter key="module_shop" value="1"/>
<parameter key="message_greet" value="Hello |PLAYERNAME|. I buy helmets, armors, legs, boots, weapons and shields, just {trade}."/>
<parameter key="shop_sellable" value=""/>
<parameter key="shop_buyable" value="Rare Event Axe,8926,9;Rare Event Staff,8921,999;Rare Event Shuriken,7368,999"/>
</parameters>
</npc>    
 
OBS: O spoiler e o quote só está pegando a primeira linha, então deixei assim mesmo
Editado por Ariius (veja o histórico de edições)

Sign's


r6z42f.png
Feito por: Anne Motta

dxo51e.png
Feito por: Mim! kk ' Primeira Sign *-*




Link para o post
Compartilhar em outros sites

Olha, dá pra fazer um npc que venda os intes por fala, tipo, sem aparecer aquela tabelinha com o item e o preço.

 

Ou vc pode tentar esse npc aqui:

http://www.tibiaking.com/forum/topic/8742-npc-troca-de-itens/

Editado por danihcv (veja o histórico de edições)

Te ajudei?? REP + e ficamos quites... <ahttp://www.tibiaking.com/forum/uploads/emoticons/default_happyy.png' alt=';D'>

Atenciosamente,

Daniel.

Abraços!

Link para o post
Compartilhar em outros sites

Mais como configuro ele? ele está assim:  

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

 
@Edit: Danih não é esse NPC que procuro...esse é tipo uma quest..
oque procuro é que troca talons por itens....por exemplo uma arma custa 20 talons
Editado por Ariius (veja o histórico de edições)

Sign's


r6z42f.png
Feito por: Anne Motta

dxo51e.png
Feito por: Mim! kk ' Primeira Sign *-*




Link para o post
Compartilhar em outros sites

Tenta ae:

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


-- Config --

local configs = {
	
	FirstItemId = 2151, --ID do talon
	FirstItemCount = 5, --Quantidade de talon
	SecondItemId = 2160, --ID do item que o player vai receber
	SecondItemCount = 1, --Quantidade do item que o player vai receber

	msgMeet = 'Você deseja trocar '..FirstItemCount .. ' '.. getItemName(FirstItemId) ..' por '.. SecondItemCount ..' '.. getItemName(SecondItemId) ..'?',
	msgNotItem = "Voce não tem o item necessario.",

	}


function npcTroca(cid, message, keywords, parameters, node)

	if(not npcHandler:isFocused(cid)) then
		return false
	end

	if (getItemCount(cid, configs.FirstItemId) == configs.FirstItemCount) then
		doRemoveItem(configs.FirstItemId, config.FirstItemCount)
		doPlayerAddItem(cid, configs.SecondItemId, configs.SecondItemCount)
	else
		return	 doPlayerSendTextMessage(cid, 27, configs.msgtNotItem)
	end	
   end
end

itemTrade = keywordHandler:addKeyword({'offer'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = configs.msgMeet})
itemTrade:addChildKeyword({'yes'}, npcTroca, {})
itemTrade:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Alright then.', reset = true})
		
npcHandler:addModule(FocusModule:new())
Editado por danihcv (veja o histórico de edições)

Te ajudei?? REP + e ficamos quites... <ahttp://www.tibiaking.com/forum/uploads/emoticons/default_happyy.png' alt=';D'>

Atenciosamente,

Daniel.

Abraços!

Link para o post
Compartilhar em outros sites

Não funcionou, pois no respawn do NPC no REMERES é em xml, não sei como fazer ....

Sign's


r6z42f.png
Feito por: Anne Motta

dxo51e.png
Feito por: Mim! kk ' Primeira Sign *-*




Link para o post
Compartilhar em outros sites

Ñ rapaz, isso aí é o script do npc.

Faz isso:

Cria um arquivo chamado traderNpc.xml na pasta npc:

<?xml version="1.0" encoding="UTF-8"?>
<npc name="Trader" script="data/npc/scripts/traderNpc.lua" walkinterval="1500" speed="100" walkradius="2" floorchange="0">
	<health max="100" now="100"/>
	<look type="130" head="115" body="96" legs="94" feet="2" addons="3" mount="0"/>
</npc>

Aí na pasta noc/scripts cria um arquivo chamado traderNpc.lua e coloca isso dentro:

--Npc by Danihcv to TibiaKing.com

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


-- Config --

local configs = {
	
	FirstItemId = 2151, --ID do talon
	FirstItemCount = 5, --Quantidade de talon
	SecondItemId = 2160, --ID do item que o player vai receber
	SecondItemCount = 1, --Quantidade do item que o player vai receber

	msgMeet = 'Você deseja trocar '..FirstItemCount .. ' '.. getItemName(FirstItemId) ..' por '.. SecondItemCount ..' '.. getItemName(SecondItemId) ..'?',
	msgNotItem = "Voce não tem o item necessario.",

	}


function npcTroca(cid, message, keywords, parameters, node)

	if(not npcHandler:isFocused(cid)) then
		return false
	end

	if (getItemCount(cid, configs.FirstItemId) == configs.FirstItemCount) then
		doRemoveItem(configs.FirstItemId, config.FirstItemCount)
		doPlayerAddItem(cid, configs.SecondItemId, configs.SecondItemCount)
	else
		return	 doPlayerSendTextMessage(cid, 27, configs.msgtNotItem)
	end	
   end
end

itemTrade = keywordHandler:addKeyword({'offer'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = configs.msgMeet})
itemTrade:addChildKeyword({'yes'}, npcTroca, {})
itemTrade:addChildKeyword({'no'}, StdModule.say, {npcHandler = npcHandler, onlyFocus = true, text = 'Alright then.', reset = true})
		
npcHandler:addModule(FocusModule:new())

Vê aí.

Te ajudei?? REP + e ficamos quites... <ahttp://www.tibiaking.com/forum/uploads/emoticons/default_happyy.png' alt=';D'>

Atenciosamente,

Daniel.

Abraços!

Link para o post
Compartilhar em outros sites

Não funfou brother, o NPC acabou sumindo do mapa.

Sign's


r6z42f.png
Feito por: Anne Motta

dxo51e.png
Feito por: Mim! kk ' Primeira Sign *-*




Link para o post
Compartilhar em outros sites

Acabou sumindo?? Como assim?? Isso aí é pra criar um novo npc.

LOL kkk Explica melhor...

Editado por danihcv (veja o histórico de edições)

Te ajudei?? REP + e ficamos quites... <ahttp://www.tibiaking.com/forum/uploads/emoticons/default_happyy.png' alt=';D'>

Atenciosamente,

Daniel.

Abraços!

Link para o post
Compartilhar em outros sites

Ao fazer passo a passo, o NPC simplesmente sumiu do map....:@ 

Sign's


r6z42f.png
Feito por: Anne Motta

dxo51e.png
Feito por: Mim! kk ' Primeira Sign *-*




Link para o post
Compartilhar em outros sites

Aí vc entra com o god e digita /n traderNpc aí se ñ funcionar digita /n Trader

Te ajudei?? REP + e ficamos quites... <ahttp://www.tibiaking.com/forum/uploads/emoticons/default_happyy.png' alt=';D'>

Atenciosamente,

Daniel.

Abraços!

Link para o post
Compartilhar em outros sites

Nada funcionando ainda :@

Sign's


r6z42f.png
Feito por: Anne Motta

dxo51e.png
Feito por: Mim! kk ' Primeira Sign *-*




Link para o post
Compartilhar em outros sites

Vc importou corretamente o npc no remeres?

Scripter: |||||||||| 10%

 

 

Te ajudei?? REP + e ficamos quites...  ;D

 

Atenciosamente,

                   Lucas.

Abraços!

Link para o post
Compartilhar em outros sites

Simm, oque não consigo é fazer o npc cobrar TALONS ao invés de GOLD

Sign's


r6z42f.png
Feito por: Anne Motta

dxo51e.png
Feito por: Mim! kk ' Primeira Sign *-*




Link para o post
Compartilhar em outros sites

@UP

Sign's


r6z42f.png
Feito por: Anne Motta

dxo51e.png
Feito por: Mim! kk ' Primeira Sign *-*




Link para o post
Compartilhar em outros sites

Cria um arquivo jax.lua:

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 items = {
item1 = {2346, 2349}, -- item1 item que será pedido e que será dado na primeira troca
item2 = {2033, 15515} -- item2 item que será pedido e que será dado na segunda troca
}
local counts = {
count1 = {1, 1}, -- count1 quantidade que será pedido e que será dado na primeira troca
count2 = {10, 1} -- count2 quantidade que será pedido e que será dado na segunda troca
}

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, 'blue note') then
if getPlayerItemCount(cid, items.item1[1]) >= counts.count1[1] then
doPlayerRemoveItem(cid, items.item1[1], counts.count1[1])
doPlayerAddItem(cid, items.item1[2], counts.count1[2])
selfSay('You just swap '.. counts.count1[1] ..' '.. getItemNameById(items.item1[1]) ..' for '.. counts.count1[2] ..' '.. getItemNameById(items.item1[2]) ..'.', cid)
else
selfSay('You need '.. counts.count1[1] ..' '.. getItemNameById(items.item1[1]) ..'.', cid)
end

elseif msgcontains(msg, 'bar of gold') then
if getPlayerItemCount(cid, items.item2[1]) >= counts.count2[1] then
doPlayerRemoveItem(cid, items.item2[1], counts.count2[1])
doPlayerAddItem(cid, items.item2[2], counts.count2[2])
selfSay('You just swap '.. counts.count2[1] ..' '.. getItemNameById(items.item2[1]) ..' for '.. counts.count2[2] ..' '.. getItemNameById(items.item2[2]) ..'.', cid)
else
selfSay('You need '.. counts.count2[1] ..' '.. getItemNameById(items.item2[1]) ..'.', cid)
end
end
return TRUE
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

E o xml do npc que vc precisa colocar quais itens ele tem para trocar:

<?xml version="1.0" encoding="UTF-8"?>
<npc name="Jax" script="Jax.lua" walkinterval="2000" floorchange="0">
<health now="150" max="150" />
<look type="134" head="57" body="59" legs="40" feet="76" corpse="2212" />
<parameters>
<parameter key="message_greet" value="Hello |PLAYERNAME|. Do not want to make an exchange? I have {blue note} and {bar of gold}." />
<parameter key="message_farewell" value="Bye bye!" />
</parameters>
</npc>

 

Script by @GiovaniRodrigo

 

Ñ esqueça de configurar as trocas:

Citar

 

local items = {
item1 = {2346, 2349}, -- item1 item que será pedido e que será dado na primeira troca
item2 = {2033, 15515} -- item2 item que será pedido e que será dado na segunda troca

Te ajudei?? REP + e ficamos quites... <ahttp://www.tibiaking.com/forum/uploads/emoticons/default_happyy.png' alt=';D'>

Atenciosamente,

Daniel.

Abraços!

Link para o post
Compartilhar em outros sites

Nao funcionou irmao

Sign's


r6z42f.png
Feito por: Anne Motta

dxo51e.png
Feito por: Mim! kk ' Primeira Sign *-*




Link para o post
Compartilhar em outros sites

Erros na distro?

Scripter: |||||||||| 10%

 

 

Te ajudei?? REP + e ficamos quites...  ;D

 

Atenciosamente,

                   Lucas.

Abraços!

Link para o post
Compartilhar em outros sites

Nenhum.

Sign's


r6z42f.png
Feito por: Anne Motta

dxo51e.png
Feito por: Mim! kk ' Primeira Sign *-*




Link para o post
Compartilhar em outros sites

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

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo