Guest User

ownership

a guest
Jul 26th, 2012
82
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 26.93 KB | None | 0 0
  1. forward IsAnOwnableCar(vehicleid);
  2. forward IsAtDealership(playerid);
  3. forward LoadCars();
  4. forward SaveCarCoords();
  5.  
  6. enum cInfo
  7. {
  8. cModel,
  9. Float:cLocationx,
  10. Float:cLocationy,
  11. Float:cLocationz,
  12. Float:cAngle,
  13. cColorOne,
  14. cColorTwo,
  15. cOwner[MAX_PLAYER_NAME],
  16. cDescription[MAX_PLAYER_NAME],
  17. cValue,
  18. cLicense,
  19. cRegistration,
  20. cOwned,
  21. cLock,
  22. };
  23.  
  24. new CarInfo[286][cInfo];
  25.  
  26.  
  27. if(IsAnOwnableCar(vehicleid) && CarInfo[vehicleid][cLock] == 1 && CarInfo[vehicleid][cOwned] == 1)
  28. {
  29. if(PlayerInfo[playerid][pAdmin] >= 1337 && AdminDuty[playerid] == 1) { }
  30. else
  31. {
  32. new Float:cx, Float:cy, Float:cz;
  33. GetPlayerPos(playerid, cx, cy, cz);
  34. SetPlayerPos(playerid, cx, cy, cz);
  35. }
  36. }
  37.  
  38.  
  39. public IsAnOwnableCar(vehicleid)
  40. {
  41. if(vehicleid >= 1 && vehicleid <= 61) { return 1; }
  42. return 0;
  43. }
  44.  
  45. if(IsAnOwnableCar(newcar))
  46. {
  47. if(CarInfo[newcar][cOwned]==0)
  48. {
  49. TogglePlayerControllable(playerid, 0);
  50. format(string,sizeof(string),"~w~Vehicle: %s~n~Price: ~g~%d~n~~w~/v buy to buy this vehicle~n~~r~/exit ~w~to exit this vehicle",CarInfo[newcar][cDescription],CarInfo[newcar][cValue]);
  51. GameTextForPlayer(playerid,string,5000,5);
  52. }
  53. if(CarInfo[newcar][cOwned]==1)
  54. {
  55. format(string,sizeof(string),"Vehicle registered to %s",CarInfo[newcar][cOwner]);
  56. SendClientMessage(playerid, COLOR_BLUE, string);
  57. /*if(keycar != vehicle)
  58. {
  59. RemovePlayerFromVehicle(playerid);
  60. SendClientMessage(playerid, COLOR_GREY, "You don't have a key of this vehicle");
  61. }*/
  62. if(PlayerInfo[playerid][pPcarkey] == vehicle) { }
  63. else if(PlayerInfo[playerid][pPcarkey2] == vehicle) { }
  64. else if(PlayerInfo[playerid][pPcarkey3] == vehicle) { }
  65. else
  66. {
  67. if(PlayerInfo[playerid][pAdmin] >= 1337 && AdminDuty[playerid] == 1)
  68. {
  69. SendClientMessage(playerid, COLOR_GREY, " You can drive this car because you are admin on duty !");
  70. }
  71. else
  72. {
  73. RemovePlayerFromVehicle(playerid);
  74. SendClientMessage(playerid, COLOR_GREY, "You don't have a key of this vehicle");
  75. }
  76. }
  77. }
  78. gLastCar[playerid] = newcar;
  79. gLastDriver[newcar] = playerid;
  80. }
  81.  
  82.  
  83. COMANDA
  84.  
  85. if(strcmp(cmd, "/v", true) == 0 || strcmp(cmd, "/vehicle", true) == 0) // By Ellis
  86. {
  87. if(IsPlayerConnected(playerid))
  88. {
  89. if(gPlayerLogged[playerid] == 0)
  90. {
  91. SendClientMessage(playerid, COLOR_GREY, " You need to login first ! ");
  92. return 1;
  93. }
  94. new x_nr[64];
  95. new newcar = GetPlayerVehicleID(playerid);
  96. x_nr = strtok(cmdtext, idx);
  97. if(!strlen(x_nr))
  98. {
  99. SendClientMessage(playerid, COLOR_RED," ");
  100. SendClientMessage(playerid, COLOR_RED, "|---------------------------------------------------------------------|");
  101. SendClientMessage(playerid, COLOR_GREY, " (/v)ehicle [name] ");
  102. SendClientMessage(playerid, COLOR_WHITE, " park lock(1-3) sell sellto color list ");
  103. SendClientMessage(playerid, COLOR_RED, "|---------------------------------------------------------------------|");
  104. return 1;
  105. }
  106. if(strcmp(x_nr,"sell",true) == 0)
  107. {
  108. if(IsAtDealership(playerid))
  109. {
  110. if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey] || GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey2] || GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey3])
  111. {
  112. GetPlayerName(playerid, sendername, sizeof(sendername));
  113. new ownvehkey;
  114. if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey]) { ownvehkey = PlayerInfo[playerid][pPcarkey]; }
  115. else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey2]) { ownvehkey = PlayerInfo[playerid][pPcarkey2]; }
  116. else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey3]) { ownvehkey = PlayerInfo[playerid][pPcarkey3]; }
  117. else { return 1; }
  118. if(strcmp(sendername, CarInfo[ownvehkey][cOwner], true) == 0)
  119. {
  120. new carsellprice = CarInfo[ownvehkey][cValue] / 4 * 3;
  121. new Float:x,Float:y,Float:z;
  122. new Float:a;
  123. CarInfo[ownvehkey][cOwned] = 0;
  124. strmid(CarInfo[ownvehkey][cOwner], "Dealership", 0, strlen("Dealership"), 999);
  125. SafeGivePlayerMoney(playerid,carsellprice);
  126. PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
  127. format(string, sizeof(string), "~w~You have sold your car for: ~n~~g~$%d", carsellprice);
  128. GameTextForPlayer(playerid, string, 10000, 3);
  129. GetVehiclePos(ownvehkey, x, y, z);
  130. GetVehicleZAngle(ownvehkey, a);
  131. CarInfo[ownvehkey][cLocationx] = x;
  132. CarInfo[ownvehkey][cLocationy] = y;
  133. CarInfo[ownvehkey][cLocationz] = z;
  134. CarInfo[ownvehkey][cAngle] = a;
  135. if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey]) { PlayerInfo[playerid][pPcarkey] = 999; }
  136. else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey2]) { PlayerInfo[playerid][pPcarkey2] = 999; }
  137. else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey3]) { PlayerInfo[playerid][pPcarkey3] = 999; }
  138. RemovePlayerFromVehicle(playerid);
  139. TogglePlayerControllable(playerid, 1);
  140. if(PlayerInfo[playerid][pLocal] == ownvehkey)
  141. {
  142. SetPlayerInterior(playerid,0);
  143. SetPlayerPos(playerid,CarInfo[ownvehkey][cLocationx],CarInfo[ownvehkey][cLocationy],CarInfo[ownvehkey][cLocationz]);
  144. PlayerInfo[playerid][pInt] = 0;
  145. }
  146. OnPropUpdate();
  147. OnPlayerUpdate(playerid);
  148. DestroyVehicle(ownvehkey);
  149. CreateVehicle(CarInfo[ownvehkey][cModel],CarInfo[ownvehkey][cLocationx],CarInfo[ownvehkey][cLocationy],CarInfo[ownvehkey][cLocationz]+1.0,CarInfo[ownvehkey][cAngle],CarInfo[ownvehkey][cColorOne],CarInfo[ownvehkey][cColorTwo],60000);
  150. return 1;
  151. }
  152. }
  153. else
  154. {
  155. SendClientMessage(playerid, COLOR_GREY, " You have to sit at your own car to sell it! ");
  156. return 1;
  157. }
  158. }
  159. else
  160. {
  161. SendClientMessage(playerid, COLOR_GREY, "You are not at a dealership");
  162. return 1;
  163. }
  164. }
  165. else if(strcmp(x_nr,"sellto",true) == 0)
  166. {
  167. if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey] || GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey2] || GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey3])
  168. {
  169. GetPlayerName(playerid, sendername, sizeof(sendername));
  170. new ownvehkey;
  171. if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey]) { ownvehkey = PlayerInfo[playerid][pPcarkey]; }
  172. else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey2]) { ownvehkey = PlayerInfo[playerid][pPcarkey2]; }
  173. else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey3]) { ownvehkey = PlayerInfo[playerid][pPcarkey3]; }
  174. else { return 1; }
  175. if(strcmp(sendername, CarInfo[ownvehkey][cOwner], true) == 0)
  176. {
  177. tmp = strtok(cmdtext, idx);
  178. if(!strlen(tmp))
  179. {
  180. SendClientMessage(playerid, COLOR_WHITE, "HINT: /v sellto [playerid/PartOfName] [price]");
  181. return 1;
  182. }
  183. giveplayerid = ReturnUser(tmp);
  184. if(IsPlayerConnected(giveplayerid))
  185. {
  186. if(giveplayerid != INVALID_PLAYER_ID)
  187. {
  188. if(ProxDetectorS(8.0, playerid, giveplayerid))
  189. {
  190. if(PlayerInfo[giveplayerid][pPcarkey] == 999)
  191. {
  192. tmp = strtok(cmdtext, idx);
  193. if(!strlen(tmp))
  194. {
  195. SendClientMessage(playerid, COLOR_WHITE, "HINT: /v sellto [playerid/PartOfName] [price]");
  196. return 1;
  197. }
  198. new price;
  199. price = strval(tmp);
  200. if(price < 1 || price > 1500000)
  201. {
  202. SendClientMessage(playerid, COLOR_GREY, " Price not lower then 1 and not higher then 1500000. ");
  203. return 1;
  204. }
  205. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  206. format(string, sizeof(string), "* You offerd %s to buy your car for $%d .", giveplayer, price);
  207. SendClientMessage(playerid, COLOR_WHITE, string);
  208. format(string, sizeof(string), "* Car Owner %s offered you to buy his/her car for $%d (type /accept ownablecar) to buy.", playername, price);
  209. SendClientMessage(giveplayerid, COLOR_WHITE, string);
  210. OwnableCarOffer[giveplayerid] = playerid;
  211. OwnableCarID[giveplayerid] = ownvehkey;
  212. OwnableCarPrice[giveplayerid] = price;
  213. return 1;
  214. }
  215. else if(PlayerInfo[giveplayerid][pPcarkey2] == 999)
  216. {
  217. tmp = strtok(cmdtext, idx);
  218. if(!strlen(tmp))
  219. {
  220. SendClientMessage(playerid, COLOR_WHITE, "HINT: /v sellto [playerid/PartOfName] [price]");
  221. return 1;
  222. }
  223. new price;
  224. price = strval(tmp);
  225. if(price < 1 || price > 1500000)
  226. {
  227. SendClientMessage(playerid, COLOR_GREY, " Price not lower then 1 and not higher then 1500000. ");
  228. return 1;
  229. }
  230. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  231. format(string, sizeof(string), "* You offerd %s to buy your car for $%d .", giveplayer, price);
  232. SendClientMessage(playerid, COLOR_WHITE, string);
  233. format(string, sizeof(string), "* Car Owner %s offered you to buy his/her car for $%d (type /accept ownablecar) to buy.", playername, price);
  234. SendClientMessage(giveplayerid, COLOR_WHITE, string);
  235. OwnableCarOffer[giveplayerid] = playerid;
  236. OwnableCarID[giveplayerid] = ownvehkey;
  237. OwnableCarPrice[giveplayerid] = price;
  238. return 1;
  239. }
  240. else if(PlayerInfo[giveplayerid][pPcarkey3] == 999)
  241. {
  242. tmp = strtok(cmdtext, idx);
  243. if(!strlen(tmp))
  244. {
  245. SendClientMessage(playerid, COLOR_WHITE, "HINT: /v sellto [playerid/PartOfName] [price]");
  246. return 1;
  247. }
  248. new price;
  249. price = strval(tmp);
  250. if(price < 1 || price > 1500000)
  251. {
  252. SendClientMessage(playerid, COLOR_GREY, " Price not lower then 1 and not higher then 1500000. ");
  253. return 1;
  254. }
  255. GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
  256. format(string, sizeof(string), "* You offerd %s to buy your car for $%d .", giveplayer, price);
  257. SendClientMessage(playerid, COLOR_WHITE, string);
  258. format(string, sizeof(string), "* Car Owner %s offered you to buy his/her car for $%d (type /accept ownablecar) to buy.", playername, price);
  259. SendClientMessage(giveplayerid, COLOR_WHITE, string);
  260. OwnableCarOffer[giveplayerid] = playerid;
  261. OwnableCarID[giveplayerid] = ownvehkey;
  262. OwnableCarPrice[giveplayerid] = price;
  263. return 1;
  264. }
  265. else
  266. {
  267. SendClientMessage(playerid, COLOR_GREY, " Player has 3 cars already ! ");
  268. return 1;
  269. }
  270. }
  271. else
  272. {
  273. SendClientMessage(playerid, COLOR_GREY, " Player is not near you ! ");
  274. return 1;
  275. }
  276. }
  277. }
  278. }
  279. else
  280. {
  281. SendClientMessage(playerid, COLOR_GREY, " This is not your car");
  282. return 1;
  283. }
  284. }
  285. else
  286. {
  287. SendClientMessage(playerid, COLOR_GREY, " You have to sit at your own car to sell it");
  288. return 1;
  289. }
  290. }
  291. else if(strcmp(x_nr,"park",true) == 0)
  292. {
  293. new Float:x,Float:y,Float:z;
  294. new Float:a;
  295. new carid;
  296. new getcarid;
  297. if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey]) { carid = PlayerInfo[playerid][pPcarkey]; }
  298. else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey2]) { carid = PlayerInfo[playerid][pPcarkey2]; }
  299. else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey3]) { carid = PlayerInfo[playerid][pPcarkey3]; }
  300. else { return 1; }
  301. getcarid = GetPlayerVehicleID(playerid);
  302. GetPlayerName(playerid, playername, sizeof(playername));
  303. GetVehiclePos(carid, x, y, z);
  304. //GetPlayerFacingAngle(playerid, a);
  305. GetVehicleZAngle(carid, a);
  306. if(IsPlayerInVehicle(playerid,carid) && CarInfo[carid][cOwned] == 1)
  307. {
  308. if(PlayerInfo[playerid][pPcarkey] == 999 && PlayerInfo[playerid][pPcarkey2] == 999 & PlayerInfo[playerid][pPcarkey3])
  309. {
  310. SendClientMessage(playerid, COLOR_GREY, "You don't own a car.");
  311. return 1;
  312. }
  313. if(getcarid == carid)
  314. {
  315. CarInfo[carid][cLocationx] = x;
  316. CarInfo[carid][cLocationy] = y;
  317. CarInfo[carid][cLocationz] = z;
  318. CarInfo[carid][cAngle] = a;
  319. format(string, sizeof(string), "~n~ You have parked your vehicle in this location. ~n~");
  320. GameTextForPlayer(playerid, "You have parked your vehicle in this position. It will respawn here.", 10000, 3);
  321. OnPropUpdate();
  322. OnPlayerUpdate(playerid);
  323. DestroyVehicle(carid);
  324. CreateVehicle(CarInfo[carid][cModel],CarInfo[carid][cLocationx],CarInfo[carid][cLocationy],CarInfo[carid][cLocationz]+1.0,CarInfo[carid][cAngle],CarInfo[carid][cColorOne],CarInfo[carid][cColorTwo],60000);
  325. TogglePlayerControllable(playerid, 1);
  326. return 1;
  327. }
  328. }
  329. }
  330. else if(strcmp(x_nr,"lock1",true) == 0)
  331. {
  332. new keycar = PlayerInfo[playerid][pPcarkey];
  333. if(keycar != 999)
  334. {
  335. new locked[256];
  336. locked = strtok(cmdtext, idx);
  337. if(CarInfo[keycar][cLock] == 1)
  338. {
  339. for(new i = 0; i < MAX_PLAYERS; i++)
  340. {
  341. if (IsPlayerConnected(i))
  342. {
  343. SetVehicleParamsForPlayer(keycar,i,0,0);
  344. }
  345. }
  346. format(string, sizeof(string), "~b~Otkljuceno");
  347. GameTextForPlayer(playerid, string, 4000, 3);
  348. CarInfo[keycar][cLock] = 0;
  349. OnPropUpdate();
  350. return 1;
  351. }
  352. else if(CarInfo[keycar][cLock] == 0)
  353. {
  354. for(new i = 0; i < MAX_PLAYERS; i++)
  355. {
  356. if (IsPlayerConnected(i))
  357. {
  358. SetVehicleParamsForPlayer(keycar,i,0,1);
  359. }
  360. }
  361. format(string, sizeof(string), "~r~Zakluceno");
  362. format(string, sizeof(string),"%s",CarInfo[newcar][cOwner]);
  363. GameTextForPlayer(playerid, string, 3000, 5);
  364. GameTextForPlayer(playerid, string, 4000, 3);
  365. CarInfo[keycar][cLock] = 1;
  366. OnPropUpdate();
  367. return 1;
  368. }
  369. }
  370. else
  371. {
  372. SendClientMessage(playerid, COLOR_GREY, "{37F906}INFO:{FFFFFF} Nemate avto.");
  373. return 1;
  374. }
  375. }
  376. else if(strcmp(x_nr,"lock2",true) == 0)
  377. {
  378. new keycar = PlayerInfo[playerid][pPcarkey2];
  379. if(keycar != 999)
  380. {
  381. new locked[256];
  382. locked = strtok(cmdtext, idx);
  383. if(CarInfo[keycar][cLock] == 1)
  384. {
  385. for(new i = 0; i < MAX_PLAYERS; i++)
  386. {
  387. if (IsPlayerConnected(i))
  388. {
  389. SetVehicleParamsForPlayer(keycar,i,0,0);
  390. }
  391. }
  392. format(string, sizeof(string), "~b~Otkljuceno");
  393. GameTextForPlayer(playerid, string, 4000, 3);
  394. CarInfo[keycar][cLock] = 0;
  395. OnPropUpdate();
  396. return 1;
  397. }
  398. else if(CarInfo[keycar][cLock] == 0)
  399. {
  400. for(new i = 0; i < MAX_PLAYERS; i++)
  401. {
  402. if (IsPlayerConnected(i))
  403. {
  404. SetVehicleParamsForPlayer(keycar,i,0,1);
  405. }
  406. }
  407. format(string, sizeof(string), "~r~Zakluceno");
  408. format(string, sizeof(string),"%s",CarInfo[newcar][cOwner]);
  409. GameTextForPlayer(playerid, string, 3000, 5);
  410. GameTextForPlayer(playerid, string, 4000, 3);
  411. CarInfo[keycar][cLock] = 1;
  412. OnPropUpdate();
  413. return 1;
  414. }
  415. }
  416. else
  417. {
  418. SendClientMessage(playerid, COLOR_GREY, "{37F906}INFO:{FFFFFF} Nemate 2 avta.");
  419. return 1;
  420. }
  421. }
  422. else if(strcmp(x_nr,"lock3",true) == 0)
  423. {
  424. new keycar = PlayerInfo[playerid][pPcarkey3];
  425. if(keycar != 999)
  426. {
  427. new locked[256];
  428. locked = strtok(cmdtext, idx);
  429. if(CarInfo[keycar][cLock] == 1)
  430. {
  431. for(new i = 0; i < MAX_PLAYERS; i++)
  432. {
  433. if (IsPlayerConnected(i))
  434. {
  435. SetVehicleParamsForPlayer(keycar,i,0,0);
  436. }
  437. }
  438. format(string, sizeof(string), "~b~Otkljuceno");
  439. GameTextForPlayer(playerid, string, 4000, 3);
  440. CarInfo[keycar][cLock] = 0;
  441. OnPropUpdate();
  442. return 1;
  443. }
  444. else if(CarInfo[keycar][cLock] == 0)
  445. {
  446. for(new i = 0; i < MAX_PLAYERS; i++)
  447. {
  448. if (IsPlayerConnected(i))
  449. {
  450. SetVehicleParamsForPlayer(keycar,i,0,1);
  451. }
  452. }
  453. format(string, sizeof(string), "~r~Zakluceno");
  454. format(string, sizeof(string),"%s",CarInfo[newcar][cOwner]);
  455. GameTextForPlayer(playerid, string, 3000, 5);
  456. GameTextForPlayer(playerid, string, 4000, 3);
  457. CarInfo[keycar][cLock] = 1;
  458. OnPropUpdate();
  459. return 1;
  460. }
  461. }
  462. else
  463. {
  464. SendClientMessage(playerid, COLOR_GREY, "{37F906}INFO:{FFFFFF} Nemate 3 avta.");
  465. return 1;
  466. }
  467. }
  468. else if(strcmp(x_nr,"list",true) == 0)
  469. {
  470. new carkey = PlayerInfo[playerid][pPcarkey];
  471. new carkey2 = PlayerInfo[playerid][pPcarkey2];
  472. new carkey3 = PlayerInfo[playerid][pPcarkey3];
  473. if(PlayerInfo[playerid][pPcarkey] == 999 && PlayerInfo[playerid][pPcarkey2] == 999 && PlayerInfo[playerid][pPcarkey3] == 999)
  474. {
  475. SendClientMessage(playerid, COLOR_RED," ");
  476. SendClientMessage(playerid, COLOR_RED,"----------------------------------[ Vehicle List ]----------------------------------");
  477. SendClientMessage(playerid, COLOR_WHITE," You don't have any vehicles!");
  478. SendClientMessage(playerid, COLOR_RED,"-------------------------------------------------------------------------------------------");
  479. return 1;
  480. }
  481. else
  482. {
  483. SendClientMessage(playerid, COLOR_RED," ");
  484. SendClientMessage(playerid, COLOR_RED,"----------------------------------[ Vehicle List ]----------------------------------");
  485. if (PlayerInfo[playerid][pPcarkey] != 999)
  486. {
  487. format(string, sizeof(string), " 1| Model:[%s] Value:[%d] Color1:[%d] Color2:[%d] Locked:[%d]", CarInfo[carkey][cDescription], CarInfo[carkey][cValue], CarInfo[carkey][cColorOne], CarInfo[carkey][cColorTwo], CarInfo[carkey][cLock]);
  488. SendClientMessage(playerid, COLOR_GRAD5,string);
  489. }
  490. if (PlayerInfo[playerid][pPcarkey2] != 999)
  491. {
  492. format(string, sizeof(string), " 2| Model:[%s] Value:[%d] Color1:[%d] Color2:[%d] Locked:[%d]", CarInfo[carkey2][cDescription], CarInfo[carkey2][cValue], CarInfo[carkey2][cColorOne], CarInfo[carkey2][cColorTwo], CarInfo[carkey2][cLock]);
  493. SendClientMessage(playerid, COLOR_GRAD5,string);
  494. }
  495. if (PlayerInfo[playerid][pPcarkey3] != 999)
  496. {
  497. format(string, sizeof(string), " 3| Model:[%s] Value:[%d] Color1:[%d] Color2:[%d] Locked:[%d]", CarInfo[carkey3][cDescription], CarInfo[carkey3][cValue], CarInfo[carkey3][cColorOne], CarInfo[carkey3][cColorTwo], CarInfo[carkey3][cLock]);
  498. SendClientMessage(playerid, COLOR_GRAD5,string);
  499. }
  500. SendClientMessage(playerid, COLOR_RED,"-------------------------------------------------------------------------------------------");
  501. return 1;
  502. }
  503. }
  504. else if(strcmp(x_nr,"color",true) == 0)
  505. {
  506. if(PlayerInfo[playerid][pPcarkey] == 999 && PlayerInfo[playerid][pPcarkey2] == 999 && PlayerInfo[playerid][pPcarkey3] == 999)
  507. {
  508. SendClientMessage(playerid, COLOR_GREY," You don't have a vehicle to respray.");
  509. return 1;
  510. }
  511. if(GetPlayerMoney(playerid) < 1000)
  512. {
  513. SendClientMessage(playerid, COLOR_GREY," You don't have enough money for vehicle respray.");
  514. return 1;
  515. }
  516. tmp = strtok(cmdtext, idx);
  517. if(!strlen(tmp))
  518. {
  519. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /v color [ColorOneID] [ColorTwoID]");
  520. return 1;
  521. }
  522. new color1;
  523. color1 = strval(tmp);
  524. if(color1 < 0 && color1 > 126)
  525. {
  526. SendClientMessage(playerid, COLOR_GREY, " Wrong color id!");
  527. return 1;
  528. }
  529. tmp = strtok(cmdtext, idx);
  530. if(!strlen(tmp))
  531. {
  532. SendClientMessage(playerid, COLOR_WHITE, "USAGE: /v color [ColorOneID] [ColorTwoID]");
  533. return 1;
  534. }
  535. new color2;
  536. color2 = strval(tmp);
  537. if(color2 < 0 && color2 > 126)
  538. {
  539. SendClientMessage(playerid, COLOR_GREY, " Wrong color id!");
  540. return 1;
  541. }
  542.  
  543. new vehid;
  544. if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey]) { vehid = PlayerInfo[playerid][pPcarkey]; }
  545. else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey2]) { vehid = PlayerInfo[playerid][pPcarkey2]; }
  546. else if(GetPlayerVehicleID(playerid) == PlayerInfo[playerid][pPcarkey3]) { vehid = PlayerInfo[playerid][pPcarkey3]; }
  547. else { return 1; }
  548.  
  549. if(IsPlayerInVehicle(playerid, vehid))
  550. {
  551. CarInfo[vehid][cColorOne] = color1;
  552. CarInfo[vehid][cColorTwo] = color2;
  553. SafeGivePlayerMoney(playerid, -1000);
  554. GameTextForPlayer(playerid, "~w~Bill for a Paint Respray~n~~r~-$1000", 5000, 1);
  555. ChangeVehicleColor(vehid, color1, color2);
  556. OnPropUpdate();
  557. OnPlayerUpdate(playerid);
  558. return 1;
  559. }
  560. else
  561. {
  562. SendClientMessage(playerid, COLOR_GREY," You are not in your vehicle.");
  563. return 1;
  564. }
  565. }
  566. else if(strcmp(x_nr,"buy",true) == 0)
  567. {
  568. if(IsAnOwnableCar(idcar))
  569. {
  570. if(PlayerInfo[playerid][pLevel] < 2)
  571. {
  572. SendClientMessage(playerid, COLOR_GREY, "You need to be level 2 to buy a vehicle!");
  573. return 1;
  574. }
  575. /*if(SBizzInfo[1][sbProducts] == 0)
  576. {
  577. GameTextForPlayer(playerid, "~r~Out Of Stock", 5000, 1);
  578. return 1;
  579. }*/
  580. if(PlayerInfo[playerid][pPcarkey] == 999) { }
  581. else if(PlayerInfo[playerid][pPcarkey2] == 999) { }
  582. else if(PlayerInfo[playerid][pPcarkey3] == 999) { }
  583. else { SendClientMessage(playerid, COLOR_GREY, " You already own 3 vehicles"); return 1; }
  584. if(CarInfo[idcar][cOwned]==1)
  585. {
  586. SendClientMessage(playerid, COLOR_GREY, "Someone already owns this car");
  587. return 1;
  588. }
  589. if(GetPlayerMoney(playerid) >= CarInfo[idcar][cValue])
  590. {
  591. if(PlayerInfo[playerid][pPcarkey] == 999) { PlayerInfo[playerid][pPcarkey] = idcar; }
  592. else if(PlayerInfo[playerid][pPcarkey2] == 999) { PlayerInfo[playerid][pPcarkey2] = idcar; }
  593. else if(PlayerInfo[playerid][pPcarkey3] == 999) { PlayerInfo[playerid][pPcarkey3] = idcar; }
  594. else { return 1; }
  595. CarInfo[idcar][cOwned] = 1;
  596. GetPlayerName(playerid, sendername, sizeof(sendername));
  597. strmid(CarInfo[idcar][cOwner], sendername, 0, strlen(sendername), 999);
  598. SafeGivePlayerMoney(playerid,-CarInfo[idcar][cValue]);
  599. SBizzInfo[1][sbTill] += 5000;
  600. ExtortionSBiz(1, SBizzInfo[1][sbEntranceCost]);
  601. SBizzInfo[1][sbProducts]--;
  602. GameTextForPlayer(playerid, "~w~Congratulations~n~Don't forget to /v park it!", 5000, 3);
  603. SendClientMessage(playerid, COLOR_GRAD2, "Congratulations on your new purchase!");
  604. SendClientMessage(playerid, COLOR_GRAD2, "Type /vehiclehelp to view the vehicle manual!");
  605. SendClientMessage(playerid, COLOR_YELLOW2, "You can start the engine up now !");
  606. gEngine[playerid] = 0;
  607. engineOn[GetPlayerVehicleID(playerid)] = false;
  608. DateProp(playerid);
  609. OnPropUpdate();
  610. OnPlayerUpdate(playerid);
  611. return 1;
  612. }
  613. else
  614. {
  615. SendClientMessage(playerid, COLOR_GREY, " You don't have enough cash with you ! ");
  616. return 1;
  617. }
  618. }
  619. }
  620. else
  621. {
  622. SendClientMessage(playerid, COLOR_WHITE, "HINT: (/v)ehicle [name]");
  623. SendClientMessage(playerid, COLOR_WHITE, "Available names: park, lock(1-3), sell, sellto, color");
  624. return 1;
  625. }
  626. }
  627. return 1;
  628. }
  629. public OnGameModeInit()
  630. {
  631. LoadCars();
  632. for(new h = 1; h < sizeof(CarInfo); h++)
  633. {
  634. AddStaticVehicleEx(CarInfo[h][cModel],CarInfo[h][cLocationx],CarInfo[h][cLocationy],CarInfo[h][cLocationz]+1.0,CarInfo[h][cAngle],CarInfo[h][cColorOne],CarInfo[h][cColorTwo],60000);
  635. }
Advertisement
Add Comment
Please, Sign In to add comment