KA

Npc que vende items por Outros items

Por kaizy536, 28 de nov. de 2013 em NPCs, monsters e raids

otserv
10
25.8k
kaizy536K
28 de novembro de 2013 às 12:05

Então galera do xTibia, Blz?

Esses dias eu tava me matando pra conseguir por um Npc que venda items por outro tipo de moeda, porem não achava nada, nem conseguia modificar os script, os unicos script que eu achei nunca funcionava direito, ou o npc realmente anunciava que vendia os items, porem nao vendia, ou simplesmente nao falava nada, ficava perambulando la, foi quando eu achei um script que realmente funcione, e quero compartilha ele com voces, porque sei que muita gente quer esse tipo de npc :).

 

Começando:

 

  • Vai em data/npc e crie um arquivo.xml, nomeia ele como você quiser, depois você cola isso dentro dele:

 

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

<npc name="Nome do Npc" script="nome_do_arquivo.lua" walkinterval="2000" floorchange="0">
<health now="100" max="100"/>
<look type="300" head="0" body="0" legs="0" feet="0" corpse="5995"/>
<parameters>
<parameter key="message_greet" value="Hello |PLAYERNAME|! Do you want to do some {trading}?"/>
</parameters>
</npc>

 

 

Editando:

Vermelho - Nome de seu npc que vai aparecer no jogo.

Azul - nome do arquivo .lua que voce vai criar na pasta data/npc/script esse script eu vou passar pra voce jaja aki em baixo.

Verde - Aparencia do Npc.

 

 

  • Pronto, feito isso vai em data/npc/script, e cria um arquivo .lua é so copiar um arquivo existente e renomear, depois voce cola isso dentro:

 

 

 

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
function creatureSayCallback(cid, type, msg)
if(not npcHandler:isFocused(cid)) then
return false
end
local talkUser = NPCHANDLER_CONVbehavior == CONVERSATION_DEFAULT and 0 or cid
local shopWindow = {}
local moeda = 9971
local t = {
[6096] = {price = 500}, -- Nome do Item
[6095] = {price = 500}, -- Nome do Item
[5918] = {price = 500}, -- Nome do Item
[2527] = {price = 500}, -- Nome do Item
}
local onBuy = function(cid, item, subType, amount, ignoreCap, inBackpacks)
if t[item] and not doPlayerRemoveItem(cid, moeda, t[item].price) then
selfSay("Desculpe, mas voce nao tem "..t[item].price.." "..getItemNameById(moeda), cid)
else
doPlayerAddItem(cid, item)
selfSay("aqui esta seu item!", cid)
end
return true
end
if (msgcontains(msg, 'trade') or msgcontains(msg, 'TRADE'))then
for var, ret in pairs(t) do
table.insert(shopWindow, {id = var, subType = 0, buy = ret.price, sell = 0, name = getItemNameById(var)})
end
openShopWindow(cid, shopWindow, onBuy, onSell)
end
return true
end
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

configurando:

  • Vermelho - ID do item que voce quer usar como moeda.
  • Roxo - Valor do item
  • Azul - ID do item que o npc ira vender
  • Marrom - Nome do item, nao é obrigatório por isso, mais é bom botar pra voce na hora que quiser alterar algo saber qual é o items.

 

 

 

Pronto, agora é so testar :)

 

PS: Esse script so tem um pequeno "erro", para comprar os items no npc é preciso ter GOLD na backpack, mais o GOLD nao sera removido, so sera removido a "Moeda" que voce escolheu :).

:) .

Espero ter ajudado. boa sorte.

 

Creditos pelo script: Vodkart (ele que postou em um topico, nao sei se foi ele, mais enfim, tem que por os credito ne kkk)

 

 

Editado: corrigido um erro no script, que quando o player tentava comprar algo, e nao tivesse a "moeda vip" dava um pequeno erro de aviso na distro.

28/11

Editado Novembro 28 por kaizy536

SuperionS
28 de novembro de 2013 às 12:14

Ótimo, também estava atrás disso.

Mas já vou garantindo seu REP+, quando eu chegar em casa eu testo.

KilluaK
28 de novembro de 2013 às 20:13

Tava se matando pra achar? oO Imagino como vc deve ter procurado bem kkkkkkkk: http://www.xtibia.com/forum/topic/224312-npc-trocador-simplificado-troca-itens-por-itens/

kaizy536K
28 de novembro de 2013 às 20:33

eu tinha achado o seu primeiro, porem deu o erro que eu citei no post ai em cima, que aparecia os items, mais nao vendia x.x, o npc falva o nome dos items, e eu procurava por sistema de "hi trade"

KilluaK
28 de novembro de 2013 às 20:40

Entendi entao a diferenca e que esse da pra ser pelo trade

kaizy536K
28 de novembro de 2013 às 21:07

sim xd

VillsV
29 de novembro de 2013 às 10:18

enfim, esse foi o unico que funcionou aqui obrigado mesmo.

Editado Novembro 29 por Vills

6 meses depois...
kamus9629K
01 de maio de 2014 às 16:35

Boa Tarde Fui testa sistema so qe mudei id para o item soqe nao funcionou ele ainda continuar como gold


desculpe erro meu funciounou sim


aki so foi 7 item e uma mask bugada qe nao consigo tirar qeria coloca mais item e possivel

1 ano depois...
duflexD
20 de dezembro de 2015 às 19:58

Então galera do xTibia, Blz?

Esses dias eu tava me matando pra conseguir por um Npc que venda items por outro tipo de moeda, porem não achava nada, nem conseguia modificar os script, os unicos script que eu achei nunca funcionava direito, ou o npc realmente anunciava que vendia os items, porem nao vendia, ou simplesmente nao falava nada, ficava perambulando la, foi quando eu achei um script que realmente funcione, e quero compartilha ele com voces, porque sei que muita gente quer esse tipo de npc :).

 

Começando:

 

  • Vai em data/npc e crie um arquivo.xml, nomeia ele como você quiser, depois você cola isso dentro dele:

 

 

Editando:

Vermelho - Nome de seu npc que vai aparecer no jogo.

Azul - nome do arquivo .lua que voce vai criar na pasta data/npc/script esse script eu vou passar pra voce jaja aki em baixo.

Verde - Aparencia do Npc.

 

 

  • Pronto, feito isso vai em data/npc/script, e cria um arquivo .lua é so copiar um arquivo existente e renomear, depois voce cola isso dentro:

 

 

 

configurando:

  • Vermelho - ID do item que voce quer usar como moeda.
  • Roxo - Valor do item
  • Azul - ID do item que o npc ira vender
  • Marrom - Nome do item, nao é obrigatório por isso, mais é bom botar pra voce na hora que quiser alterar algo saber qual é o items.

 

 

 

Pronto, agora é so testar :)

 

PS: Esse script so tem um pequeno "erro", para comprar os items no npc é preciso ter GOLD na backpack, mais o GOLD nao sera removido, so sera removido a "Moeda" que voce escolheu :).

:) .

Espero ter ajudado. boa sorte.

 

Creditos pelo script: Vodkart (ele que postou em um topico, nao sei se foi ele, mais enfim, tem que por os credito ne kkk)

 

 

quando dou /n não sumona e aparece este erro na distro:

 

[20/12/2015 19:46:40] (luaGetItemAttribute) Item not found

[20/12/2015 19:46:49] [Error - LuaScriptInterface::loadFile] data/npc/scripts/Vip Seller.lua:1: unexpected symbol near 'ï'

[20/12/2015 19:46:49] [Warning - NpcScript::NpcScript] Cannot load script: data/npc/scripts/Vip Seller.lua

[20/12/2015 19:46:49] data/npc/scripts/Vip Seller.lua:1: unexpected symbol near 'ï'

 

 

4 anos depois...
kamus9629K
23 de janeiro de 2020 às 20:26

tem como fazer mais moedas nao tipo moeda Liga moeda EVENTO moeda platinum no mesmo npc ?

Editado Janeiro 23 por kamus9629