[FilterScript] Alarme de Incкndio
#1

Introduзгo
Primeiramente boa madrugada a todos. Estб certo que jб vimos diversos sistemas de incкndio e semelhantes, mas eu nunca vi um sistema de alarme de incкndio, e entгo tive a ideia de criar um.
Й bem simples, o player aciona o alarme teclando F no local onde se encontra o acionador e logo envia uma mensagem a todos dizendo que o alarme foi acionado e toca um alarme em Audio Stream a todos que estгo perto do local, e pode ser acionado novamente dentro de 1min e 50seg...Eu adicionei por enquanto apenas no Departamento de Policia, mas vocк pode adicionar quantos quiser sem problemas.

Adicionando Alarmes
Funзхes das CallBack's & Stock's:
- Antes de comeзar, й necessбrio entender qual a funзгo de cada callback e stock em que irбs mexer.

> OnFilterScriptInit: "Esta Callback й chamada quando o FilterScript й carregado", ou seja, serб aqui que serгo inserido os objetos e label's, para que quando carregar o FilterScript, os mesmos jб sejam criados.

> OnPlayerKeyStateChange: "Esta callback й chamada quando o estado de qualquer tecla suportado й alterado (pressionada / liberada)", ou seja, ela й chamada logo que teclar alguma tecla, e se essa tecla tiver uma funзгo dentro da callback, a mesma serб exercida.

> TocarAlarme: Esta Stock tem a principal funзгo: acionar o alarme. Ela terб a funзгo de enviar a mensagem avisando que foi acionado um alarme e identificar qual alarme foi acionado, e logo setar o Audio Stream no alarme identificado.

> LocalAlarme: Nesta Stock, estб a funзгo de identificar qual o nome dado ao local que foi acionado o alarme de incкndio, para que possa ser usada na Stock acima.

Passo 1:
- Para vocк adicionar outros alarmes, antes de tudo vocк deve criar os objetos no lugar que escolher, que tendem em ser dois: o acionador e o sino. O objeto "acionador" serб por onde o player irб acionar o alarme, teclando F, e o "sino" serб o local no qual ira setar o Audio Stream. Vocк tambйm poderб adicionar uma label indicando que aquele й o alarme de incкndio. Tudo isso na callback "OnFilterScriptInit".

