Guest User

Untitled

a guest
May 9th, 2014
364
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.13 KB | None | 0 0
  1. #include <a_samp>
  2. #include <dof2>
  3. #pragma unused DOF2_Exit
  4. #include <cpstream>
  5. #include <FAC>
  6. #include <dini>
  7. #define DIALOG_CAR (120)
  8.  
  9. enum pInfoVehicle
  10. {
  11. vehicle_Name[30],
  12. vehicle_Price,
  13. vehicle_ID
  14. };
  15.  
  16. new PlayerData[][pInfoVehicle] =
  17. {
  18. {"Sultan", 840000, 560},
  19. {"Infernus", 3500000, 411},
  20. {"Washington", 350000, 421},
  21. {"Stallion", 400000, 439},
  22. {"Romero", 450000, 442},
  23. {"Admiral", 350000, 445},
  24. {"Turismo", 2500000, 451},
  25. {"NRG-500", 15000000, 522},
  26. {"Buffalo", 1000000, 402},
  27. {"Cheetah", 1450000, 415},
  28. {"Banshee", 1350000, 429},
  29. {"Patriot", 150000000, 470},
  30. {"Comet", 680000, 480},
  31. {"BalistaCompact", 128000, 496},
  32. {"SuperGT", 440000, 506},
  33. {"Slamvan", 980000, 535},
  34. {"Bullet", 1800000, 541},
  35. {"Jester", 650000, 559},
  36. {"Elegy", 550000, 562}
  37.  
  38. };
  39.  
  40. new pName[MAX_PLAYERS][MAX_PLAYER_NAME+1], vehicle_CP, vehicle_Create[MAX_PLAYERS], bool: vehicle_In[MAX_PLAYERS], Text3D:vehicle_Text3D[MAX_VEHICLES];
  41.  
  42. public OnGameModeInit()
  43. {
  44. vehicle_CP = CPS_AddCheckpoint(2096.5759, 1284.1421, 10.8203 ,2.0, 40);
  45. return 1;
  46. }
  47.  
  48. public OnPlayerConnect(playerid) return GetPlayerName(playerid, pName[playerid], MAX_PLAYER_NAME+1), 1;
  49. public OnPlayerDisconnect(playerid, reason)
  50. {
  51. if(vehicle_In[playerid] == true)
  52. {
  53. DestroyVehicle(vehicle_Create[playerid]), vehicle_In[playerid] = false;
  54. Delete3DTextLabel(vehicle_Text3D[vehicle_Create[playerid]]);
  55. }
  56. return 1;
  57. }
  58.  
  59. public OnPlayerCommandText(playerid, cmdtext[])
  60. {
  61. if(!strcmp(cmdtext, "/carshop", true))
  62. {
  63. SetPlayerPos(playerid, 2096.5759, 1284.1421, 10.8203);
  64. return SendClientMessage(playerid, 0xFFFF00FF, ".áøåëéí äáàéí ìçðåú äøëáéí");
  65. }
  66.  
  67. if(!strcmp(cmdtext, "/callcar", true))
  68. {
  69. if(!DOF2_GetBool(VehicleFile(playerid), "VehicleHave")) return SendClientMessage(playerid, 0xFF0000FF, ".ìà ÷ééí øëá ááòìåúê");
  70. if(IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, 0xFF0000FF, ".àúä ëáø ðîöà áúåê øëá");
  71. vehicle_Create[playerid] = CreateVehicle(DOF2_GetInt(VehicleFile(playerid), "VehicleModel"), 0.0, 0.0, 0.0, 0.0, -1, -1, 60);
  72. new Float:vehicle_Pos[4];
  73. GetPlayerPos(playerid, vehicle_Pos[0], vehicle_Pos[1], vehicle_Pos[2]);
  74. SetVehiclePos(vehicle_Create[playerid], vehicle_Pos[0], vehicle_Pos[1], vehicle_Pos[2]);
  75. PutPlayerInVehicle(playerid, vehicle_Create[playerid], 0);
  76. new Vehicle_F[50];
  77. format(Vehicle_F, sizeof(Vehicle_F), "{CCFF66}%s {FF0066}:äáòìéí ùì äøëá", pName[playerid]);
  78. vehicle_Text3D[vehicle_Create[playerid]] = Create3DTextLabel(Vehicle_F, 0xFFFF00FF, 0, 0, 0, 30, 0, 0);
  79. Attach3DTextLabelToVehicle(vehicle_Text3D[vehicle_Create[playerid]], vehicle_Create[playerid], 0, 0, 1);
  80. vehicle_In[playerid] = true;
  81. return SendClientMessage(playerid, 0xFFFF00FF, ".øëáê ùåâø àìéê ðäâ áæäéøåú"), 1;
  82. }
  83.  
  84. if(!strcmp(cmdtext,"/sellcar", true))
  85. {
  86. if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, 0xFF0000FF, ".àúä ìà ðîöà áúåê øëá");
  87. if(!DOF2_GetBool(VehicleFile(playerid), "VehicleHave")) return SendClientMessage(playerid, 0xFF0000FF, ".ìà ÷ééí øëá ááòìåúê");
  88. FAC_GivePlayerMoney(playerid, DOF2_GetInt(VehicleFile(playerid), "VehiclePrice") / 2);
  89. if(vehicle_In[playerid] == true)
  90. DestroyVehicle(vehicle_Create[playerid]), vehicle_In[playerid] = false;
  91. Delete3DTextLabel(vehicle_Text3D[vehicle_Create[playerid]]);
  92. DOF2_RemoveFile(VehicleFile(playerid));
  93. return SendClientMessage(playerid, 0xFFFF00FF, ".øëáê ðîëø å÷éáìú çöé îîçéøå"), 1;
  94. }
  95. return 0;
  96. }
  97.  
  98. public OnPlayerExitVehicle(playerid, vehicleid)
  99. {
  100. if(vehicle_In[playerid] == true)
  101. {
  102. DestroyVehicle(vehicle_Create[playerid]), vehicle_In[playerid] = false;
  103. Delete3DTextLabel(vehicle_Text3D[vehicle_Create[playerid]]);
  104. }
  105. return 1;
  106. }
  107.  
  108. public OnPlayerStateChange(playerid, newstate, oldstate)
  109. {
  110. if(oldstate == PLAYER_STATE_DRIVER || oldstate == PLAYER_STATE_PASSENGER && vehicle_In[playerid])
  111. {
  112. DestroyVehicle(vehicle_Create[playerid]), vehicle_In[playerid] = false;
  113. Delete3DTextLabel(vehicle_Text3D[vehicle_Create[playerid]]);
  114. }
  115. return 1;
  116. }
  117.  
  118. public OnVehicleDeath(vehicleid, killerid)
  119. {
  120. if(vehicle_In[killerid] == true)
  121. {
  122. DestroyVehicle(vehicle_Create[killerid]), vehicle_In[killerid] = false;
  123. Delete3DTextLabel(vehicle_Text3D[vehicle_Create[killerid]]);
  124. }
  125. return 1;
  126. }
  127.  
  128. public OnPlayerEnterCheckpoint(playerid)
  129. {
  130. if(CPS_IsPlayerInCheckpoint(playerid, vehicle_CP) && !IsPlayerInAnyVehicle(playerid))
  131. {
  132. new string[600];
  133. format(string, sizeof(string), "");
  134. for(new i; i <sizeof(PlayerData); i++)
  135. {
  136. format(string, sizeof(string), "%s\n{FF00FF}Vehicle Name: [%s] {FFFF00}Price:[$%d]", string, PlayerData[i][vehicle_Name], PlayerData[i][vehicle_Price]);
  137. }
  138. ShowPlayerDialog(playerid, DIALOG_CAR, DIALOG_STYLE_LIST, "{C0C0C0}çðåú äîëåðéåú", string, "÷ðééä", "éöéàä");
  139. }
  140. return 1;
  141. }
  142.  
  143. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  144. {
  145. if(dialogid == DIALOG_CAR)
  146. {
  147. if(!response) return 0;
  148. if(DOF2_GetBool(VehicleFile(playerid), "VehicleHave")) return SendClientMessage(playerid, 0xFF0000FF, ".÷ééí ëáø øëá ááòìåúê");
  149. DOF2_CreateFile(VehicleFile(playerid));
  150. if(FAC_GetPlayerMoney(playerid) < PlayerData[listitem][vehicle_Price]) return SendClientMessage(playerid, 0xFF0000FF, ".àéï áéãê àú äëñó äãøåù");
  151. FAC_GivePlayerMoney(playerid, -PlayerData[listitem][vehicle_Price]);
  152. DOF2_SetString(VehicleFile(playerid), "VehicleName", PlayerData[listitem][vehicle_Name]);
  153. DOF2_SetInt(VehicleFile(playerid), "VehiclePrice", PlayerData[listitem][vehicle_Price]);
  154. DOF2_SetInt(VehicleFile(playerid), "VehicleModel", PlayerData[listitem][vehicle_ID]);
  155. DOF2_SetBool(VehicleFile(playerid), "VehicleHave", true);
  156. DOF2_SaveFile();
  157. SendClientMessage(playerid, 0xFFFF00FF, ".îæì èåá, ëòú éù ááòìåúê øëá");
  158. }
  159. return 1;
  160. }
  161.  
  162. stock VehicleFile(playerid)
  163. {
  164. new v_File[64];
  165. format(v_File, sizeof(v_File), "%s.ini", pName[playerid]);
  166. return v_File;
  167. }
Advertisement
Add Comment
Please, Sign In to add comment