Ir para conteúdo

Featured Replies

Postado
  • Autor

Vc n tem.idéia do q qr n amg?

O @nogard fez um system de presente. Procura ae, agr to no cell ai complica passar... :s

Qualquer coisa amigo, pode até ser por NPC :)

  • Respostas 10
  • Visualizações 953
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Aqui, pensei em fazer um npc papai noel que dá items aleatorios.   Va na pasta data/npc e crie um arquivo Papai Noel.xml e coloque isso dentro:   Agora va na pasta data/npc/scripts e crie u

  • @Lord Stryton, sim apenas uma vez. Se quiser que possa pegar indefinidamente basta usar esse papai_noel.lua no lugar do outro:

Postado
  • Solução

Aqui, pensei em fazer um npc papai noel que dá items aleatorios.

 

Va na pasta data/npc e crie um arquivo Papai Noel.xml e coloque isso dentro:

<?xml version="1.0" encoding="UTF-8"?>
<npc name="Papai Noel" script="data/npc/scripts/papai_noel.lua" walkinterval="1500" speed="100" walkradius="2" floorchange="0">
	<health max="100" now="100"/>
	<look type="160" head="0" body="113" legs="94" feet="132" addons="0" mount="0"/>
	<parameters>
		<!--MESSAGES-->
		<parameter key="message_greet" value="Hohoho, |PLAYERNAME| bem-vindo. Voce gostaria de um presente?"/>
		<parameter key="message_farewell" value="Hohoho, tenha um feliz natal, |PLAYERNAME|."/>
	</parameters>
</npc>

 

Agora va na pasta data/npc/scripts e crie um arquivo chamado papai_noel.lua e coloque isso dentro:

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

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

local config = { --IDs dos items que irão ser sorteados
   [30] = {2152},
   [31] = {15492},
   [32] = {9971},
   [33] = {7591},
   [34] = {7590},
   [35] = {15546},
   [36] = {15487},
   [37] = {5022},
   [38] = {2144}
}

function creatureSayCallback(cid, type, msg)
if(not npcHandler:isFocused(cid)) then
return false
end

if msgcontains(msg, 'sim') then
 if getPlayerStorageValue(cid, 6966) ~= 1 then
 local chance_growing = {}
   for chance, _ in pairs(config) do
      table.insert(chance_growing, chance)
   end
   table.sort(chance_growing, function(a, b) return a > b end)
   local chance = 0
   for _, v in pairs(chance_growing) do
      if math.random(100) < v then
         chance = v
         break
      end
   end
   local item = config[chance]
   if item then
      doPlayerAddItem(cid, item[1])
      doSendMagicEffect(getThingPos(cid), 13)
   end
selfSay('Aqui esta! Feliz natal!', cid)
setPlayerStorageValue(cid, 6966, 1)
else
selfSay('Voce ja pegou seu presente. Agora espalhe o espirito do natal!', cid)
end
end
end

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

 

Vc configura os items aqui:

 

local config = { --IDs dos items que irão ser sorteados
[30] = {2152},
[31] = {15492},
[32] = {9971},
[33] = {7591},
[34] = {7590},
[35] = {15546},
[36] = {15487},
[37] = {5022},
[38] = {2144}
}

 

Vá colocando os ids dos items.

 

Só peguei um script que tinha aqui de items aleatorios com probabilidade e adaptei pra o npc. (A probabilidade é feita assim, quanto mais em baixo da lista de items o item estiver, maior a chance de ele ser sorteado.)

 

Também achei esse outro npc de natal que dá items:

http://www.tibiaking.com/forum/topic/20494-npc-de-natal/

 

Se ajudei, REP+ pf ^^

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

Postado
  • Autor

Aqui, pensei em fazer um npc papai noel que dá items aleatorios.

 

Va na pasta data/npc e crie um arquivo Papai Noel.xml e coloque isso dentro:

<?xml version="1.0" encoding="UTF-8"?>
<npc name="Papai Noel" script="data/npc/scripts/papai_noel.lua" walkinterval="1500" speed="100" walkradius="2" floorchange="0">
	<health max="100" now="100"/>
	<look type="160" head="0" body="113" legs="94" feet="132" addons="0" mount="0"/>
	<parameters>
		<!--MESSAGES-->
		<parameter key="message_greet" value="Hohoho, |PLAYERNAME| bem-vindo. Voce gostaria de um presente?"/>
		<parameter key="message_farewell" value="Hohoho, tenha um feliz natal, |PLAYERNAME|."/>
	</parameters>
</npc>

 

Agora va na pasta data/npc/scripts e crie um arquivo chamado papai_noel.lua e coloque isso dentro:

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

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

local config = { --IDs dos items que irão ser sorteados
   [30] = {2152},
   [31] = {15492},
   [32] = {9971},
   [33] = {7591},
   [34] = {7590},
   [35] = {15546},
   [36] = {15487},
   [37] = {5022},
   [38] = {2144}
}

function creatureSayCallback(cid, type, msg)
if(not npcHandler:isFocused(cid)) then
return false
end

if msgcontains(msg, 'sim') then
 if getPlayerStorageValue(cid, 6966) ~= 1 then
 local chance_growing = {}
   for chance, _ in pairs(config) do
      table.insert(chance_growing, chance)
   end
   table.sort(chance_growing, function(a, b) return a > b end)
   local chance = 0
   for _, v in pairs(chance_growing) do
      if math.random(100) < v then
         chance = v
         break
      end
   end
   local item = config[chance]
   if item then
      doPlayerAddItem(cid, item[1])
      doSendMagicEffect(getThingPos(cid), 13)
   end
selfSay('Aqui esta! Feliz natal!', cid)
setPlayerStorageValue(cid, 6966, 1)
else
selfSay('Voce ja pegou seu presente. Agora espalhe o espirito do natal!', cid)
end
end
end

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

 

Vc configura os items aqui:

 

Vá colocando os ids dos items.

 

Só peguei um script que tinha aqui de items aleatorios com probabilidade e adaptei pra o npc. (A probabilidade é feita assim, quanto mais em baixo da lista de items o item estiver, maior a chance de ele ser sorteado.)

 

Também achei esse outro npc de natal que dá items:

http://www.tibiaking.com/forum/topic/20494-npc-de-natal/

 

Se ajudei, REP+ pf ^^

Boa vlw :D

Postado

@Lord Stryton, sim apenas uma vez.

Se quiser que possa pegar indefinidamente basta usar esse papai_noel.lua no lugar do outro:

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

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

local config = { --IDs dos items que irão ser sorteados
   [30] = {2152},
   [31] = {15492},
   [32] = {9971},
   [33] = {7591},
   [34] = {7590},
   [35] = {15546},
   [36] = {15487},
   [37] = {5022},
   [38] = {2144}
}

function creatureSayCallback(cid, type, msg)
if(not npcHandler:isFocused(cid)) then
return false
end

if msgcontains(msg, 'sim') then
 local chance_growing = {}
   for chance, _ in pairs(config) do
      table.insert(chance_growing, chance)
   end
   table.sort(chance_growing, function(a, b) return a > b end)
   local chance = 0
   for _, v in pairs(chance_growing) do
      if math.random(100) < v then
         chance = v
         break
      end
   end
   local item = config[chance]
   if item then
      doPlayerAddItem(cid, item[1])
      doSendMagicEffect(getThingPos(cid), 13)
   end
selfSay('Aqui esta! Feliz natal!', cid)
end
end

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

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

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo