Ir para conteúdo

Featured Replies

Postado
local function TPSai()
    local teleport = getTileItemById(config.teleportPos, config.teleportId).uid
		if(teleport > 0) then
			doRemoveItem(teleport)
			doSendMagicEffect(config.teleportPos, CONST_ME_POFF)
		end
		doBroadcastMessage("O teleport sumiu do templo, amanhã as 20hrs ele volta.", MESSAGE_STATUS_WARNING)
		print('Removed TP.')
		setGlobalStorageValue(config.storage, 0)
    end
end	
function onThink(interval, lastExecution) 
	local pos = {x = 1001, y = 992, z = 7}
	if (getGlobalStorageValue(cid, 485) == 0 or getPlayerStorageValue(cid, 486) == 1) then
		doTeleportThing(cid, pos)
		doSendMagicEffect(getCreaturePosition(cid), 12)
		print('Removendo todos da area VIP.')
		doPlayerSendTextMessage(cid, 22, "Voce saiu da area vip por 45 minutos, amanha tem mais.")
		setPlayerStorageValue(cid, 486, 0)
	end
end
Atualiza seu login.lua tbm..
local pos = {x = 1001, y = 992, z = 7}
if (getPlayerStorageValue(cid, 486) == 1 or getGlobalStorageValue(cid, 485) == 0) then
    doTeleportThing(cid, pos)
    doSendMagicEffect(getCreaturePosition(cid), 12)
    doPlayerSendTextMessage(cid, 22, "Voce foi teletransportado para fora da area VIP.")
    setPlayerStorageValue(cid, 486, 0)
end


Tenta com esses dois scripts. Cometi alguns erros achando que no TFS 0.4 daria para fazer igual no TFS 1.2, só que com funcões mais antigas.

My bad.. hahahaa

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

  • Respostas 16
  • Visualizações 832
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • luanluciano93
    luanluciano93

    @vankk, fiz isso, se te ajudar

  • Não tenho a minima ideia se vai funcionar: globalevents com time 20:00 local config = { teleportActionId = 1247, -- action do tp teleportPos = {x = 1001, y = 992, z = 7}, -- aonde vai aparecer

  • Substitui a linha 19-20 por essa: doItemSetAttribute(doCreateItem(config.teleportId, 1, config.teleportPos), "aid", config.teleportActionId)Qual erro que mais da? E troca a linha 19 por function onT

Posted Images

Postado
  • Autor
@vankk
Continua dando erro :/
O teleport é criado normal, e no momento que o teleport é criado aparece esse erro no distro, e a parte de retirar o teleport não funciona:
erro1.thumb.png.504c0a0747e76ba2ba8b8ae4

local config = {
    teleportActionId = 1247, -- action do tp
    teleportPos = {x = 1001, y = 992, z = 7}, -- aonde vai aparecer o tp
    teleportId = 1387,
    storage = 485,
    tempo = 1,
    }

    function onTime()
    doItemSetAttribute(doCreateItem(config.teleportId, 1, config.teleportPos), "aid", config.teleportActionId)
    doBroadcastMessage("Foi criado um teleport no templo que leva para area VIP!\n Em 45 minutos ele some entao aproveitem!", MESSAGE_STATUS_WARNING)
    setGlobalStorageValue(config.storage, 1)
    print('Teleport nasceu no templo por 45 minutos.')
    addEvent(TPSai, config.tempo * 1000 * 60)
end

local function TPSai()
    local teleport = getTileItemById(config.teleportPos, config.teleportId).uid
        if(teleport > 0) then
            doRemoveItem(teleport)
            doSendMagicEffect(config.teleportPos, CONST_ME_POFF)
        end
        doBroadcastMessage("O teleport sumiu do templo, amanhã as 20hrs ele volta.", MESSAGE_STATUS_WARNING)
        print('Removed TP.')
        setGlobalStorageValue(config.storage, 0)
    end


O segundo script também continua dando erro:
erro2.thumb.png.fd88ba1aca454f55105702c9
Será que este segundo script não funcionaria melhor em creaturescripts?

--
A parte do login.lua ta funcionando =)
Do meu ponto de vista parece que o problema esta na função de GlobalStorage.. pois ontem fiz uns testes e quando removi as linhas que alteravam globalstorage o script funcionou. Então pensei que talvez fosse possível mudar esse sistema do globalstorage por um storage que conte o tempo tipo aqueles sistemas VIP por storage.. não sei exatamente a função que faz isso para poder descrever melhor.

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

Postado

Preguica de fazer outro script p talvez da erro como storage de time. Não sou muito fã de storage time.
..

Tenta isso:

local config = {
    teleportActionId = 1247, -- action do tp
    teleportPos = {x = 1001, y = 992, z = 7}, -- aonde vai aparecer o tp
    teleportId = 1387,
    storage = 485,
    tempo = 1,
}

function TPSai()
    local teleport = getTileItemById(config.teleportPos, config.teleportId).uid
    if(teleport > 0) then
        doRemoveItem(teleport)
        doSendMagicEffect(config.teleportPos, CONST_ME_POFF)
    end
    doBroadcastMessage("O teleport sumiu do templo, amanhã as 20hrs ele volta.", MESSAGE_STATUS_WARNING)
    print('Removed TP.')
    setGlobalStorageValue(config.storage, 0)
end
    
function onTimer()
    doItemSetAttribute(doCreateItem(config.teleportId, 1, config.teleportPos), "aid", config.teleportActionId)
    doBroadcastMessage("Foi criado um teleport no templo que leva para area VIP!\n Em 45 minutos ele some entao aproveitem!", MESSAGE_STATUS_WARNING)
    setGlobalStorageValue(config.storage, 1)
    print('Teleport nasceu no templo por 45 minutos.')
    addEvent(TPSai, config.tempo * 1000 * 60)
end
function onThink(interval, lastExecution)
    local pos = {x = 1001, y = 992, z = 7}
    if (getGlobalStorageValue(cid, 485) == 0) then
        for _, cid in ipairs(getPlayersOnline()) do
            if (getPlayerStorageValue(cid, 486) == 1) then
                doTeleportThing(cid, pos)
                doSendMagicEffect(getCreaturePosition(cid), 12)
                print('Removendo todos da area VIP.')
                doPlayerSendTextMessage(cid, 22, "Voce saiu da area vip por 45 minutos, amanha tem mais.")
            end
        end
    end
end
Postado

@vankk, fiz isso, se te ajudar :D

EVENT = {
	TELEPORT_POSITION = {x = 1, y = 1, z = 1},
	TELEPORT_ACTION = 77000,
	EVENT_MINUTES = 45,
	STORAGE = 48760,
	DONATE_POSITION = {x = 1, y = 1, z = 1},
}

EVENT.globalevents = function()
	local tp = getTileItemById(EVENT.TELEPORT_POSITION, 1387).uid
	if tp > 0 then
		doRemoveItem(tp)
		doBroadcastMessage("O teleport sumiu do templo, amanhã as 20hrs ele volta.", MESSAGE_STATUS_WARNING)
		EVENT.removeAllPlayers()
	else		
		doBroadcastMessage("Foi criado um teleport no templo que leva para area VIP!\n Em 45 minutos ele some entao aproveitem!", MESSAGE_STATUS_WARNING)

		local teleport = doCreateItem(1387, 1, EVENT.TELEPORT_POSITION)
		doItemSetAttribute(teleport, "aid", EVENT.TELEPORT_ACTION)

		addEvent(EVENT.globalevents, EVENT.EVENT_MINUTES * 60 * 1000)
	end
end

EVENT.movements = function(uid)
	setPlayerStorageValue(uid, EVENT.STORAGE, 1)
	doTeleportThing(uid, EVENT.DONATE_POSITION)
	doSendMagicEffect(getCreaturePosition(uid), 12)
	doPlayerSendTextMessage(uid, 22, "Voce entrou na area VIP por 45 minutos.")
end

EVENT.creaturescript = function(uid)
	if getPlayerStorageValue(uid, EVENT.STORAGE) == 1 then
		EVENT.removePlayer()
	end
end

EVENT.removeAllPlayers = function()
	for _, uid in ipairs(getPlayersOnline()) do
		if getPlayerStorageValue(uid, EVENT.STORAGE) == 1 then
			EVENT.removePlayer()
		end
	end
	
EVENT.removePlayer = function(uid)
	doTeleportThing(uid, getTownTemplePosition(getPlayerTown(uid)), false)
	doSendMagicEffect(getCreaturePosition(uid), 12)
	doPlayerSendTextMessage(uid, 22, "Voce foi teletransportado para fora da area VIP.")
	setPlayerStorageValue(uid, EVENT.STORAGE, 0)
end

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

Postado
  • Autor
@vankk

O primeiro script não funcionou, então mudei OnTimer por Ontime e funcionou "quase" que perfeitamente... ele faz suas funções.. cria/remove o teleport.. porém mesmo funcionando apresenta um erro no distro.
erro1.thumb.png.a727216cd42f0ca6d54ed501

O segundo script funcionou.. quando terminou o evento levou todos para o templo.. porém como o primeiro, mesmo funcionando apresenta o erro no distro de 5 em 5 segundos:
erro2.thumb.png.ca58127378a9c1083bf935fd

A função que foi no login.lua tem algo errado... mesmo durante o evento ao logar é teletransportado ao templo. Porém não necessita de ajuste.. só coloquei a mensagem assim "Voce foi teletransportado para o templo para que não haja mal-uso do evento VIP por 45 minutos."


@luanluciano93

Isso é um MOD?

----------------------EDIT---------------- @vankk
Consegui corrigir o login.lua
O sistema está funcionando perfeitamente, a única coisa que continua me perturbando é este erro que se repete no distro a cada 5 segundos mesmo o script funcionando..
*referente ao segundo script

erro2.thumb.png.73c3f8750033899222e09092

data/globalevents/scripts abreVIP2.lua

function onThink(interval, lastExecution)
    local pos = {x = 1005, y = 998, z = 7}
    if (getGlobalStorageValue(cid, 485) == 0) then
        for _, cid in ipairs(getPlayersOnline()) do
            if (getPlayerStorageValue(cid, 486) == 1) then
                doTeleportThing(cid, pos)
                doSendMagicEffect(getCreaturePosition(cid), 12)
                setPlayerStorageValue(cid, 486, 0)
                print('Removendo todos da area VIP.')
                doPlayerSendTextMessage(cid, 22, "O evento AreaVIP por 45 minutos acabou, amanha tem mais.")
            end
        end
    end
end

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

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.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo