Advertisement
Guest User

JOBS

a guest
Aug 28th, 2018
2,187
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 21.55 KB | None | 0 0
  1. /*
  2. |------------INFOMATION---------------|
  3. | SCRIPT NAME: Farmer Job Beta1 |
  4. | Author : Gasman(NhatNguyen) |
  5. | Creadits :+Team SA-MP for SAMP |
  6. | +Incognito for Streamer plugin |
  7. | Version Language: English |
  8. | sorry for my very bad English |
  9. |-------------------------------------|
  10. Please don't remove the credits and author
  11. */
  12. #include <a_samp>
  13. #include <zcmd>
  14. #include <streamer>
  15. native IsValidVehicle(vehicleid);
  16. #define function%0(%1) forward%0(%1);public%0(%1)
  17. #define PRESSED(%0) \
  18. (((newkeys & (%0)) == (%0)) && ((oldkeys & (%0)) != (%0)))
  19.  
  20. #define MAX_PADDYS 100
  21.  
  22. #define FJPosHireVehicle -123.0217,-32.4668,3.1172
  23. #define FJPosGetPaddySack -102.7191,-35.4960,3.9605
  24. #define FJPosTransport 1350.87219, -1771.08533, 12.48870
  25. #define FJAreaPos -273.4105,-60.5778,-122.2512,60.6611//minx,miny,maxx,maxy
  26.  
  27. #define DIALOG_FJHIREVEHICLE (2322)
  28. #define DIALOG_FJGETPADDYSACK (2323)
  29. #define DIALOG_FJUNHIREVEHICLE (2324)
  30.  
  31. #define TIME_UPDATEPADDY (5000)
  32. /*-----------------------------------------------------------------------------*/
  33. new FJArea;
  34. enum fj
  35. {
  36. pPaddyUsed[MAX_PADDYS] = 0,
  37. pPaddyObject[MAX_PADDYS],
  38. pPaddyProgress[MAX_PADDYS],
  39. pPaddyFillWater[MAX_PADDYS],
  40. Float:pPaddyPosX[MAX_PADDYS],
  41. Float:pPaddyPosY[MAX_PADDYS],
  42. Float:pPaddyPosZ[MAX_PADDYS],
  43. Text3D:pPaddyText[MAX_PADDYS],
  44. /////////////////////////////
  45. pPaddyHarvestUsed[MAX_PADDYS],
  46. pPaddyHarvestObject[MAX_PADDYS],
  47. Float:pPaddyHarvestPosX[MAX_PADDYS],
  48. Float:pPaddyHarvestPosY[MAX_PADDYS],
  49. Float:pPaddyHarvestPosZ[MAX_PADDYS],
  50. Text3D:pPaddyHarvestText[MAX_PADDYS],
  51. /////////////////////////////
  52. pHasHireVehicle,
  53. pVehicleHire,
  54. pTrailerVehicleHire,
  55. pPaddyInTrailer,
  56. Text3D:pTrailerText,
  57. ////////////////////////////
  58. pPaddyHarvestInVehicle,
  59. pPaddyHarvestInVehicleObject[5],
  60. ////////////////////////////
  61. pUpdateTime,
  62. }
  63. new pInfos[MAX_PLAYERS][fj];
  64. public OnFilterScriptInit()
  65. {
  66. print("\n--------------------------------------");
  67. print("[|]FarmerJob By OnyxTeam aka Exodus_xD and ToT.");
  68. print("--------------------------------------\n");
  69. FJArea = CreateDynamicRectangle(FJAreaPos);
  70. CreateDynamic3DTextLabel("Ridica sacul cu orez si apasa 'H' ca sa-l vinzi",-1,FJPosTransport,5.0);
  71. CreateDynamic3DTextLabel("Apasa 'Y' pentru a inchiria un vehicul",-1,FJPosHireVehicle,5.0);
  72. CreateDynamic3DTextLabel("Apasa 'Y' pentru a primi un sac cu orez",-1,FJPosGetPaddySack,5.0);
  73. CreateDynamicPickup(19606,1,FJPosHireVehicle);
  74. CreateDynamicPickup(19606,1,FJPosGetPaddySack);
  75. CreateDynamicPickup(19606,1,FJPosTransport);
  76. return 1;
  77. }
  78.  
  79. public OnFilterScriptExit()
  80. {
  81. return 1;
  82. }
  83. public OnPlayerSpawn(playerid)
  84. {
  85. ApplyAnimation(playerid,"CARRY","null",0,0,0,0,0,0);
  86. pInfos[playerid][pUpdateTime] = SetTimerEx("UpdatePaddy",TIME_UPDATEPADDY,1,"i",playerid);
  87. return 1;
  88. }
  89. public OnPlayerDisconnect(playerid,reason)
  90. {
  91. KillTimer(pInfos[playerid][pUpdateTime]);
  92. if(IsValidVehicle(pInfos[playerid][pVehicleHire])) DestroyVehicle(pInfos[playerid][pVehicleHire]);
  93. if(IsValidVehicle(pInfos[playerid][pTrailerVehicleHire])) DestroyVehicle(pInfos[playerid][pTrailerVehicleHire]);
  94. if(IsValidDynamic3DTextLabel(pInfos[playerid][pTrailerText])) DestroyDynamic3DTextLabel(pInfos[playerid][pTrailerText]);
  95. for(new i =0;i<MAX_PADDYS;i++)
  96. {
  97. if(pInfos[playerid][pPaddyUsed][i] == 1)
  98. {
  99. DestroyPaddy(playerid,i);
  100. }
  101. if(pInfos[playerid][pPaddyHarvestUsed][i] == 1)
  102. {
  103. DestroyPaddyHarvest(playerid,i);
  104. }
  105. }
  106. for(new i=0;i<5;i++)
  107. {
  108. if(IsValidObject(pInfos[playerid][pPaddyHarvestInVehicleObject][i]))
  109. {
  110. DestroyObject(pInfos[playerid][pPaddyHarvestInVehicleObject][i]);
  111. }
  112. }
  113. return 1;
  114. }
  115. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  116. {
  117. switch(dialogid)
  118. {
  119. case DIALOG_FJHIREVEHICLE:
  120. {
  121. if(response)
  122. {
  123. if(GetPlayerMoney(playerid) < 100) return SendClientMessage(playerid,-1,"[Farmer]:Ai nevoie de 100$ pentru a inchiria acest vehicul.");
  124. GivePlayerMoney(playerid,-100);
  125. pInfos[playerid][pHasHireVehicle] = 1;
  126. if(listitem == 0)
  127. {
  128. pInfos[playerid][pVehicleHire]=CreateVehicle(531,FJPosHireVehicle,0.0,-1,-1,20000);
  129. pInfos[playerid][pTrailerVehicleHire] = CreateVehicle(610,FJPosHireVehicle,0.0,-1,-1,90000);
  130. new string[128];
  131. pInfos[playerid][pPaddyInTrailer] = 0;
  132. format(string,sizeof(string),"Detinator Trailer {4cff00}%s\nOrez :{4cff00}%d",TickName(playerid),pInfos[playerid][pPaddyInTrailer]);
  133. pInfos[playerid][pTrailerText] = CreateDynamic3DTextLabel(string,-1,FJPosHireVehicle,5.0,INVALID_PLAYER_ID,pInfos[playerid][pTrailerVehicleHire]);
  134. SetTimerEx("AttachTrailer",1000,0,"ii",pInfos[playerid][pVehicleHire],pInfos[playerid][pTrailerVehicleHire]);
  135. PutPlayerInVehicle(playerid,pInfos[playerid][pVehicleHire],0);
  136. }
  137. else if(listitem == 1)
  138. {
  139. pInfos[playerid][pVehicleHire]=CreateVehicle(532,FJPosHireVehicle,0.0,-1,-1,20000);
  140. PutPlayerInVehicle(playerid,pInfos[playerid][pVehicleHire],0);
  141. }
  142. else if(listitem == 2)
  143. {
  144. pInfos[playerid][pVehicleHire]=CreateVehicle(478,FJPosHireVehicle,0.0,-1,-1,20000);
  145. PutPlayerInVehicle(playerid,pInfos[playerid][pVehicleHire],0);
  146. }
  147. }
  148. }
  149. case DIALOG_FJUNHIREVEHICLE:
  150. {
  151. if(response)
  152. {
  153. if(IsValidVehicle(pInfos[playerid][pVehicleHire]))
  154. {
  155. GivePlayerMoney(playerid,50);
  156. pInfos[playerid][pHasHireVehicle] = 0;
  157. DestroyVehicle(pInfos[playerid][pVehicleHire]);
  158. if(IsValidVehicle(pInfos[playerid][pTrailerVehicleHire]))
  159. {
  160. pInfos[playerid][pPaddyInTrailer] = 0;
  161. DestroyVehicle(pInfos[playerid][pTrailerVehicleHire]);
  162. DestroyDynamic3DTextLabel(pInfos[playerid][pTrailerText]);
  163. }
  164. }
  165. }
  166. }
  167. }
  168. return 1;
  169. }
  170. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  171. {
  172.  
  173. if(PRESSED(KEY_YES))
  174. {
  175. if(IsPlayerInRangeOfPoint(playerid,2,FJPosHireVehicle))
  176. {
  177. if(pInfos[playerid][pHasHireVehicle] == 0)
  178. {
  179. ShowPlayerDialog(playerid,DIALOG_FJHIREVEHICLE,DIALOG_STYLE_LIST,"Inchiriere vehicule pentru FarmerJob",
  180. "Tractor(Semanat) $100\nCombina(Culegere) $100\nWalton(Transport) $100","Inchiriaza","Inchide");
  181. }
  182. else
  183. {
  184. if(IsPlayerInAnyVehicle(playerid) && GetPlayerVehicleID(playerid) == pInfos[playerid][pVehicleHire])
  185. {
  186. ShowPlayerDialog(playerid,DIALOG_FJUNHIREVEHICLE,0,"Inchiriere vehicule pentru FarmerJob","Nu mai vrei sa inchiriezi niciun vehicul?\n\
  187. vei primi 50% bani","Da","Nu");
  188. }
  189. else
  190. {
  191. SendClientMessage(playerid,-1,"[Farmer]:Trebuie sa fii in vehiculul inchiriat");
  192. }
  193. }
  194. }
  195. if(IsPlayerInRangeOfPoint(playerid,2,FJPosGetPaddySack))
  196. {
  197. if(!IsValidVehicle(pInfos[playerid][pVehicleHire]) ||!IsValidVehicle(pInfos[playerid][pTrailerVehicleHire])) return SendClientMessage(playerid,-1,"[FarmerJob]:You need rent vehicle before");
  198. if(GetPVarInt(playerid,"HasGetPaddySack") == 1) return SendClientMessage(playerid,-1,"[Farmer]:Deja ai primit un sac cu orez");
  199. if(pInfos[playerid][pPaddyInTrailer] != 0) return SendClientMessage(playerid,-1,"[Farmer]:Trebuie sa insamantezi tot orezul in acest trailer pentru a primi un sac cu orez");
  200. ApplyAnimation(playerid, "CARRY", "LIFTUP", 4.0, 0, 0, 0, 0,0); // nhatlenkieu1
  201. SetPVarInt(playerid,"HasGetPaddySack",1);
  202. SetTimerEx("CarrySack",1000,0,"i",playerid);
  203. SetPlayerAttachedObject(playerid, 9, 2060, 1, 0.170999, 0.363000, 0.000000, 0.000000, 93.700012, 0.000000, 0.713000, 0.650000, 1.000000, 0, 0);
  204. }
  205. }
  206. if(PRESSED(KEY_WALK))
  207. {
  208. if(IsValidVehicle(pInfos[playerid][pTrailerVehicleHire]) && GetPVarInt(playerid,"HasGetPaddySack") == 1)
  209. {
  210. new Float:x,Float:y,Float:z;
  211. GetVehiclePos(pInfos[playerid][pTrailerVehicleHire],x,y,z);
  212. if(IsPlayerInRangeOfPoint(playerid,2,x,y,z))
  213. {
  214. if(pInfos[playerid][pPaddyInTrailer] == 0)
  215. {
  216. ApplyAnimation(playerid, "CARRY", "PUTDWN105", 4.0, 0, 0, 0, 0,0); // datxuongkieu2
  217. pInfos[playerid][pPaddyInTrailer] = 10;
  218. RemovePlayerAttachedObject(playerid,9);
  219. SetPVarInt(playerid,"HasGetPaddySack",0);
  220. new string[128];
  221. format(string,sizeof(string),"Detinator Trailer {4cff00}%s\nOrez :{4cff00}%d",TickName(playerid),pInfos[playerid][pPaddyInTrailer]);
  222. UpdateDynamic3DTextLabelText(pInfos[playerid][pTrailerText],-1,string);
  223. }
  224. else
  225. {
  226. SendClientMessage(playerid,-1,"[Farmer]:Trebuie sa insamantezi tot orezul in acest trailer pentru a primi un sac cu orez");
  227. }
  228. }
  229. else
  230. {
  231. SendClientMessage(playerid,-1,"[Farmer]:Trebuie sa fii langa un trailer");
  232. }
  233. }
  234. }
  235. if(PRESSED(KEY_FIRE))
  236. {
  237. if(IsPlayerInAnyVehicle(playerid) && GetPlayerVehicleID(playerid) == pInfos[playerid][pVehicleHire])
  238. {
  239. if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 531 && IsPlayerInDynamicArea(playerid,FJArea,1))
  240. {
  241. if(pInfos[playerid][pPaddyInTrailer] > 0 && CheckPaddyFreeSlot(playerid,1)!= -1)
  242. {
  243. new Float:x,Float:y,Float:z;
  244. GetVehiclePos(pInfos[playerid][pTrailerVehicleHire],x,y,z);
  245. pInfos[playerid][pPaddyInTrailer] -= 1;
  246. new string[128];
  247. format(string,sizeof(string),"Detinator Trailer {4cff00}%s\nOrez :{4cff00}%d",TickName(playerid),pInfos[playerid][pPaddyInTrailer]);
  248. UpdateDynamic3DTextLabelText(pInfos[playerid][pTrailerText],-1,string);
  249. CreatePaddy(playerid,CheckPaddyFreeSlot(playerid,1),0,x,y,z-2);
  250. }
  251. else
  252. {
  253. SendClientMessage(playerid,-1,"[Farmer]:Nu ai orez in trailer sau ai sloturile pline");
  254. }
  255. }
  256. else if(GetVehicleModel(GetPlayerVehicleID(playerid)) == 532 && IsPlayerInDynamicArea(playerid,FJArea,1))
  257. {
  258. for(new i =0;i<MAX_PADDYS;i++)
  259. {
  260. if(pInfos[playerid][pPaddyUsed][i] == 1)
  261. {
  262. new Float:x,Float:y,Float:z;
  263. GetDynamicObjectPos(pInfos[playerid][pPaddyObject][i],x,y,z);
  264. if(IsPlayerInRangeOfPoint(playerid,4,x,y,z))
  265. {
  266. if(pInfos[playerid][pPaddyProgress][i] >= 100)
  267. {
  268. CreatePaddyHarvest(playerid,CheckPaddyFreeSlot(playerid,2),x,y,z+0.9);
  269. DestroyPaddy(playerid,i);
  270. return 1;
  271. }
  272. else
  273. {
  274. SendClientMessage(playerid,-1,"[Farmer]:Acest orez nu poate fii recoltat");
  275. }
  276. }
  277. }
  278. }
  279. }
  280. }
  281. }
  282. if(PRESSED(KEY_NO))
  283. {
  284. if(GetPVarInt(playerid,"HasPickupPaddy") == 0)
  285. {
  286. for(new i =0;i<MAX_PADDYS;i++)
  287. {
  288. if(pInfos[playerid][pPaddyHarvestUsed][i] == 1)
  289. {
  290. new Float:x,Float:y,Float:z;
  291. GetDynamicObjectPos(pInfos[playerid][pPaddyHarvestObject][i],x,y,z);
  292. if(IsPlayerInRangeOfPoint(playerid,3,x,y,z))
  293. {
  294. ApplyAnimation(playerid, "CARRY", "LIFTUP", 4.0, 0, 0, 0, 0,0); // nhatlenkieu1
  295. SetPVarInt(playerid,"HasPickupPaddy",1);
  296. SetTimerEx("CarrySack",1000,0,"i",playerid);
  297. SetPlayerAttachedObject(playerid, 8, 2060, 1, 0.170999, 0.363000, 0.000000, 0.000000, 93.700012, 0.000000, 0.713000, 0.650000, 1.000000, 0, 0);
  298. DestroyPaddyHarvest(playerid,i);
  299. return 1;
  300. }
  301. }
  302. }
  303. }
  304. else
  305. {
  306. new Float:x,Float:y,Float:z;
  307. GetPlayerPos(playerid,x,y,z);
  308. ApplyAnimation(playerid, "CARRY", "PUTDWN", 4.0, 0, 0, 0, 0,0); // datxuongkieu1
  309. RemovePlayerAttachedObject(playerid,8);
  310. CreatePaddyHarvest(playerid,CheckPaddyFreeSlot(playerid,2),x,y,z-0.8);
  311. SetPVarInt(playerid,"HasPickupPaddy",0);
  312. return 1;
  313. }
  314. }
  315. if(PRESSED(KEY_CTRL_BACK))
  316. {
  317. new Float:x,Float:y,Float:z;
  318. GetVehiclePos(pInfos[playerid][pVehicleHire],x,y,z);
  319. if(IsPlayerInRangeOfPoint(playerid,2,FJPosTransport))
  320. {
  321. if(GetPVarInt(playerid,"HasPickupPaddy") == 1)
  322. {
  323. SetPVarInt(playerid,"HasPickupPaddy",0);
  324. ApplyAnimation(playerid, "CARRY", "PUTDWN", 4.0, 0, 0, 0, 0,0); // datxuongkieu2
  325. RemovePlayerAttachedObject(playerid,8);
  326. GivePlayerMoney(playerid,100);
  327. return 1;
  328. }
  329. }
  330. if(GetVehicleModel(pInfos[playerid][pVehicleHire]) == 478 && IsPlayerInRangeOfPoint(playerid,3,x,y,z))
  331. {
  332. if(GetPVarInt(playerid,"HasPickupPaddy") == 1)
  333. {
  334. if(pInfos[playerid][pPaddyHarvestInVehicle] < 5)
  335. {
  336. SetPVarInt(playerid,"HasPickupPaddy",0);
  337. ApplyAnimation(playerid, "CARRY", "PUTDWN105", 4.0, 0, 0, 0, 0,0); // datxuongkieu2
  338. RemovePlayerAttachedObject(playerid,8);
  339. pInfos[playerid][pPaddyHarvestInVehicle] += 1;
  340. AddPaddyObjectToVehicle(playerid);
  341. }
  342. else
  343. {
  344. SendClientMessage(playerid,-1,"[Farmer]:Full,poti transporta recolta.");
  345. }
  346. }
  347. else
  348. {
  349. if(pInfos[playerid][pPaddyHarvestInVehicle] > 0)
  350. {
  351. DestroyObject(pInfos[playerid][pPaddyHarvestInVehicleObject][pInfos[playerid][pPaddyHarvestInVehicle]-1]);
  352. pInfos[playerid][pPaddyHarvestInVehicle]-=1;
  353. ApplyAnimation(playerid, "CARRY", "LIFTUP105", 4.0, 0, 0, 0, 0,0); // nhatlenkieu2
  354. SetPlayerAttachedObject(playerid, 8, 2060, 1, 0.170999, 0.363000, 0.000000, 0.000000, 93.700012, 0.000000, 0.713000, 0.650000, 1.000000, 0, 0);
  355. SetPVarInt(playerid,"HasPickupPaddy",1);
  356. SetTimerEx("CarrySack",1000,0,"i",playerid);
  357. }
  358. else
  359. {
  360. SendClientMessage(playerid,-1,"[Farmer]:Nu ai orez in vehicul.");
  361. }
  362. }
  363. }
  364. }
  365. return 1;
  366. }
  367. ///////////////////////////
  368. CMD:infojob(playerid,params[])
  369. {
  370. new string[1024];
  371. strcat(string,"Farmer Job (NOU)\n");
  372. strcat(string,"Poti Semana | Sa aduni recolta | Si Sa Stropesti Recolta(In Lucru)");
  373. ShowPlayerDialog(playerid,1323,0,"Informatii job",string,"Close","");
  374. return 1;
  375. }
  376. CMD:transport(playerid,params[])
  377. {
  378. if(IsPlayerInAnyVehicle(playerid) && GetVehicleModel(pInfos[playerid][pVehicleHire]) == 478 && GetPlayerVehicleID(playerid) == pInfos[playerid][pVehicleHire])
  379. {
  380. if(pInfos[playerid][pPaddyHarvestInVehicle] > 0)
  381. {
  382. SetPlayerCheckpoint(playerid,FJPosTransport,5.0);
  383. /*GivePlayerMoney(playerid,pInfos[playerid][pPaddyHarvestInVehicle]*100);
  384. pInfos[playerid][pPaddyHarvestInVehicle] = 0;
  385. for(new i=0;i<5;i++)
  386. {
  387. if(IsValidObject(pInfos[playerid][pPaddyHarvestInVehicleObject][i]))
  388. {
  389. DestroyObject(pInfos[playerid][pPaddyHarvestInVehicleObject][i]);
  390. }
  391. }*/
  392. }
  393. else
  394. {
  395. SendClientMessage(playerid,-1,"[Farmer]:Nu ai orez in vehicul");
  396. }
  397. }
  398. return 1;
  399. }
  400. ///////////////////////function
  401.  
  402. function AddPaddyObjectToVehicle(playerid)
  403. {
  404. switch(pInfos[playerid][pPaddyHarvestInVehicle])
  405. {
  406. case 1:
  407. {
  408. pInfos[playerid][pPaddyHarvestInVehicleObject][0] = CreateObject(2060,0,0,-1000,0,0,0,100);
  409. AttachObjectToVehicle(pInfos[playerid][pPaddyHarvestInVehicleObject][0],pInfos[playerid][pVehicleHire], -0.375000,-1.275000,0.150000,0.000000,0.000000,0.000000);
  410. }
  411. case 2:
  412. {
  413. pInfos[playerid][pPaddyHarvestInVehicleObject][1] = CreateObject(2060,0,0,-1000,0,0,0,100);
  414. AttachObjectToVehicle(pInfos[playerid][pPaddyHarvestInVehicleObject][1],pInfos[playerid][pVehicleHire], -0.375000,-1.725000,0.150000,0.000000,0.000000,0.000000);
  415. }
  416. case 3:
  417. {
  418. pInfos[playerid][pPaddyHarvestInVehicleObject][2] = CreateObject(2060,0,0,-1000,0,0,0,100);
  419. AttachObjectToVehicle(pInfos[playerid][pPaddyHarvestInVehicleObject][2],pInfos[playerid][pVehicleHire], -0.375000,-2.250000,0.150000,0.000000,0.000000,0.000000);
  420. }
  421. case 4:
  422. {
  423. pInfos[playerid][pPaddyHarvestInVehicleObject][3] = CreateObject(2060,0,0,-1000,0,0,0,100);
  424. AttachObjectToVehicle(pInfos[playerid][pPaddyHarvestInVehicleObject][3],pInfos[playerid][pVehicleHire], 0.524999,-1.875000,0.150000,0.000000,0.000000,89.099983);
  425. }
  426. case 5:
  427. {
  428. pInfos[playerid][pPaddyHarvestInVehicleObject][4] = CreateObject(2060,0,0,-1000,0,0,0,100);
  429. AttachObjectToVehicle(pInfos[playerid][pPaddyHarvestInVehicleObject][4],pInfos[playerid][pVehicleHire], 0.149999,-1.875000,0.375000,0.000000,0.000000,89.099990);
  430. }
  431. }
  432. return 1;
  433. }
  434. function UpdatePaddy(playerid)
  435. {
  436. for(new i =0;i<MAX_PADDYS;i++)
  437. {
  438. if(pInfos[playerid][pPaddyUsed][i] == 1)
  439. {
  440. if(pInfos[playerid][pPaddyProgress][i] < 100)
  441. {
  442. /*if(pInfos[playerid][pPaddyProgress][i] > 50)
  443. {
  444. if(pInfos[playerid][pPaddyFillWater][i] == 0)
  445. {
  446. new string[128];
  447. format(string,sizeof(string),"Paddy Owner %s\nSlot %d\nProgress :%d\nNEED WATER",TickName(playerid),i,pInfos[playerid][pPaddyProgress][i]);
  448. UpdateDynamic3DTextLabelText(pInfos[playerid][pPaddyText][i],-1,string);
  449. return 1;
  450. }
  451. }*/
  452. pInfos[playerid][pPaddyProgress][i] += 1;
  453. if(pInfos[playerid][pPaddyProgress][i] == 50)
  454. {
  455. new Float:x,Float:y,Float:z;
  456. GetDynamicObjectPos(pInfos[playerid][pPaddyObject][i],x,y,z);
  457. MoveDynamicObject(pInfos[playerid][pPaddyObject][i],x,y,z+1,2);
  458. DestroyDynamic3DTextLabel(pInfos[playerid][pPaddyText][i]);
  459. pInfos[playerid][pPaddyText][i]=CreateDynamic3DTextLabel("",-1,x,y,z+2,5.0);
  460. }
  461. new string[128];
  462. format(string,sizeof(string),"{fff600}Detinator Orez %s\nSlot {ff0000}%d\nProgres :{00f6ff}%d",TickName(playerid),i,pInfos[playerid][pPaddyProgress][i]);
  463. UpdateDynamic3DTextLabelText(pInfos[playerid][pPaddyText][i],-1,string);
  464. if(pInfos[playerid][pPaddyProgress][i] == 100)
  465. {
  466. format(string,sizeof(string),"{7b1487}POTI RECOLTA{fff600}Orez %s\nSlot {ff0000}%d\nProgres :{00f6ff}%d",TickName(playerid),i,pInfos[playerid][pPaddyProgress][i]);
  467. UpdateDynamic3DTextLabelText(pInfos[playerid][pPaddyText][i],-1,string);
  468. }
  469. }
  470. }
  471. }
  472. return 1;
  473. }
  474. function CarrySack(playerid)
  475. {
  476. ApplyAnimation(playerid, "CARRY", "CRRY_PRTIAL", 4.0, 0, 0, 0, 1, 100); // dangrinh
  477. return 1;
  478. }
  479. function AttachTrailer(vehicleid,trailerid)
  480. {
  481. AttachTrailerToVehicle(trailerid,vehicleid);
  482. return 1;
  483. }
  484. function CheckPaddyFreeSlot(playerid,type)
  485. {
  486. for(new i =0;i<MAX_PADDYS;i++)
  487. {
  488. switch(type)
  489. {
  490. case 1:
  491. {
  492. if(pInfos[playerid][pPaddyUsed][i] == 0)
  493. {
  494. return i;
  495. }
  496. }
  497. case 2:
  498. {
  499. if(pInfos[playerid][pPaddyHarvestUsed][i] == 0)
  500. {
  501. return i;
  502. }
  503. }
  504. }
  505. }
  506. return -1;
  507. }
  508. function CreatePaddyHarvest(playerid,id,Float:x,Float:y,Float:z)
  509. {
  510. if(pInfos[playerid][pPaddyHarvestUsed][id] == 1) return 1;
  511. pInfos[playerid][pPaddyHarvestUsed][id] = 1;
  512. pInfos[playerid][pPaddyHarvestPosX][id] = x;
  513. pInfos[playerid][pPaddyHarvestPosY][id] = y;
  514. pInfos[playerid][pPaddyHarvestPosZ][id] = z;
  515. pInfos[playerid][pPaddyHarvestObject][id] = CreateDynamicObject(2060,x,y,z,0.0,0.0,0.0);
  516. new string[128];
  517. format(string,sizeof(string),"{fff600}Orez Detinator(Culegator) %s\nSlot {ff0000}%d\n{ffffff}Apasa 'N' pentru a culege.",TickName(playerid),id);
  518. pInfos[playerid][pPaddyHarvestText][id] = CreateDynamic3DTextLabel(string,-1,x,y,z,5.0);
  519. return 1;
  520. }
  521. function DestroyPaddyHarvest(playerid,id)
  522. {
  523. if(pInfos[playerid][pPaddyHarvestUsed][id] == 0) return 1;
  524. pInfos[playerid][pPaddyHarvestUsed][id] = 0;
  525. pInfos[playerid][pPaddyHarvestPosX][id] = 0.0;
  526. pInfos[playerid][pPaddyHarvestPosY][id] = 0.0;
  527. pInfos[playerid][pPaddyHarvestPosZ][id] = 0.0;
  528. if(IsValidDynamic3DTextLabel(pInfos[playerid][pPaddyHarvestText][id])) DestroyDynamic3DTextLabel(pInfos[playerid][pPaddyHarvestText][id]);
  529. if(IsValidDynamicObject(pInfos[playerid][pPaddyHarvestObject][id])) DestroyDynamicObject(pInfos[playerid][pPaddyHarvestObject][id]);
  530. return 1;
  531. }
  532. function CreatePaddy(playerid,id,progress,Float:x,Float:y,Float:z)
  533. {
  534. if(pInfos[playerid][pPaddyUsed][id] == 1) return 1;
  535. pInfos[playerid][pPaddyUsed][id] = 1;
  536. pInfos[playerid][pPaddyPosX][id] = x;
  537. pInfos[playerid][pPaddyPosY][id] = y;
  538. pInfos[playerid][pPaddyPosZ][id] = z;
  539. pInfos[playerid][pPaddyProgress][id] = progress;
  540. pInfos[playerid][pPaddyObject][id] = CreateDynamicObject(19473,x,y,z,0.0,0.0,0.0);
  541. new string[128];
  542. format(string,sizeof(string),"{fff600}Farmer Orez %s\nSlot {ff0000}%d\nProgres :{00f6ff}%d",TickName(playerid),id,pInfos[playerid][pPaddyProgress][id]);
  543. pInfos[playerid][pPaddyText][id] = CreateDynamic3DTextLabel(string,-1,x,y,z,5.0);
  544. return 1;
  545. }
  546. function DestroyPaddy(playerid,id)
  547. {
  548. if(pInfos[playerid][pPaddyUsed][id] == 0) return 1;
  549. pInfos[playerid][pPaddyUsed][id] = 0;
  550. pInfos[playerid][pPaddyPosX][id] = 0.0;
  551. pInfos[playerid][pPaddyPosY][id] = 0.0;
  552. pInfos[playerid][pPaddyPosZ][id] = 0.0;
  553. pInfos[playerid][pPaddyProgress][id] = 0;
  554. if(IsValidDynamic3DTextLabel(pInfos[playerid][pPaddyText][id])) DestroyDynamic3DTextLabel(pInfos[playerid][pPaddyText][id]);
  555. if(IsValidDynamicObject(pInfos[playerid][pPaddyObject][id])) DestroyDynamicObject(pInfos[playerid][pPaddyObject][id]);
  556. return 1;
  557. }
  558. stock TickName(playerid)
  559. {
  560. new pName[MAX_PLAYER_NAME];
  561. GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
  562. return pName;
  563. }
  564. /*===============================END SCRIPT====================================*/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement