Advertisement
Guest User

Vehicle System

a guest
Feb 17th, 2012
249
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.67 KB | None | 0 0
  1. #include <a_samp>
  2. #include <dudb>
  3. #include <dini>
  4. #include <OPSP>
  5. #include <core>
  6. #include <float>
  7. #include <scanff>
  8. #include <dutils>
  9. #define dcmd(%1,%2,%3) if ((strcmp((%3)[1], #%1, true, (%2)) == 0) && ((((%3)[(%2) + 1] == 0) && (dcmd_%1(playerid, "")))||(((%3)[(%2) + 1] == 32) && (dcmd_%1(playerid, (%3)[(%2) + 2]))))) return 1
  10. #define DIALOGID 5009
  11. #define PRESSED(%0) (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
  12.  
  13. new BuyableVehicles[MAX_VEHICLES];
  14.  
  15. enum jInfo
  16. {
  17. JarmuSzam,
  18. JarmuAr,
  19. JarmuID2,
  20. JarmuMegveve
  21. }
  22.  
  23. new JarmuInfo[MAX_VEHICLES][jInfo];
  24. new JarmuDialog1 = 10001;
  25. new Jarmu[MAX_PLAYERS];
  26. new JarmuID[MAX_PLAYERS];
  27.  
  28. forward JarmuRendszer(playerid, dialogid, response, listitem);
  29.  
  30. public OnPlayerStateChange(playerid, newstate, oldstate)
  31. {
  32. for(new i = 0; i < MAX_VEHICLES; i++)
  33. {
  34.  
  35. if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER && IsBuyableVehicle(GetPlayerVehicleID(playerid)))
  36. {
  37.  
  38. ShowPlayerDialog(playerid,10001,DIALOG_STYLE_LIST,"Jármű","Elindít\nMegvesz\nElad\nJármű Száma\nKiszáll/Leszáll","OK", "BEZÁR");
  39. }
  40. }
  41. return 1;
  42. }
  43.  
  44. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  45. {
  46. JarmuRendszer(playerid, dialogid, response, listitem);
  47. return 1;
  48. }
  49.  
  50. public JarmuRendszer(playerid, dialogid, response, listitem)
  51. {
  52. //----------------------------------------------------------------------------------------------//
  53. //--------------------------------------[Jármű Rendszer]----------------------------------------//
  54.  
  55.  
  56.  
  57. if(dialogid == JarmuDialog1)
  58. {
  59. if(response)
  60. {
  61. for(new i = 0; i < MAX_VEHICLES; i++)
  62. {
  63. new jarmufile[256];
  64. format(jarmufile, sizeof jarmufile, "/Jarmuvek/Jarmu%d.ini", i);
  65. new jarmuszam[512];
  66. if(response)
  67. {
  68. if(listitem == 0)
  69. {
  70. if(IsBuyableVehicle(GetPlayerVehicleID(playerid)) == JarmuID[playerid]) //Ha a jármű ID-je megegyezik a felhasználó fájljában lévő jármű id-vel
  71. {
  72. ShowPlayerDialog(playerid,HELPDIALOG,DIALOG_STYLE_MSGBOX,"Infó","Elindítottad a járművet.","OK","BEZÁR");
  73.  
  74. }
  75. else
  76. {
  77. ShowPlayerDialog(playerid,HELPDIALOG,DIALOG_STYLE_MSGBOX,"Infó","Ez nem a te járműved! Nem bírod elindítani!","OK","BEZÁR");
  78. RemovePlayerFromVehicle(playerid);
  79. }
  80.  
  81. }
  82. if(listitem == 1)
  83. {
  84. if(Jarmu[playerid] == 0)
  85. {
  86. if(JarmuInfo[i][JarmuMegveve] <= 0) //ha a jármű nincs megvéve
  87. {
  88. if(Penz[playerid] >= JarmuInfo[i][JarmuAr])
  89. {
  90. Penz[playerid] -= JarmuInfo[i][JarmuAr];
  91. JarmuID[playerid] = IsBuyableVehicle(GetPlayerVehicleID(playerid));
  92. Jarmu[playerid] = 1;
  93. dUserSetINT(PlayerName(playerid)).("Jarmu",Jarmu[playerid]);
  94. dUserSetINT(PlayerName(playerid)).("JarmuID",JarmuID[playerid]);
  95. ShowPlayerDialog(playerid,HELPDIALOG,DIALOG_STYLE_MSGBOX,"Infó","Sikeresen megvetted a járművedet!","OK","KILÉP");
  96. }
  97. else
  98. {
  99. ShowPlayerDialog(playerid,HELPDIALOG,DIALOG_STYLE_MSGBOX,"Infó","Nincs elég pénzed megvenni ezt a járművet!","OK","KILÉP");
  100. RemovePlayerFromVehicle(playerid);
  101. }
  102. }
  103. else
  104. {
  105. ShowPlayerDialog(playerid,HELPDIALOG,DIALOG_STYLE_MSGBOX,"Infó","Ezt a járművet már megvették!","OK","KILÉP");
  106. RemovePlayerFromVehicle(playerid);
  107. }
  108. }
  109. else
  110. {
  111. ShowPlayerDialog(playerid,HELPDIALOG,DIALOG_STYLE_MSGBOX,"Infó","Már van járműved!","OK","KILÉP");
  112. RemovePlayerFromVehicle(playerid);
  113. }
  114. }
  115. if(listitem == 2)
  116. {
  117. if(Jarmu[playerid] == 1)
  118. {
  119. if(JarmuID[playerid] == IsBuyableVehicle(GetPlayerVehicleID(playerid)))
  120. {
  121. ShowPlayerDialog(playerid,HELPDIALOG,DIALOG_STYLE_MSGBOX,"Infó","Sikeresen eladtad a járművedet! Megkaptad a jármű összegét!","OK","KILÉP");
  122. Penz[playerid] += JarmuInfo[i][JarmuAr];
  123. JarmuID[playerid] = 0;
  124. Jarmu[playerid] = 0;
  125. dUserSetINT(PlayerName(playerid)).("Jarmu",Jarmu[playerid]);
  126. dUserSetINT(PlayerName(playerid)).("JarmuID",JarmuID[playerid]);
  127. RemovePlayerFromVehicle(playerid);
  128. }
  129. else
  130. {
  131. ShowPlayerDialog(playerid,HELPDIALOG,DIALOG_STYLE_MSGBOX,"Infó","Nem adhatod el ezt a járművet, mert nem a tiéd!","OK","KILÉP");
  132. RemovePlayerFromVehicle(playerid);
  133. }
  134. }
  135. else
  136. {
  137. ShowPlayerDialog(playerid,HELPDIALOG,DIALOG_STYLE_MSGBOX,"Infó","Nincs járműved, amit eladhatnál!","OK","KILÉP");
  138. RemovePlayerFromVehicle(playerid);
  139. }
  140. }
  141. if(listitem == 3)
  142. {
  143. if(JarmuID[playerid] == IsBuyableVehicle(GetPlayerVehicleID(playerid)))
  144. {
  145. format(jarmuszam, sizeof(jarmuszam), "Jármű Száma: %i", IsBuyableVehicle(GetPlayerVehicleID(playerid)));
  146. ShowPlayerDialog(playerid,841,DIALOG_STYLE_MSGBOX,"Infó",jarmuszam,"Oké","Kilép");
  147. }
  148. else
  149. {
  150. format(jarmuszam, sizeof(jarmuszam), "Jármű Száma: %i", IsBuyableVehicle(GetPlayerVehicleID(playerid)));
  151. ShowPlayerDialog(playerid,841,DIALOG_STYLE_MSGBOX,"Infó",jarmuszam,"Oké","Kilép");
  152. RemovePlayerFromVehicle(playerid);
  153. }
  154. }
  155. if(listitem == 4)
  156. {
  157. RemovePlayerFromVehicle(playerid);
  158. }
  159. }
  160. }
  161. }
  162. else
  163. {
  164. ShowPlayerDialog(playerid,JarmuDialog1,DIALOG_STYLE_LIST,"Jármű","Elindít\nMegvesz\nElad\nJármű Száma\nKiszáll/Leszáll","OK", "BEZÁR");
  165. }
  166. return 1;
  167. }
  168.  
  169. //-------------------------------------------------------------------------//
  170. return 1;
  171. }
  172.  
  173. stock JarmuBetoltes()
  174. {
  175. new str[256];
  176. for(new i = 0; i < MAX_VEHICLES; i++)
  177. {
  178. format(str, sizeof(str), "Jarmuvek/Jarmu%d.ini", i);
  179. if(!dini_Exists(str))
  180. {
  181.  
  182. }
  183. else
  184. {
  185. //CarBetolt(i);
  186. printf("kocsi %d betöltve", i);
  187. new Float:x, Float:y, Float:z, Float:face;
  188.  
  189. new Model = dini_Int(str, "Model");
  190. x = dini_Float(str, "PosX");
  191. y = dini_Float(str, "PosY");
  192. z = dini_Float(str, "PosZ");
  193. face = dini_Float(str, "PosFace");
  194. new Color1 = dini_Int(str, "Color1");
  195. new Color2 = dini_Int(str, "Color2");
  196. JarmuInfo[i][JarmuSzam] = dini_Int(str, "JarmuSzam");
  197. JarmuInfo[i][JarmuAr] = dini_Int(str, "JarmuAr");
  198. JarmuInfo[i][JarmuMegveve] = dini_Int(str, "JarmuMegveve");
  199.  
  200. BuyableVehicles[i] = CreateVehicle(Model,x,y,z,face,Color1,Color2, 60);
  201.  
  202. }
  203. }
  204. return 1;
  205. }
  206.  
  207.  
  208.  
  209. stock IsBuyableVehicle(vehicleid) {
  210. for (new v = 0; v < MAX_VEHICLES; v++) {
  211. if (vehicleid == BuyableVehicles[v]) return true;
  212. }
  213. return false;
  214. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement