Ir para conteúdo

Evento area vip


Posts Recomendados

Boa noite galera eu tenho um pedido , eu queria que alguém se possível ajeita-se ele do modo que eu vou explicar.

Esse system de evento eu acho que e simples , ele remove uma parede de tal lugar no (X) dia e na (X) hora.

So que eu queria mudar ele eu queria que ao invés de ele remover a parede ele troca-se dois tiles, que e da area vip, e da area de quest vip's.

Ex: Vai aparecer uma mensagem para os player dizendo que a area vip sera aberta no dia (X) e na hora (X) , ae quando chegar o dia e a hora do evento o tile que so deixa passar os player vip , ele seria trocado por outro e depois de uma hora e meia o tile voltaria ao normal , so deixando os player vip passar. no caso seria dois tiles para remover e depois por no lugar novamente, que seria a area vip e a area de quest.

 

 

function onThink(interval, lastExecution)

local wallpos, wallID = {x=166, y=53, z=7, stackpos=1}, 12036
function OpenAndCloseWall()
if getTileItemById(wallpos, wallID).uid == 0 then
doCreateItem(wallID, 1, wallpos)
doSendMagicEffect(wallpos, 61)
else
doRemoveItem(getThingfromPos(wallpos).uid,1)
doSendMagicEffect(wallpos, CONST_ME_POFF)
end
doBroadcastMessage("Gran Castle".. getTileItemById(wallpos, wallID).uid == 0 and "Fechado" or "Aberto" .."!", MESSAGE_EVENT_ADVANCE)
doBroadcastMessage("Gran Castle".. getTileItemById(wallpos, wallID).uid == 1 and "Fechado" or "Aberto" .."!", MESSAGE_EVENT_ADVANCE)
return true
end
if os.date("%A") == "Wednesday" then
if (os.date("%X") == "19:07:00") or (os.date("%X") == "19:07:05") then-->Aberto
OpenAndCloseWall()
elseif (os.date("%X") == "19:08:00") or (os.date("%X") == "19:08:05") then --> Fechado
OpenAndCloseWall()
end
end
return TRUE
end

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

data/globalevents/scripts:

local config = {
    day = "Sunday",                --Dia (em inglês).
    actionid = xxx,                --Actionid dos tiles da área VIP.
    time = 90,                     --Tempo, em minutos, que os tiles da área VIP ficarão desabilitados.
    pos = {
        {x = x, y = y, z = z},     --Posições dos tiles da área VIP.
        {x = x, y = y, z = z},
    }
}
 
function onTime()
    if os.date("%A") == config.day then
        for _, pos in pairs(config.pos) do
            local tile = getTileThingByPos(pos).uid
            if tile > 0 and getItemAttribute(tile, "aid") and getItemAttribute(tile, "aid") == config.actionid then
                doItemSetAttribute(tile, "aid", false)
                addEvent(function()
                    local tile = getTileThingByPos(pos).uid
                    if tile > 0 and not getItemAttribute(tile, "aid") then
                        doItemSetAttribute(tile, "aid", config.actionid)
                    end
                end, config.time * 60 * 1000)
            end
        end
    end
    return true
end
Tag:
<!-- Coloque em time o horário que o script será executado -->
<globalevent name="openVipArea" time="19:00" event="script" value="nome_do_arquivo.lua"/>
Editado por zipter98
Link para o comentário
Compartilhar em outros sites

Boa noite mano eu coloquei aki como vc falou e deu esse erro aki , e o meu nao e aid nao e uid. e eu queria que mandasse uma mensaguem quando foce aberta e outra quando fexa-se

[Warning - Event::loadScript] Event onTimer not found (data/globalevents/scripts/Evento.lua)

 


@up

Link para o comentário
Compartilhar em outros sites

Bom dia eu consegui resolver uma parte e tais so, que eu nao to conseguindo e por para o evento acontecer num certo dia

 

 

 

<globalevent name="openVipArea" time="12:46" event="script" value="Evento.lua"/>

 

 

local config = {

day = "Tuesday", --Dia (em inglês).
timeToCreate = 1, -- minutes
walls = {{ x = 166, y = 53, z = 7, stackpos = STACKPOS_FIRST_ITEM_ABOVE_GROUNDTILE }},}
function removeWalls(item, position)
doBroadcastMessage("Area vip aberta, CORRAM! Fechara em 2 minutos.")
addEvent(createWalls, config.timeToCreate * 120000)
for i = 1, table.maxn(config.walls) do
doRemoveItem(getThingfromPos(config.walls).uid)
doSendMagicEffect(config.walls, CONST_ME_MAGIC_RED)
end
return TRUE
end
function createWalls(item, position)
for i = 1,table.maxn(config.walls) do
doCreateItem(12036, 1, config.walls)
doBroadcastMessage("Area vip foi fechada!")
doSendMagicEffect(config.walls, CONST_ME_MAGIC_GREEN)
end
return TRUE
end
function onTimer()
doBroadcastMessage("Area Vip sera aberta em 2 minutos!")
addEvent(removeWalls, 120000)
return TRUE
end
if os.date("%A") == config.day then
end

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

@, tenta assim:

local config = {
	days = {"Sunday", "Tuesday"},                --Dias (em inglês).
	timeOpen = 20, -- minutes
	walls = {
		{ x = 166, y = 53, z = 7, stackpos = STACKPOS_FIRST_ITEM_ABOVE_GROUNDTILE }
	},
	msgStart = "Os portoes do evento irao abrir em xxx minutos",
	msgOpen = "Portoes abertos por xxx minutos para o evento!", -- mensagem de abertura do evento
	msgClose = "Portoes fechados!" -- mensagem de fechamento do evento
}
 
function removeWalls(item, position)
	doBroadcastMessage(config.msgOpen)
	addEvent(createWalls, config.timeOpen * 60 * 1000)
	for i = 1, #config.walls do
		doRemoveItem(getThingfromPos(config.walls[i]).uid)
		doSendMagicEffect(config.walls[i], CONST_ME_MAGIC_RED)
	end
	return true
end
 
function createWalls(item, position)
	for i = 1, #config.walls do
		doCreateItem(12036, 1, config.walls[i])
		doBroadcastMessage(config.msgClose)
		doSendMagicEffect(config.walls[i], CONST_ME_MAGIC_GREEN)
	end
	return true
end
 
function onTimer()
	if isInArray(config.days, os.date("%A")) then
		doBroadcastMessage(config.msgStart)
		addEvent(removeWalls, config.timeOpen * 60 * 1000)
	end
	return true
end
Link para o comentário
Compartilhar em outros sites

Mano me explica duas coisa como eu configuro ele e o que estava errado no meu . que eu coloquei o seu aki e nao deu em nada . tipo assim vou falar aki se vc poder configurar vou agradecer , eu quero que a parede seja removida no (Domingo) as 20:00 e depois de uma hora e meia a parede volte pro lugar dela.

 

depois disso eu queria que todos os player que entraram e nao entraram fosse teleportado para o templo

Ex: o player Tal foi la viu que abrio a area vip e entro e deslogo o char dentro da area vip, ae quando o evento acaba ele vai la e loga e fica dentro da area vip. ae o script teleportaria todos os player da database para o templo!


@up

 


@up

 


@Bruno Minervino iai?


Up


Up

Link para o comentário
Compartilhar em outros sites

  • 2 weeks later...

O tópico foi fechado e movido para lixeira por estar inativo a mais de 10 dias. Caso seja preciso reabrir o mesmo, favor entrar em contato com a equipe.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...