Postado Abril 29, 2016 9 anos 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 Abril 29, 2016 9 anos 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!”
Postado Abril 29, 2016 9 anos 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 Abril 29, 2016 9 anos 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!”
Postado Abril 29, 2016 9 anos 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 Abril 29, 2016 9 anos 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 Abril 29, 2016 9 anos 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!”
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.