Passo 2:
Na CallBack "OnPlayerKeyStateChange", encontrara no FilterScript jб o alarme do DP, poderбs copiar e colar, apenas trocando os valores dentro das funзхes.
pawn Код:
if(IsPlayerInRangeOfPoint(playerid, 1.0, POS DO OBJETO ACIONADOR))//Coordenada do Objeto Acionador
{
    SetPlayerPos(playerid, POS EM FRENTE AO ACIONADOR);//Parte da Animaзгo: Seta o player bem em frente ao acionador
    SetPlayerFacingAngle(playerid, ANGULO EM FRENTE AO ACIONADOR);//Parte da Animaзгo: Angulo bem reto em frente ao acionador
    ApplyAnimation(playerid, "CRIB","CRIB_Use_Switch",4.1,0,0,0,0,0);//Animaзгo
    SetTimerEx("pararanim", 2000, false, "i", playerid);//Tempo para parar a animaзгo
    TocarAlarme(playerid);//Chamar a stock para acionar
    return 1;
}
Passo 3:
Agora na Stock "TocarAlarme", deve inserir apenas onde serб setado o Audio Stream. No FilterScript encontrarб jб uma funзгo, que poderб copiar a alterar os valores.
pawn Код:
if(IsPlayerInRangeOfPoint(playerid, 5.0, POS DO OBJETO ACIONADOR))//Coordenada do Objeto Acionador
{
    PlayAudioStreamForPlayer( i, "http://dc660.4shared.com/img/3475447006/1d3b9f0e/dlink__2Fdownload_2FSVBnU5WN_3Ftsid_3D20140417-063222-ba90b09c_26lgfp_3D1000_26dsid_3D2xuhu6.705dada847fa2bbbc0ac646e88905cea_26sbsr_3Dbc10f7f78d0971420d45b616c56dad25361500be27de10cd/preview.mp3", POS DO OBJETO SINO, 50, 1);//Coordenada do Objeto Sino, que serб setado o Audio Stream para todos que estejam prуximos a 50M do objeto.
}
Passo 4(Final):
Por fim, na Stock "LocalAlarme", encontrarб jб uma funзгo feita, que й do DP, e entгo deverб adicionar abaixo dela como do modo baixo.
pawn Код:
if(IsPlayerInRangeOfPoint(playerid, 5.0, 244.9254, 78.6766, 1004.2170)) { text = "Departamento de Policia"; }//Local do DP
else if((IsPlayerInRangeOfPoint(5.0, playerid, POS DO OBJETO ACIONADOR)) { text = "Nome do Local (Ex: Prefeitura)"; }//Novo Local
Imagens
Esse й o famoso objeto "acionador" e sua label: http://i.imgur.com/TcoqnRv.jpg
Esse й o nem tanto famoso mas muito importante, objeto "sino": http://i.imgur.com/8wo7iYn.png
Acionando o alarme: http://i.imgur.com/d8Nl2Cf.png
Tempo para usar novamente: http://i.imgur.com/BQoklQZ.png

Fim
Entгo й isso pessoal, й um simples FilterScript e um simples tutorial de como utiliza-lo. Espero que nгo achem um exagero por um mini FilterScript que se nгo fosse pelas variadas funзхes entrariam em "cуdigos ъteis", porйm, й sempre bom fazer uma grande explicaзгo, assim teremos como resultado melhores aprendizagens.
Obrigado a todos, por isso й hoje! Abraзos.

Crйditos: > Wiki SA-MP pela explicaзгo detalhada de funзхes.
> Bruno_13 pelo desenvolvimento do projeto.

@EDIT
Esqueci do download (putz ta foda haha)

DONWLOAD: Pastebin: http://pastebin.com/nCvMtx2C
MediaFire: https://www.mediafire.com/?tqmbpycjon8ch24
Reply
#2

Gostei do sistema parabйns!!
Reply
#3

Bem criativo em mais gostei +Rep
Reply
#4

Parece ter ficado muito bom, +rep por isso, pela criatividade e pelo tutorial de como adicionar mais...
Reply
#5

Gostei bastante da sua ideia, porem acho que foi mal aproveitada.

Com isso vc poderia ter feito um sistema de incendios muito mais completo.

Mesmo assim gostei da criatividade, os meus parabens.
Reply
#6

Criativo e bom , parabens
Reply
#7

Muito legal, parabйns.
Reply
#8

Quote:
Originally Posted by Caio_Freeze
Посмотреть сообщение
Gostei do sistema parabйns!!
Quote:
Originally Posted by Dieguinho
Посмотреть сообщение
Bem criativo em mais gostei +Rep
Quote:
Originally Posted by VeNuZ_
Посмотреть сообщение
Parece ter ficado muito bom, +rep por isso, pela criatividade e pelo tutorial de como adicionar mais...
Quote:
Originally Posted by shittt
Посмотреть сообщение
Criativo e bom , parabens
Quote:
Originally Posted by iMix
Посмотреть сообщение
Muito legal, parabйns.
Thanksss

Quote:
Originally Posted by PT
Посмотреть сообщение
Gostei bastante da sua ideia, porem acho que foi mal aproveitada.

Com isso vc poderia ter feito um sistema de incendios muito mais completo.

Mesmo assim gostei da criatividade, os meus parabens.
Pois й, poderia mesmo, mas foi apenas uma base de uma ideia real que tive, ai acrescentar cosias no sistema vai dos demais...Mas obrigado.
Reply
#9

Apesar de ser simples, sua organizaзгo й muito boa.

+rep
Reply
#10

Parabens
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)