Ir para conteúdo

Featured Replies

Postado
  • Autor

@TalesigorvrTp, que no caso é este script

 

 

CTF.lua

Spoiler

local days = {"Sunday-21:00", "Monday-21:00", "Tuesday-21:00", "Wednesday-21:00", "Thursday-21:00", "Friday-17:07", "Saturday-21:00"}

local function removeTp()
    local pos = CTF.tp_pos
    for i = 1, 255 do
        pos.stackpos = i
        if getThingFromPos(pos) and getThingFromPos(pos).uid > 0 and getThingFromPos(pos).itemid == 1387 then
            doRemoveItem(getThingFromPos(pos).uid, 1)
            break
        end
    end
end

function onThink(interval, lastExecution)

    if isInArray(days, os.date("%A-%H:%M")) then

        setGlobalStorageValue(822066, 0)
        doBroadcastMessage("{Capture The Flag} Precisamos de pelo menos 10 jogadores para iniciar o evento. O evento inicia daqui 5 minutos!")
        
        local tp = doCreateItem(1387, 1, CTF.tp_pos)
        doItemSetAttribute(tp, 'aid', 9789)
        addEvent(removeTp, 60 * 5 * 1000)
        addEvent(CTF.start, 60 * 5 * 1000)
        addEvent(CTF.stop, 60 * 60 * 1000)
    
        
    end
    return true
end

 

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

                                                       “Enquanto nos derem ao menos 1% de chance, seguiremos lutando.

                                                     E venceremos! Esse é o verdadeiro e único Clube da Fé! Vai São Paulo!”

                                                                                       spfc.png

  • Respostas 15
  • Visualizações 714
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Bodak Reborn
    Bodak Reborn

    function onStepIn(cid, item, position, fromPosition) if item.actionid == 5436 then if getPlayerStorageValue(cid, CTF.storages.redFlag) == 1 then setGlobalStorageValue(CTF.stora

  • Bodak Reborn
    Bodak Reborn

    Como as pessoas entram no evento? TP, andando, etc

  • Bodak Reborn
    Bodak Reborn

    O_O Estou muito confuso, o script tá dando storage global, logo, todo mundo tem o storage, logo, todo mundo recebe a mensagem.. Abre um teleport quando vai começar o evento, é isso?

Postado

O_O

Estou muito confuso, o script tá dando storage global, logo, todo mundo tem o storage, logo, todo mundo recebe a mensagem..

Abre um teleport quando vai começar o evento, é isso?

Não dou suporte via PM, crie um tópico caso tenha dúvidas.

Isso previne que outras pessoas com a mesma dúvida criem tópicos desnecessários.

Postado
  • Autor
11 minutos atrás, Talesigorvr disse:

O_O

Estou muito confuso, o script tá dando storage global, logo, todo mundo tem o storage, logo, todo mundo recebe a mensagem..

Abre um teleport quando vai começar o evento, é isso?

Sim. Então é ai que está o problema, o certo seria dar outra storage pra quem entrase no teleporte, ja que todos estáo com á storage 822066.

                                                       “Enquanto nos derem ao menos 1% de chance, seguiremos lutando.

                                                     E venceremos! Esse é o verdadeiro e único Clube da Fé! Vai São Paulo!”

                                                                                       spfc.png

Postado

Um minuto.

 

Testa ai:

Spoiler

function onStepIn(cid, item, position, fromPosition)
	if getPlayerStorageValue(cid, 822066) == 1 then
		if item.actionid == 5436 then
			if getPlayerStorageValue(cid, CTF.storages.redFlag) == 1 then
				setGlobalStorageValue(CTF.storages.greenTeam, getStorageZero(CTF.storages.greenTeam) + 1)
				doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "O jogador "..getCreatureName(cid).." levou a Bandeira Vermelha até a base verde e marcou um ponto para o time verde!")
				doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Placar:\n Time Verde -> "..getStorageZero(CTF.storages.greenTeam).." ponto(s).\n Time Vermelho: -> "..getStorageZero(CTF.storages.redTeam).." ponto(s).")
				doPlayerSetStorageValue(cid, CTF.storages.redFlag, -1)
				doSendMagicEffect(CTF.redFlagPos, 28)
				if getStorageZero(CTF.storages.greenTeam) == 10 then
						doPlayerSendTextMessage(cid, 25, "O Time Verde atingiu 10 pontos e venceu o evento! Os membros que ainda estão presentes receberam alguns prêmios!")
					CTF.removeFlags()
					for _, pid in pairs(getPlayersOnline()) do
						if getPlayerStorageValue(pid, CTF.storages.greenTeam) == 1 then
							local am = {8302, 8306, 8300, 5957}
							doPlayerAddItem(pid, 2157, 30)
							doPlayerAddItem(pid, am[math.random(1, 4)], 1)
						end
					end
					for _, pid in pairs(getPlayersOnline()) do
						if getPlayerStorageValue(pid, CTF.storages.greenFlag) == 1 or getPlayerStorageValue(pid, CTF.storages.redFlag) == 1 then
							doPlayerSetStorageValue(pid, CTF.storages.greenFlag, -1)
							doPlayerSetStorageValue(pid, CTF.storages.redFlag, -1)
						end
						doTeleportThing(pid, CTF.exit_)
						doPlayerSetStorageValue(pid, 822066, -1)
						doPlayerSetStorageValue(pid, CTF.storages.redTeam, -1)
						doPlayerSetStorageValue(cid, CTF.storages.greenTeam, -1)
						doRemoveCondition(cid, CONDITION_OUTFIT)
					end
				else                        
					local flag = doCreateItem(CTF.redFlag, 1, CTF.redFlagPos)
					doItemSetAttribute(flag, 'aid', 5435)
				end
			end
		elseif item.actionid == 5437 then
			if getPlayerStorageValue(cid, CTF.storages.greenFlag) == 1 then
				setGlobalStorageValue(CTF.storages.redTeam, getStorageZero(CTF.storages.redTeam) + 1)
				doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "O jogador "..getCreatureName(cid).." levou a Bandeira Verde até a base vermelha e marcou um ponto para o time vermelho!")
				doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Placar:\n Time Vermelho -> "..getStorageZero(CTF.storages.redTeam).." ponto(s).\n Time Verde: -> "..getStorageZero(CTF.storages.greenTeam).." ponto(s).")
				doPlayerSetStorageValue(cid, CTF.storages.greenFlag, -1)
				doSendMagicEffect(CTF.greenFlagPos, 28)
				if getStorageZero(CTF.storages.redTeam) == 10 then
					doPlayerSendTextMessage(cid, 25, "O Time Vermelho atingiu 10 pontos e venceu o evento! Os membros que ainda estão presentes receberam alguns prêmios!")
					CTF.removeFlags()
					for _, cid in pairs(getPlayersOnline()) do
						if getPlayerStorageValue(cid, CTF.storages.redTeam) == 1 then
							local am = {8302, 8306, 8300, 5957}
							doPlayerAddItem(cid, 2157, 30)
							doPlayerAddItem(cid, am[math.random(1, 4)], 1)                    
						end
					end
					for _, cid in pairs(getPlayersOnline()) do
						if getPlayerStorageValue(cid, CTF.storages.greenFlag) == 1 or getPlayerStorageValue(cid, CTF.storages.redFlag) == 1 then
							doPlayerSetStorageValue(cid, CTF.storages.greenFlag, -1)
							doPlayerSetStorageValue(cid, CTF.storages.redFlag, -1)
						end
						doTeleportThing(cid, CTF.exit_)
						doPlayerSetStorageValue(cid, 822066, -1)
						doPlayerSetStorageValue(cid, CTF.storages.redTeam, -1)
						doPlayerSetStorageValue(cid, CTF.storages.greenTeam, -1)
						doRemoveCondition(cid, CONDITION_OUTFIT)
					end
				else                        
					local flag = doCreateItem(CTF.greenFlag, 1, CTF.greenFlagPos)
					doItemSetAttribute(flag, 'aid', 5434)
				end
			end
		end
	end
    return true
end

movements/scripts

nome_arquivo.lua

Spoiler

function onStepIn(cid, item, position, fromPosition)
	if isPlayer(cid) then return true end
	setPlayerStorage(cid, 822066, 1)
return true
end

 

movements.xml

Spoiler

<movevent type="StepIn" actionid="action id do tile" event="script" value="nome_arquivo.lua" />

 

Coloque o action id na saída do teleport, ou na entrada. O importante é que quem for entrar no evento, passe por esse tile.

Lembrando que tu pode definir um action id no tile à sua frente com o comando /attr action numero

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

Não dou suporte via PM, crie um tópico caso tenha dúvidas.

Isso previne que outras pessoas com a mesma dúvida criem tópicos desnecessários.

Postado
  • Autor

@Telesigorvr

1 hora atrás, Talesigorvr disse:

Um minuto.

 

Testa ai:

  Mostrar conteúdo oculto


function onStepIn(cid, item, position, fromPosition)
	if getPlayerStorageValue(cid, 822066) == 1 then
		if item.actionid == 5436 then
			if getPlayerStorageValue(cid, CTF.storages.redFlag) == 1 then
				setGlobalStorageValue(CTF.storages.greenTeam, getStorageZero(CTF.storages.greenTeam) + 1)
				doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "O jogador "..getCreatureName(cid).." levou a Bandeira Vermelha até a base verde e marcou um ponto para o time verde!")
				doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Placar:\n Time Verde -> "..getStorageZero(CTF.storages.greenTeam).." ponto(s).\n Time Vermelho: -> "..getStorageZero(CTF.storages.redTeam).." ponto(s).")
				doPlayerSetStorageValue(cid, CTF.storages.redFlag, -1)
				doSendMagicEffect(CTF.redFlagPos, 28)
				if getStorageZero(CTF.storages.greenTeam) == 10 then
						doPlayerSendTextMessage(cid, 25, "O Time Verde atingiu 10 pontos e venceu o evento! Os membros que ainda estão presentes receberam alguns prêmios!")
					CTF.removeFlags()
					for _, pid in pairs(getPlayersOnline()) do
						if getPlayerStorageValue(pid, CTF.storages.greenTeam) == 1 then
							local am = {8302, 8306, 8300, 5957}
							doPlayerAddItem(pid, 2157, 30)
							doPlayerAddItem(pid, am[math.random(1, 4)], 1)
						end
					end
					for _, pid in pairs(getPlayersOnline()) do
						if getPlayerStorageValue(pid, CTF.storages.greenFlag) == 1 or getPlayerStorageValue(pid, CTF.storages.redFlag) == 1 then
							doPlayerSetStorageValue(pid, CTF.storages.greenFlag, -1)
							doPlayerSetStorageValue(pid, CTF.storages.redFlag, -1)
						end
						doTeleportThing(pid, CTF.exit_)
						doPlayerSetStorageValue(pid, 822066, -1)
						doPlayerSetStorageValue(pid, CTF.storages.redTeam, -1)
						doPlayerSetStorageValue(cid, CTF.storages.greenTeam, -1)
						doRemoveCondition(cid, CONDITION_OUTFIT)
					end
				else                        
					local flag = doCreateItem(CTF.redFlag, 1, CTF.redFlagPos)
					doItemSetAttribute(flag, 'aid', 5435)
				end
			end
		elseif item.actionid == 5437 then
			if getPlayerStorageValue(cid, CTF.storages.greenFlag) == 1 then
				setGlobalStorageValue(CTF.storages.redTeam, getStorageZero(CTF.storages.redTeam) + 1)
				doPlayerSendTextMessage(cid, MESSAGE_STATUS_WARNING, "O jogador "..getCreatureName(cid).." levou a Bandeira Verde até a base vermelha e marcou um ponto para o time vermelho!")
				doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Placar:\n Time Vermelho -> "..getStorageZero(CTF.storages.redTeam).." ponto(s).\n Time Verde: -> "..getStorageZero(CTF.storages.greenTeam).." ponto(s).")
				doPlayerSetStorageValue(cid, CTF.storages.greenFlag, -1)
				doSendMagicEffect(CTF.greenFlagPos, 28)
				if getStorageZero(CTF.storages.redTeam) == 10 then
					doPlayerSendTextMessage(cid, 25, "O Time Vermelho atingiu 10 pontos e venceu o evento! Os membros que ainda estão presentes receberam alguns prêmios!")
					CTF.removeFlags()
					for _, cid in pairs(getPlayersOnline()) do
						if getPlayerStorageValue(cid, CTF.storages.redTeam) == 1 then
							local am = {8302, 8306, 8300, 5957}
							doPlayerAddItem(cid, 2157, 30)
							doPlayerAddItem(cid, am[math.random(1, 4)], 1)                    
						end
					end
					for _, cid in pairs(getPlayersOnline()) do
						if getPlayerStorageValue(cid, CTF.storages.greenFlag) == 1 or getPlayerStorageValue(cid, CTF.storages.redFlag) == 1 then
							doPlayerSetStorageValue(cid, CTF.storages.greenFlag, -1)
							doPlayerSetStorageValue(cid, CTF.storages.redFlag, -1)
						end
						doTeleportThing(cid, CTF.exit_)
						doPlayerSetStorageValue(cid, 822066, -1)
						doPlayerSetStorageValue(cid, CTF.storages.redTeam, -1)
						doPlayerSetStorageValue(cid, CTF.storages.greenTeam, -1)
						doRemoveCondition(cid, CONDITION_OUTFIT)
					end
				else                        
					local flag = doCreateItem(CTF.greenFlag, 1, CTF.greenFlagPos)
					doItemSetAttribute(flag, 'aid', 5434)
				end
			end
		end
	end
    return true
end

 

Só me tira uma duvida, Pense comigo, o player passou no tile e ganhou a storage, porem quando o evento terminar ele continuara com a storage e mesmo sem ele participar do proximno evento ele vai receber as mensagens. Tem como remover essa storage depois de um tempo?

                                                       “Enquanto nos derem ao menos 1% de chance, seguiremos lutando.

                                                     E venceremos! Esse é o verdadeiro e único Clube da Fé! Vai São Paulo!”

                                                                                       spfc.png

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