Advertisement
Guest User

Untitled

a guest
Feb 1st, 2012
2,963
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.07 KB | None | 0 0
  1. #include <a_samp>
  2.  
  3. #define FILTERSCRIPT
  4.  
  5. enum EINFO{Float:P1,Float:P2,Float:P3,Float:P4,Aberto,Criado,Carro,Arma[13],Balas[13],Mundo,Interior,cde[MAX_VEHICLES]};
  6. new EventoInfo[EINFO];
  7. new Float:POS[4];
  8. new InEvento[MAX_PLAYERS];
  9.  
  10. main ()
  11. {
  12. print("FS Evento By ReDKiiL");
  13. return 1;
  14. }
  15.  
  16. public OnFilterScriptInit()
  17. {
  18. print("FS Evento By ReDKiiL");
  19. return 1;
  20. }
  21.  
  22. public OnFilterScriptExit()
  23. {
  24. return 1;
  25. }
  26.  
  27. public OnPlayerCommandText(playerid,cmdtext[])
  28. {
  29. new cmd[128],idx,tmp[128];
  30. cmd = strtok(cmdtext,idx);
  31.  
  32. if(!strcmp(cmd,"/infoevento",true))
  33. {
  34. if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid,0xFF0000FF,"[ERRO]: Apenas Administradores [RCON] Pode Usar Esse Comando");
  35. SendClientMessage(playerid,0xFF0000FF,"Comandos: /criarevento /abrirevento /fecharevento /eventodarcarro /eventodararma /terminarevento");
  36. SendClientMessage(playerid,0xFF0000FF,"Comandos: /tirardoevento /sairdoevento");
  37. SendClientMessage(playerid,0xFF0000FF,"Creditos: Criado Por ReDKiiL u=125572");
  38. return 1;
  39. }
  40. if(!strcmp(cmd,"/criarevento",true))
  41. {
  42. if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid,0xFF0000FF,"[ERRO]: Apenas Administradores [RCON] Podem Usar Esse Comando");
  43. if(EventoInfo[Criado] == 1)return SendClientMessage(playerid,0xFF0000FF,"[ERRO]: Já existe um evento criado");
  44. GetPlayerPos(playerid,POS[0],POS[1],POS[2]); GetPlayerFacingAngle(playerid,POS[3]);
  45. EventoInfo[P1] = Float:POS[0];
  46. EventoInfo[P2] = Float:POS[1];
  47. EventoInfo[P3] = Float:POS[2];
  48. EventoInfo[P4] = Float:POS[3];
  49.  
  50. EventoInfo[Interior] = GetPlayerInterior(playerid);
  51. EventoInfo[Mundo] = GetPlayerVirtualWorld(playerid);
  52. for(new i,k=13; i != k; ++i)
  53. {
  54. GetPlayerWeaponData(playerid,i,EventoInfo[Arma][i],EventoInfo[Balas][i]);
  55. }
  56. if(IsPlayerInAnyVehicle(playerid))
  57. {
  58. EventoInfo[Carro] = GetVehicleModel(GetPlayerVehicleID(playerid));
  59. }
  60. EventoInfo[Criado] = 1;
  61. EventoInfo[Aberto] = 0;
  62. SendClientMessage(playerid,0x00FF00FF,"[INFO]: Evento criado para abrir digite ( /abrirevento )");
  63. return 1;
  64. }
  65. if(!strcmp(cmd,"/abrirevento",true))
  66. {
  67. if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid,0xFF0000FF,"[ERRO: Apenas Administradores [RCON] Podem Usar Esse Comando");
  68. if(EventoInfo[Criado] == 0)return SendClientMessage(playerid,0xFF0000FF,"[ERRO]: Não existe nenhum evento criado digite ( /criarevento ) para criar algum");
  69. EventoInfo[Aberto] = 1;
  70. SendClientMessage(playerid,0x00FF00FF,"[INFO]: Evento foi aberto com sucesso!");
  71. return 1;
  72. }
  73. if(!strcmp(cmd,"/fecharevento",true))
  74. {
  75. if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid,0xFF0000FF,"[ERRO: Apenas Administradores [RCON] Podem Usar Esse Comando");
  76. if(EventoInfo[Criado] == 0)return SendClientMessage(playerid,0xFF0000FF,"[ERRO]: Não existe nenhum evento criado!");
  77. if(EventoInfo[Aberto] == 0)return SendClientMessage(playerid,0xFF0000FF,"[ERRO]: Evento já está fechado");
  78. EventoInfo[Aberto] = 0;
  79. SendClientMessage(playerid,0xFF00FFFF,"[INFO]: Evento foi aberto");
  80. return 1;
  81. }
  82. if(!strcmp(cmd,"/evento",true))
  83. {
  84. if(EventoInfo[Criado] == 0)return SendClientMessage(playerid,0xFF0000FF,"[ERRO]: Não existe nenhum evento criado!");
  85. if(EventoInfo[Aberto] == 0)return SendClientMessage(playerid,0xFF0000FF,"[ERRO]: Evento ainda não foi aberto");
  86. InEvento[playerid] = 1;
  87. SetPlayerPos(playerid,EventoInfo[P1],EventoInfo[P2],EventoInfo[P3]);
  88. SetPlayerFacingAngle(playerid,EventoInfo[P4]);
  89. SetPlayerInterior(playerid,EventoInfo[Interior]);
  90. SetPlayerVirtualWorld(playerid,EventoInfo[Mundo]);
  91. for(new i, k = 13; i != k; ++i)
  92. {
  93. GivePlayerWeapon(playerid,EventoInfo[Arma][i],EventoInfo[Balas][i]);
  94. }
  95. if(EventoInfo[Carro] >= 400 && EventoInfo[Carro] <= 611)
  96. {
  97. new car;
  98. car = CreateVehicle(EventoInfo[Carro],EventoInfo[P1],EventoInfo[P2],EventoInfo[P3]+5,EventoInfo[P4],-1,-1,-1);
  99. PutPlayerInVehicle(playerid,car,0);
  100. SetVehicleVirtualWorld(car,EventoInfo[Mundo]);
  101. LinkVehicleToInterior(car,EventoInfo[Interior]);
  102. EventoInfo[cde][car] = 1;
  103. }
  104. return 1;
  105. }
  106. if(!strcmp(cmd,"/terminarevento",true))
  107. {
  108. if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid,0xFF0000FF,"[ERRO]: Apenas Administradores [RCON] Podem Usar Esse Comando");
  109. if(EventoInfo[Criado] == 0)return SendClientMessage(playerid,0xFF0000FF,"[ERRO]: Não existe nenhum evento criado!");
  110. for(new i, x = GetMaxPlayers(); i != x; ++i)
  111. {
  112. if(IsPlayerConnected(i) && InEvento[i] == 1)
  113. {
  114. SpawnPlayer(i);
  115. InEvento[i] = 0;
  116. }
  117. }
  118. for(new k, a = MAX_VEHICLES; k != a; ++k)
  119. {
  120. if(EventoInfo[cde][k] == 1)
  121. {
  122. DestroyVehicle(k);
  123. }
  124. }
  125. EventoInfo[Carro] = 0;
  126. EventoInfo[Criado] = 0;
  127. EventoInfo[Aberto] = 0;
  128. SendClientMessage(playerid,0xFF00FFFF,"[INFO]: Evento terminado");
  129. return 1;
  130. }
  131. if(!strcmp(cmd,"/eventodararma",true))
  132. {
  133. if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid,0xFF0000FF,"[ERRO]: Apenas Administradores [RCON] Podem Usar Esse Comando");
  134. tmp = strtok(cmdtext,idx);
  135. if(!strlen(tmp))return SendClientMessage(playerid,0xFF0000FF,"Uso: /eventodararma [arma id] [balas]");
  136. new arma,balas;
  137. arma = strval(tmp);
  138. if(arma > 46)return SendClientMessage(playerid,0xFF0000FF,"[ERRO]: Arma invalida");
  139. tmp = strtok(cmdtext,idx);
  140. if(!strlen(tmp))return SendClientMessage(playerid,0xFF0000FF,"Uso: /eventodararma [arma id] [balas]");
  141. balas = strval(tmp);
  142. for(new i, x = GetMaxPlayers(); i != x; ++i)
  143. {
  144. if(IsPlayerConnected(i) && InEvento[i] == 1)
  145. {
  146. GivePlayerWeapon(i,arma,balas);
  147. }
  148. }
  149. return 1;
  150. }
  151. if(!strcmp(cmd,"/eventodarcarro",true))
  152. {
  153. if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid,0xFF0000FF,"[ERRO]: Apenas Administradores [RCON] Podem Usar Esse Comando");
  154. tmp = strtok(cmdtext,idx);
  155. if(!strlen(tmp))return SendClientMessage(playerid,0xFF0000FF,"Uso: /eventodarcarro [modelo id]");
  156. new carro = strval(tmp);
  157. if(carro < 400 || carro > 611)return SendClientMessage(playerid,0xFF0000FF,"[ERRO]: Carro invalido");
  158. new Float:GPOS[4];
  159. for(new i, x = GetMaxPlayers(); i != x; ++i)
  160. {
  161. if(IsPlayerConnected(i) && InEvento[i] == 1 && GetPlayerState(playerid) != PLAYER_STATE_DRIVER)
  162. {
  163. GetPlayerPos(playerid,GPOS[0],GPOS[1],GPOS[2]);
  164. GetPlayerFacingAngle(playerid,GPOS[3]);
  165. new car = CreateVehicle(carro,GPOS[0],GPOS[1],GPOS[2]+3,GPOS[3],-1,-1,-1);
  166. SetVehicleVirtualWorld(car,EventoInfo[Mundo]);
  167. LinkVehicleToInterior(car,EventoInfo[Interior]);
  168. PutPlayerInVehicle(i,car,0);
  169. EventoInfo[cde][GetPlayerVehicleID(i)] = 1;
  170. }
  171. }
  172. return 1;
  173. }
  174. if(!strcmp(cmd,"/tirardoevento",true))
  175. {
  176. if(!IsPlayerAdmin(playerid))return SendClientMessage(playerid,0xFF0000FF,"[ERRO]: Apenas Administradores [RCON] Podem Usar Esse Comando");
  177. tmp = strtok(cmdtext,idx);
  178. if(!strlen(tmp))return SendClientMessage(playerid,0xFF0000FF,"Uso: /tirardoevento [id]");
  179. new id = strval(tmp);
  180. if(!IsPlayerConnected(id))return SendClientMessage(playerid,0xFF0000FF,"[ERRO]: Jogador Offline Ou ID Invalido");
  181. if(InEvento[id] == 0)return SendClientMessage(playerid,0xFF0000FF,"[ERRO]: o Jogador Não Está No Evento");
  182. InEvento[id] = 0;
  183. SpawnPlayer(id);
  184. SetPlayerVirtualWorld(id,0);
  185. SetPlayerInterior(id,0);
  186. return 1;
  187. }
  188. if(!strcmp(cmd,"/sairdoevento",true))
  189. {
  190. if(InEvento[playerid] == 0)return SendClientMessage(playerid,0xFF0000FF,"[ERRO]: Voce Não Está No Evento");
  191. SpawnPlayer(playerid);
  192. SetPlayerVirtualWorld(playerid,0);
  193. SetPlayerInterior(playerid,0);
  194. return 1;
  195. }
  196. return 0;
  197. }
  198. strtok(const string[], &index)
  199. {
  200. new length = strlen(string);
  201. while ((index < length) && (string[index] <= ' '))
  202. {
  203. index++;
  204. }
  205.  
  206. new offset = index;
  207. new result[20];
  208. while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
  209. {
  210. result[index - offset] = string[index];
  211. index++;
  212. }
  213. result[index - offset] = EOS;
  214. return result;
  215. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement