Ir para conteúdo
  • 0

Mensagem ao spawnar um pokémon lendario


Sh4DoW GR

Pergunta

13 respostass a esta questão

Posts Recomendados

  • 0

vou te passar um que utilizo.
 

globalevents: cria um arquivo, raid.lua
nele se vai editar,
name = 'nomedaraid'

type = 'weekly'

days = 'diadasemana'

hour = 'horaquevaiativar'

--[[- hora deve ser exata SERVER- para fazer o raid tera que ser ex: 00 hour(horas) e 00 minu (minutos)- para fazer a raid na data e hora no tempo exato, uso "exact"- para fazer a raid ocorrer todas as semanas (pelo menos 1x na semana) uso "weekly"- o nome dos dias sao ultilizados apenas para o tipo semanal que devera ser- "monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday"- tambem devem estar dentro de uma matriz-> {}]]local raids =	{		[1] =			{				name = 'Genesect',				type = 'weekly',				days = {'monday'},				hour = 19,				minu = 00			},		[2] =			{				name = 'Heatran',				type = 'weekly',				days = {'tuesday'},				hour = 19,				minu = 00			}			}	local last_execsutes = {}function onThink(interval, lastExecution, thinkInterval)	local static_time = os.time()	for k, raid in ipairs(raids) do		if (raid.type == 'weekly') then			local day = os.date("%A", static_time):lower()			if isInArray(raid.days, day) then				local hour = tonumber(os.date("%H", static_time))				if (raid.hour == hour) then					local minute = tonumber(os.date("%M", static_time))					if (raid.minu == minute) then						local day_number = tonumber(os.date("%d", static_time))						if (last_execsutes[k] ~= day_number) then							last_execsutes[k] = day_number							doExecuteRaid(raid.name)						end					end				end			end		elseif (raid.type == 'exact') then			local month = tonumber(os.date("%m", static_time))			if (raid.date.month == month) then				local day = tonumber(os.date("%d", static_time))				if (raid.date.day == day) then					local hour = tonumber(os.date("%H", static_time))					if (raid.hour == hour) then						local minute = tonumber(os.date("%M", static_time))						if (raid.minu == minute) then							if (last_execsutes[k] ~= day) then								last_execsutes[k] = day								doExecuteRaid(raid.name)							end						end					end				end			end		end	end	return trueend

tag em globalevents.xml

 

<globalevent name="raid" interval="60" script="raid.lua"/>

em raids, cria um arquivo invasaosegunda.xml

 

<raid><announce delay="1000" type="event" message="Sistema de Invasao Informa, Heatran Esta Ressurgindo no Porao do Templo Flower." /><announce delay="60000" type="event" message="Sistema de Invasao Informa, Corra Para Ajudar a Conter a Invasao do Templo Flower." /><announce delay="120000" type="event" message="Sistema de Invasao Informa, Os Pokemons estao surgindo, ja avistei o primeiro." /><areaspawn delay="1001" fromx="1032" fromy="1118" fromz="8" tox="1059" toy="1142" toz="8"><monster name="Jirachi" amount="2" /><monster name="Lugia" amount="2" /><monster name="Genesect" amount="2" /><monster name="Heatran" amount="2" /><monster name="Reuniclus" amount="2" /><monster name="Xerneas" amount="2" /><monster name="Yveltal" amount="2" /><monster name="Charizard Ultra" amount="10" /><monster name="Meganium Power" amount="15" /><monster name="Mega Tyranitar" amount="2" /><monster name="Mega Lucario" amount="5" /><monster name="Mega Gengar" amount="15" /><monster name="Mega Blastoise" amount="15" /><monster name="Heatran Boss" amount="1" /></areaspawn></raid>

se não souber editar esse script ai de cima se fala que eu te explico, ele é bem facil.

agora a tag em raids.xml

<raid name="Segunda" file="Inavasaosegunda.xml" interval2="5" margin="0" enabled="0"/>

 

prontinho seu sistema de invasão.

Link para o comentário
Compartilhar em outros sites

  • 0

Me explique melhor isso, você está dizendo um Pokémon, no caso todos lendários?, Colocado no mapa (Pelo RME), ao spawnar aparece um broadcast anunciando que ele spawno, certo? Ou você quer que ele seja spawnada por tal ação? Por exemplo, ao clicar em tal item, ou subir em tal tile ou algo do tipo ele spawna um pokémon lendário?

Link para o comentário
Compartilhar em outros sites

  • 0
53 minutos atrás, Josegvb disse:

a pergunta seria onde editar a posiçao que os bixos irao nascer oO

<areaspawn delay="1001" fromx="1032" fromy="1118" fromz="8" tox="1059" toy="1142" toz="8">

lado esquerdo em cima da area,e lado de baixo direito da area,tipo um quadrado,e os summons iriam ser spawnados dentro deste quadrado.

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

  • 0
41 minutos atrás, kaleudd disse:
<areaspawn delay="1001" fromx="1032" fromy="1118" fromz="8" tox="1059" toy="1142" toz="8">

lado esquerdo em cima da area,e lado de baixo direito da area,tipo um quadrado,e os summons iriam ser spawnados dentro deste quadrado.

 

obg, nao tinha olhado essa linha do codigo kk 

Link para o comentário
Compartilhar em outros sites

  • 0
4 horas atrás, Drazyn disse:

Me explique melhor isso, você está dizendo um Pokémon, no caso todos lendários?, Colocado no mapa (Pelo RME), ao spawnar aparece um broadcast anunciando que ele spawno, certo? Ou você quer que ele seja spawnada por tal ação? Por exemplo, ao clicar em tal item, ou subir em tal tile ou algo do tipo ele spawna um pokémon lendário?

Ao sumonar um lendario iria aparecer um broadcast para todos os player online avisando q um lendario deu spawn tipo no tibia qnd algum boss nasce tlg

Link para o comentário
Compartilhar em outros sites

  • 0
Em 26/12/2016 at 21:28, Drazyn disse:

No seu servidor tem a função onSpawn? Caso não saiba, me diga qual sua base.

 

Eu acho que não tem. Minha base é a Cyan

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

  • 0
13 horas atrás, Sh4DoW GR disse:

Eu acho que não tem. Minha base é a Cyan

 

acho que tem.

 

vá em creaturescripts cria um arquivo lua e coloca isso dentro:

 

local lend = {"Mew","Mewtwo",              -- adicione o nome de todos os pokemons lendarios."Articuno"}function onSpawn(cid)for i = 1, #lend do	if getCreatureName(cid) == lend[i] then		doBroadcastMessage("Monster "..lend[i].." was created.")	endendreturn trueend

 

vá em creaturescripts.xml e coloca a tag

 

Citar

<event type="spawn" name="monsterLend" registerTo ="monster" event="script" value="NomeDoArquivo.lua"/>

 

Link para o comentário
Compartilhar em outros sites

  • 0

 

17 horas atrás, Sh4DoW GR disse:

Eu acho que não tem. Minha base é a Cyan

Caso for o PDA (Sem source), você poderá utilizar o código que irei lhe mandar, porém se for o com source, recomendo verificar se tem instalado o creatureevent onSpawn, caso não tiver, pegue um tutorial da internet e instale-o.

 

Coloque isso no creaturescripts.xml:

<event type="spawn" name="Spawn" event="script" value="NomeDoArquivo.lua"/>

E no arquivo que você criou coloque isso:

--{name = "Pokemon Name"} -- Em name você coloca o nome do pokémon.-- Caso você queira que aparece a mensagem default, pode deixar assim:-- {name = "Moltres"},-- Caso queira uma mensagem difente faça assim:-- {name = "Zapdos", msg = "Um deus majestoso do céu, com poderes de trovão acaba de aparecer."},local pokes = {	{name = "Moltres"},	{name = "Articuno", msg = "Um poderoso mew acaba de aparecer!"},	{name = "Zapdos", msg = "Um deus majestoso do céu, com poderes de trovão acaba de aparecer."},}local defaultMessage = "Um POKENAME acaba de aparecer!" -- Aqui você define a mensagem padrão, em POKENAME será substituido pelo nome da criatura.function onSpawn(cid) -- By Drazyn	local mensagem = ""	for _, b in pairs(pokes) do		if getCreatureName(cid):find(b.name) then			mensagem = b.msg or defaultMessage:gsub("POKENAME", b.name)			doBroadcastMessage(mensagem)		end	end	return trueend

Ele tem a função de ao spawnar ele envia uma mensagem para o servidor inteiro. Essa mensagem pode ser a padrão, ou você pode customizar para cada lendário ter sua própria mensagem. Deixei tudo explicado no código, alguma dúvida só comentar.

 

Não esqueça de registrar o evento no monstro, você pode fazer isso indo no XML do monstro e logo abaixo da tabela onde você define o loot, você coloca isso:

    <script>        <event name="Spawn"/>    </script>

 

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

  • 0
24 minutos atrás, Drazyn disse:

 

Caso for o PDA (Sem source), você poderá utilizar o código que irei lhe mandar, porém se for o com source, recomendo verificar se tem instalado o creatureevent onSpawn, caso não tiver, pegue um tutorial da internet e instale-o.

 

Coloque isso no creaturescripts.xml:

<event type="spawn" name="Spawn" event="script" value="NomeDoArquivo.lua"/>

E no arquivo que você criou coloque isso:

--{name = "Pokemon Name"} -- Em name você coloca o nome do pokémon.-- Caso você queira que aparece a mensagem default, pode deixar assim:-- {name = "Moltres"},-- Caso queira uma mensagem difente faça assim:-- {name = "Zapdos", msg = "Um deus majestoso do céu, com poderes de trovão acaba de aparecer."},local pokes = {	{name = "Moltres"},	{name = "Articuno", msg = "Um poderoso mew acaba de aparecer!"},	{name = "Zapdos", msg = "Um deus majestoso do céu, com poderes de trovão acaba de aparecer."},}local defaultMessage = "Um POKENAME acaba de aparecer!" -- Aqui você define a mensagem padrão, em POKENAME será substituido pelo nome da criatura.function onSpawn(cid) -- By Drazyn	local mensagem = ""	for _, b in pairs(pokes) do		if getCreatureName(cid):find(b.name) then			mensagem = b.msg or defaultMessage:gsub("POKENAME", b.name)			doBroadcastMessage(mensagem)		end	end	return trueend

Ele tem a função de ao spawnar ele envia uma mensagem para o servidor inteiro. Essa mensagem pode ser a padrão, ou você pode customizar para cada lendário ter sua própria mensagem. Deixei tudo explicado no código, alguma dúvida só comentar.

 

Não esqueça de registrar o evento no monstro, você pode fazer isso indo no XML do monstro e logo abaixo da tabela onde você define o loot, você coloca isso:

    <script>        <event name="Spawn"/>    </script>

 

 

Funcionou aqui mt obg ^^

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

×
×
  • Criar Novo...