Ir para conteúdo
  • 0

NPC que troca um item por um item aleatório


kamus9629

Pergunta

Alguem pode fazer esse npc da item aleatorio  ?

 

EXEMPLO

 

Eu que o trofeu bronzer  dava  1 item  aleatorio FOOD   ou VITAMINA  ou EXP 3

Trofeu Prata da 1 item aleatorio exemplo ou  Card ou EGG ou EXP

trogeu de ouro   1 item aleatorio exemplo  Mega stone ou Pedra ou EXP

Editado por kamus9629
Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0
local rewards = {
    { item = ITEM_ID_1, count = 10 },
    { item = ITEM_ID_2, count = 52 },
    { item = ITEM_ID_3, count = 13 }
}
local random = math.random(1, #rewards)
doPlayerAddItem(cid, rewards[random].item, rewards[random].count)
Editado por brazvct
Link para o comentário
Compartilhar em outros sites

  • 0
Agora, brazvct disse:


 

Tem como fazer um tutorial pramin eu so sei injetar elas nao a modificar 

Agora, brazvct disse:

local rewards = {
    { item = ITEM_ID_1, count = 10 },
    { item = ITEM_ID_2, count = 52 },
    { item = ITEM_ID_3, count = 13 }
}
local random = math.random(1, #rewards)
doPlayerAddItem(cid, rewards[random].item, rewards[random].count)

eu coloquei codigo la  para usa como base o npc

 

Link para o comentário
Compartilhar em outros sites

  • 0
Em 24/01/2020 em 11:24, kamus9629 disse:

Tem como fazer um tutorial pramin eu so sei injetar elas nao a modificar 

eu coloquei codigo la  para usa como base o npc

 

Abre a pasta Server/Data/NPC e crie um arquivo.xml com o nome do npc e cole dentro do arquivo o código abaixo:

 

<?xml version="1.0" encoding="UTF-8"?>
<npc name="NOME DO NPC" script="npcitemaleatorio.lua" floorchange="0" speed="0">
	<health now="150" max="150"/>
	<look type="522" head="97" body="114" legs="114" feet="0"/> <!-- aqui são os addons dele -->

	<parameters>

		<parameter key="message_greet" value="Tudo bem, |PLAYERNAME|, MENSAGEM DE INICIO"/>

	</parameters>
</npc>

 

agora vá na pasta Server/data/npc/script e crie o arquivo: npcitemaleatorio.lua e cole o código abaixo:

 

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 rewards = 
	{
		{ item = ITEM_ID_1, count = 10 },
		{ item = ITEM_ID_2, count = 52 },
		{ item = ITEM_ID_3, count = 13 }
	}


	if string.lower(msg) == 'item' then	   
		
		local random = math.random(1, #rewards)
		doPlayerAddItem(cid, rewards[random].item, rewards[random].count)
		selfSay("Pegue seu item", cid)
		return true
	
	end

	return true
end

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

caso de erro, substitua o código acima por esse:

 

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 rewards = 
	{
		{ item = ITEM_ID_1, count = 10 },
		{ item = ITEM_ID_2, count = 52 },
		{ item = ITEM_ID_3, count = 13 }
	}


	if msgcontains(string.lower(msg), 'item') then	   
		
		local random = math.random(1, #rewards)
		doPlayerAddItem(cid, rewards[random].item, rewards[random].count)
		selfSay("Pegue seu item", cid)
		return true
	
	end

	return true
end

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

lembrando onde está ITEM_ID_1 / ITEM_ID_2 / ITEM_ID_3 são os itens ids do item que irá entregar para o player 

Em 24/01/2020 em 11:24, kamus9629 disse:

Tem como fazer um tutorial pramin eu so sei injetar elas nao a modificar 

eu coloquei codigo la  para usa como base o npc

 

Abre a pasta Server/Data/NPC e crie um arquivo.xml com o nome do npc e cole dentro do arquivo o código abaixo:

 

<?xml version="1.0" encoding="UTF-8"?>
<npc name="NOME DO NPC" script="npcitemaleatorio.lua" floorchange="0" speed="0">
	<health now="150" max="150"/>
	<look type="522" head="97" body="114" legs="114" feet="0"/> <!-- aqui são os addons dele -->

	<parameters>

		<parameter key="message_greet" value="Tudo bem, |PLAYERNAME|, MENSAGEM DE INICIO"/>

	</parameters>
</npc>

 

agora vá na pasta Server/data/npc/script e crie o arquivo: npcitemaleatorio.lua e cole o código abaixo:

 

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 rewards = 
	{
		{ item = ITEM_ID_1, count = 10 },
		{ item = ITEM_ID_2, count = 52 },
		{ item = ITEM_ID_3, count = 13 }
	}


	if string.lower(msg) == 'item' then	   
		
		local random = math.random(1, #rewards)
		doPlayerAddItem(cid, rewards[random].item, rewards[random].count)
		selfSay("Pegue seu item", cid)
		return true
	
	end

	return true
end

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

caso de erro, substitua o código acima por esse:

 

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 rewards = 
	{
		{ item = ITEM_ID_1, count = 10 },
		{ item = ITEM_ID_2, count = 52 },
		{ item = ITEM_ID_3, count = 13 }
	}


	if msgcontains(string.lower(msg), 'item') then	   
		
		local random = math.random(1, #rewards)
		doPlayerAddItem(cid, rewards[random].item, rewards[random].count)
		selfSay("Pegue seu item", cid)
		return true
	
	end

	return true
end

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

lembrando onde está ITEM_ID_1 / ITEM_ID_2 / ITEM_ID_3 são os itens ids do item que irá entregar para o player 

Link para o comentário
Compartilhar em outros sites

  • 0
18 horas atrás, Pokemon Nox Ofi disse:

Abre a pasta Server/Data/NPC e crie um arquivo.xml com o nome do npc e cole dentro do arquivo o código abaixo:

 


<?xml version="1.0" encoding="UTF-8"?>
<npc name="NOME DO NPC" script="npcitemaleatorio.lua" floorchange="0" speed="0">
	<health now="150" max="150"/>
	<look type="522" head="97" body="114" legs="114" feet="0"/> <!-- aqui são os addons dele -->

	<parameters>

		<parameter key="message_greet" value="Tudo bem, |PLAYERNAME|, MENSAGEM DE INICIO"/>

	</parameters>
</npc>

 

agora vá na pasta Server/data/npc/script e crie o arquivo: npcitemaleatorio.lua e cole o código abaixo:

 


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 rewards = 
	{
		{ item = ITEM_ID_1, count = 10 },
		{ item = ITEM_ID_2, count = 52 },
		{ item = ITEM_ID_3, count = 13 }
	}


	if string.lower(msg) == 'item' then	   
		
		local random = math.random(1, #rewards)
		doPlayerAddItem(cid, rewards[random].item, rewards[random].count)
		selfSay("Pegue seu item", cid)
		return true
	
	end

	return true
end

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

caso de erro, substitua o código acima por esse:

 


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 rewards = 
	{
		{ item = ITEM_ID_1, count = 10 },
		{ item = ITEM_ID_2, count = 52 },
		{ item = ITEM_ID_3, count = 13 }
	}


	if msgcontains(string.lower(msg), 'item') then	   
		
		local random = math.random(1, #rewards)
		doPlayerAddItem(cid, rewards[random].item, rewards[random].count)
		selfSay("Pegue seu item", cid)
		return true
	
	end

	return true
end

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

lembrando onde está ITEM_ID_1 / ITEM_ID_2 / ITEM_ID_3 são os itens ids do item que irá entregar para o player 

Abre a pasta Server/Data/NPC e crie um arquivo.xml com o nome do npc e cole dentro do arquivo o código abaixo:

 


<?xml version="1.0" encoding="UTF-8"?>
<npc name="NOME DO NPC" script="npcitemaleatorio.lua" floorchange="0" speed="0">
	<health now="150" max="150"/>
	<look type="522" head="97" body="114" legs="114" feet="0"/> <!-- aqui são os addons dele -->

	<parameters>

		<parameter key="message_greet" value="Tudo bem, |PLAYERNAME|, MENSAGEM DE INICIO"/>

	</parameters>
</npc>

 

agora vá na pasta Server/data/npc/script e crie o arquivo: npcitemaleatorio.lua e cole o código abaixo:

 


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 rewards = 
	{
		{ item = ITEM_ID_1, count = 10 },
		{ item = ITEM_ID_2, count = 52 },
		{ item = ITEM_ID_3, count = 13 }
	}


	if string.lower(msg) == 'item' then	   
		
		local random = math.random(1, #rewards)
		doPlayerAddItem(cid, rewards[random].item, rewards[random].count)
		selfSay("Pegue seu item", cid)
		return true
	
	end

	return true
end

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

caso de erro, substitua o código acima por esse:

 


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 rewards = 
	{
		{ item = ITEM_ID_1, count = 10 },
		{ item = ITEM_ID_2, count = 52 },
		{ item = ITEM_ID_3, count = 13 }
	}


	if msgcontains(string.lower(msg), 'item') then	   
		
		local random = math.random(1, #rewards)
		doPlayerAddItem(cid, rewards[random].item, rewards[random].count)
		selfSay("Pegue seu item", cid)
		return true
	
	end

	return true
end

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

lembrando onde está ITEM_ID_1 / ITEM_ID_2 / ITEM_ID_3 são os itens ids do item que irá entregar para o player 

mais cade o item que ele vai combrar aonde ta ide do item do egg para extrair para Gemma

Link para o comentário
Compartilhar em outros sites

  • 0
Em 31/01/2020 em 10:43, kamus9629 disse:

mais cade o item que ele vai combrar aonde ta ide do item do egg para extrair para Gemma

 

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 Itemremover = ITEM_ID_REMOVER
	local QtdeItemRemover = 1
	
	local rewards = 
	{
		{ item = ITEM_ID_1, count = 10 },
		{ item = ITEM_ID_2, count = 52 },
		{ item = ITEM_ID_3, count = 13 }
	}


	if msgcontains(string.lower(msg), 'item') then	   
		
		if doPlayerRemoveItem(cid, Itemremover, QtdeItemRemover) then
		
			local random = math.random(1, #rewards)
			doPlayerAddItem(cid, rewards[random].item, rewards[random].count)
			selfSay("Pegue seu item", cid)
			return true
		else
			selfSay("Você não tem o item "..getItemNameById(Itemremover).." Para trocar.", cid)
		end
	
	end

	return true
end

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

 

pronto, procure por local ItemRemover = ID_ITEM_REMOVER e coloque o id do item que o npc irá pegar do player, e em QtdeItemRemover = 1 seria a quantidade desse item que o npc vai pegar do player

Link para o comentário
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...