Postado Novembro 6, 2012 12 anos Fala galera, tô precisando da ajuda de vocês.. Tenho um script que ao um player passar por um certo piso do mapa, automaticamente todos os players do servidor recebem uma menssagem que esse player está invadindo um castelo. Só que tipo, nesse script não tem o nome da guild do player e nem o tempo certo de enviar a mensagem.. Porque tipo, ele vai ficar passando no piso direto e vai ficar mandando mensagem direto pros players, isso vai ficar chato.. Queria que ao player passar, a menssagem fosse enviada, porem, em um intervalo de 15 segundos. Se ele passar, a mensagem é enviada, se ele passar novamente, a mensagem só pode ser enviada em um intervalo de 15 segundos. Ah, esse intervalo tem que ser de player para player.. Tipo, se um player passar, a mensagem aparece, se outro passar, a mensagem também aparece, ou seja, o intervalo não é pro piso e sim para cada player que passar. Grato! Valendo REP+! data\movements\scripts\nomedoarquivo.lua function onStepIn(cid, item, position, fromPosition) --- configuration by notle --- local frase1 = "O player" -- frase que vem antes do nome do player local frase2 = "está invadindo o castelo de Rhyves." -- frase que vem depois do nome do player --- configuration by notle --- broadcastMessage(""..frase1.." ["..getCreatureName(cid).."] "..frase2.." ", MESSAGE_STATUS_WARNING) return true end data\movements\movements.xml <movevent type="StepIn" actionid="5800" event="script" value="nomedoarquivo.lua"/> Edit: Alguém ajuda. :/ Editado Novembro 6, 2012 12 anos por coriel (veja o histórico de edições)
Postado Novembro 6, 2012 12 anos function onStepIn(cid, item, position, fromPosition) local n, g = getCreatureName(cid), getPlayerGuildName(cid) if getPlayerGuildId(cid) == 0 then doPlayerSendCancel(cid, "You need a guild to enter.") doTeleportThing(cid, fromPosition, false) return true end if getPlayerStorageValue(cid, 83263) - os.time() < 1 then setPlayerStorageValue(cid, 83263, os.time() + 15 * 1000) broadcastMessage(n .." Está envadindo o castelo de Rhyves para a guild [" .. g .. "].", MESSAGE_STATUS_WARNING) end return true end Retirado. Skype: joaoxtibia85.
Postado Novembro 6, 2012 12 anos Autor Sky, só da para usar uma vez.. Tipo, eu espero o tempo certo para passar novamente e nenhuma mensagem aparece.. Em outro fórum, um script me ajudou, só que ele não tá respondendo mais lá, tem como você editar o script dele? Tá funcionando perfeito o script dele, só tá faltando por a guild, não tá aparecendo a guild do player.. E outra, se o player não tiver guild, não tem problema, o player pode passar, só não vai aparecer o nome da guild.. Gratooo! function onStepIn(cid, item, position, fromPosition) --- configuration by notle --- local exhaust = 20 -- Tempo para player poder manda messagem denovo! (1 por segundos) local frase1 = "O player" -- frase que vem antes do nome do player local frase2 = "está invadindo o castelo de Rhyves." -- frase que vem depois do nome do player --- configuration by notle --- if getPlayerStorageValue(cid, 14799) >= os.time() and doPlayerSendCancel(cid, "aguardando "..(getPlayerStorageValue(cid, 14799) - os.time()).." segundos.") then return true end broadcastMessage(""..frase1.." ["..getCreatureName(cid).."] "..frase2.." ", MESSAGE_STATUS_WARNING) setPlayerStorageValue(cid, 14799, os.time() + exhaust) return true end Editado Novembro 6, 2012 12 anos por coriel (veja o histórico de edições)
Postado Novembro 7, 2012 12 anos Autor Consegui resolver galera, muito obrigado! Podem mover o tópico. Rep+ pela ajuda skyforever.
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.