Advertisement
Guest User

FS eventos

a guest
Jan 22nd, 2013
395
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // Filterscript de Eventos
  2. // Criado Por Gabriel_Santos
  3. // Creditos: Jonathan Feitosa
  4.  
  5. #include <a_samp>
  6. #include <sscanf2>
  7. #include <zcmd>
  8.  
  9. #define COR_VERMELHA 0xF66767AA
  10. #define COR_BRANCO   0xFFFFFFAA
  11. #define COR_AZUL     0x447FECAA
  12. enum SystemEvento
  13. {
  14.     Float:Health,
  15.     Float:Colete,
  16.     Float:PosX,
  17.     Float:PosY,
  18.     Float:PosZ,
  19.     grana,
  20.     interior,
  21.     ang,
  22.     Skin,
  23. };
  24. new Eventos[MAX_PLAYERS][SystemEvento];
  25. enum SistemaEventos
  26. {
  27.     bool:Eventoiniciado,
  28.     bool:Eventotrancado,
  29.     bool:Eventodestrancado,
  30.     bool:Entrar,
  31.     bool:Eventocontagem,
  32.     interior,
  33. };
  34. new Gabriel[MAX_PLAYERS][SistemaEventos];
  35. new Float:ex,Float:ey,Float:ez;
  36. new Float:entroux,Float:entrouy,Float:entrouz;
  37. new entraram;
  38. new CountDown = -1;
  39. new Veiculos[MAX_VEHICLES];
  40. new VeiculosCriados = 0;
  41. forward countdown();
  42.  
  43.  
  44. public OnFilterScriptInit()
  45. {
  46.     print("\n--------------------------------------");
  47.     print(" Filterscript Eventos v1.0 Ligado");
  48.     print(" Feito Por Gabriel_Santos");
  49.     print("--------------------------------------\n");
  50.     return 1;
  51. }
  52. public OnPlayerRequestClass(playerid, classid)
  53. {
  54.     SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
  55.     SetPlayerCameraPos(playerid, 1958.3783, 1343.1572, 15.3746);
  56.     SetPlayerCameraLookAt(playerid, 1958.3783, 1343.1572, 15.3746);
  57.     return 1;
  58. }
  59.  
  60. public OnPlayerConnect(playerid)
  61. {
  62.     SendClientMessage(playerid, COR_AZUL,"Esse Servidor Conta com Um Sistema de Eventos Criado Por Gabriel_Santos.");
  63.     Gabriel[playerid][Eventoiniciado] = false;
  64.     Gabriel[playerid][Eventodestrancado] = false;
  65.     Gabriel[playerid][Eventotrancado] = false;
  66.     Gabriel[playerid][Entrar] = false;
  67.     return 1;
  68. }
  69. forward OnPlayerCommandReceived(playerid, cmdtext[]);
  70. public OnPlayerCommandReceived(playerid, cmdtext[])
  71. {
  72.     return 1;
  73. }
  74. forward OnPlayerCommandPerformed(playerid, cmdtext[], success);
  75. public OnPlayerCommandPerformed(playerid, cmdtext[], success)
  76. {
  77.     return 1;
  78. }
  79. public OnPlayerDeath(playerid, killerid, reason)
  80. {
  81.     Gabriel[playerid][Entrar] = false;
  82.     SetPlayerVirtualWorld(playerid, 0);
  83.     return 1;
  84. }
  85. //INICIO COMANDOS DO SISTEMA
  86. new streventu[128];
  87. new admnick[20];
  88. new string[256];
  89.  
  90. CMD:ajudaevento(playerid, params[])
  91. {
  92.     SendClientMessage(playerid, COR_AZUL, "[EVENTO SYSTEM]: /criarevento,/trancarevento,/destrancarevento,/skinevento/finalizarevento");
  93.     SendClientMessage(playerid, COR_AZUL, "[EVENTO SYSTEM]: /carroevento,/vidaevento,/armaevento,/coleteevento,/contagemevento,/congelarevento,/descongelarevento.");
  94.     return 1;
  95. }
  96. CMD:criarevento(playerid, params[])
  97. {
  98.     new result[156];
  99.     new string[256];
  100.     if(sscanf(params, "s[124]", result)) return SendClientMessage(playerid, 0xFFFFFFAA, "Use: /criarevento [Tipo]");
  101.     {
  102.         GetPlayerName(playerid,admnick, 24);
  103.         GetPlayerPos(playerid, ex, ey, ez);
  104.         SalvarPlayer(playerid);
  105.         Gabriel[playerid][interior] = GetPlayerInterior(playerid);
  106.         for(new possiveis = 0; possiveis < MAX_PLAYERS; possiveis++) if(IsPlayerConnected(possiveis))
  107.         {
  108.             format(string,sizeof(string), "O Admin:[%s] ID:[%d] Criou um Evento de [%s] \n Para Participar Use: Sim Para Ficar onde Esta use: Não", admnick, playerid ,result);
  109.             ShowPlayerDialog(possiveis, 2345, DIALOG_STYLE_MSGBOX, "Sistema de Eventos", string, "Sim", "Não");
  110.             Gabriel[possiveis][Eventoiniciado] = true;
  111.             Gabriel[possiveis][Eventotrancado] = false;
  112.             Gabriel[possiveis][Eventodestrancado] = false;
  113.             Gabriel[playerid][Entrar] = false;
  114.         }
  115.     }
  116.     return 1;
  117. }
  118. CMD:finalizarevento(playerid, params[])
  119. {
  120.     GetPlayerName(playerid,admnick, 24);
  121.     format(streventu, 128, "[SISTEMA DE EVENTO] O Administrador [%s] ID:[%d] Finalizou o Evento", admnick, playerid);
  122.     SendClientMessageToAll(COR_AZUL, streventu);
  123.     for(new possiveis = 0; possiveis < MAX_PLAYERS; possiveis++) if(IsPlayerConnected(possiveis))
  124.     {
  125.         GameTextForPlayer(possiveis,"~w~evento ~r~terminado", 2500, 1);
  126.         Gabriel[possiveis][Eventotrancado] = false;
  127.         Gabriel[possiveis][Eventoiniciado] = false;
  128.         Gabriel[possiveis][Eventodestrancado] = false;
  129.     }
  130.     for(new possiveis = 0; possiveis < MAX_PLAYERS; possiveis++) if(Gabriel[playerid][Entrar] == true)
  131.     {
  132.         Gabriel[possiveis][Entrar] = false;
  133.         SetPlayerInterior(playerid, 0);
  134.         SetPlayerPos(playerid, entroux, entrouy, entrouz);
  135.         SetPlayerVirtualWorld(playerid, 0);
  136.         SetPlayerInterior(playerid, Gabriel[playerid][interior]);
  137.     }
  138.     for(new carros = 0; carros < MAX_VEHICLES; carros++)
  139.     {
  140.         if(Veiculos[carros])
  141.         {
  142.             DestroyVehicle(Veiculos[carros]);
  143.             Veiculos[carros] = 0;
  144.             VeiculosCriados = 0;
  145.         }
  146.     }
  147.     entraram = 0;
  148.     return 1;
  149. }
  150. CMD:sairevento(playerid, params[])
  151. {
  152.     SetPlayerVirtualWorld(playerid, 0);
  153.     Gabriel[playerid][Entrar] = false;
  154.     entraram -- ;
  155.     SetPlayerPos(playerid, entroux, entrouy, entrouz);
  156.     return 1;
  157. }
  158. CMD:desarmarevento(playerid, params[])
  159. {
  160.     for(new possiveis = 0; possiveis < MAX_PLAYERS; possiveis++) if(Gabriel[playerid][Entrar] == true)
  161.     {
  162.         ResetPlayerWeapons(possiveis);
  163.         SetPlayerArmedWeapon(possiveis,0);
  164.     }
  165.     GetPlayerName(playerid,admnick, 24);
  166.     format(streventu, 128, "[SISTEMA DE EVENTOS] O Administrador [%s] ID:[%d] desarmou todos jogadores do evento!", admnick, playerid);
  167.     SendClientMessageToAll(COR_AZUL, streventu);
  168.     return 1;
  169. }
  170. CMD:skinevento(playerid, params[])
  171. {
  172.     new skinide;
  173.     if(sscanf(params, "d", skinide)) return SendClientMessage(playerid, COR_BRANCO, "Uso:/skinevento [ID da Skin]");
  174.     for(new possiveis = 0; possiveis < MAX_PLAYERS; possiveis++) if(Gabriel[playerid][Entrar] == true)
  175.     {
  176.         SetPlayerSkin(possiveis, skinide);
  177.     }
  178.     return 1;
  179. }
  180. CMD:armaevento(playerid, params[])
  181. {
  182.     new gun;
  183.     new ammo;
  184.     if(sscanf(params, "dd", gun, ammo)) return SendClientMessage(playerid, COR_BRANCO, "Uso:/armaevento [ID da Arma][Munição]");
  185.     for(new possiveis = 0; possiveis < MAX_PLAYERS; possiveis++) if(Gabriel[playerid][Entrar] == true)
  186.     {
  187.         GivePlayerWeapon(possiveis, gun, ammo);
  188.     }
  189.     GetPlayerName(playerid,admnick, 24);
  190.     format(streventu, 128, "[SISTEMA DE EVENTO]O Administrador [%s] ID:[%d] deu arma [ID:%d] munição [%d] aos jogadores do evento!", admnick,playerid ,gun,ammo);
  191.     SendClientMessageToAll(COR_AZUL, streventu);
  192.     return 1;
  193. }
  194. CMD:contagemevento(playerid, params[])
  195. {
  196.     if(CountDown == -1)
  197.     {
  198.         CountDown = 6;
  199.         SetTimer("countdown",1000,0);
  200.         GetPlayerName(playerid,admnick, 24);
  201.         format(streventu, 128, "[SISTEMA DE EVENTOS] O Administrador %s [ID:%d] iniciou a contagem do evento!", admnick, playerid);
  202.         SendClientMessageToAll(COR_AZUL, streventu);
  203.     }
  204.     return 1;
  205. }
  206. CMD:congelarevento(playerid, params[])
  207. {
  208.     for(new possiveis = 0; possiveis < MAX_PLAYERS; possiveis++) if(Gabriel[playerid][Entrar] == true)
  209.     {
  210.         TogglePlayerControllable(possiveis, false);
  211.     }
  212.     GetPlayerName(playerid,admnick, 24);
  213.     format(streventu, 128, "[SISTEMA DE EVENTOS] O Administrador %s [ID:%d] congelou os jogadores do evento!", admnick, playerid);
  214.     SendClientMessageToAll(COR_AZUL, streventu);
  215.     return 1;
  216. }
  217. CMD:descongelarevento(playerid, params[])
  218. {
  219.     for(new possiveis = 0; possiveis < MAX_PLAYERS; possiveis++) if(Gabriel[playerid][Entrar] == true)
  220.     {
  221.         TogglePlayerControllable(possiveis, true);
  222.     }
  223.     GetPlayerName(playerid,admnick, 24);
  224.     format(streventu, 128, "[SISTEMA DE EVENTOS] O Administrador %s [ID:%s] descongelou os jogadores do evento!", admnick, playerid);
  225.     SendClientMessageToAll(COR_AZUL, streventu);
  226.     return 1;
  227. }
  228. CMD:coleteevento(playerid, params[])
  229. {
  230.     new colete;
  231.     if(sscanf(params, "d", colete)) return SendClientMessage(playerid, COR_BRANCO, "Uso:/coleteevento[COLETE]");
  232.     for(new possiveis = 0; possiveis < MAX_PLAYERS; possiveis++) if(Gabriel[playerid][Entrar] == true)
  233.     {
  234.         SetPlayerArmour(possiveis, colete);
  235.     }
  236.     GetPlayerName(playerid,admnick, 24);
  237.     format(streventu, 128, "[SISTEMA DE EVENTOS] O Administrador %s [ID:%d] setou Colete [%d] para os jogadores do evento", admnick,playerid,colete);
  238.     SendClientMessageToAll(COR_AZUL, streventu);
  239.     return 1;
  240. }
  241. CMD:vidaevento(playerid, params[])
  242. {
  243.     new vida;
  244.     if(sscanf(params, "d", vida)) return SendClientMessage(playerid, COR_BRANCO, "Uso:/vidaevento [VIDA]");
  245.     for(new possiveis = 0; possiveis < MAX_PLAYERS; possiveis++) if(Gabriel[playerid][Entrar] == true)
  246.     {
  247.         SetPlayerHealth(possiveis,vida);
  248.     }
  249.     GetPlayerName(playerid,admnick, 24);
  250.     format(streventu, 128, "[SISTEMA DE EVENTOS] O Administrador %s [ID:%d] setou Vida [%d] para os jogadores do evento", admnick,playerid,vida);
  251.     SendClientMessageToAll(COR_AZUL, streventu);
  252.     return 1;
  253. }
  254. CMD:carroevento(playerid, params[])
  255. {
  256.     new carro;
  257.     if(sscanf(params, "d", carro)) return SendClientMessage(playerid, COR_BRANCO, "Uso:/carroevento [ID do Carro]");
  258.     if(carro < 400 || carro > 611)
  259.     {
  260.         SendClientMessage(playerid, COR_VERMELHA, "  O ID do veiculo digitado está invalido! veiculos de 400 á 611");
  261.         return 1;
  262.     }
  263.     for(new possiveis = 0; possiveis < MAX_PLAYERS; possiveis++) if(Gabriel[possiveis][Entrar] == true)
  264.     {
  265.         new Float:X = 0,Float:Y = 0,Float:Z = 0,Float:Angulo = 0;
  266.         GetPlayerPos(possiveis, X,Y,Z);
  267.         GetPlayerFacingAngle(playerid, Angulo);
  268.         Veiculos[VeiculosCriados++] = CreateVehicle(carro, X, Y, Z, 0, random(126), random(126), 60000);
  269.         LinkVehicleToInterior(Veiculos[VeiculosCriados-1], GetPlayerInterior(possiveis));
  270.         SetVehicleVirtualWorld(Veiculos[VeiculosCriados-1], GetPlayerVirtualWorld(possiveis));
  271.         PutPlayerInVehicle(possiveis, Veiculos[VeiculosCriados-1], 0);
  272.     }
  273.     GetPlayerName(playerid,admnick, 24);
  274.     format(streventu, 128, "[SISTEMA DE EVENTOS] O Administrador %s [ID:%d] deu carro ID:%d aos jogadores do evento!", admnick,carro);
  275.     SendClientMessageToAll(COR_AZUL, streventu);
  276.     return 1;
  277. }
  278. public countdown()
  279. {
  280.     if(CountDown==6) GameTextForAll("~p~Starting...",1000,6);
  281.  
  282.     CountDown--;
  283.     if(CountDown==0)
  284.     {
  285.         GameTextForAll("~g~GO~ r~!",1000,6);
  286.         CountDown = -1;
  287.         for(new i = 0; i < MAX_PLAYERS; i++) {
  288.             TogglePlayerControllable(i,true);
  289.             PlayerPlaySound(i, 1057, 0.0, 0.0, 0.0);
  290.         }
  291.         return 0;
  292.     }
  293.     else
  294.     {
  295.         new text[7]; format(text,sizeof(text),"~w~%d",CountDown);
  296.         for(new i = 0; i < MAX_PLAYERS; i++) {
  297.             PlayerPlaySound(i, 1056, 0.0, 0.0, 0.0);
  298.             TogglePlayerControllable(i,false);
  299.         }
  300.         GameTextForAll(text,1000,6);
  301.     }
  302.  
  303.     SetTimer("countdown",1000,0);
  304.     return 0;
  305. }
  306. stock SalvarPlayer(playerid)
  307. {
  308.     new Float: health, Float: armour, Float: SX, Float: SY, Float: SZ;
  309.     GetPlayerHealth(playerid, health);
  310.     GetPlayerArmour(playerid, armour);
  311.     GetPlayerPos(playerid, SX, SY, SZ);
  312.     Eventos[playerid][grana] = GetPlayerMoney(playerid);
  313.     Eventos[playerid][Skin] = GetPlayerSkin(playerid);
  314.     if (armour > 0) Eventos[playerid][Colete] = armour;
  315.     Eventos[playerid][PosX] = SX;
  316.     Eventos[playerid][PosY] = SY;
  317.     Eventos[playerid][PosZ] = SZ;
  318.     Eventos[playerid][interior] = GetPlayerInterior(playerid);
  319. }
  320. stock UsarPlayer(playerid)
  321. {
  322.     SetPlayerSkin(playerid,Eventos[playerid][Skin]);
  323.     GivePlayerMoney(playerid, Eventos[playerid][grana]);
  324.     SetPlayerArmour(playerid, Eventos[playerid][Colete]);
  325.     SetPlayerPos(playerid, Eventos[playerid][PosX],
  326.     AirtonData[playerid][PosY], Eventos[playerid][PosZ]);
  327.     SetPlayerFacingAngle(playerid, Eventos[playerid][grana]);
  328.     SetPlayerInterior(playerid, Eventos[playerid][grana]);
  329.     SetPlayerInterior(playerid, Eventos[playerid][interior]);
  330.     return 1;
  331. }
  332. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  333. {
  334.         if(dialogid == 2345)
  335.         {
  336.             if(response == 1)
  337.             {
  338.                 SendClientMessage(playerid, COR_AZUL, "[EVENTOS]: voce foi para o evento");
  339.                 SalvarPlayer(playerid);
  340.                 Gabriel[playerid][Entrar] = true;
  341.                 entraram++;
  342.                 SetPlayerPos(playerid, ex, ey, ez);
  343.                 SetPlayerVirtualWorld(playerid, 5);
  344.                 SetPlayerInterior(playerid, Gabriel[playerid][interior]);
  345.                 return true;
  346.             }
  347.             if(response == 0)
  348.             {
  349.                 SendClientMessage(playerid, COR_AZUL, "[EVENTOS]: voce nao foi para o evento");
  350.                 return true;
  351.             }
  352.         }
  353.         return 1;
  354. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement