Ir para conteúdo
  • Cadastre-se

[PEDIDO] NPC vender item por outro item


Posts Recomendados

Fala galerinha!

 

Estou precisando muito de um NPC que venda um item por uma moeda diferente (Barras de Ouro)

Meu servidor é TFS 1.2

Achei alguns NPCs como eu queria mas na hora que eu digo o nome do item que vou comprar pelas barras, o NPC não entrega o item e nem pega as barras de ouro.

Ficarei muito grato a quem puder me ajudar.

 

***

10 Barras -> Soft Boots

5 Barras -> Demon Armor

(Quero poder colocar mais de um item a venda nesse NPC)

 

 

Abração!

Link para o post
Compartilhar em outros sites

Poderia me disponibilizar o id do item ?

Ajudei? REP+

 

Meus Servers:

PokeUnwind Em Breve

Rust Tibia Fechado

 

Tópicos: 

[Tutorial] Adicionando Pokemons com icon system

[Solução] ElfBot não abre corpos

 

Projetos:

DigiTibia Fechado

Rust Tibia Fechado(temporariamente!)

Link para o post
Compartilhar em outros sites

Em npc crie um arquvo com nome Contrabandista.xml e cole

Spoiler

<?xml version="1.0" encoding="UTF-8"?>
<npc name="Xablau" script="Contrabandista.lua" walkinterval="350000" floorchange="0" speed="0">
<health now="100" max="100"/>
<look type="2200" head="20" body="100" legs="50" feet="0"/>
<parameters>
<parameter key="message_greet" value="Ola |PLAYERNAME| Eu vendo {demon armor}, {soft boots} esta interessado em algo?"/> </parameters>
</npc>

Em npc/scripts crie um arquivo  Contrabandista.lua e cole

Spoiler

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
   msg = string.lower(msg)
   ---------
   local need = {
      {id = 15515, qt = 5}, --Barras de Ouro
   }
   local rewards = {
      {id = 3888, qt = 1}, --Demon Armor
   }
   local stoFinish = 92119
   ---------
   
   if msgcontains(msg, 'Demon armor') or msgcontains(msg, 'demon armor') then
      if getPlayerStorageValue(cid, stoFinish) >= 99 then
         selfSay("Sorry, you already had done this quest.", cid)
         talkState[talkUser] = 0
         return true
      end
      selfSay("Gostaria de trocar 5 Barras de Ouro por uma Demon Armor? Diga {buy demon}",cid)
      talkState[talkUser] = 1
      return true 
   elseif msgcontains(msg, 'buy demon') or msgcontains(msg, 'comprar Demon') and talkState[talkUser] == 1 then
      if getPlayerItemCount(cid, need[1].id) < need[1].qt then
         selfSay("Você não me trouxe as Barras de Ouro...", cid)
         talkState[talkUser] = 0
         return true
      end
      for i = 1, #need do
          doPlayerRemoveItem(cid, need.id, need.qt)
      end
      for i = 1, #rewards do
          doPlayerAddItem(cid, rewards.id, rewards.qt)
                        doPlayerAddExperience(cid, 0)
      end
      selfSay("Ate Logo!", cid)
      setPlayerStorageValue(cid, stoFinish, 1)
      talkState[talkUser] = 0
      return truez
   end
   --------------------------------------------------------------------
      local need1 = {
      {id = 15515, qt = 10}, --Barras de Ouro
   }
   local rewards1 = {
      {id = 6529, qt = 1}, --Soft Boots
   }
   local stoFinish = 92119
   ---------
   
   if msgcontains(msg, 'Soft boots') or msgcontains(msg, 'soft boots') then
      if getPlayerStorageValue(cid, stoFinish) >= 99 then
         selfSay("Sorry, you already had done this quest.", cid)
         talkState[talkUser] = 0
         return true
      end
      selfSay("Gostaria de trocar 10 Barras de Ouro por uma Soft Boots? Diga {buy soft}",cid)
      talkState[talkUser] = 1
      return true 
   elseif msgcontains(msg, 'buy soft') or msgcontains(msg, 'comprar soft') and talkState[talkUser] == 1 then
      if getPlayerItemCount(cid, need1[1].id) < need1[1].qt then
         selfSay("Você não me trouxe as Barras de Ouro...", cid)
         talkState[talkUser] = 0
         return true
      end
      for i = 1, #need1 do
          doPlayerRemoveItem(cid, need1.id, need1.qt)
      end
      for i = 1, #rewards1 do
          doPlayerAddItem(cid, rewards1.id, rewards1.qt)
                        doPlayerAddExperience(cid, 0)
      end
      selfSay("Ate Logo!", cid)
      setPlayerStorageValue(cid, stoFinish, 1)
      talkState[talkUser] = 0
      return truez
   end
   return true
end       
                    
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
   

Da para diminuir esse script mais estava sem tempo, esse ai da pra quebrar o galho por enquanto.

Qualquer erro só falar!

obs testei em um server de poketibia não sei se funcionara no tibia

 

Ajudei? REP+

 

Meus Servers:

PokeUnwind Em Breve

Rust Tibia Fechado

 

Tópicos: 

[Tutorial] Adicionando Pokemons com icon system

[Solução] ElfBot não abre corpos

 

Projetos:

DigiTibia Fechado

Rust Tibia Fechado(temporariamente!)

Link para o post
Compartilhar em outros sites
14 minutos atrás, Ckfox disse:

Em npc crie um arquvo com nome Contrabandista.xml e cole

  Ocultar conteúdo

<?xml version="1.0" encoding="UTF-8"?>
<npc name="Xablau" script="Contrabandista.lua" walkinterval="350000" floorchange="0" speed="0">
<health now="100" max="100"/>
<look type="2200" head="20" body="100" legs="50" feet="0"/>
<parameters>
<parameter key="message_greet" value="Ola |PLAYERNAME| Eu vendo {demon armor}, {soft boots} esta interessado em algo?"/> </parameters>
</npc>

Em npc/scripts crie um arquivo  Contrabandista.lua e cole

  Ocultar conteúdo

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
   msg = string.lower(msg)
   ---------
   local need = {
      {id = 15515, qt = 5}, --Barras de Ouro
   }
   local rewards = {
      {id = 3888, qt = 1}, --Demon Armor
   }
   local stoFinish = 92119
   ---------
   
   if msgcontains(msg, 'Demon armor') or msgcontains(msg, 'demon armor') then
      if getPlayerStorageValue(cid, stoFinish) >= 99 then
         selfSay("Sorry, you already had done this quest.", cid)
         talkState[talkUser] = 0
         return true
      end
      selfSay("Gostaria de trocar 5 Barras de Ouro por uma Demon Armor? Diga {buy demon}",cid)
      talkState[talkUser] = 1
      return true 
   elseif msgcontains(msg, 'buy demon') or msgcontains(msg, 'comprar Demon') and talkState[talkUser] == 1 then
      if getPlayerItemCount(cid, need[1].id) < need[1].qt then
         selfSay("Você não me trouxe as Barras de Ouro...", cid)
         talkState[talkUser] = 0
         return true
      end
      for i = 1, #need do
          doPlayerRemoveItem(cid, need.id, need.qt)
      end
      for i = 1, #rewards do
          doPlayerAddItem(cid, rewards.id, rewards.qt)
                        doPlayerAddExperience(cid, 0)
      end
      selfSay("Ate Logo!", cid)
      setPlayerStorageValue(cid, stoFinish, 1)
      talkState[talkUser] = 0
      return truez
   end
   --------------------------------------------------------------------
      local need1 = {
      {id = 15515, qt = 10}, --Barras de Ouro
   }
   local rewards1 = {
      {id = 6529, qt = 1}, --Soft Boots
   }
   local stoFinish = 92119
   ---------
   
   if msgcontains(msg, 'Soft boots') or msgcontains(msg, 'soft boots') then
      if getPlayerStorageValue(cid, stoFinish) >= 99 then
         selfSay("Sorry, you already had done this quest.", cid)
         talkState[talkUser] = 0
         return true
      end
      selfSay("Gostaria de trocar 10 Barras de Ouro por uma Soft Boots? Diga {buy soft}",cid)
      talkState[talkUser] = 1
      return true 
   elseif msgcontains(msg, 'buy soft') or msgcontains(msg, 'comprar soft') and talkState[talkUser] == 1 then
      if getPlayerItemCount(cid, need1[1].id) < need1[1].qt then
         selfSay("Você não me trouxe as Barras de Ouro...", cid)
         talkState[talkUser] = 0
         return true
      end
      for i = 1, #need1 do
          doPlayerRemoveItem(cid, need1.id, need1.qt)
      end
      for i = 1, #rewards1 do
          doPlayerAddItem(cid, rewards1.id, rewards1.qt)
                        doPlayerAddExperience(cid, 0)
      end
      selfSay("Ate Logo!", cid)
      setPlayerStorageValue(cid, stoFinish, 1)
      talkState[talkUser] = 0
      return truez
   end
   return true
end       
                    
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
   

Da para diminuir esse script mais estava sem tempo, esse ai da pra quebrar o galho por enquanto.

Qualquer erro só falar!

obs testei em um server de poketibia não sei se funcionara no tibia

 

 

Amigo estou com o mesmo problema e acho que você pode ajudar ambos... Poderia explicar no escript como fazer pra alterar o item que seria as barras de ouro? por outro? Tipo tarantulla egg? E como colocar mais itens... Pois quero o mesmo sistema no meu servidor, porém, quero colocar muitos itens... Se puder ajudar, grato. Se não puder, grato também :p

 

 

 

Link para o post
Compartilhar em outros sites
30 minutos atrás, Ckfox disse:

Em npc crie um arquvo com nome Contrabandista.xml e cole

  Ocultar conteúdo

<?xml version="1.0" encoding="UTF-8"?>
<npc name="Xablau" script="Contrabandista.lua" walkinterval="350000" floorchange="0" speed="0">
<health now="100" max="100"/>
<look type="2200" head="20" body="100" legs="50" feet="0"/>
<parameters>
<parameter key="message_greet" value="Ola |PLAYERNAME| Eu vendo {demon armor}, {soft boots} esta interessado em algo?"/> </parameters>
</npc>

Em npc/scripts crie um arquivo  Contrabandista.lua e cole

  Ocultar conteúdo

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
   msg = string.lower(msg)
   ---------
   local need = {
      {id = 15515, qt = 5}, --Barras de Ouro
   }
   local rewards = {
      {id = 3888, qt = 1}, --Demon Armor
   }
   local stoFinish = 92119
   ---------
   
   if msgcontains(msg, 'Demon armor') or msgcontains(msg, 'demon armor') then
      if getPlayerStorageValue(cid, stoFinish) >= 99 then
         selfSay("Sorry, you already had done this quest.", cid)
         talkState[talkUser] = 0
         return true
      end
      selfSay("Gostaria de trocar 5 Barras de Ouro por uma Demon Armor? Diga {buy demon}",cid)
      talkState[talkUser] = 1
      return true 
   elseif msgcontains(msg, 'buy demon') or msgcontains(msg, 'comprar Demon') and talkState[talkUser] == 1 then
      if getPlayerItemCount(cid, need[1].id) < need[1].qt then
         selfSay("Você não me trouxe as Barras de Ouro...", cid)
         talkState[talkUser] = 0
         return true
      end
      for i = 1, #need do
          doPlayerRemoveItem(cid, need.id, need.qt)
      end
      for i = 1, #rewards do
          doPlayerAddItem(cid, rewards.id, rewards.qt)
                        doPlayerAddExperience(cid, 0)
      end
      selfSay("Ate Logo!", cid)
      setPlayerStorageValue(cid, stoFinish, 1)
      talkState[talkUser] = 0
      return truez
   end
   --------------------------------------------------------------------
      local need1 = {
      {id = 15515, qt = 10}, --Barras de Ouro
   }
   local rewards1 = {
      {id = 6529, qt = 1}, --Soft Boots
   }
   local stoFinish = 92119
   ---------
   
   if msgcontains(msg, 'Soft boots') or msgcontains(msg, 'soft boots') then
      if getPlayerStorageValue(cid, stoFinish) >= 99 then
         selfSay("Sorry, you already had done this quest.", cid)
         talkState[talkUser] = 0
         return true
      end
      selfSay("Gostaria de trocar 10 Barras de Ouro por uma Soft Boots? Diga {buy soft}",cid)
      talkState[talkUser] = 1
      return true 
   elseif msgcontains(msg, 'buy soft') or msgcontains(msg, 'comprar soft') and talkState[talkUser] == 1 then
      if getPlayerItemCount(cid, need1[1].id) < need1[1].qt then
         selfSay("Você não me trouxe as Barras de Ouro...", cid)
         talkState[talkUser] = 0
         return true
      end
      for i = 1, #need1 do
          doPlayerRemoveItem(cid, need1.id, need1.qt)
      end
      for i = 1, #rewards1 do
          doPlayerAddItem(cid, rewards1.id, rewards1.qt)
                        doPlayerAddExperience(cid, 0)
      end
      selfSay("Ate Logo!", cid)
      setPlayerStorageValue(cid, stoFinish, 1)
      talkState[talkUser] = 0
      return truez
   end
   return true
end       
                    
npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())
   

Da para diminuir esse script mais estava sem tempo, esse ai da pra quebrar o galho por enquanto.

Qualquer erro só falar!

obs testei em um server de poketibia não sei se funcionara no tibia

 

 

Irei testar, mesmo se não funcionar o que vale é a intenção (+1 REP)

Muito obrigado @Ckfox, assim que testar aqui já modifico e post e sempre irei lhe dar +1 REP

Link para o post
Compartilhar em outros sites
24 minutos atrás, lucaspds disse:

 

Então mano como disse estou sem tempo por isso o script n ta rusumidinho para facilitar a adição de novos itens mais continua muito simples em :

local need = {
      {id = 15515, qt = 5}, --Barras de Ouro
   }

Id coloque o id do item que será retirado do player

Em :

 local rewards = {
      {id = 3888, qt = 1}, --Demon Armor
   }

Em id coloque o id do item que será dado ao player

Para adicionar novos itens e um pouco mais complicado no momento mais vou modificar isso, no máximo até sexta modifico este código

Obs: estou no celular não sei muito bem como estará o topico

8 minutos atrás, LukazGiovanni disse:

 

Irei testar, mesmo se não funcionar o que vale é a intenção (+1 REP)

Muito obrigado @Ckfox, assim que testar aqui já modifico e post e sempre irei lhe dar +1 REP

Fico grato mano, so pra avisar n sei se esses são os IDS corretos da demon armor nem da soft boots eu os pequei em um site

 

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

Ajudei? REP+

 

Meus Servers:

PokeUnwind Em Breve

Rust Tibia Fechado

 

Tópicos: 

[Tutorial] Adicionando Pokemons com icon system

[Solução] ElfBot não abre corpos

 

Projetos:

DigiTibia Fechado

Rust Tibia Fechado(temporariamente!)

Link para o post
Compartilhar em outros sites
6 minutos atrás, Ckfox disse:

Então mano como disse estou sem tempo por isso o script n ta rusumidinho para facilitar a adição de novos itens mais continua muito simples em :

local need = {
      {id = 15515, qt = 5}, --Barras de Ouro
   }

Id coloque o id do item que será retirado do player

Em :

 local rewards = {
      {id = 3888, qt = 1}, --Demon Armor
   }

Em id coloque o id do item que será dado ao player

Para adicionar novos itens e um pouco mais complicado no momento mais vou modificar isso, no máximo até sexta modifico este código

Obs: estou no celular não sei muito bem como estará o topico

Fico grato mano do pra avisar n sei se esses são os IDS corretos da demon armor nem da soft boots eu os pequei em um site

 

 

VLW KRA, vou acompanhar o post até sexta, vai quebrar um galho enorme, o/ Obrigado por compartilhar o conhecimento o/

 

 

 

Link para o post
Compartilhar em outros sites
Em 18/02/2016 00:25:41, Ckfox disse:

Então mano como disse estou sem tempo por isso o script n ta rusumidinho para facilitar a adição de novos itens mais continua muito simples em :

local need = {
      {id = 15515, qt = 5}, --Barras de Ouro
   }

Id coloque o id do item que será retirado do player

Em :

 local rewards = {
      {id = 3888, qt = 1}, --Demon Armor
   }

Em id coloque o id do item que será dado ao player

Para adicionar novos itens e um pouco mais complicado no momento mais vou modificar isso, no máximo até sexta modifico este código

Obs: estou no celular não sei muito bem como estará o topico

Fico grato mano, so pra avisar n sei se esses são os IDS corretos da demon armor nem da soft boots eu os pequei em um site

 

 

 

 

Ainda esperando script :# rsrsrs

 

Link para o post
Compartilhar em outros sites
50 minutos atrás, LukazGiovanni disse:

Script não funcionou no meu TFS 1.2

Se alguém puder me ajudar, ficarei muito grato!

chequei agr estava viajando vou baixar um server de tibia e arrumar

 

Ajudei? REP+

 

Meus Servers:

PokeUnwind Em Breve

Rust Tibia Fechado

 

Tópicos: 

[Tutorial] Adicionando Pokemons com icon system

[Solução] ElfBot não abre corpos

 

Projetos:

DigiTibia Fechado

Rust Tibia Fechado(temporariamente!)

Link para o post
Compartilhar em outros sites
Em 20/02/2016 13:07:39, Ckfox disse:

chequei agr estava viajando vou baixar um server de tibia e arrumar

 

Não querendo abusar da sua generosidade, mas caso tenha esquecido do post, ainda estamos no aguardo o/

 

Link para o post
Compartilhar em outros sites

@lucaspds eu consegui o script, peguei de um servidor antigo e tive que estudar um pouco pra fazer ele funcionar no TFS 1.2

 

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

local Topic = {}

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 barras = 15515 -- ID DAS BARRAS AQUI
	
	if(msgcontains(msg, 'Addon Doll')) then
		if getPlayerItemCount(cid, barras) >= 35 then
			doPlayerRemoveItem(cid, barras, 35)
			doPlayerAddItem(cid, 9693, 1)
			npcHandler:say('Foi um prazer negociar com voce.', cid)
		else
			npcHandler:say('Voce nao tem barras suficiente.', cid)
		end
	end
	
	if(msgcontains(msg, 'Mount Doll')) then
		if getPlayerItemCount(cid, barras) >= 50 then
			doPlayerRemoveItem(cid, barras, 50)
			doPlayerAddItem(cid, 9019, 1)
			npcHandler:say('Foi um prazer negociar com voce.', cid)
		else
			npcHandler:say('Voce nao tem barras suficiente.', cid)
		end
	end

	if(msgcontains(msg, 'VIP III Teleport')) then
		if getPlayerItemCount(cid, barras) >= 200 then
			doPlayerRemoveItem(cid, barras, 200)
			doPlayerAddItem(cid, 24759, 1)
			npcHandler:say('Foi um prazer negociar com voce.', cid)
		else
			npcHandler:say('Voce nao tem barras suficiente.', cid)
		end
	end

	
	
	
	
return true
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

Link para o post
Compartilhar em outros sites
31 minutos atrás, LukazGiovanni disse:

@lucaspds eu consegui o script, peguei de um servidor antigo e tive que estudar um pouco pra fazer ele funcionar no TFS 1.2

 


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

local Topic = {}

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 barras = 15515 -- ID DAS BARRAS AQUI
	
	if(msgcontains(msg, 'Addon Doll')) then
		if getPlayerItemCount(cid, barras) >= 35 then
			doPlayerRemoveItem(cid, barras, 35)
			doPlayerAddItem(cid, 9693, 1)
			npcHandler:say('Foi um prazer negociar com voce.', cid)
		else
			npcHandler:say('Voce nao tem barras suficiente.', cid)
		end
	end
	
	if(msgcontains(msg, 'Mount Doll')) then
		if getPlayerItemCount(cid, barras) >= 50 then
			doPlayerRemoveItem(cid, barras, 50)
			doPlayerAddItem(cid, 9019, 1)
			npcHandler:say('Foi um prazer negociar com voce.', cid)
		else
			npcHandler:say('Voce nao tem barras suficiente.', cid)
		end
	end

	if(msgcontains(msg, 'VIP III Teleport')) then
		if getPlayerItemCount(cid, barras) >= 200 then
			doPlayerRemoveItem(cid, barras, 200)
			doPlayerAddItem(cid, 24759, 1)
			npcHandler:say('Foi um prazer negociar com voce.', cid)
		else
			npcHandler:say('Voce nao tem barras suficiente.', cid)
		end
	end

	
	
	
	
return true
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

E como adiciono itens? o.O

 

Link para o post
Compartilhar em outros sites

@lucaspds para adicionar item é só modificar as seguintes linhas:

 

	if(msgcontains(msg, 'Addon Doll')) then // NOME DO ITEM
		if getPlayerItemCount(cid, barras) >= 35 then // QUANTO VAI CUSTAR
			doPlayerRemoveItem(cid, barras, 35) // QUANTO VAI CUSTAR COLOCAR MESMA COISA DO OUTRO
			doPlayerAddItem(cid, 9693, 1) // ID DO ITEM E QUANTIDADE
			npcHandler:say('Foi um prazer negociar com voce.', cid)
		else
			npcHandler:say('Voce nao tem barras suficiente.', cid)
		end
	end

 

Ajudei parceiro? =D

Link para o post
Compartilhar em outros sites
1 minuto atrás, LukazGiovanni disse:

@lucaspds para adicionar item é só modificar as seguintes linhas:

 


	if(msgcontains(msg, 'Addon Doll')) then // NOME DO ITEM
		if getPlayerItemCount(cid, barras) >= 35 then // QUANTO VAI CUSTAR
			doPlayerRemoveItem(cid, barras, 35) // QUANTO VAI CUSTAR COLOCAR MESMA COISA DO OUTRO
			doPlayerAddItem(cid, 9693, 1) // ID DO ITEM E QUANTIDADE
			npcHandler:say('Foi um prazer negociar com voce.', cid)
		else
			npcHandler:say('Voce nao tem barras suficiente.', cid)
		end
	end

 

Ajudei parceiro? =D

PIOR Q NÃO UaheuHAE Tipo, não quero só alterar o iten... quero por mais, é só copiar esse codigo, replicar embaixo e alterar pros novos itens desejados?? 

 

Link para o post
Compartilhar em outros sites

Sim parceiro, só você conferir que todos é quase iguais, muda nome, id.. só você adicionar o mesmo código mas embaixo e alterar para o item que quiser.

Link para o post
Compartilhar em outros sites
7 horas atrás, LukazGiovanni disse:

