Ir para conteúdo
  • Cadastre-se

(Resolvido)Invasao diferente


Ir para solução Resolvido por Caronte,

Posts Recomendados

Então galerinha do TK,

hoje venho pedir uma script da seguinte forma:
 

- Boss que nasce somente 1x no dia. (obs: ele nasce aleatoriamente,depois de sumonado 1x ele só aparece no dia seguinte. E se possivel aleatoriamente dentre 09:00 ás 23:00)
- Assim que nascer, ele abrirá um teleporte em tal local, com tal mensagem avisando (editavel)

- No teleporte só podem entrar level 100+

 

Caso seja inviavel desse modo, caso tenha algo parecido me ajudaria mt !
Quem puder ajuda, fiquei gratoo. Obrigado
 


up

Editado por brendoonh (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Cara, to fazendo, mas amanhã tenho pré-vestibular às 8, então, vou deixar para amanhã, se ninguém fizer antes, amanhã eu faço.

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

Cara, to fazendo, mas amanhã tenho pré-vestibular às 8, então, vou deixar para amanhã, se ninguém fizer antes, amanhã eu faço.

Ok , ficarei no aguardo e obrigado..

Link para o post
Compartilhar em outros sites

Acabei...
espero que goste:
 
PS: identação bugou...

local t = {	today = os.date("%d"), -- nao mexer
			todayhr = os.date("%H"), -- nao mexer
			fromdays = {"Monday","Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"}, -- (%A) Dias da semana que acontecerá, de segunda a domingo.
			fromhrs = {9,10,11,12,13,14,15,16,17,18,19,20,21,22,23}, -- Sempre em ordem crescente, sem pular
			dstor = 8989, -- storage para ser diario
			per_day = 1, -- quantos dias de delay
			monstername = "Rat", -- nome do boss
			monsterpos = { x = 145, y = 387, z = 7 }, -- posiçao do boss
			}

function onThink(interval)

print("[Invasao] Rodando: ")
	if getStorage(t.dstor) - os.time() < 0 then
		if not isInArray(t.fromhrs, t.todayhr) then 
	print("[Invasao] A hora (" .. t.todayhr .. ") nao esta no quadro de horarios, \n Caso queira ela, colocar em fromdays no script")
		else
		local Hr = math.random(t.fromhrs[1], t.fromhrs[#t.fromhrs]) 
			if tostring(Hr) == tostring(t.todayhr) then 		
				doSetStorage(t.dstor, os.time() + t.per_day*24*60*60)
				doCreateMonster(t.monstername, t.monsterpos)
			print("[Invasao] Hora ("..Hr..") sorteada !")
			else 
			print("[Invasao] Nenhuma hora nao sorteada")
				if getStorage(t.dstor) - os.time() < 0 and t.todayhr == tostring(t.fromhrs[#t.fromhrs]) then
					doCreateMonster(t.monstername, t.monsterpos)
				print("[Invasao] (" .. t.fromhrs[#t.fromhrs] .. ") E a hora maxima de seguranca")
				end
			end	
		end
	end
return true
end 

 
A tag é essa: 

<globalevent name="invasion" interval="86400000" event="script" value="invasion.lua"/>

 
 
A hora certinha vai depender de quando você der reload, o script só pega hora, então, se você der /reload globalevents , às 14:56, o script vai sumonar entre 9:56 à 23:56...

 

 

 

qualquer dúvida só falar..

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

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

Irei testar, mais aproveitando, no caso esse ai não vai aparecer tp certo?
Vou deixar um portal fixo mesmo, mais será que teria como colocar uma contagem regressiva de 5 minutos?
Ex: {Boss} Vai nascer em 5 minutos em tal lugar.

      {Boss} Vai nascer em 4 minutos em tal lugar.

      {Boss} Vai nascer em 3 minutos em tal lugar.

      {Boss} Vai nascer em 2 minutos em tal lugar.

      {Boss} Vai nascer em 1 minutos em tal lugar.
      {Boss} Nasceu,detenham!

Pq vi um parecido em outro ot achei bacana.
Agora se for complicado sem problemas assim tá bom...

Obrigado e REP+ ^^

Link para o post
Compartilhar em outros sites

Irei testar, mais aproveitando, no caso esse ai não vai aparecer tp certo?

Vou deixar um portal fixo mesmo, mais será que teria como colocar uma contagem regressiva de 5 minutos?

Ex: {Boss} Vai nascer em 5 minutos em tal lugar.

      {Boss} Vai nascer em 4 minutos em tal lugar.

      {Boss} Vai nascer em 3 minutos em tal lugar.

      {Boss} Vai nascer em 2 minutos em tal lugar.

      {Boss} Vai nascer em 1 minutos em tal lugar.

      {Boss} Nasceu,detenham!

Pq vi um parecido em outro ot achei bacana.

Agora se for complicado sem problemas assim tá bom...

Obrigado e REP+ ^^

 

 

AAA esqueci disso, pera aí...

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

O teleport fecha depois da contagem regressiva acabar ? 

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

Na hora que o boss morrer se possivel  :(

Editado por brendoonh (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • Solução

Script em funcionamento:
zNcQIt0.png
iPu8tC5.png
 
 
Em (globalevents/scripts), crie um arquivo com nome de diferentinvasion.lua
 
Dentro dele coloque:
[paste]6gnmy3jR[/paste]
 
e a tag é essa: 

<globalevent name="invasion" interval="3600000" event="script" value="diferentinvasion.lua"/>

 
Agora, dentro do boss, que você criou, em cima de:
no XML do monstro:

<flags>

(De preferência)
 
Coloque isso:

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

(OBS, não pode estar dentro de TAGs no arquivo XML, somente dentro da TAG <monster> </monster>)
 
 
Agora em creaturescripts/scripts adicione esse script, com nome de diferentinvasion.lua

function onDeath(cid, corpse, deathList)

local createpos = { x = 144, y = 384, z = 7}

	if getCreatureName(cid) == "Rat" then
		doRemoveItem(getTileItemById(createpos, 1387).uid)
		doSendAnimatedText(createpos, "BOSS",130)
			addEvent(doSendAnimatedText,800,createpos, "MORTO",130)
		doSendMagicEffect(createpos, CONST_ME_POFF)
		doBroadcastMessage("O BOSS FOI MORTO !")
        end
return true
end

 
No creaturescripts.xml adicione essa tag:

<event type="death" name="invasion" event="script" value="diferentinvasion.lua"/>

Agora, para limitar aos leveis 100 para cima:
 
Script em movements/scripts crie invasiontp.lua

function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition)

local pos = {x = 145, y = 385, z = 7}
local level_necessario = 100

	if getPlayerLevel(cid) < level_necessario then
		doTeleportThing(cid, fromPosition)
		doPlayerSendCancel(cid, "Voce precisa ter level " .. level_necessario .. " para entrar.")
		doSendMagicEffect(getThingPos(cid), CONST_ME_POFF)
		else 
		doTeleportThing(cid, pos)
		doPlayerSendTextMessage(cid,MESSAGE_EVENT_ADVANCE,"Mate o boss")
		doSendMagicEffect(getThingPos(cid), CONST_ME_TELEPORT)
	end
return true
end

TAG em movements.xml

<movevent type="StepIn" actionid="67777" event="script" value="invasiontp.lua"/>

Qualquer dúvida ou erro , só falar. 

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

PERFEITO :O , você é o caraaaaa vey... Fico feliz de saber que posso contar com a equipe do TibiaKing, sempre me ajudando com maior disposição. Mt obrigadooo mesmoooo!!!!!!!!

Vou marca como melhor resposta e reputa, qlq coisa eu editooo...

 

VLWWWWWWWWWWW <2


  1. local pos = {x = 145, y = 385, z = 7} >>>> Seria o local onde o player seria teleportado ?
Link para o post
Compartilhar em outros sites

Testei so o monstro aqui né para ver a questão da mensagem ao matar o boss, realmente apareceu , até ai blz, porem apareceu um erro na distro:

 

Data/creatureevents/scripts/diferenteinvasion.lua:onDeath
Description:
(luaDoRemoveItem) item not found

Será que foi alguma coisa que mexi ? Pois so mexi nas mensagens e nas configurações que devia se configurada...
 

Editado por brendoonh (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

 
local createpos = { x = 144, y = 384, z = 7}

Essa posição, tem que ser onde o TP é criado.

Não há de quê brendoonh,

 

esqueci de citar, que, caso não seja sorteado nenhuma hora, o script vai fazer a invasão na última hora, que seria às 23 horas...

 

 

cuidado ao adicionar horários, porque, do jeito que eu fiz, se o primeiro que é 9 (atualmente) , for maior que 23, irá dar erro...

então, se for adicionar meia noite, adiciona {0,9,10...23}, porém irá sortear de 0 a 23, e vai ser mais difícil sortear o horário..., pois se cair 1,2,3,4,5,6,7,8 , o script não irá rodar...

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

Em questão de horario nem vou mexer, ja está do jeito que eu queria... 

E esse erro ai, é porq nao ta rodando com script né? Pois so sumonei ele com o god para testar...

Link para o post
Compartilhar em outros sites

Sim, é , eu tava testando, no lugar do rat, ponha o nome do seu Boss...

e as posições também.

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

Ok , só aguardar a hora ser sorteada para ver o andar do script.. Mt obrigado, fiquei surpreso com sua vontade em me ajudar, não tinha esse conhecimento da equipe do Tibiaking, vocês são de mais ...

Link para o post
Compartilhar em outros sites

Ok , só aguardar a hora ser sorteada para ver o andar do script.. Mt obrigado, fiquei surpreso com sua vontade em me ajudar, não tinha esse conhecimento da equipe do Tibiaking, vocês são de mais ...

 

Não sou da equipe rsrs...

só faço isso para praticar e ajudar mesmo...

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
  • 1 month later...

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