Ir para conteúdo
  • Cadastre-se

(Resolvido)Pedido


Ir para solução Resolvido por Adriano SwaTT,

Posts Recomendados

Olá, Bom se eu estiver na área errada pfv me mova e obrigado!

Não achei, esse NPC desse tipo aqui no Tk, e alguns que eu estava tentado editar sempre tava erro!

 

Bom queria um NPC que dar um presente para os "iniciantes" mais apenas uma vez. Tipo NPC (Carlos), Player dar hi, ele fala. Olá | Playername|, então você quer ser um mestre pokémon!, haha tome esse presente. Tchauu 

Se o player tenta denovo pegar o Item com o NPC, o npc fala que o |playername| já pego o item.

 

ID do Presente ( 2394 ) - Pokebolla normal

E que tenha uma (12778) - Pokebag,  As Pokebollas fique dentro da bag! 

 

Deixarei +rep claro :smile::grin:

Link para o post
Compartilhar em outros sites
  • 2 weeks later...
  • 3 weeks later...
  • Solução

Boa noite,

 

Crie o seu NPC.xml do jeito que preferir e coloque o script abaixo em seu arquivo .lua:

 

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

------------- CONFIG ITENS --------------
local itemID = {id = 12778, count = 1} -- ID do ITEM, Quantidade /&/ Storage de Segurança
local pokeBag = 2394

--------------- MESSAGENS --------------------------
	if (msgcontains(msg, 'help') or msgcontains(msg, 'start')) then
		selfSay('Quer receber seu presente para iniciar a aventura agora?', cid)
		talkState[talkUser] = 1

	elseif talkState[talkUser] == 1 then
		if (msgcontains(msg, 'sim') or msgcontains(msg, 'yes')) then
			if getPlayerStorageValue(cid, itemID.id) < 1 then
				if isItemStackable(itemID.id) then
					local bag = doPlayerAddItem(cid, pokeBag, 1)
					doAddContainerItem(bag, itemID.id, itemID.count)
				else
					local bag = doPlayerAddItem(cid, pokeBag, 1)
					for x = 1, itemID.count do
						doAddContainerItem(bag, itemID.id, 1)
					end
				end
				setPlayerStorageValue(cid, itemID.id, 1)
				selfSay('Muito bem, aqui está: .', cid)
				talkState[talkUser] = 0
			else
				selfSay('Você já recebeu seu presente.', cid)
				talkState[talkUser] = 0
			end
		else
			selfSay('Okay, see u later.', cid)
			talkState[talkUser] = 0
		end
	end
return true
end

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

 

 Para configurar caso queira criar mais NPCs do gênero, basta alterar as linhas como mostra abaixo:

 

local itemID = {id = 12778, count = 2} -- ID do ITEM, Quantidade /&/ Storage de Segurança
local pokeBag = 2394 -- ID da Bag que será adicionada.

 

Obs: Coloquei "count = 2" para adicionar dois itens, mas pode colocar a quantidade que quiser, que no seu caso será 1.

Obs ²: Para ganhar os itens basta falar "start" ou "help" e confirmar com "yes".

 

Poste se funcionou corretamente pois não testei.

 

Abraços e Boa sorte.

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

Gosta do meu trabalho?

Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs.

 

Atenciosamente,
Adriano Swatt'

 

Para ver meus tutoriais acesse meu perfil.

 

cbCyOSZ.png

Link para o post
Compartilhar em outros sites
Em 01/06/2016 at 14:57, Killua Fran disse:

Funcionar, Obrigado mais uma vez :smile::grin:

+REP

Duvida senada, poder Fecha o Tópico! :D 

Que bom que funcionou.

 

Faça bom aproveito.

 

Boa sorte com seu projeto.

Gosta do meu trabalho?

Curta e siga a página do meu projeto de 2016 e 2017 (Lab Z Games) que trará vários servidores OTServs.

 

Atenciosamente,
Adriano Swatt'

 

Para ver meus tutoriais acesse meu perfil.

 

cbCyOSZ.png

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.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo