Ir para conteúdo
  • Cadastre-se

(Resolvido)NPC com restrição


Ir para solução Resolvido por Wakon,

Posts Recomendados

Boa noite pessoal!

É possivel restringir um npc a vender uma quantia de itens?

 

Tipo o npc vende mace, o player so pode comprar uma mace depois o npc não vende mais para ele!

 

É possivel fazer isso?

Link para o post
Compartilhar em outros sites

Creio que isso nao será possivel .

Mas vamos aguardar respostas kk

"Neste Mundo , Sempre Que Houver Luz , Haverá Tabém Sombras "

 

tumblr_n1zquph5k81ts6n8no1_500.gif

 

AJUDEI ? REP +

 

 

 

Meus Trabalhos >.<

 

Spr e Dat Do WoNo v2.55

 

Link para o post
Compartilhar em outros sites

=)

 

sim


na verdade eu aceito outras sugestoes, tipo, estou fazendo uma quest o item existe....porem no remere's não existe o item para eu por no bau de quest, entao preciso de ajuda uma opiniao de como posso fazer para apos o player concluir a quest receber a recompensa!

Link para o post
Compartilhar em outros sites
  • Solução

Crie 1 uniqueid para usar no baú:

Vá em "Data/actions/scripts" copie e cole 1 arquivo .xml, renomeie ele para questitem.xml e cole isso dentro:

local config = {
recompensa = 2493, -- ID da recompensa.
nitem = "Item test.", -- Nome da recompensa.
storage = 50029 -- Se for criar outra quest com esse mesmo script, altere a storage pra 1 diferente.
}


function onUse(cid, item, frompos, item2, topos)


if getPlayerStorageValue(cid,config.storage) == -1 then
doPlayerSendTextMessage(cid,25,"You have found a "..config.nitem..".")
doPlayerAddItem(cid,config.recompensa,1)
setPlayerStorageValue(cid,config.storage,1)
else
doPlayerSendTextMessage(cid,25,"The is empty.")
end
return true
end

Agora vá em "Data/actions/actions.xml" e adicione essa linha:

<action uniqueid="50029" script="questitem.lua"/>

Ai lá no Remere's você clica com o direito no baú, clica em properties e coloca 50029 em Unique ID.

Link para o post
Compartilhar em outros sites

 

Crie 1 uniqueid para usar no baú:

Vá em "Data/actions/scripts" copie e cole 1 arquivo .xml, renomeie ele para questitem.xml e cole isso dentro:

local config = {
recompensa = 2493, -- ID da recompensa.
nitem = "Item test.", -- Nome da recompensa.
storage = 50029 -- Se for criar outra quest com esse mesmo script, altere a storage pra 1 diferente.
}


function onUse(cid, item, frompos, item2, topos)


if getPlayerStorageValue(cid,config.storage) == -1 then
doPlayerSendTextMessage(cid,25,"You have found a "..config.nitem..".")
doPlayerAddItem(cid,config.recompensa,1)
setPlayerStorageValue(cid,config.storage,1)
else
doPlayerSendTextMessage(cid,25,"The is empty.")
end
return true
end

Agora vá em "Data/actions/actions.xml" e adicione essa linha:

<action uniqueid="50029" script="questitem.lua"/>

Ai lá no Remere's você clica com o direito no baú, clica em properties e coloca 50029 em Unique ID.

 

 

 

WTF ?  ?  ? 

 


 

 

 

é possível sim...

Se quiser sua dúvida tirada, mande PM com os links, e não com a dúvida (outros podem ter a mesma dúvida, e o fórum serve para ser usado).

 

Tópicos:


 

yNlhRVC.png

 

55px-Judo_yellow_belt.svg.png

Link para o post
Compartilhar em outros sites

WTF ?  ?  ? 

 


 

 

 

é possível sim...

Ele disse que aceita outras sugestões e falou que não estava conseguindo colocar o item na quest pois não aparecia no RME, então passei o script pra ao inves dele ter que adicionar o item direito no baú da quest, ele adicionar a uniqueid.

Link para o post
Compartilhar em outros sites

 

Crie 1 uniqueid para usar no baú:

Vá em "Data/actions/scripts" copie e cole 1 arquivo .xml, renomeie ele para questitem.xml e cole isso dentro:

local config = {
recompensa = 2493, -- ID da recompensa.
nitem = "Item test.", -- Nome da recompensa.
storage = 50029 -- Se for criar outra quest com esse mesmo script, altere a storage pra 1 diferente.
}


function onUse(cid, item, frompos, item2, topos)


if getPlayerStorageValue(cid,config.storage) == -1 then
doPlayerSendTextMessage(cid,25,"You have found a "..config.nitem..".")
doPlayerAddItem(cid,config.recompensa,1)
setPlayerStorageValue(cid,config.storage,1)
else
doPlayerSendTextMessage(cid,25,"The is empty.")
end
return true
end

Agora vá em "Data/actions/actions.xml" e adicione essa linha:

<action uniqueid="50029" script="questitem.lua"/>

Ai lá no Remere's você clica com o direito no baú, clica em properties e coloca 50029 em Unique ID.

 

 

Deu certo mano, obrigado denovo...kkkkkk

 

Reputado!

Link para o post
Compartilhar em outros sites

Acho que vc soh precisava trocar o intens.otb e o itens.xml do seu remare's... Porém eu sempre faço quests via action, mais tranquilo pra editar  ^^

 

@Wakon, , não eh necessário pegar o nome do item, pois temos a função ''getItemName(itemid)'', que pega o nome do item pelo itemid... Portanto, pode tirar essa linha

nitem = "Item test.", -- Nome da recompensa.

e, nessa linha

doPlayerSendTextMessage(cid,25,"You have found a "..config.nitem..".")

alterar ''config.nitem'' para ''getItemName(config.recompensa)'', ficando assim

doPlayerSendTextMessage(cid,25,"You have found a "..getItemName(config.recompensa)..".")

^^

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

Atenciosamente, David Araujo

Meu Conteúdo

 

Fui útil? Gostou? 
Faça uma doação.

 
 
 

"É errando que se erra."

"Gambiarras resolvem instantemente, porém podem complicar em problemas futuros."

"Cada dia vivido é um aprendizado."

Link para o post
Compartilhar em outros sites

Acho que vc soh precisava trocar o intens.otb e o itens.xml do seu remare's... Porém eu sempre faço quests via action, mais tranquilo pra editar  ^^

 

@Wakon, , não eh necessário pegar o nome do item, pois temos a função ''getItemName(itemid)'', que pega o nome do item pelo itemid... Portanto, pode tirar essa linha

nitem = "Item test.", -- Nome da recompensa.

e, nessa linha

doPlayerSendTextMessage(cid,25,"You have found a "..config.nitem..".")

alterar ''config.nitem'' para ''getItemName(config.recompensa)'', ficando assim

doPlayerSendTextMessage(cid,25,"You have found a "..getItemName(config.recompensa)..".")

^^

Ah fica mais organizado e eu testei essa função ai e o servidor não reconhece :S

Link para o post
Compartilhar em outros sites

ah sim, não são todos os servidores que tem...  :hum:

essa seria a função- getItemDescriptions(item).name

 

na pasta lib, em algum arquivo, acrescente isso

function getItemName(uid)
	return getItemDescriptions(uid).name
end

caso não queira adicionar a função na lib, troque 

getItemName(config.recompensa)

por

getItemDescriptions(config.recompensa).name

 e, para ficar organizado, escreva o nome do item apos o id, ex.

recompensa = 2493, --Diamond

^^

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

Atenciosamente, David Araujo

Meu Conteúdo

 

Fui útil? Gostou? 
Faça uma doação.

 
 
 

"É errando que se erra."

"Gambiarras resolvem instantemente, porém podem complicar em problemas futuros."

"Cada dia vivido é um aprendizado."

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