Ir para conteúdo
  • Cadastre-se

Posts Recomendados

O evento é totalmente baseado no Foxy Quiz proveniente do GLA, no entanto é apenas uma base para vocês alterarem como acharem melhor.

Para começar será necessario que você crie um arquivo em talkactions>scripts para entrar no evento, como por exemplo : participar.lua

e entao colocar sua tag em talkactions.xml, como por exemplo: 

<talkaction words="!participar;/participar" script="!participar.lua"/>

Tendo feito isso você irá colar esse codigo dentro desse arquivo: 

function onSay(cid, words, param)pos = {x=1236, y=1125, z=15} --POSIÇAO QUE O PLAYER IRÁ COM O COMANDO

	if getGlobalStorageValue(88788) == 1 then
		doSendMagicEffect(getPlayerPosition(cid),19)
		doTeleportThing(cid,pos)
	else 
		doPlayerSendCancel(cid, "Desculpe mas o evento esta fechado !")
	end
	
return true
end

Agora iremos para o script principal, vá em global events>scripts e crie o arquivo pokequiz.lua em seguida coloque sua tag em globalevents.xml como por exemplo: 

<globalevent name="Pokequiz" interval="10" event="script" value="pokequiz.lua"/>

Lembrando que o intervalo de inicio do evento é com vcs, Tendo feito isso abra o arquivo e cole o  seguinte código dentro


quizstrg = 88788
local wave = 0
local CPpos = {x=1051, y=1047, z=7} --POSIÇAO QUE O PLAYER IRÁ SE ERRAR



function wave_acresc()
	wave = wave + 1
	addEvent(Quiz, 5000)
end

function Quiz()
	if wave == 1 then 
		doBroadcastMessage("Na serie pokemon RAYQUAZA possui mega evolucao ?", RED)
		addEvent(Resposta, 10000)
	elseif wave == 2 then 
		doBroadcastMessage("Na serie pokemon ARCEUS e considerado um pokemon RARO ?", RED)
		addEvent(Resposta, 10000)
	elseif wave == 3 then 
		doBroadcastMessage("Na serie pokemon MEW criou os 3 caes lendarios ?", RED)
		addEvent(Resposta, 10000)
	elseif wave == 4 then 
		doBroadcastMessage("Na serie pokemon ARCEUS tem o poder de mudar de tipo livremente ?", RED)
		addEvent(Resposta, 10000)
	elseif wave == 5 then 
		doBroadcastMessage("Na serie pokemon GIRATINA possui 2 formas sendo elas alterada e fantasma ?", RED)
		addEvent(Resposta, 10000)
	elseif wave == 6 then 
		doBroadcastMessage("Na serie pokemon DIALGA e PALKIA sao rivais ?", RED)
		addEvent(Resposta, 10000)
	elseif wave == 7 then 
		doBroadcastMessage("Na serie pokemon CELEBI possui a habilidade de viajar entre dimensoes ?", RED)
		addEvent(Resposta, 10000)
	elseif wave == 8 then 
		doBroadcastMessage("Na serie pokemon SOLGALEO e a primeira evolucao de cosmog ?", RED)
		addEvent(Resposta, 10000)
	elseif wave == 9 then 
		doBroadcastMessage("Na serie pokemon MAGEARNA e uma das ultra beasts ?", RED)
		addEvent(Resposta, 10000)
	elseif wave == 10 then 
		doBroadcastMessage("Na serie pokemon a cor original de MAGEARNA e laranja ?", RED)
		addEvent(Resposta, 10000)
	elseif wave == 11 then 
		doBroadcastMessage("O evento Quiz terminou !", RED)
		addEvent(winPlayers, 5000)
	end
	
end

function Resposta()
			if wave == 1 then 
				addEvent(TPFalso, 5000)
			elseif wave == 2 then 
				addEvent(TPVerdadeiro, 5000)
			elseif wave == 3 then 
				addEvent(TPVerdadeiro, 5000)
			elseif wave == 4 then 
				addEvent(TPFalso, 5000)
			elseif wave == 5 then 
				addEvent(TPVerdadeiro, 5000)
			elseif wave == 6 then 
				addEvent(TPFalso, 5000)
			elseif wave == 7 then 
				addEvent(TPVerdadeiro, 5000)
			elseif wave == 8 then 
				addEvent(TPVerdadeiro, 5000)
			elseif wave == 9 then 
				addEvent(TPVerdadeiro, 5000)
			elseif wave == 10 then 
				addEvent(TPFalso, 5000)
			end
end

function TPFalso()
for _, sid in ipairs(getPlayersOnline()) do
	local posi = {x=1236, y=1122, z=15}
	local posf = {x=1243, y=1128, z=15}
	local pos = getPlayerPosition(sid)
	
	if isInArea(pos, posi, posf) then
		doTeleportThing(sid,CPpos)
	end
	addEvent(wave_acresc, 5000)
end
end
function TPVerdadeiro()
for _, sid in ipairs(getPlayersOnline()) do
	local posi = {x=1228, y=1122, z=15}
	local posf = {x=1235, y=1128, z=15}
	local pos = getPlayerPosition(sid)
	
	if isInArea(pos, posi, posf) then
		doTeleportThing(sid,CPpos)
	end
	addEvent(wave_acresc, 5000)
end
end

function winPlayers()
for _, sid in ipairs(getPlayersOnline()) do
	local posi = {x=1228, y=1122, z=15}
	local posf = {x=1243, y=1128, z=15}
	local pos = getPlayerPosition(sid)

	if isInArea(pos, posi, posf) then
		doTeleportThing(sid,CPpos)
		doPlayerAddItem(sid,2159, 10)
	end
	wave = 0
	setGlobalStorageValue(88788, 0) 
end
end



--AVISOS DE INICIO
function finalEventWarning() 
	if getGlobalStorageValue(quizstrg) == 1 then 
		setGlobalStorageValue(88788, 2) 
		doBroadcastMessage("O evento Quiz fechou, a primeira pergunta surgira em 30 segundos.", RED)    
		addEvent(wave_acresc, 30000)
	end
end
function secondEventWarning()    
	if getGlobalStorageValue(quizstrg) == 1 then 
		doBroadcastMessage("O evento Quiz ira iniciar em 1 minuto, usem o comando !participar ou /participar.", RED)    
		addEvent(finalEventWarning, 60000)
	end
end
function firstEventWarning()    
	if getGlobalStorageValue(quizstrg) == 1 then 
		doBroadcastMessage("O evento Quiz ira iniciar em 3 minutos, usem o comando !participar ou /participar.", RED)    
		addEvent(secondEventWarning, 120000)
	end
end
function onThink(interval, lastExecution)
	if getGlobalStorageValue(quizstrg) == 0 then 
		setGlobalStorageValue(88788, 1)
		doBroadcastMessage("O evento Quiz ira iniciar em 5 minutos, usem o comando !participar ou /participar.", RED)   
		addEvent(firstEventWarning, 120000)  
	end
return true
end

Já ia me esquecendo, a unica coisa ao qual vocês devem mudar de acordo com as coordenadas do seu mapa e área do evento são as funções TPVerdadeiro , TPFalso, winPlayers , elas servem para indicar qual área é a errada e teleportar quem tiver nessa área pro cp, caso o lado errado seja o esquerdo então será usado a função  TPVerdadeiro, e é a msm coisa para o outro lado, no caso da winPlayers é toda a área do evento.

 

Aqui vai um exemplo: image.png.0dae43294d93c09953d4521f0199cd51.png

 

E é isso rapaziada, não sei se já possui algum evento parecido por essas bandas, mas eu não encontrei ,então fiz  e resolvi contribuir com a comunidade, peço que se for repostar em algum outro lugar dê os devidos créditos, obg e até a próxima.

