Advertisement
EnzoMetlc

[FS] Creador de carreras I-G.

Jan 4th, 2014
191
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.19 KB | None | 0 0
  1. #include <a_samp>
  2. #include <ZCMD>
  3.  
  4.  
  5.  
  6. #define DIALOG_RACE 434
  7. #define DIALOG_CHANGE_RACE 435
  8. #define DIALOG_CHANGE_ARROW 436
  9. #define DIALOG_FINISH 437
  10. #define DIALOG_RACE_TYPE 438
  11.  
  12. new Type;
  13. new Float:Pos[3][2];
  14. new RacePoint[MAX_PLAYERS];
  15.  
  16.  
  17.  
  18.  
  19. CMD:race(playerid, params[])
  20. {
  21. switch(RacePoint[playerid])
  22. {
  23. case 0:
  24. {
  25. GetPlayerPos(playerid, Pos[0][0], Pos[1][0], Pos[2][0]);
  26. SendClientMessage(playerid, -1, "* Posiciones almacenadas correctamente.");
  27.  
  28. }
  29. case 1:
  30. {
  31. GetPlayerPos(playerid, Pos[0][1], Pos[1][1], Pos[2][1]);
  32. SendClientMessage(playerid, -1, "* Posición de las felchas almacenada correctamente.");
  33. }
  34.  
  35. }
  36. ShowPlayerDialog(playerid, DIALOG_RACE, DIALOG_STYLE_LIST, "{00FFFF}Creador de carreras.", \
  37. "{FFFFFF}Cambiar posición.\nCambiar posición de Flecha.\nTipo de Race-Checkpoint.\nTerminar.", "Continuar", "Cancelar");
  38. return 1;
  39. }
  40.  
  41.  
  42. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  43. {
  44. switch(dialogid)
  45. {
  46. case DIALOG_RACE:
  47. {
  48. if(response)
  49. {
  50. switch(listitem)
  51. {
  52. case 0:
  53. {
  54. RacePoint[playerid] = 0;
  55. SendClientMessage(playerid, -1, "* Posicionese en el lugar en donde desea que esté el Race-Checkpoint.");
  56. }
  57. case 1:
  58. {
  59. RacePoint[playerid] = 1;
  60. SendClientMessage(playerid, -1, "* Posicionese en el lugar en donde desea que apunte la flecha del Race-Checkpoint.");
  61. }
  62. case 2:
  63. {
  64. ShowPlayerDialog(playerid, DIALOG_RACE_TYPE, DIALOG_STYLE_INPUT, "{00FFFF}Creador de carreras.", \
  65. "{FFFFFF}Escriba el Tipo de Race-Checkpoint que desea crear. {FF0000}({FFFFFF}Entre el 0-4{FF0000}){FFFFFF}.", "Continuar", "Cancelar");
  66. }
  67. case 3:
  68. {
  69. new File:example = fopen("Carreras.txt", io_append);
  70. if(example)
  71. {
  72. new string[144]; // No conté la cantidad.
  73. format(string, sizeof(string), "SetPlayerRaceCheckpoint(playerid, %i, %f, %f, %f, %f, %f, %f, 10.0);", Type, Pos[0][0], Pos[1][0], Pos[2][0], Pos[0][1], Pos[1][1], Pos[2][1]);
  74. fwrite(example, "\r\n");
  75. fwrite(example, string);
  76. fclose(example);
  77. }
  78. SetPlayerRaceCheckpoint(playerid, Type, Pos[0][0], Pos[1][0], Pos[2][0], Pos[0][1], Pos[1][1], Pos[2][1], 10.0);
  79. SendClientMessage(playerid, -1, "* Se generó un archivo en '{FF0000}scriptfiles{FFFFFF}' llamado '{FF0000}Carreras.txt{FFFFFF}'.");
  80. SendClientMessage(playerid, -1, "* Use (/Disable) para quitar el Race-Checkpoint.");
  81. }
  82. }
  83. }
  84. }
  85. case DIALOG_RACE_TYPE:
  86. {
  87. Type = strval(inputtext);
  88. ShowPlayerDialog(playerid, DIALOG_RACE, DIALOG_STYLE_LIST, "{00FFFF}Creador de carreras.", \
  89. "{FFFFFF}Cambiar posición.\nCambiar posición de Flecha.\nTipo de Race-Checkpoint.\nTerminar.", "Continuar", "Cancelar");
  90. SendClientMessage(playerid, -1, "* La variable 'Type' se almacenó correctamente.");
  91. }
  92. }
  93. return 0;
  94. }
  95.  
  96.  
  97.  
  98. CMD:disable(playerid, params[])
  99. {
  100. DisablePlayerRaceCheckpoint(playerid);
  101. SendClientMessage(playerid, -1, "* Race-Checkpoint desaparecido.");
  102. return 1;
  103. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement