19.07.2011, 18:43
(
Последний раз редактировалось JonathanFeitosa; 19.07.2011 в 19:41.
)
Bom, Eu Nгo Melhorei Muita Coisa Nessa Versгo, Retirei Completamente Os Bugs do Sistema de Trancar/Destranзar й Audiкncia. Criei uns Comandos й 2 TextDraw. Confira Abaixo
Informaзгo :
/filmarbalada - Comeзa a Balada. ( Administrador Logado Na Rcon )
/filmarjornal - Comeзa o Jornal. ( Administrador Logado Na Rcon )
/trancar - Interior Para Nгo Entrarem. ( Administrador Logado Na Rcon )
/destrancar - Interior. ( Administrador Logado Na Rcon )
/levantar - Levanta "Ao Sentar". ( Administrador Logado Na Rcon )
/sentar - Senta. ( Administrador Logado Na Rcon )
/irla - Ir Atй o Local. ( Administrador Logado Na Rcon )
/terminar - Termina o Jornal. ( Administrador Logado Na Rcon )
/audiencia Quantos Assistindo. ( Administrador Logado Na Rcon )
/assistirbalada - Assistir a Balada. ( Comum )
/assistirjornal - Assistir o Jornal. ( Comum )
/desligartv - Desliga a TV. ( Comum )
/telespectadores - Ver Quem Estб Assistindo. ( Comum )
/comandostv - Ver os Comandos do Sistema de TV. ( Comum )
/creditostv - Ver os Crйditos do Sistema de TV. ( Comum )
Como Funciona ?
Simples, й um Sistema de Televisгo Simples, Vocк o Dono do Servidor Cria Seu Jornal, й Divirta-se Zuando Com Ele. Podendo Editar a Vontade, Sem Editar Os Crйditos.
Funзхes Para Nгo Da Erro й Pequenas Informaзхes
Para Nгo Da Bug Use a Funзгo :
Porque Usar Ele ? Para Desativar Os Interiores, Para Nгo Entrar por "Outra Porta"
- 8 Objetos
- Pickups
- 2 3DTextLabel.
- 2 TextDraw.
Onde Se Localiza ?
Use /irla Para Chegar Mais Rбpido.
Imagens
Assistindo Jornal
Interior Jornal
Assistindo Balada
Interior Balada
TextDraw's
Sistema de Televisгo v2.0 ( Ъnico )
Por: Jonathan Feitosa
Por: Jonathan Feitosa
Informaзгo :
/filmarbalada - Comeзa a Balada. ( Administrador Logado Na Rcon )
/filmarjornal - Comeзa o Jornal. ( Administrador Logado Na Rcon )
/trancar - Interior Para Nгo Entrarem. ( Administrador Logado Na Rcon )
/destrancar - Interior. ( Administrador Logado Na Rcon )
/levantar - Levanta "Ao Sentar". ( Administrador Logado Na Rcon )
/sentar - Senta. ( Administrador Logado Na Rcon )
/irla - Ir Atй o Local. ( Administrador Logado Na Rcon )
/terminar - Termina o Jornal. ( Administrador Logado Na Rcon )
/audiencia Quantos Assistindo. ( Administrador Logado Na Rcon )
/assistirbalada - Assistir a Balada. ( Comum )
/assistirjornal - Assistir o Jornal. ( Comum )
/desligartv - Desliga a TV. ( Comum )
/telespectadores - Ver Quem Estб Assistindo. ( Comum )
/comandostv - Ver os Comandos do Sistema de TV. ( Comum )
/creditostv - Ver os Crйditos do Sistema de TV. ( Comum )
Como Funciona ?
Simples, й um Sistema de Televisгo Simples, Vocк o Dono do Servidor Cria Seu Jornal, й Divirta-se Zuando Com Ele. Podendo Editar a Vontade, Sem Editar Os Crйditos.
Funзхes Para Nгo Da Erro й Pequenas Informaзхes
Para Nгo Da Bug Use a Funзгo :
pawn Код:
DisableInteriorEnterExits();
Porque Usar Ele ? Para Desativar Os Interiores, Para Nгo Entrar por "Outra Porta"
- 8 Objetos
- Pickups
- 2 3DTextLabel.
- 2 TextDraw.
Onde Se Localiza ?
Use /irla Para Chegar Mais Rбpido.
Imagens
Assistindo Jornal
Interior Jornal
Assistindo Balada
Interior Balada
TextDraw's
pawn Код:
#include <a_samp>
enum pInfo
{
Jornal,
Balada
}
new PlayerInfo[MAX_PLAYERS][pInfo];
new Nome[MAX_PLAYER_NAME];
new Calado[MAX_PLAYER_NAME];
new Audiencia;
new DuasVezesNao[MAX_PLAYERS];
new Trancado;
new Urgente[MAX_PLAYERS];
new string[128];
new AudienciaLOL[100];
new Text:Textdraw0, Text:Textdraw1;
#if defined FILTERSCRIPT
public OnFilterScriptInit()
{
SetTimer("AtualizarAudiencia", 1000,true);
Textdraw0 = TextDrawCreate(546.000000, 107.000000, "Audiencia:\n");
TextDrawAlignment(Textdraw0, 2);
TextDrawBackgroundColor(Textdraw0, 255);
TextDrawFont(Textdraw0, 1);
TextDrawLetterSize(Textdraw0, 0.400000, 1.799999);
TextDrawColor(Textdraw0, 65535);
TextDrawSetOutline(Textdraw0, 1);
TextDrawSetProportional(Textdraw0, 1);
TextDrawSetShadow(Textdraw0, 1);
Textdraw1 = TextDrawCreate(476.000000, 127.000000, "Rede Globo JFS");
TextDrawBackgroundColor(Textdraw1, 255);
TextDrawFont(Textdraw1, 2);
TextDrawLetterSize(Textdraw1, 0.450000, 1.800000);
TextDrawColor(Textdraw1, -65281);
TextDrawSetOutline(Textdraw1, 0);
TextDrawSetProportional(Textdraw1, 1);
TextDrawSetShadow(Textdraw1, 1);
Create3DTextLabel("Televisгo\nBalada", 0xF68E00F6, 647.8179,-1353.9329,13.5477,60.0,0);
Create3DTextLabel("Televisгo\nJornal", 0xF68E00F6, 648.0414,-1360.7756,13.5901,60.0,0);
AddStaticPickup(1318, 23, 648.0414,-1360.7756,13.5901); // Jornal Entrada
AddStaticPickup(1318, 1, 965.0610,-53.1662,1001.1246); // Jornal Saida
AddStaticPickup(1318, 23, 647.8179,-1353.9329,13.5477); // Balada Entrada
AddStaticPickup(1318, 1, -2634.9578,1409.8467,906.4609); // Balada Saida
// =================================== Jornal ==============================
CreateObject(18654,957.96453857,-55.19634628,1000.11718750,0.00000000,0.00000000,138.00000000); //object(mansion-light05) (1)
CreateObject(18648,963.55859375,-57.58300781,1000.14801025,0.00000000,0.00000000,0.00000000); //object(flower-bush08) (1)
CreateObject(18648,963.56066895,-58.55468750,1000.14801025,0.00000000,0.00000000,0.00000000); //object(flower-bush08) (2)
CreateObject(18648,964.47753906,-60.58984375,1000.28308105,0.00000000,0.00000000,0.00000000); //object(flower-bush08) (3)
CreateObject(18648,964.67382812,-55.56250000,1000.14062500,0.00000000,0.00000000,0.00000000); //object(flower-bush08) (4)
CreateObject(2853,960.08325195,-57.26187134,1000.93243408,0.00000000,0.00000000,0.00000000); //object(gb_bedmags03) (1)
CreateObject(2634,968.30175781,-53.22460938,1001.26879883,0.00000000,0.00000000,87.99499512); //object(ab_vaultdoor) (1)
CreateObject(2634,968.52429199,-53.23706055,1002.40686035,0.00000000,0.00000000,269.99499512); //object(ab_vaultdoor) (2)
return true;
}
public OnFilterScriptExit()
{
TextDrawHideForAll(Textdraw0);
TextDrawDestroy(Textdraw0);
TextDrawHideForAll(Textdraw1);
TextDrawDestroy(Textdraw1);
for(new i = 0; i < MAX_PLAYERS; i++)
{
Audiencia --;
PlayerInfo[pInfo][Jornal] = 0;
}
return true;
}
#else
main()
{
print("\n----------------------------------");
print(" Sistema de Televisгo By: Jonathan Feitosa");
print("----------------------------------\n");
}
#endif
public OnGameModeInit()
{
return 1;
}
public OnGameModeExit()
{
return 1;
}
public OnPlayerConnect(playerid)
{
return true;
}
public OnPlayerDisconnect(playerid, reason)
{
if(Audiencia == 1)
{
Audiencia --;
}
return true;
}
public OnPlayerText(playerid, text[])
{
if(Calado[playerid] == 1)
{
SendClientMessage(playerid, 0xFF0000FF, "Vocк Nгo Pode Falar.");
return false;
}
return true;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/levantar", cmdtext, true) == 0)
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,0xFF0000FF,"> Vocк Nгo й Administrador !");
ApplyAnimation(playerid,"Attractors","Stepsit_out",4.1,0,1,1,1,1);
return true;
}
if (strcmp("/sentar", cmdtext, true) == 0)
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,0xFF0000FF,"> Vocк Nгo й Administrador !");
ApplyAnimation(playerid, "BEACH", "ParkSit_M_loop", 4.0, 1, 0, 0, 0, 0);
return true;
}
if (strcmp("/irla", cmdtext, true) == 0)
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,0xFF0000FF,"> Vocк Nгo й Administrador !");
SetPlayerPos(playerid, 644.8199,-1354.1106,13.5530);
SetPlayerInterior(playerid, 0);
return true;
}
if (strcmp("/trancar", cmdtext, true) == 0)
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,0xFF0000FF,"> Vocк Nгo й Administrador !");
if(Trancado == 1) return SendClientMessage(playerid,0xFF0000FF,"Jб Estб Trancado !");
SendClientMessage(playerid, -1, "As Portas Foram Trancadas.");
Trancado = 1;
return true;
}
if (strcmp("/destrancar", cmdtext, true) == 0)
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,0xFF0000FF,"> Vocк Nгo й Administrador !");
if(Trancado < 1) return SendClientMessage(playerid,0xFF0000FF,"A Porta Nгo Estб Trancada !");
Trancado = 0;
SendClientMessage(playerid, -1, "As Portas Foram Destrancadas.");
return true;
}
if(strcmp("/filmarjornal", cmdtext, true) == 0)
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,0xFF0000FF,"> Vocк Nгo й Administrador !");
if(PlayerInfo[pInfo][Jornal] == 1) return SendClientMessage(playerid,0xFF0000FF," Jб Tem Uma Programaзгo Em Andamento !");
if(PlayerInfo[pInfo][Balada] == 1) return SendClientMessage(playerid,0xFF0000FF," Jб Tem Uma Programaзгo Em Andamento !");
GetPlayerName(playerid, Nome, sizeof(Nome));
format(string, sizeof(string), "ATENЗГO: Daqui a 1 Minuto Estб Comeзando o Programa de TV de {2641FE}%s - Jornal AoVivo!", Nome);
SendClientMessageToAll(0xFF0000FF,string);
SendClientMessage(playerid,0xFF0000FF,"> Vocк Ligou a Cвmera de Jornal, Aguarde 1 Minuto Para Entrar no Ar.");
SetTimerEx("EntrandoNoArJornal", 5000, false, "i", playerid); /* LEMBRAR */
for(new i = 0; i < MAX_PLAYERS; i++)
{
PlayerInfo[i][Jornal] = 1;
}
return true;
}
if(strcmp("/filmarbalada", cmdtext, true) == 0)
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,0xFF0000FF,"> Vocк Nгo й Administrador !");
if(PlayerInfo[pInfo][Jornal] == 1) return SendClientMessage(playerid,0xFF0000FF," Jб Tem Uma Programaзгo Em Andamento !");
if(PlayerInfo[pInfo][Balada] == 1) return SendClientMessage(playerid,0xFF0000FF," Jб Tem Uma Programaзгo Em Andamento !");
GetPlayerName(playerid, Nome, sizeof(Nome));
format(string, sizeof(string), "ATENЗГO: Daqui a 1 Minuto Estб Comeзando o Programa de TV de {2641FE}%s - Balada AoVivo!", Nome);
SendClientMessageToAll(0xFF0000FF,string);
SendClientMessage(playerid,0xFF0000FF,"> Vocк Ligou a Cвmera de Balada, Aguarde 1 Minuto Para Entrar no Ar.");
SetTimerEx("EntrandoNoArBalada", 5000, false, "i", playerid); /* LEMBRAR */
for(new i = 0; i < MAX_PLAYERS; i++)
{
PlayerInfo[i][Balada] = 1;
}
return true;
}
if (strcmp("/terminar", cmdtext, true) == 0)
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,0xFF0000FF,"> Vocк Nгo й Administrador !");
if(PlayerInfo[pInfo][Jornal] == 1 || PlayerInfo[pInfo][Balada] == 1)
{
GetPlayerName(playerid, Nome, sizeof(Nome));
format(string, sizeof(string), "{2641FE}ATENЗГO:{FF0000} O Programa de TV {2641FE}%s{FF0000} Chegou Ao Final - Obrigado Por Assistir.", Nome);
SendClientMessageToAll(0xFF0000FF,string);
TextDrawHideForAll(Textdraw0);
TextDrawHideForAll(Textdraw1);
for(new i = 0; i < MAX_PLAYERS; i++)
{
PlayerInfo[i][Jornal] = 0;
PlayerInfo[i][Balada] = 0;
if(Urgente[i] >= 1)
{
Urgente[i] --;
Desligar(i);
}
}
}
return true;
}
if(strcmp("/comandostv", cmdtext, true) == 0)
{
new tv[300];
strcat(tv,"{FF0000}Para Administradores Logado Na Rcon : \n");
strcat(tv,"{2641FE}/filmarbalada /filmarjornal /trancar /destrancar /levantar \n");
strcat(tv,"{2641FE}/terminar /sentar /irla /audiencia\n\n");
strcat(tv,"{FF0000}Comandos Normais :\n");
strcat(tv,"{2641FE}/assistirjornal /assistirbalada /desligartv /telespectadores /creditostv\n\n");
strcat(tv,"{FF0000}>> Tecnologia: Jonathan Feitosa << \n");
ShowPlayerDialog(playerid, 4532, DIALOG_STYLE_MSGBOX, "Sistema de TV - Jonathan Feitosa",tv, "Fechar", "");
return true;
}
if(strcmp("/creditostv", cmdtext, true) == 0)
{
new CreditosTV[50];
strcat(CreditosTV,"{FF0000}Criado Por: Jonathan Feitosa \n");
ShowPlayerDialog(playerid, 4532, DIALOG_STYLE_MSGBOX, "Crйditos Sistema de Televisгo",CreditosTV, "Fechar", "");
return true;
}
if (strcmp("/assistirjornal", cmdtext, true) == 0)
{
if(PlayerInfo[pInfo][Jornal] == 0) return SendClientMessage(playerid,0xFF0000FF," Nenhuma Programaзгo Em Andamento... !");
if(DuasVezesNao[playerid] == 1) return SendClientMessage(playerid,0xFF0000FF," Vocк Jб Estб Assintindo TV !");
Audiencia ++;
Calado[playerid] ++;
DuasVezesNao[playerid] = 1;
PlayerInfo[pInfo][Jornal] = 1;
AssistirJornal(playerid);
SendClientMessage(playerid,0xFF0000FF,"Vocк Foi Calado, Escute o Jornal, Para Sair Use {2641FE}/desligartv !");
return true;
}
if (strcmp("/assistirbalada", cmdtext, true) == 0)
{
if(PlayerInfo[pInfo][Balada] == 0) return SendClientMessage(playerid,0xFF0000FF," Nenhuma Programaзгo de Balada Em Andamento... ! !");
if(DuasVezesNao[playerid] == 1) return SendClientMessage(playerid,0xFF0000FF," Vocк Jб Estб Assintindo TV !");
Audiencia ++;
Calado[playerid] ++;
PlayerInfo[pInfo][Balada] = 1;
DuasVezesNao[playerid] = 1;
AssistirBalada(playerid);
SendClientMessage(playerid,0xFF0000FF,"Vocк Foi Calado, Curta й Escute a Balada, Para Sair Use {2641FE}/desligartv !");
return true;
}
if (strcmp("/desligartv", cmdtext, true) == 0)
{
if(DuasVezesNao[playerid] < 1) return SendClientMessage(playerid,0x2641FEAA,"Vocк Nгo Estб Assistindo TV.");
if(PlayerInfo[pInfo][Jornal] == 1)
{
Desligar(playerid);
SendClientMessage(playerid,0x2641FEAA,"Vocк Desligou a TV Jornal.");
TextDrawHideForPlayer(playerid, Textdraw0);
TextDrawHideForPlayer(playerid, Textdraw1);
return true;
}
if(PlayerInfo[pInfo][Balada] == 1)
{
Desligar(playerid);
SendClientMessage(playerid,0x2641FEAA,"Vocк Desligou a TV Balada.");
TextDrawHideForPlayer(playerid, Textdraw0);
TextDrawHideForPlayer(playerid, Textdraw1);
return true;
}
return true;
}
if (strcmp("/telespectadores", cmdtext, true) == 0)
{
if(IsPlayerConnected(playerid))
{
SendClientMessage(playerid, 0x2641FEAA, "~x Telespectadores x~");
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(Audiencia >= 1)
{
new NomeJFS[24];
new JFSPerfect[128];
GetPlayerName(i, NomeJFS, sizeof(NomeJFS));
format(JFSPerfect, 128, "%s Estб Assistindo a Rede Globo JFS", NomeJFS);
SendClientMessage(playerid, -1, JFSPerfect);
}
}
}
}
return 1;
}
if (strcmp("/audiencia", cmdtext, true) == 0)
{
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid,0xFF0000FF,"> Vocк Nгo й Administrador !");
if(PlayerInfo[pInfo][Jornal] == 1)
{
SendClientMessage(playerid,0x2641FEAA," Audiкncia Jornal :");
format(AudienciaLOL, 100," >> Audiкncia: {FF0000}%i Pessoas << ", Audiencia);
SendClientMessage(playerid, 0x2641FEAA, AudienciaLOL);
return true;
}
if(PlayerInfo[pInfo][Balada] == 1)
{
SendClientMessage(playerid,0x2641FEAA," Audiкncia Balada :");
format(AudienciaLOL, 100," >> Audiкncia: {FF0000}%i Pessoas << ", Audiencia);
SendClientMessage(playerid, 0x2641FEAA, AudienciaLOL);
return true;
}
return true;
}
if (strcmp("/entrandoooooooo", cmdtext, true) == 0)
{
// ENTRANDO - JORNAL
if(Trancado == 1) return SendClientMessage(playerid,0xFF0000FF,"A Porta Estб TRANCADA !");
if(IsPlayerInRangeOfPoint(playerid, 1.0, 648.0414,-1360.7756,13.5901))
{
SetPlayerPos(playerid, 962.7113,-53.3025,1001.1246);
SetPlayerInterior(playerid, 3);
SetPlayerFacingAngle(playerid, 90.4818);
return true;
}
//Saindo - Jornal
if(IsPlayerInRangeOfPoint(playerid, 1.0, 965.0610,-53.1662,1001.1246))
{
SetPlayerPos(playerid, 645.1032,-1360.6869,13.5884);
SetPlayerInterior(playerid, 0);
SetPlayerFacingAngle(playerid, 270.4818);
return true;
}
//Entrando - Balada
if(IsPlayerInRangeOfPoint(playerid, 1.0, 647.8179,-1353.9329,13.5477))
{
SetPlayerPos(playerid, -2637.3010,1409.5979,906.4609);
SetPlayerInterior(playerid, 3);
SetPlayerFacingAngle(playerid, 115.9109);
return true;
}
//Saindo - Balada
if(IsPlayerInRangeOfPoint(playerid, 1.0, -2634.9578,1409.8467,906.4609))
{
SetPlayerPos(playerid, 644.8199,-1354.1106,13.5530);
SetPlayerInterior(playerid, 0);
SetPlayerFacingAngle(playerid, 270.4818);
return true;
}
return true;
}
return false;
}
public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
{
if((newkeys & KEY_SECONDARY_ATTACK))
{
if(IsPlayerInRangeOfPoint(playerid, 1.0, 648.0414,-1360.7756,13.5901) || IsPlayerInRangeOfPoint(playerid, 1.0, 965.0610,-53.1662,1001.1246) ||
IsPlayerInRangeOfPoint(playerid, 1.0, 647.8179,-1353.9329,13.5477) || IsPlayerInRangeOfPoint(playerid, 1.0, -2634.9578,1409.8467,906.4609))
{
if(Trancado == 1) return SendClientMessage(playerid,0xFF0000FF,"A Porta Estб TRANCADA !");
OnPlayerCommandText(playerid,"/entrandoooooooo");
}
}
return true;
}
forward EntrandoNoArJornal(playerid);
public EntrandoNoArJornal(playerid)
{
SendClientMessage(playerid,0xFF0000FF,"Seu Programa de TV, Estб no Ar. DIVULGUE. Use /audiencia para ver Quem Estй Lhe Vendo.");
GetPlayerName(playerid, Nome, sizeof(Nome));
format(string, sizeof(string), "ATENЗГO:{FF0000} O Programa de TV de {2641FE}%s{FF0000} Comeзou - ( JORNAL AOVIVO ) - {2641FE}Use /assistirjornal", Nome);
SendClientMessageToAll(0xFF0000FF,string);
return true;
}
forward EntrandoNoArBalada(playerid);
public EntrandoNoArBalada(playerid)
{
SendClientMessage(playerid,0xFF0000FF,"Seu Programa de TV, Estб no Ar. DIVULGUE. Use /audiencia para ver Quem Estй Lhe Vendo.");
GetPlayerName(playerid, Nome, sizeof(Nome));
format(string, sizeof(string), "ATENЗГO:{FF0000} O Programa de TV de {2641FE}%s{FF0000} Comeзou ( BALADA AOVIVO ) - {2641FE}Use /assistirbalada", Nome);
SendClientMessageToAll(0xFF0000FF,string);
for(new i = 0; i < MAX_PLAYERS; i++)
{
PlayerInfo[i][Balada] = 1;
}
return true;
}
stock AssistirBalada(playerid)
{
SetPlayerPos(playerid, -2668.5520,1410.4603,904.4609);
SetPlayerCameraPos(playerid, -2659.6606,1410.3605,912.1703);
SetPlayerCameraLookAt(playerid, -2663.8882,1410.3678,912.1703);
SetPlayerInterior(playerid, 3);
TogglePlayerControllable(playerid, 0);
Urgente[playerid] ++;
TextDrawShowForPlayer(playerid, Textdraw0);
TextDrawShowForPlayer(playerid, Textdraw1);
}
stock AssistirJornal(playerid)
{
SetPlayerPos(playerid, 962.6662,-59.6662, 9500.1000);
SetPlayerCameraPos(playerid, 956.5108,-55.7790,1002.1172);
SetPlayerCameraLookAt(playerid, 958.5601,-56.7886,1002.1172);
SetPlayerInterior(playerid, 3);
TogglePlayerControllable(playerid, 0);
Urgente[playerid] ++;
TextDrawShowForPlayer(playerid, Textdraw0);
TextDrawShowForPlayer(playerid, Textdraw1);
}
stock Desligar(playerid)
{
DuasVezesNao[playerid] = 0;
Audiencia --;
SpawnPlayer(playerid);
Calado[playerid] --;
SetPlayerInterior(playerid, 0);
}
forward AtualizarAudiencia(playerid);
public AtualizarAudiencia(playerid)
{
new Placar[128];
format(Placar, 128, "Audiencia: %d ~y~AoVivo", Audiencia);
return TextDrawSetString(Text:Textdraw0, Placar);
}