Editado por willian646
Tentar deixar o melhor possivel o topico (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • willian646 mudou o título para Evento Quiz Automatico (Estilo GLA)
  • 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.

  • Conteúdo Similar

    • Por looktsx
      Salve Rapaziada tudo bom .
      queria ajuda pra cria um teleport ou uma alavanca com tempo ..
      depois do player usa o teleport ou a lavanca ele so poderá usa depois de tal determinado tempo.
       
      SERVIDOR 12.91
      Se alguem poder me ajuda vou fica grato ,
      des de ja agradeço a todos.
      ..
    • Por Ghaz
      Fala pessoal tudo bem?
       
      Estou com dificuldades em um script e preciso da ajuda dos magos do LUA rs.
       
      Tenho um script que quando o player morre (onDeath), ele faz algumas coisas e depois ele chama uma função que deveria retornar uma table (array) para eu fazer o for com o ipairs certinho. Segue abaixo o código:
       
       
      Segue abaixo a função getPlayersInArea:
       
       
      Acontece que no código de cima (do primeiro spoiler) eu dou um print no retorno da função getPlayersInArea, porém ela não tá me retornando a table, tá me retornando só: 2
       
       
       
      Alguém consegue me ajudar em, como raios eu faço a função retornar a lista de players ao invés da quantidade? Acredito que ta retornando o count da table, e não os itens do array.
       
       
      Agradeço desde já, valeu tchurma!
    • Por sannn
      --[[ /////////////////////////////////////////////////////////////////////////////////////////////////////// Discord: San#7791 -- Loja System 2.0 -- TFS 0.3.6 -- para adicionar qualquer item na loja: basta adicionar na tabelinha, seguindo o exemplo do vip! valor = quantidade de DIAMOND a ser cobrada; itemID = item a ser recebido; quantidade = quantidade de itens a ser recebidos; msg = mensagem que o player vai receber após comprar! Feito por San Discord: San#7791 exemplo de como comprar: !loja vip podendo ser adicionado a modules também. tag talkactions.xml // <talkaction words="!loja" case-sensitive="no" event="script" value="Loja System 2.0.lua"/> ////////////////////////////////////////////////////////////////////////////////////////////////////// depois de tantos sistemas com mil elseifs, vim trazer esta contribuição simples, para facilitar a vida de muitos adms! Contribuição pra comunidade =D ]]-- LOJA_CANCEL = "Você não possui diamantes o suficiente." LOJA_INVALID = "Não temos este item a venda na loja!" INVALID = "Comando incorreto" DIAMOND = 2145 -- item que será cobrado; tabelinha = { ["vip"] = {valor = 5, itemID = 2160, quantidade = 1, msg = "Obrigado por comprar um VIP em nossa loja!"}, -- coloque sempre minusculo o nome ! ["vip"]... etc } function onSay(cid, words, param, channel) local msg = string.lower(param) -- Não mexa! if msg == "" then doPlayerSendTextMessage(cid, 22, INVALID) return true end -- verificação if tabelinha[msg] == nil then doPlayerSendTextMessage(cid, 22, INVALID) return true end -- verificação if tabelinha[msg].valor then if getPlayerItemCount(cid, DIAMOND) >= tabelinha[msg].valor then doPlayerRemoveItem(cid, DIAMOND, tabelinha[msg].valor) doPlayerAddItem(cid, tabelinha[msg].itemID, tabelinha[msg].quantidade) doPlayerSendTextMessage(cid, 20, tabelinha[msg].msg) else doPlayerSendTextMessage(cid, 22, LOJA_CANCEL) return true end else doPlayerSendTextMessage(cid, 22, LOJA_INVALID) end return true end  
    • Por Guilherme.
      Bom galera, certa vez eu abri um servidor de tibia 8.55, ai pra incrementar ele resolvi colocar um sistema que faz com que o player compre os Itens VIPs direto do jogo.
       
       
      Funciona assim: Eu disponibilizei no site, a venda de moedas que podem ser usadas para comprar tanto VIP Account, quanto Itens VIP direto do jogo. O jogador que compra as moedas, recebe 100 delas e para poder comprar os itens eu editei uma TalkAction que veio no Baiak Yourots que era uma simples quest por comando, e transformei em uma ótima ferramenta para servidores com sistema vip.
      Vamos ao Script:
      Vá em data\talkactions\scripts , e crie um arquivo com o nome desejado e com o final ".lua" (Exemplo: ex.lua)
      Coloque isso dentro:
      Edite conforme você quiser, salve e feche.
      Laranja: ID do iten que vai servir como "moeda"
      Verde: Quantidade do iten
      Vermelho: ID do iten que o player vai receber quando usar o comando
      Azul: Quantidade do iten recebido
      Roxo: Palavra que aparecerá quando o player digitar o comando
      Rosa: Mensagem enviada ao player caso ele não tenha o iten ou quantidade neessária para a compra.
      Agora vá em "data\talkactions\" , edite o talkactions.xml
      Coloque isso la dentro:
      Verde: O Que o Player irá falar para usar o comando. ( Exemplo: !armor )
      Azul: O Nome do Arquivo que você criou em "data\talkactions\scripts". ( Exemplo: ex.lua )
      Créditos:
      Script: Baiak Lula ( Peguei o script do OT dele então, não tenho Certeza )
      Edição e Nova Função: Guilherme.
      COMENTEM !
    • Por gabriel luccera zika
      como vc leram no topico erri no meu globalevents
       

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo