Advertisement
Guest User

Test Race Code. (Not Working)

a guest
Nov 13th, 2016
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.72 KB | None | 0 0
  1. #include <a_samp>
  2. #include <zcmd>
  3. #include <sscanf2>
  4. #include <streamer>
  5.  
  6. new bool:IsPlayerInAnyRace[MAX_PLAYERS] = false;
  7. new bool:IsRaceReady = false;
  8. new RaceID = 0;
  9. new LVAtoLSARCP[MAX_PLAYERS];
  10.  
  11. enum eLVAtoLSA
  12. {
  13. Race_Name[128],
  14. Float:Spawn1X,
  15. Float:Spawn1Y,
  16. Float:Spawn1Z,
  17. Float:Spawn1Rot,
  18. Float:Spawn2X,
  19. Float:Spawn2Y,
  20. Float:Spawn2Z,
  21. Float:Spawn2Rot,
  22. Float:Spawn3X,
  23. Float:Spawn3Y,
  24. Float:Spawn3Z,
  25. Float:Spawn3Rot,
  26. Float:Spawn4X,
  27. Float:Spawn4Y,
  28. Float:Spawn4Z,
  29. Float:Spawn4Rot,
  30. Float:CheckPointOneX,
  31. Float:CheckPointOneY,
  32. Float:CheckPointOneZ,
  33. };
  34.  
  35. new aLVAtoLSA[][eLVAtoLSA] =
  36. {
  37. {"LV Airport to LS Airport", 1488.6746, 1772.4385, 10.4721, 179.4206, 1485.4292, 1772.4133, 10.4712, 180.8636, 1481.7975, 1772.2255, 10.4715, 181.3873, 1478.2819, 1772.1654, 10.4711, 180.8334, 1477.5648, 1573.8988, 10.4702}
  38. };
  39.  
  40. forward UnfreezePlayerWhenRaceStarts(playerid);
  41.  
  42. public OnPlayerEnterDynamicRaceCP(playerid, checkpointid)
  43. {
  44. new cpid = 45;
  45. if(checkpointid == LVAtoLSARCP[playerid])
  46. {
  47. switch(cpid)
  48. {
  49. case 0:
  50. {
  51. DestroyDynamicRaceCP(LVAtoLSARCP[playerid]);
  52. LVAtoLSARCP[playerid] = CreateDynamicRaceCP(0, 1477.4507, 1350.2292, 10.4852, 1434.1123, 1261.1077, 10.4770, 10, -1, -1, playerid, 500.0, -1, 0);
  53. cpid = 1;
  54. }
  55. case 1:
  56. {
  57. DestroyDynamicRaceCP(LVAtoLSARCP[playerid]);
  58. LVAtoLSARCP[playerid] = CreateDynamicRaceCP(0, 1388.6649, 1339.0302, 10.4805, 1388.9872, 1639.1466, 10.4733, 10, -1, -1, playerid, 500.0, -1, 0);
  59. cpid = 2;
  60. }
  61. case 2:
  62. {
  63. DestroyDynamicRaceCP(LVAtoLSARCP[playerid]);
  64. LVAtoLSARCP[playerid] = CreateDynamicRaceCP(0, 1388.9872, 1639.1466, 10.4733, 1432.1963, 1732.1799, 10.4765, 10, -1, -1, playerid, 500.0, -1, 0);
  65. cpid = 3;
  66. }
  67. case 3:
  68. {
  69. DestroyDynamicRaceCP(LVAtoLSARCP[playerid]);
  70. LVAtoLSARCP[playerid] = CreateDynamicRaceCP(0, 1432.1963, 1732.1799, 10.4765, 0.0, 0.0, 0.0, 10, -1, -1, playerid, 500.0, -1, 0);
  71. cpid = 4;
  72. }
  73. }
  74. }
  75. return 1;
  76. }
  77.  
  78. public UnfreezePlayerWhenRaceStarts(playerid)
  79. {
  80. TogglePlayerControllable(playerid, 1);
  81. }
  82.  
  83. CMD:startrace(playerid, params[])
  84. {
  85. new string[144], rid;
  86. if(sscanf(params, "d", rid)) return SendMessage(playerid, -1, "USAGE: /startrace (RaceID: 0 - 1)");
  87. if(!IsRaceReady)
  88. {
  89. RaceID = rid;
  90. if(RaceID == 1)
  91. {
  92. IsRaceReady = true;
  93. format(string, sizeof(string), "The race %s is now ready. Use /joinrace to take part, race starts in 45 seconds.", aLVAtoLSA[0][Race_Name]);
  94. SendMessageToAll(-1, string);
  95. }
  96. }
  97. return 1;
  98. }
  99.  
  100. CMD:joinrace(playerid, params[])
  101. {
  102. new vehid;
  103. if(IsPlayerInAnyRace[playerid]) return SendMessage(playerid, -1, "You are already in an active race.");
  104. if(!IsRaceReady) return SendMessage(playerid, -1, "There is no race currently active.");
  105. else if(IsRaceReady)
  106. {
  107. if(RaceID == 1)
  108. {
  109. IsPlayerInAnyRace[playerid] = true;
  110. if(IsPlayerInAnyVehicle(playerid))
  111. {
  112. vehid = GetPlayerVehicleID(playerid);
  113. SetPlayerPos(playerid, aLVAtoLSA[0][Spawn1X], aLVAtoLSA[0][Spawn1Y], aLVAtoLSA[0][Spawn1Z]);
  114. SetVehiclePos(vehid, aLVAtoLSA[0][Spawn1X], aLVAtoLSA[0][Spawn1Y], aLVAtoLSA[0][Spawn1Z]);
  115. SetVehicleZAngle(vehid, aLVAtoLSA[0][Spawn1Rot]);
  116. PutPlayerInVehicle(playerid, vehid, 0);
  117. TogglePlayerControllable(playerid, 0);
  118. SetTimerEx("UnfreezePlayerWhenRaceStarts", 45000, false, "i", playerid);
  119. LVAtoLSARCP[playerid] = CreateDynamicRaceCP(0, aLVAtoLSA[0][CheckPointOneX], aLVAtoLSA[0][CheckPointOneY], aLVAtoLSA[0][CheckPointOneZ], 1477.4507, 1350.2292, 10.4852, 10, -1, -1, pla, 500.0, -1, 0);
  120. }
  121. }
  122. }
  123. return 1;
  124. }
  125.  
  126. stock PlayerName(playerid)
  127. {
  128. new name[MAX_PLAYER_NAME];
  129. GetPlayerName(playerid, name, MAX_PLAYER_NAME);
  130. return name;
  131. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement