Ir para conteúdo
Banner com Efeitos

Featured Replies

Postado

Ja vou me desculpando não sei se estou na area correta!

 

Galera gostaria da ajuda de vocês o meu evento ta com um erro ex: no meu otserv tem uma pedra no chão na hora do evento ela é removida e aparece uma escada no lugar, gostaria que quando acabar o evento removia a escada e colocaria a pedra dnvo


 

Mostrar conteúdo oculto

 

 

Mostrar conteúdo oculto

 

Mostrar conteúdo oculto

Lembrando q quando acabar o evento é pra virar pedra dnvo só quando acabar o evento

Resolvido por Vodkart

Ir para solução
  • Respostas 8
  • Visualizações 560
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • verdade, tinha uma linha que estava criando a pedra e duplicando ela, esqueci de remover... abre o mapa normalmente (que ja vem com a pedra do mapper edito) e inicia o evento com esse código:  

Posted Images

Postado
local THRONE_POS = {x = 2561, y = 2446, z = 5}
local dk = {x = 2539, y = 2474, z = 7} -- door or rock
local STORAGE_EVENT = 83902
local STORAGE_PLAYER = 73289
local DUR = 2 -- in minutes
local days = {"Friday", "Saturday", "Thursday"} -- coloque os dias
function OpenEvent() 
	for _, tid in ipairs(getPlayersOnline()) do 
		setPlayerStorageValue(tid, STORAGE_PLAYER, 1) 
	end 
	setGlobalStorageValue(STORAGE_EVENT, 1) 
	doBroadcastMessage("O Evento castle foi aberto e vai durar ".. DUR .." minutos.", 25) 
end
function doTransLaderRock(n) -- 1 vira escada e 0 pedra
	return doTransformItem(getTileItemById(dk, n == 1 and 3687 or 1285).uid, n == 1 and 1285 or 3687)
end
function getWinnerCastle() 
	doTransLaderRock(0) -- pedra 
	local player = getTopCreature(THRONE_POS).uid 
	if getGlobalStorageValue(STORAGE_EVENT) < 0 then 
		return true 
	end 
	if (isPlayer(player)) then 
		if (getPlayerStorageValue(player, STORAGE_PLAYER) > 0) then 
			local id, pid = 561, getPlayerGUID(player) 
			setHouseOwner(id, pid) 
			db.executeQuery("UPDATE `houses` SET `owner` = "..pid.." WHERE `id` = "..id) 
			doPlayerAddPremiumDays(player, 7) 
			for _, cid in ipairs(getPlayersOnline()) do 
				setPlayerStorageValue(cid, STORAGE_PLAYER, 0) 
				doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) 
			end 
			doBroadcastMessage(getCreatureName(player) .. " ganhou o evento.", 25) 
			doTeleportThing(player, {x = 2531, y = 2460, z = 7}) 
			doCreateItem(391, 1, {x = 2561, y = 2446, z = 5}) 
		end 
	else 
		doBroadcastMessage("Ningúem ganhou o evento.", 27) 
		for _, pid in ipairs(getPlayersOnline()) do 
			setPlayerStorageValue(pid, STORAGE_PLAYER, 0) 
			doTeleportThing(pid, getTownTemplePosition(getPlayerTown(pid))) 
		end 
	end 
	setGlobalStorageValue(STORAGE_EVENT, 0) 
	return db.executeQuery("DELETE FROM `player_storage` WHERE `key` = " .. STORAGE_PLAYER) 
end
function isEventDay()
	for _, dia in pairs(days) do
		if dia == os.date("%A") then
			return true
		end
	end
	return false
end
function onTimer()
	if isEventDay() then
		doCreateItem(3687, 1, {x = 2539, y = 2474, z = 7}) ERRO E AQUI <<<<<<<<<<<
		OpenEvent()
		doTransLaderRock(1) -- escada
		addEvent(getWinnerCastle, DUR * 60 * 1000)
	end
	return true
end

 

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Postado
  • Autor
  Em 08/09/2021 em 10:28, Vodkart disse:

local THRONE_POS = {x = 2561, y = 2446, z = 5}
local dk = {x = 2539, y = 2474, z = 7} -- door or rock
local STORAGE_EVENT = 83902
local STORAGE_PLAYER = 73289
local DUR = 2 -- in minutes
local days = {"Friday", "Saturday", "Thursday"} -- coloque os dias
function OpenEvent() 
	for _, tid in ipairs(getPlayersOnline()) do 
		setPlayerStorageValue(tid, STORAGE_PLAYER, 1) 
	end 
	setGlobalStorageValue(STORAGE_EVENT, 1) 
	doBroadcastMessage("O Evento castle foi aberto e vai durar ".. DUR .." minutos.", 25) 
end
function doTransLaderRock(n) -- 1 vira escada e 0 pedra
	return doTransformItem(getTileItemById(dk, n == 1 and 3687 or 1285).uid, n == 1 and 1285 or 3687)
end
function getWinnerCastle() 
	doTransLaderRock(0) -- pedra 
	local player = getTopCreature(THRONE_POS).uid 
	if getGlobalStorageValue(STORAGE_EVENT) < 0 then 
		return true 
	end 
	if (isPlayer(player)) then 
		if (getPlayerStorageValue(player, STORAGE_PLAYER) > 0) then 
			local id, pid = 561, getPlayerGUID(player) 
			setHouseOwner(id, pid) 
			db.executeQuery("UPDATE `houses` SET `owner` = "..pid.." WHERE `id` = "..id) 
			doPlayerAddPremiumDays(player, 7) 
			for _, cid in ipairs(getPlayersOnline()) do 
				setPlayerStorageValue(cid, STORAGE_PLAYER, 0) 
				doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) 
			end 
			doBroadcastMessage(getCreatureName(player) .. " ganhou o evento.", 25) 
			doTeleportThing(player, {x = 2531, y = 2460, z = 7}) 
			doCreateItem(391, 1, {x = 2561, y = 2446, z = 5}) 
		end 
	else 
		doBroadcastMessage("Ningúem ganhou o evento.", 27) 
		for _, pid in ipairs(getPlayersOnline()) do 
			setPlayerStorageValue(pid, STORAGE_PLAYER, 0) 
			doTeleportThing(pid, getTownTemplePosition(getPlayerTown(pid))) 
		end 
	end 
	setGlobalStorageValue(STORAGE_EVENT, 0) 
	return db.executeQuery("DELETE FROM `player_storage` WHERE `key` = " .. STORAGE_PLAYER) 
end
function isEventDay()
	for _, dia in pairs(days) do
		if dia == os.date("%A") then
			return true
		end
	end
	return false
end
function onTimer()
	if isEventDay() then
		doCreateItem(3687, 1, {x = 2539, y = 2474, z = 7}) ERRO E AQUI <<<<<<<<<<<
		OpenEvent()
		doTransLaderRock(1) -- escada
		addEvent(getWinnerCastle, DUR * 60 * 1000)
	end
	return true
end

 

agora não ta removendo a pedra só quando acaba o evento q aparece a escada

image.thumb.png.7da4ff914a3e1ce68e757ca257c8af86.png

obs: essa pedra ja é fixa no meu mapa editor , tem q remover ela e por escada quando inicia o evento, e quando acabar o evento remove a escada e coloca pedra dnvo

acho q deu p entender rs

Postado

verdade, tinha uma linha que estava criando a pedra e duplicando ela, esqueci de remover... abre o mapa normalmente (que ja vem com a pedra do mapper edito) e inicia o evento com esse código:

 

 

local THRONE_POS = {x = 2561, y = 2446, z = 5}
local dk = {x = 2539, y = 2474, z = 7} -- door or rock
local STORAGE_EVENT = 83902
local STORAGE_PLAYER = 73289
local DUR = 2 -- in minutes
local days = {"Friday", "Saturday", "Thursday"} -- coloque os dias
function OpenEvent() 
	for _, tid in ipairs(getPlayersOnline()) do 
		setPlayerStorageValue(tid, STORAGE_PLAYER, 1) 
	end 
	setGlobalStorageValue(STORAGE_EVENT, 1) 
	doBroadcastMessage("O Evento castle foi aberto e vai durar ".. DUR .." minutos.", 25) 
end
function doTransLaderRock(n) -- 1 vira escada e 0 pedra
	return doTransformItem(getTileItemById(dk, n == 1 and 1285 or 3687).uid, n == 1 and 3687 or 1285)
end
function getWinnerCastle() 
	doTransLaderRock(0) -- pedra 
	local player = getTopCreature(THRONE_POS).uid 
	if getGlobalStorageValue(STORAGE_EVENT) < 0 then 
		return true 
	end 
	if (isPlayer(player)) then 
		if (getPlayerStorageValue(player, STORAGE_PLAYER) > 0) then 
			local id, pid = 561, getPlayerGUID(player) 
			setHouseOwner(id, pid) 
			db.executeQuery("UPDATE `houses` SET `owner` = "..pid.." WHERE `id` = "..id) 
			doPlayerAddPremiumDays(player, 7) 
			for _, cid in ipairs(getPlayersOnline()) do 
				setPlayerStorageValue(cid, STORAGE_PLAYER, 0) 
				doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid))) 
			end 
			doBroadcastMessage(getCreatureName(player) .. " ganhou o evento.", 25) 
			doTeleportThing(player, {x = 2531, y = 2460, z = 7}) 
			doCreateItem(391, 1, {x = 2561, y = 2446, z = 5}) 
		end 
	else 
		doBroadcastMessage("Ningúem ganhou o evento.", 27) 
		for _, pid in ipairs(getPlayersOnline()) do 
			setPlayerStorageValue(pid, STORAGE_PLAYER, 0) 
			doTeleportThing(pid, getTownTemplePosition(getPlayerTown(pid))) 
		end 
	end 
	setGlobalStorageValue(STORAGE_EVENT, 0) 
	return db.executeQuery("DELETE FROM `player_storage` WHERE `key` = " .. STORAGE_PLAYER) 
end
function isEventDay()
	for _, dia in pairs(days) do
		if dia == os.date("%A") then
			return true
		end
	end
	return false
end
function onTimer()
	if isEventDay() then
		OpenEvent()
		doTransLaderRock(1) -- escada
		addEvent(getWinnerCastle, DUR * 60 * 1000)
	end
	return true
end

 

e não preciso remover ela, eu posso transformar ela em pedra ou escada...

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

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.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo