Bom, estou desenvolvendo um event, mas falta nele algo essencial que não sei como fazer ainda...
Queria poder usar o doBroadcastMessage(message, type), mas que não fosse pro servidor inteiro, já q o intervalo seria de 2 em 2 minutos, e ia encher o saco de muita gente.
Tem que ser apenas para os players que estiverem em uma determinada área, parecido com a função getSpectators(centerPos, rangex, rangey[, multifloor = false]) que eu encontrei, mas não precisa ser essa.
Vou deixar meu código aqui pra terem uma ideia melhor. (obs: não manjo mt de c++, então se tiver algo errado e quiser corrigir, agradeço se o fizer e tbm explicar porque ta errado)
local config ={
city =1,-- Agenda: [1] Prontera, [2] Alberta
landing1 ={x=1644,y=1570,z=0},-- Local de desembarque do aeroplano
landing2 ={x=1645,y=1570,z=0},-- Local de desembarque do aeroplano
toProntera1 ={x=1486,y=1525,z=7},-- Coordenadas de Prontera
toProntera2 ={x=1486,y=1526,z=7},-- Coordenadas de Prontera
toAlberta1 ={x=1492,y=1522,z=7},-- Coordenadas de Alberta
toAlberta2 ={x=1492,y=1523,z=7},-- Coordenadas de Alberta}function onThink(cid, interval, lastExecution)-- Talvez não seja a função correta (?)if(config.city ==1)then-- Cria o portal para Prontera
doCreateTeleport(1387, config.toProntera1, config.landing1)
doCreateTeleport(1387, config.toProntera2, config.landing2)
doBroadcastMessage("O aeroplano pousou na cidade de Prontera, mas partira novamente em 20 segundos.")
addEvent(deleteTp,20000)-- Remove o portal em 20 segundos
addEvent(leftProntera,20000)
config.city = config.city +1-- Avança a agendaelseif(config.city ==2)then-- Cria o portal para Alberta
doCreateTeleport(1387, config.toAlberta1, config.landing1)
doCreateTeleport(1387, config.toAlberta2, config.landing2)
doBroadcastMessage("O aeroplano pousou na cidade de Alberta, mas partira novamente em 20 segundos.")
addEvent(deleteTp,20000)-- Remove o portal em 20 segundos
addEvent(leftAlberta,20000)
config.city =1-- Retorna a agenda para o inícioendreturntrueendfunction deleteTp()local delete1 = getTileItemById(config.landing1,1387)local delete2 = getTileItemById(config.landing2,1387)
doRemoveItem(delete1.uid,1)
doRemoveItem(delete2.uid,1)
doSendMagicEffect(config.landing1, CONST_ME_TELEPORT)
doSendMagicEffect(config.landing2, CONST_ME_TELEPORT)endfunction leftProntera()
doBroadcastMessage("O aeroplano partiu. Proximo destino: Alberta")endfunction leftAlberta()
doBroadcastMessage("O aeroplano partiu. Proximo destino: Prontera")end
Pergunta
Inari 0
Oi, tudo bom pessoal?
Bom, estou desenvolvendo um event, mas falta nele algo essencial que não sei como fazer ainda...
Queria poder usar o doBroadcastMessage(message, type), mas que não fosse pro servidor inteiro, já q o intervalo seria de 2 em 2 minutos, e ia encher o saco de muita gente.
Tem que ser apenas para os players que estiverem em uma determinada área, parecido com a função getSpectators(centerPos, rangex, rangey[, multifloor = false]) que eu encontrei, mas não precisa ser essa.
Vou deixar meu código aqui pra terem uma ideia melhor. (obs: não manjo mt de c++, então se tiver algo errado e quiser corrigir, agradeço se o fizer e tbm explicar porque ta errado)
globalevents.xml
schedule.lua
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados