Adoniiz

aEP - Encuentra el pickup escondido - 12/04/13 (bugfix)

Apr 12th, 2013
178
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 16.24 KB | None | 0 0
  1. // By Adoniiz
  2.  
  3.  
  4. #include <a_samp>
  5. #include <zcmd>
  6. #include <sscanf2>
  7.  
  8. #define Rojo 0xFF000088
  9. #define Limon 0xDDDD2388
  10. #define Verde 0x009400FF
  11. #define CyanC 0xAAFFCC33
  12. #define Gris 0xAFAFAFAA
  13.  
  14. new Configurado[MAX_PLAYERS];
  15. new GuardaPosicionTele[MAX_PLAYERS];
  16. new GuardaPosicionPickup[MAX_PLAYERS];
  17. new ActivarJuego[MAX_PLAYERS];
  18. new Float:X50,Float:Y50,Float:Z50, modelo;
  19. new Float:X100,Float:Y100,Float:Z100;
  20. new Nombre[MAX_PLAYER_NAME];
  21. new JugadorConfigurando;
  22. new ParaDesactivar[MAX_PLAYERS];
  23.  
  24.  
  25. public OnPlayerConnect(playerid)
  26. {
  27. Configurado[playerid] = 0;
  28. GuardaPosicionPickup[playerid] = 0;
  29. GuardaPosicionTele[playerid] = 0;
  30. ActivarJuego[playerid] = 0;
  31. JugadorConfigurando = 0;
  32. ParaDesactivar[playerid] = 0;
  33. return 1;
  34. }
  35.  
  36. public OnPlayerDisconnect(playerid, reason)
  37. {
  38. Configurado[playerid] = 0;
  39. GuardaPosicionPickup[playerid] = 0;
  40. GuardaPosicionTele[playerid] = 0;
  41. ActivarJuego[playerid] = 0;
  42. DeletePVar(playerid, "PickupParaEncontrar");
  43. JugadorConfigurando = 0;
  44. ParaDesactivar[playerid] = 0;
  45. return 1;
  46. }
  47.  
  48. ////////////////////////////////////////////////////////////////////////////////
  49. ///////////////////////////////////// Comandos /////////////////////////////////
  50. ////////////////////////////////////////////////////////////////////////////////
  51.  
  52. CMD:ep(playerid,params[])
  53. {
  54. if(IsPlayerAdmin(playerid) != 1) return SendClientMessage(playerid, Rojo, "* Necesitas tener admin rcon para usar este comando.");
  55. if(sscanf(params,"s[32]",params[0])) return SendClientMessage(playerid, Gris, "Uso: /ep [{007F0E}configurar {AFAFAF}- {007F0E}desconfigurar {AFAFAF}- {007F0E}activar{AFAFAF} - {007F0E}desactivar{AFAFAF}]");
  56. if (!strcmp(params[0], "configurar"))
  57. {
  58. if(Configurado[playerid] == 1) return SendClientMessage(playerid, Rojo, "* Ya está configurado.. utiliza /ep desconfigurar o /ep desactivar");
  59. if(JugadorConfigurando == 1) return SendClientMessage(playerid, Rojo, "* Alguien está utilizando el comando, intentalo cuando termine.");
  60. if(ActivarJuego[playerid] == 1) return SendClientMessage(playerid, Rojo, "* Ya está el juego en movimiento");
  61. JugadorConfigurando = 1;
  62. ShowPlayerDialog(playerid, 0, DIALOG_STYLE_LIST,"Elige el pickup a encontrar ... [1/3]","Vida\nChaleco\nInfo\nDinero\nCasa Azul\nCasa Verde\nBomba\nCalabera\nSD CARD\nAdrenalina\nEstrella\nGta3 Logo\nFoto\nDinero\nCamisa\nSD CARD 2\n2 Calaberas \n2 Jugadores\nEstatua Tiki\nParacaidas\nFlecha abajo\nPaquete Droga","Selecc","Cancelar");
  63. }
  64. else if (!strcmp(params[0], "desconfigurar"))
  65. {
  66. if(Configurado[playerid] == 0) return SendClientMessage(playerid, Rojo, "* Aun no has empezado a configurar el juego");
  67. Configurado[playerid] = 0;
  68. GuardaPosicionPickup[playerid] = 0;
  69. GuardaPosicionTele[playerid] = 0;
  70. ActivarJuego[playerid] = 0;
  71. JugadorConfigurando = 0;
  72. SetPVarInt(playerid, "PickupParaEncontrar",0);
  73. DestroyPickup(modelo);
  74. }
  75. else if (!strcmp(params[0], "activar"))
  76. {
  77. if(Configurado[playerid] == 0) return SendClientMessage(playerid, Rojo, "* Aun no has empezado a configurar el juego");
  78. if(ActivarJuego[playerid] == 1) return SendClientMessage(playerid, Rojo, "* Ya está el juego en movimiento");
  79. JugadorConfigurando = 0;
  80. ParaDesactivar[playerid] = 1;
  81. modelo = CreatePickup(GetPVarInt(playerid, "PickupParaEncontrar"), 2,X50, Y50, Z50, 0);
  82. new cellsactjuego[128];
  83. for(new i = 0; i < MAX_PLAYERS; i ++){ActivarJuego[i] = 1;}
  84. GetPlayerName(playerid, Nombre, sizeof(Nombre));
  85. format(cellsactjuego,128, "* %s ha activado el juego Encuentra el Pickup escondido, usa /epe para ir al lugar de encuentro!", Nombre);
  86. SendClientMessageToAll(Verde,cellsactjuego);
  87. }
  88. else if (!strcmp(params[0], "desactivar"))
  89. {
  90. if(ParaDesactivar[playerid] == 0) return SendClientMessage(playerid, Rojo, "* Aun no has activado el juego");
  91. new cellsdesactjuego[128];
  92. GetPlayerName(playerid, Nombre, sizeof(Nombre));
  93. format(cellsdesactjuego,128, "* %s ha desactivado el juego Encuentra el Pickup escondido!", Nombre);
  94. SendClientMessageToAll(Rojo,cellsdesactjuego);
  95. for(new i = 0; i < MAX_PLAYERS; i ++){ActivarJuego[i] = 0;}
  96. DestroyPickup(modelo);
  97. Configurado[playerid] = 0;
  98. ParaDesactivar[playerid] = 0;
  99. GuardaPosicionPickup[playerid] = 0;
  100. GuardaPosicionTele[playerid] = 0;
  101. SetPVarInt(playerid, "PickupParaEncontrar",0);
  102. }
  103. return 1;
  104. }
  105.  
  106. CMD:epe(playerid,params[])
  107. {
  108. if(ActivarJuego[playerid] == 0) return SendClientMessage(playerid, Rojo, "* El juego está desactivado");
  109. SetPlayerPos(playerid, X100,Y100,Z100);
  110. GameTextForPlayer(playerid, "~w~Busca el ~h~~g~pickup ~h~~h~~r~escondido", 5000, 3);
  111. return 1;
  112. }
  113.  
  114. ////////////////////////////////////////////////////////////////////////////////
  115.  
  116.  
  117. public OnPlayerPickUpPickup(playerid, pickupid)
  118. {
  119. if(pickupid == modelo)
  120. {
  121. new cellsganador[128];
  122. GetPlayerName(playerid, Nombre, sizeof(Nombre));
  123. SendClientMessage(playerid, Limon, "- Ganastes el juego, has recibido +500.000$ ¡Felicidades!");
  124. format(cellsganador, 128, "** %s ha encontrado el pickup ¡Enhorabuena!", Nombre);
  125. GameTextForPlayer(playerid, "~h~~h~~h~~g~FELICIDADES!!", 5000, 3);
  126. SendClientMessageToAll(Limon,cellsganador);
  127. GivePlayerMoney(playerid, 500000);
  128. DestroyPickup(modelo);
  129. for(new i = 0; i < MAX_PLAYERS; i ++)
  130. {
  131. ActivarJuego[i] = 0;
  132. if(IsPlayerAdmin(i) == 1)
  133. {
  134. Configurado[i] = 0;
  135. GuardaPosicionPickup[i] = 0;
  136. GuardaPosicionTele[i] = 0;
  137. SetPVarInt(i, "PickupParaEncontrar",0);
  138. JugadorConfigurando = 0;
  139. ParaDesactivar[playerid] = 0;
  140. }
  141. }
  142. }
  143. return 1;
  144. }
  145.  
  146.  
  147. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  148. {
  149. if(GuardaPosicionPickup[playerid] == 1)
  150. {
  151. if (newkeys & KEY_SECONDARY_ATTACK )
  152. {
  153. GetPlayerPos(playerid, X50,Y50,Z50);
  154. SendClientMessage(playerid,CyanC,"* Guardastes la posición del pickup, ahora te falta guardar la posición del teleport [3/3]");
  155. GuardaPosicionPickup[playerid] = 0;
  156. ShowPlayerDialog(playerid, 2, DIALOG_STYLE_MSGBOX,"Elige la posición del pickup ... [2/3]","- Elige la posición del teleport\n- Cuando encuentres la posición, presiona F o ENTER.","Selecc","Cancelar");
  157. return 1;
  158. }
  159. }
  160. if(GuardaPosicionTele[playerid] == 1)
  161. {
  162. if (newkeys & KEY_SECONDARY_ATTACK )
  163. {
  164. GetPlayerPos(playerid, X100,Y100,Z100);
  165. GuardaPosicionTele[playerid] = 0;
  166. SendClientMessage(playerid,CyanC,"* Guardastes la posición del teleport, pasos completados con éxito. usa /ep activar para dar el anuncio e activar el juego...");
  167. Configurado[playerid] = 1;
  168. return 1;
  169. }
  170. }
  171. return 1;
  172. }
  173.  
  174. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  175. {
  176. switch(dialogid)
  177. {
  178. case 0:
  179. {
  180. if(!response) { SendClientMessage(playerid, Rojo, "* Cancelastes seleccionar el pickup [1/3]"); JugadorConfigurando = 0; return 1; }
  181. switch(listitem)
  182. {
  183. case 0: // Vida
  184. {
  185. SetPVarInt(playerid, "PickupParaEncontrar",1240);
  186. ShowPlayerDialog(playerid, 1, DIALOG_STYLE_MSGBOX,"Elige la posición del pickup ... [2/3]","- Elige la posición del pickup a encontrar\n- Cuando encuentres la posición, presiona F o ENTER.","Selecc","Cancelar");
  187. SendClientMessage(playerid, CyanC ,"* * ID del Pickup guardado con éxito"); return 1;
  188. }
  189. case 1: // Chaleco
  190. {
  191.  
  192. SetPVarInt(playerid, "PickupParaEncontrar",1242);
  193. ShowPlayerDialog(playerid, 1, DIALOG_STYLE_MSGBOX,"Elige la posición del pickup ... [2/3]","- Elige la posición del pickup a encontrar\n- Cuando encuentres la posición, presiona F o ENTER.","Selecc","Cancelar");
  194. SendClientMessage(playerid, CyanC ,"* ID del Pickup guardado con éxito"); return 1;
  195. }
  196. case 2: // Info
  197. {
  198. SetPVarInt(playerid, "PickupParaEncontrar",1239);
  199. ShowPlayerDialog(playerid, 1, DIALOG_STYLE_MSGBOX,"Elige la posición del pickup ... [2/3]","- Elige la posición del pickup a encontrar\n- Cuando encuentres la posición, presiona F o ENTER.","Selecc","Cancelar");
  200. SendClientMessage(playerid, CyanC ,"* ID del Pickup guardado con éxito"); return 1;
  201. }
  202. case 3: // Dinero
  203. {
  204. SetPVarInt(playerid, "PickupParaEncontrar",1212);
  205. ShowPlayerDialog(playerid, 1, DIALOG_STYLE_MSGBOX,"Elige la posición del pickup ... [2/3]","- Elige la posición del pickup a encontrar\n- Cuando encuentres la posición, presiona F o ENTER.","Selecc","Cancelar");
  206. SendClientMessage(playerid, CyanC ,"* ID del Pickup guardado con éxito"); return 1;
  207. }
  208. case 4: // Casa Azul
  209. {
  210. SetPVarInt(playerid, "PickupParaEncontrar",1272);
  211. ShowPlayerDialog(playerid, 1, DIALOG_STYLE_MSGBOX,"Elige la posición del pickup ... [2/3]","- Elige la posición del pickup a encontrar\n- Cuando encuentres la posición, presiona F o ENTER.","Selecc","Cancelar");
  212. SendClientMessage(playerid, CyanC ,"* ID del Pickup guardado con éxito"); return 1;
  213. }
  214. case 5: // Casa Verde
  215. {
  216. SetPVarInt(playerid, "PickupParaEncontrar",1273);
  217. ShowPlayerDialog(playerid, 1, DIALOG_STYLE_MSGBOX,"Elige la posición del pickup ... [2/3]","- Elige la posición del pickup a encontrar\n- Cuando encuentres la posición, presiona F o ENTER.","Selecc","Cancelar");
  218. SendClientMessage(playerid, CyanC ,"* ID del Pickup guardado con éxito"); return 1;
  219. }
  220. case 6:// Bomba
  221. {
  222. SetPVarInt(playerid, "PickupParaEncontrar",1252);
  223. ShowPlayerDialog(playerid, 1, DIALOG_STYLE_MSGBOX,"Elige la posición del pickup ... [2/3]","- Elige la posición del pickup a encontrar\n- Cuando encuentres la posición, presiona F o ENTER.","Selecc","Cancelar");
  224. SendClientMessage(playerid, CyanC ,"* ID del Pickup guardado con éxito"); return 1;
  225. }
  226. case 7: //Calabera
  227. {
  228. SetPVarInt(playerid, "PickupParaEncontrar",1254);
  229. ShowPlayerDialog(playerid, 1, DIALOG_STYLE_MSGBOX,"Elige la posición del pickup ... [2/3]","- Elige la posición del pickup a encontrar\n- Cuando encuentres la posición, presiona F o ENTER.","Selecc","Cancelar");
  230. SendClientMessage(playerid, CyanC ,"* ID del Pickup guardado con éxito"); return 1;
  231. }
  232. case 8: //SD CARD
  233. {
  234. SetPVarInt(playerid, "PickupParaEncontrar",1277);
  235. ShowPlayerDialog(playerid, 1, DIALOG_STYLE_MSGBOX,"Elige la posición del pickup ... [2/3]","- Elige la posición del pickup a encontrar\n- Cuando encuentres la posición, presiona F o ENTER.","Selecc","Cancelar");
  236. SendClientMessage(playerid, CyanC ,"* ID del Pickup guardado con éxito"); return 1;
  237. }
  238. case 9: // Adrenalina
  239. {
  240. SetPVarInt(playerid, "PickupParaEncontrar",1241);
  241. ShowPlayerDialog(playerid, 1, DIALOG_STYLE_MSGBOX,"Elige la posición del pickup ... [2/3]","- Elige la posición del pickup a encontrar\n- Cuando encuentres la posición, presiona F o ENTER.","Selecc","Cancelar");
  242. SendClientMessage(playerid, CyanC ,"* ID del Pickup guardado con éxito"); return 1;
  243. }
  244. case 10: //Estrella
  245. {
  246. SetPVarInt(playerid, "PickupParaEncontrar",1247);
  247. ShowPlayerDialog(playerid, 1, DIALOG_STYLE_MSGBOX,"Elige la posición del pickup ... [2/3]","- Elige la posición del pickup a encontrar\n- Cuando encuentres la posición, presiona F o ENTER.","Selecc","Cancelar");
  248. SendClientMessage(playerid, CyanC ,"* ID del Pickup guardado con éxito"); return 1;
  249. }
  250. case 11: // Gta 3 Logo
  251. {
  252. SetPVarInt(playerid, "PickupParaEncontrar",1248);
  253. ShowPlayerDialog(playerid, 1, DIALOG_STYLE_MSGBOX,"Elige la posición del pickup ... [2/3]","- Elige la posición del pickup a encontrar\n- Cuando encuentres la posición, presiona F o ENTER.","Selecc","Cancelar");
  254. SendClientMessage(playerid, CyanC ,"* ID del Pickup guardado con éxito"); return 1;
  255. }
  256. case 12: // Foto
  257. {
  258. SetPVarInt(playerid, "PickupParaEncontrar",1253);
  259. ShowPlayerDialog(playerid, 1, DIALOG_STYLE_MSGBOX,"Elige la posición del pickup ... [2/3]","- Elige la posición del pickup a encontrar\n- Cuando encuentres la posición, presiona F o ENTER.","Selecc","Cancelar");
  260. SendClientMessage(playerid, CyanC ,"* ID del Pickup guardado con éxito"); return 1;
  261. }
  262. case 13: // Dinero
  263. {
  264. SetPVarInt(playerid, "PickupParaEncontrar",1274);
  265. ShowPlayerDialog(playerid, 1, DIALOG_STYLE_MSGBOX,"Elige la posición del pickup ... [2/3]","- Elige la posición del pickup a encontrar\n- Cuando encuentres la posición, presiona F o ENTER.","Selecc","Cancelar");
  266. SendClientMessage(playerid, CyanC ,"* ID del Pickup guardado con éxito"); return 1;
  267. }
  268. case 14: // Camisa
  269. {
  270. SetPVarInt(playerid, "PickupParaEncontrar",1275);
  271. ShowPlayerDialog(playerid, 1, DIALOG_STYLE_MSGBOX,"Elige la posición del pickup ... [2/3]","- Elige la posición del pickup a encontrar\n- Cuando encuentres la posición, presiona F o ENTER.","Selecc","Cancelar");
  272. SendClientMessage(playerid, CyanC ,"* ID del Pickup guardado con éxito"); return 1;
  273. }
  274. case 15: // SD-CARD 2
  275. {
  276. SetPVarInt(playerid, "PickupParaEncontrar",1277);
  277. ShowPlayerDialog(playerid, 1, DIALOG_STYLE_MSGBOX,"Elige la posición del pickup ... [2/3]","- Elige la posición del pickup a encontrar\n- Cuando encuentres la posición, presiona F o ENTER.","Selecc","Cancelar");
  278. SendClientMessage(playerid, CyanC ,"* ID del Pickup guardado con éxito"); return 1;
  279. }
  280. case 16: // 2 Calaberas
  281. {
  282. SetPVarInt(playerid, "PickupParaEncontrar",1313);
  283. ShowPlayerDialog(playerid, 1, DIALOG_STYLE_MSGBOX,"Elige la posición del pickup ... [2/3]","- Elige la posición del pickup a encontrar\n- Cuando encuentres la posición, presiona F o ENTER.","Selecc","Cancelar");
  284. SendClientMessage(playerid, CyanC ,"* ID del Pickup guardado con éxito"); return 1;
  285. }
  286. case 17: // 2 Jugadores
  287. {
  288. SetPVarInt(playerid, "PickupParaEncontrar",1314);
  289. ShowPlayerDialog(playerid, 1, DIALOG_STYLE_MSGBOX,"Elige la posición del pickup ... [2/3]","- Elige la posición del pickup a encontrar\n- Cuando encuentres la posición, presiona F o ENTER.","Selecc","Cancelar");
  290. SendClientMessage(playerid, CyanC ,"* ID del Pickup guardado con éxito"); return 1;
  291. }
  292. case 18:// Estatua Tiki
  293. {
  294. SetPVarInt(playerid, "PickupParaEncontrar",1276);
  295. ShowPlayerDialog(playerid, 1, DIALOG_STYLE_MSGBOX,"Elige la posición del pickup ... [2/3]","- Elige la posición del pickup a encontrar\n- Cuando encuentres la posición, presiona F o ENTER.","Selecc","Cancelar");
  296. SendClientMessage(playerid, CyanC ,"* ID del Pickup guardado con éxito"); return 1;
  297. }
  298. case 19: // Paracaidas
  299. {
  300. SetPVarInt(playerid, "PickupParaEncontrar",1310);
  301. ShowPlayerDialog(playerid, 1, DIALOG_STYLE_MSGBOX,"Elige la posición del pickup ... [2/3]","- Elige la posición del pickup a encontrar\n- Cuando encuentres la posición, presiona F o ENTER.","Selecc","Cancelar");
  302. SendClientMessage(playerid, CyanC ,"* ID del Pickup guardado con éxito"); return 1;
  303. }
  304. case 20: // Flecha Abajo
  305. {
  306. SetPVarInt(playerid, "PickupParaEncontrar",1318);
  307. ShowPlayerDialog(playerid, 1, DIALOG_STYLE_MSGBOX,"Elige la posición del pickup ... [2/3]","- Elige la posición del pickup a encontrar\n- Cuando encuentres la posición, presiona F o ENTER.","Selecc","Cancelar");
  308. SendClientMessage(playerid, CyanC ,"* ID del Pickup guardado con éxito"); return 1;
  309. }
  310. case 21: // Paquete Droga
  311. {
  312. SetPVarInt(playerid, "PickupParaEncontrar",1279);
  313. ShowPlayerDialog(playerid, 1, DIALOG_STYLE_MSGBOX,"Elige la posición del pickup ... [2/3]","- Elige la posición del pickup a encontrar\n- Cuando encuentres la posición, presiona F o ENTER.","Selecc","Cancelar");
  314. SendClientMessage(playerid, CyanC ,"* ID del Pickup guardado con éxito"); return 1;
  315. }
  316. }
  317. return 1;
  318. }
  319. case 1:
  320. {
  321. if(!response) { SendClientMessage(playerid, Rojo, "* Cancelastes guardar posición de pickup [2/3]"); JugadorConfigurando = 0; return 1; }
  322. GuardaPosicionPickup[playerid] = 1;
  323. return 1;
  324. }
  325. case 2:
  326. {
  327. if(!response) { SendClientMessage(playerid, Rojo, "* Cancelastes guardar posición de teleport [3/3]"); JugadorConfigurando = 0; return 1; }
  328. GuardaPosicionTele[playerid] = 1;
  329. return 1;
  330. }
  331. }
  332. return 1;
  333. }
Advertisement
Add Comment
Please, Sign In to add comment