CO
pedido

Piso Falante

Por coriel, 06 de nov. de 2012 em Scripts

script
8
2k
corielC
06 de novembro de 2012 às 17:55

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"/>
notle2012N
06 de novembro de 2012 às 19:02

testa esse

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

só editar local exhaust = 20 -- Block message (1 por segundos)

Editado Novembro 6 por notle2012

corielC
06 de novembro de 2012 às 19:45

Deu certo cara, só que você não colocou a guild.. :/

notle2012N
06 de novembro de 2012 às 20:20

Deu certo cara, só que você não colocou a guild.. :/

pode me dizer como vc quer que eu coloque

faz uma simulação ai

exemplo

ta assim

O player [Notle] está invadindo o castelo de Rhyves.

quer que eu coloque como

tipo assim

O player Da Guild [nomedaguild] com nome [Notle] está invadindo o castelo de Rhyves.

 

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 da guild"  -- frase que vem antes do nome da guild
local frase2 = "com nome"  -- frase que vem antes do nome dos players
local frase3 = "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.." ["..getPlayerGuildName(cid).."] "..frase2.." ["..getCreatureName(cid).."] "..frase3.." ", MESSAGE_STATUS_WARNING)
setPlayerStorageValue(cid, 14799, os.time() + exhaust)
return true
end

Editado Novembro 6 por notle2012

corielC
06 de novembro de 2012 às 23:16

Assim cara: O player "...", da guild "..." está invadindo o castelo de Rhyves.

notle2012N
06 de novembro de 2012 às 23:37

pronto

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 da guild
local frase2 = "da guild"  -- frase que vem antes do nome dos players
local frase3 = "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.." ["..getPlayerGuildName(cid).."] "..frase3.." ", MESSAGE_STATUS_WARNING)
setPlayerStorageValue(cid, 14799, os.time() + exhaust)
return true
end

corielC
07 de novembro de 2012 às 00:29

Resolvido! Podem mover o tópico. Muuuito obrigado notle2012, REP+!

caoticC
07 de novembro de 2012 às 08:21

Duvida Sanada

Tópico Movido