@lucaspds eu consegui o script, peguei de um servidor antigo e tive que estudar um pouco pra fazer ele funcionar no TFS 1.2

 


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

local Topic = {}

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 barras = 15515 -- ID DAS BARRAS AQUI
	
	if(msgcontains(msg, 'Addon Doll')) then
		if getPlayerItemCount(cid, barras) >= 35 then
			doPlayerRemoveItem(cid, barras, 35)
			doPlayerAddItem(cid, 9693, 1)
			npcHandler:say('Foi um prazer negociar com voce.', cid)
		else
			npcHandler:say('Voce nao tem barras suficiente.', cid)
		end
	end
	
	if(msgcontains(msg, 'Mount Doll')) then
		if getPlayerItemCount(cid, barras) >= 50 then
			doPlayerRemoveItem(cid, barras, 50)
			doPlayerAddItem(cid, 9019, 1)
			npcHandler:say('Foi um prazer negociar com voce.', cid)
		else
			npcHandler:say('Voce nao tem barras suficiente.', cid)
		end
	end

	if(msgcontains(msg, 'VIP III Teleport')) then
		if getPlayerItemCount(cid, barras) >= 200 then
			doPlayerRemoveItem(cid, barras, 200)
			doPlayerAddItem(cid, 24759, 1)
			npcHandler:say('Foi um prazer negociar com voce.', cid)
		else
			npcHandler:say('Voce nao tem barras suficiente.', cid)
		end
	end

	
	
	
	
return true
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

Manin...será que essa coisinha ai serviria pra poketibia base cyan 8.54?? .-. se sim, como que eu faria pra por um nome no npc ou onde add ele? :s 

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.

  • Conteúdo Similar

    • Por ambrozii0
      Gostaria de fazer um pedido de um NPC de Task progressiva,

      Ele iniciaria dando missões para level 8 para caçar Troll, Rotworm e Ghoul.
       
      No level 30 liberaria: Cyclops, Dragon e Wyrm... e assim em diante se puder deixar comentado eu faço as criaturas na sequencia dos leveis seguintes.
       
      O jogador pode fazer as tasks dos leveis anteriores mesmo que já tenha ultrapassado o level do próximo nível de task.
       
      E o jogador ao terminar a missão poderia escolher a recompensa em gold ou experiência. As tasks podem se repetir sem problema, mas apenas pode pegar uma de cada vez.
       
      Ao finalizar todas as tasks o jogador ganha uma montaria.
       
      Minha versão de cliente é 12.91
      Versão da Canary 2.6.1
      Não sei qual o TFS do meu servidor.
    • Por Budrox
      ola! venho apresentar meu protejo e ouvir a opinião de
      vocês estou trabalhando a alguns meses nessas sprites,
      jogariam um protejo assim, penso em fazer o jogo em
      outras engines mas faria mais sentido se fosse um
      protejo online.

    • Por GamerGoiano
      Provavelmente funciona com os outros jogos do quilante, basta substituir a pasta data na pasta do servidor e substituir os arquivos do cliente na pasta otclient/data/things/860
      Eu não tenho créditos sobre o projeto, estou apenas postando aqui porque ja é de dominio público porém em todos os tópicos na internet o projeto está muito desatualizado
      Este aqui está configurado pra por online no pc.
       

      Download: (TFS 04 860 + OTCLIENT "Ultima versão x64", Htdocs "O site" e o Banco de dados Compativel.
      https://www.mediafire.com/file/bmponjci62txbxd/TIBIA+GTA+ARRUMADO.rar/file

      Scan:
      https://www.virustotal.com/gui/file/b6236579ad11201f3c01899a218f6ca8ef8e645cf3881f5de2af46a04837085d?nocache=1
    • Por TestAccount
      Bem vindos a SwampSoldiers, um ot alternativo único de sapos e minhocas! Achou estranho? Eu também, mas comecei a jogar e viciei ?

      Website
      SwampSoldier - Play to earn (https://www.swampsoldiers.com/index)

      Social Media
      Twitter: https://twitter.com/SoldiersSwamp
      Discord: Join the SwampSoldiers | ? Vs ? Discord Server! (https://discord.gg/qc9wfMQ8vK)
      Youtube: https://www.youtube.com/c/SwampSoldiers
      Facebook: SwampSoldier (https://www.facebook.com/profile.php?id=100087871800250)
      Instagram: Swamp Soldiers (@swampsoldiers) • Instagram photos and videos (https://www.instagram.com/swampsoldiers/)

      =================================================================================================
      SwampSoldiers é um jogo blockchain gratuito, onde você é o verdadeiro dono de seus ativos e pode vendê-los facilmente a outros jogadores por dinheiro real.

      Características:
      Músicas de fundo e efeitos de som; Mapa unico e original; 6 diferentes classes e 2 facções; NPCs animados; Spells unicos com som; Mercado p2p; Quests únicas; 0% de perda de exp até o lvl 5; Sistema de crafting; Sistema de casas e ilhas particulares; Sistema de pet e autoloot; World boss; Tower defense mini-game; Battle royale sendo desenvolvido;  

       

       

       

       

       

    • Por MatteusDeli
      Nesse tópico você irá aprender a diferença entre ItemID, ActionID e UniqueID na criação de scripts.
       
      Primeiramente vamos começar com o ItemID, imagine que você está criando um simples script que o player pode ter acesso a uma área VIP, só que para ele entrar, primeiro precisará passar por um tile especial que possui o ID 471, até aqui tudo bem, só que qualquer player do servidor irá ter acesso também, já que não possui nenhuma restrição.
       
      Como poderíamos resolver isso?
       
      É aqui que entra a função da ActionID, com ela podemos dizer que os tiles que tiverem o valor 1000 no atributo ActionID, serão os tiles referentes a área VIP. Agora temos uma maneira de diferenciar os tiles comuns dos que são VIPs, veja como ficaria:
       

      (tiles sem as ActionIDs no valor de 1000)
       
      Repare que os 3 tiles tem apenas o atributo ItemID: [471]. Todos os players poderiam passar sem problemas… Caso você use apenas esse tipo de tile para as suas áreas VIPs então não tem problema, agora se você usa esses mesmos tiles para outras finalidades, então você precisará recorrer a ActionID, para que assim consiga diferenciá-los.
       
      Vamos adicionar as ActionIDs então:
       

      (tiles com as ActionIDs adicionados no valor de 1000)
       
      Pronto, agora apenas esse tiles terão a função de controlar a entrada para a área VIP!
       
      Bom, então você deve estar se perguntando, aonde que o UniqueID entra nessa história?
       
      O UniqueID é parecido com a ActionID com apenas uma diferença. O valor que você define para ele deve ser único para o servidor inteiro, caso ele se repita aparecerá um aviso na sua distro, mais ou menos como este…
       

       
      Repare quantos UniqueIDs duplicados existem, isso é ruim porque quanto mais tiver mais tempo demorará para o servidor iniciar, entre outras coisas como conflitos de scripts.
       
      Concluindo…
       
      O ItemID é usado quando você quer que todos os itens com esse ID façam uma ação, por exemplo a fishing rod, qualquer player pode comprar uma no NPC e começar a pescar.
       
      A ActionID é usado geralmente quando você quer diferenciar os mesmos itens um dos outros. Eu tenho 2 crystal rings só que apenas um deles vai me curar 500 de vida quando usá-lo.
       
      O UniqueID é quando você quer definir um ID único para um determinado item e só terá apenas um dele no servidor, um exemplo seria uma estátua que vai dar ao player um determinado item e só existirá somente uma dela no jogo.
       
      Tentei ser o mais breve e direto sobre esse assunto, espero que tenha ficado claro… Agora é só praticar!
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo