Advertisement
Guest User

Sistema de Incendio. By: ProKillerPa

a guest
Oct 13th, 2014
943
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.55 KB | None | 0 0
  1. #include a_samp
  2. #include zcmd
  3. #include sscanf2
  4. #include DOF2
  5.  
  6. new Fogo[7],
  7. CarsBomb[9],
  8. bool:BombeiroE[MAX_PLAYERS]
  9. ;
  10.  
  11. public OnFilterScriptInit(){
  12.  
  13. CarsBomb[0] = AddStaticVehicle(407,-2052.7344,92.6358,28.6204,89.9753,3,60000); // Car01Bomb
  14. CarsBomb[1] = AddStaticVehicle(407,-2053.3623,84.1748,28.6289,91.1893,3,60000); // Car02Bomb
  15. CarsBomb[2] = AddStaticVehicle(407,-2053.4856,75.6453,28.6246,90.9805,3,60000); // Car03Bomb
  16. CarsBomb[3] = AddStaticVehicle(407,-2063.5962,52.2610,28.7280,270.3615,3,60000); // Car04Bomb
  17. CarsBomb[4] = AddStaticVehicle(407,-2063.2253,58.3733,28.7146,272.1339,3,60000); // Car05Bomb
  18. CarsBomb[5] = AddStaticVehicle(407,-2063.9917,63.9367,28.6676,273.3929,3,60000); // Car06Bomb
  19. CarsBomb[6] = AddStaticVehicle(407,-2021.6857,92.9047,28.2797,271.3405,3,60000); // Car07Bomb
  20. CarsBomb[7] = AddStaticVehicle(407,-2021.4604,84.1339,28.2355,272.8079,3, 60000); // Car08Bomb
  21. CarsBomb[8] = AddStaticVehicle(407,-2021.7314,75.5931,28.3139,271.3740,3, 60000); // Car09Bomb
  22. return 1;
  23. }
  24.  
  25. enum EnumBomb{
  26. Local[40],
  27. Float:FogoX,
  28. Float:FogoY,
  29. Float:FogoZ,
  30. ValorReceber
  31. }
  32.  
  33. new LocaisFogo[6][EnumBomb] = {
  34. {"Casa de Interior", 1105.7981,-299.4438,74.5391, 1700},
  35. {"Deposito de Madeira", 95.8632,-184.0046,1.4844, 1300},
  36. {"Fazenda", -93.4231,-26.3268,3.1172, 1000},
  37. {"Departamento de Policia", -219.2005,984.7499,19.5476, 1900},
  38. {"Moradia Moderna", 254.7919,1125.6041,20.2422, 1500},
  39. {"Loja de Conveniencia", -48.9465,1188.7512,19.3594, 1800}
  40. };
  41.  
  42. new Float:_ArmazenarRandom01[MAX_PLAYERS],
  43. Float:_ArmazenarRandom02[MAX_PLAYERS],
  44. Float:_ArmazenarRandom03[MAX_PLAYERS]
  45. ;
  46.  
  47. new Porcentagem = 256;
  48. new Text3D:var;
  49.  
  50. new TemIncendio[MAX_PLAYERS],
  51. VaiReceber[MAX_PLAYERS],
  52. ValorReceber2[MAX_PLAYERS]
  53. ;
  54.  
  55. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys){
  56. if(IsPlayerInRangeOfPoint(playerid, 7.0, _ArmazenarRandom01[playerid], _ArmazenarRandom02[playerid], _ArmazenarRandom03[playerid])){
  57.  
  58. if(TemIncendio[playerid] == 0) return 1;
  59. GameTextForPlayer(playerid, "~y~Apagando!~n~~g~Continue Clicando", 1000, 3);
  60.  
  61. new _Fire[200];
  62. format(_Fire, sizeof(_Fire), "{FFD700}Porcentagem de Fogo:\n{FA8072}[%d/256]", Porcentagem-10);
  63.  
  64. Update3DTextLabelText(var, 0xFFFFFFFF, _Fire);
  65.  
  66. if(Porcentagem <= 0){
  67. GameTextForPlayer(playerid, "~r~Incendio Apagado!~n~~y~Volte para a HQ!", 4000, 3);
  68.  
  69. SendClientMessage(playerid, -1, "| BOMBEIRO | Incendio Apagado! Volte para a HQ para finalizar o serviço!");
  70. Delete3DTextLabel(var);
  71.  
  72. VaiReceber[playerid] = 1; //
  73.  
  74. TemIncendio[playerid] = 0;
  75.  
  76. SetPlayerCheckpoint(playerid, -2048.6135,67.2293,28.6456, 0.8);
  77. Porcentagem = 256;
  78.  
  79. for(new i = 0; i < sizeof(Fogo); i ++) {
  80. DestroyObject(Fogo[i]); DestroyObject(Fogo[i]);
  81. }
  82. }
  83.  
  84. Porcentagem = Porcentagem - 1;
  85. }
  86. return 1;
  87. }
  88.  
  89. public OnPlayerStateChange(playerid, newstate, oldstate)
  90. {
  91. if(newstate == 2)
  92. {
  93. if(GetPlayerVehicleID(playerid) >= CarsBomb[0] && GetPlayerVehicleID(playerid) <= CarsBomb[8]){
  94. if(BombeiroE[playerid] == true){
  95.  
  96. }
  97. else return ( SendClientMessage(playerid, -1, "{BEBEBE}| ERRO | Você não pode utilizar esse veiculo!"), RemovePlayerFromVehicle(playerid) );
  98. }
  99. else return 1;
  100. }
  101. return 1;
  102. }
  103.  
  104. new Bomb[MAX_PLAYERS];
  105.  
  106. public OnPlayerConnect(playerid){
  107. SetPlayerCheckpoint(playerid, -2048.6135,67.2293,28.6456, 0.8);
  108. Create3DTextLabel("{BEBEBE}Menu de Incendio\n{FA8072}Pegue um Incendio!", 0x008080FF, -2048.6135,67.2293,28.6456, 15.0, 0, 0);
  109.  
  110. new _Aways[70],
  111. Bombeiro[MAX_PLAYER_NAME]
  112. ;
  113.  
  114. GetPlayerName(playerid, Bombeiro, sizeof(Bombeiro));
  115.  
  116. format(_Aways, sizeof(_Aways), "Bombeiros/%s.ini", Bombeiro);
  117.  
  118. Bomb[playerid] = DOF2_GetInt(_Aways, "Bombeiro");
  119.  
  120. if(Bomb[playerid] == 1){
  121. BombeiroE[playerid] = true;
  122. }
  123. else BombeiroE[playerid] = false;
  124. return 1;
  125. }
  126.  
  127. public OnPlayerDisconnect(playerid, reason){
  128.  
  129. ValorReceber2[playerid] = 0;
  130. TemIncendio[playerid] = 0,
  131. VaiReceber[playerid] = 0,
  132. BombeiroE[playerid] = false
  133. ;
  134. return 1;
  135. }
  136.  
  137. CMD:procurarincendio(playerid){
  138. if(BombeiroE[playerid] == false) return SendClientMessage(playerid, -1, "| ERRO | Você não é bombeiro!");
  139. if(IsPlayerInRangeOfPoint(playerid, 2.0, -2048.6135,67.2293,28.6456)){
  140. new str[1000];
  141. new rand = random(sizeof(LocaisFogo));
  142.  
  143. _ArmazenarRandom01[playerid] = LocaisFogo[rand][FogoX];
  144. _ArmazenarRandom02[playerid] = LocaisFogo[rand][FogoY];
  145. _ArmazenarRandom03[playerid] = LocaisFogo[rand][FogoZ];
  146. ValorReceber2[playerid] = LocaisFogo[rand][ValorReceber];
  147.  
  148. new
  149. Float: _ContarDist = GetPlayerDistanceFromPoint(playerid, LocaisFogo[rand][FogoX], LocaisFogo[rand][FogoY], LocaisFogo[rand][FogoZ]);
  150.  
  151. format(str, sizeof(str), "{FA8072}San Andreas Fire!\n\n{BEBEBE}A Central de atendimento recebeu um chamado de incendio, siga abaixo os dados pra chegar até ele!\n\n{FA8072}Local do Incendio: {BEBEBE}%s\n\
  152. {FA8072}Valor á Receber: {32CD32}R$%d,00\n{FA8072}Distância: {BEBEBE}%0.2fm", LocaisFogo[rand][Local], LocaisFogo[rand][ValorReceber], _ContarDist);
  153. ShowPlayerDialog(playerid, 1, DIALOG_STYLE_MSGBOX, "{BEBEBE}Incendio Encontrado!", str, "Ir!", "");
  154.  
  155. SetPlayerCheckpoint(playerid, LocaisFogo[rand][FogoX], LocaisFogo[rand][FogoY], LocaisFogo[rand][FogoZ], 0.0);
  156.  
  157. Fogo[0] = CreateObject(18691, LocaisFogo[rand][FogoX]+1, LocaisFogo[rand][FogoY], LocaisFogo[rand][FogoZ]-2.5, 0.0, 0.0, 0.0);
  158. Fogo[1] = CreateObject(18691, LocaisFogo[rand][FogoX]+1, LocaisFogo[rand][FogoY], LocaisFogo[rand][FogoZ]-2.5, 0.0, 0.0, 0.0);
  159. Fogo[2] = CreateObject(18691, LocaisFogo[rand][FogoX], LocaisFogo[rand][FogoY]+1, LocaisFogo[rand][FogoZ]-2.5, 0.0, 0.0, 0.0);
  160. Fogo[3] = CreateObject(18691, LocaisFogo[rand][FogoX]+1, LocaisFogo[rand][FogoY]+1, LocaisFogo[rand][FogoZ]-2.5, 0.0, 0.0, 0.0);
  161. Fogo[4] = CreateObject(18691, LocaisFogo[rand][FogoX]-1, LocaisFogo[rand][FogoY]+1, LocaisFogo[rand][FogoZ]-2.5, 0.0, 0.0, 0.0);
  162. Fogo[5] = CreateObject(18691, LocaisFogo[rand][FogoX], LocaisFogo[rand][FogoY]-1, LocaisFogo[rand][FogoZ]-2.5, 0.0, 0.0, 0.0);
  163. Fogo[6] = CreateObject(18691, LocaisFogo[rand][FogoX]-1, LocaisFogo[rand][FogoY]-1, LocaisFogo[rand][FogoZ]-2.5, 0.0, 0.0, 0.0);
  164.  
  165.  
  166. new _Fire[200];
  167.  
  168. format(_Fire, sizeof(_Fire), "{FFD700}Porcentagem de Fogo:\n{FA8072}[%d/256]", Porcentagem);
  169.  
  170. var = Create3DTextLabel(_Fire, 0x008080FF, LocaisFogo[rand][FogoX], LocaisFogo[rand][FogoY], LocaisFogo[rand][FogoZ], 40.0, 0, 0);
  171.  
  172. TemIncendio[playerid] = 1;
  173. }
  174. else return SendClientMessage(playerid, -1, "| BOMBEIRO | Você não está na HQ dos bombeiros!");
  175. return 1;
  176. }
  177.  
  178. CMD:finalizar(playerid){
  179. if(BombeiroE[playerid] == false) return SendClientMessage(playerid, -1, "| ERRO | Você não é bombeiro!");
  180. if(!IsPlayerInRangeOfPoint(playerid, 2.0, -2048.6135,67.2293,28.6456)) return SendClientMessage(playerid, -1, "| ERRO | Você não está na HQ de bombeiros!'");
  181.  
  182. if(VaiReceber[playerid] == 1){
  183. new _Var[500], AtualMoney[MAX_PLAYERS];
  184.  
  185. AtualMoney[playerid] = GetPlayerMoney(playerid);
  186.  
  187. GivePlayerMoney(playerid, AtualMoney[playerid] + ValorReceber2[playerid]);
  188.  
  189. format(_Var, sizeof(_Var), "{FA8072}San Andreas Fire!\n\n{BEBEBE}A Corporação de bombeiros S.A agradece sua contribuição com a mesma!\nVeja abaixo o valor recebido pelo seu trabalho.\n\n{FA8072}Valor Recebido: {32CD32}R$%d,00", ValorReceber2[playerid]);
  190. ShowPlayerDialog(playerid, 1, DIALOG_STYLE_MSGBOX, "{BEBEBE}Incendio Finalizado!", _Var, "Fechar", "");
  191.  
  192. VaiReceber[playerid] = 0;
  193.  
  194. }
  195. else return SendClientMessage(playerid, -1, "| BOMBEIRO | Você não apagou nenhum incendio!");
  196. return 1;
  197. }
  198.  
  199. CMD:cp(playerid, params[])
  200. {
  201. if(BombeiroE[playerid] == false) return SendClientMessage(playerid, -1, "| ERRO | Você não é bombeiro!");
  202. new Bombeiro[MAX_PLAYER_NAME], Msg[128], MSG[128];
  203.  
  204. GetPlayerName(playerid, Bombeiro, sizeof(Bombeiro));
  205.  
  206. if (sscanf(params, "s[128]", MSG)) SendClientMessage(playerid, 0xFF0000AA, "(ERRO) {7FFFD4}USE: /cp [TEXTO]");
  207. else {
  208. for (new i; i < MAX_PLAYERS; i++) {
  209. if(BombeiroE[i] == BombeiroE[playerid]) {
  210. format(Msg, 128, "{FA8072}| CP | O(A) Bombeiro %s diz: %s", Bombeiro, MSG);
  211. SendClientMessage(i, -1, Msg);
  212. }
  213. }
  214. }
  215. return 1;
  216. }
  217.  
  218. CMD:bombeiro(playerid){
  219. VirarBombeiro(playerid);
  220. return 1;
  221. }
  222.  
  223. CMD:creditos(playerid){
  224. SendClientMessage(playerid, -1, "{BEBEBE}| INFO | Filterscript Bombeiros S.A");
  225. SendClientMessage(playerid, -1, "{BEBEBE}| INFO | O Desenvolvedor deste FS é ProKillerPa");
  226. return 1;
  227. }
  228.  
  229. forward VirarBombeiro(playerid);
  230. public VirarBombeiro(playerid){
  231. new _Aways[70],
  232. Bombeiro[MAX_PLAYER_NAME]
  233. ;
  234.  
  235. GetPlayerName(playerid, Bombeiro, sizeof(Bombeiro));
  236.  
  237. format(_Aways, sizeof(_Aways), "Bombeiros/%s.ini", Bombeiro);
  238.  
  239. DOF2_CreateFile(_Aways);
  240.  
  241. DOF2_SetInt(_Aways, "Bombeiro", 1);
  242.  
  243. DOF2_SaveFile();
  244.  
  245. BombeiroE[playerid] = true;
  246.  
  247. SendClientMessage(playerid, -1, "| BOMBEIRO | Você ficou bombeiro com sucesso!");
  248.  
  249. printf("[ AUTO-CONTROLE ] O(A) Jogador(a) virou bombeiro!", Bombeiro);
  250.  
  251. return 1;
  252. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement