Advertisement
BE-Shomy

Translate

Mar 24th, 2018
265
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 20.56 KB | None | 0 0
  1.  
  2. // Include //
  3.  
  4. #include < a_samp >
  5. #include < YSI\y_ini >
  6. #include < YSI\y_commands >
  7. #include < sscanf2 >
  8.  
  9. // Pragma //
  10.  
  11. // Define //
  12.  
  13. #undef MAX_PLAYERS
  14. #define MAX_PLAYERS 50
  15.  
  16. #define MAX_CLANOVI 15 // Podesite
  17.  
  18. #define MAX_ORGS 30
  19. #define ORG_FILE "/Organizacije/%d.ini"
  20.  
  21. #define SCM SendClientMessage
  22. #define SPD ShowPlayerDialog
  23.  
  24. // Dialozi //
  25.  
  26. #define DIALOG_ORGCREATE 1
  27. #define DIALOG_ORGCREATE2 2
  28. #define DIALOG_ORGCREATE3 3
  29. #define DIALOG_ORGCREATE4 4
  30. #define DIALOG_ORGCREATE5 5
  31. #define DIALOG_ORGCREATE6 6
  32. #define DIALOG_ZONACREATE 7
  33.  
  34. #define DIALOG_ORGINV 8
  35.  
  36. // Enum //
  37.  
  38. enum ORG_INFO {
  39.  
  40. Float:orgPosX,
  41. Float:orgPosY,
  42. Float:orgPosZ,
  43. orgBoja,
  44. zBoja,
  45. orgIme[ 30 ],
  46. orgSkracenica[ 5 ],
  47. orgRank1[ 24 ],
  48. orgRank2[ 24 ],
  49. orgRank3[ 24 ],
  50. orgRank4[ 24 ],
  51. orgRank5[ 24 ],
  52. orgSkin1,
  53. orgSkin2,
  54. orgSkin3,
  55. orgSkin4,
  56. orgSkin5,
  57. Float:zMinX,
  58. Float:zMinY,
  59. Float:zMaxX,
  60. Float:zMaxY,
  61. Float:pPosX,
  62. Float:pPosY,
  63. Float:pPosZ,
  64. Float:intPosX,
  65. Float:intPosY,
  66. Float:intPosZ,
  67. orgZauzeta,
  68. orgClanovi,
  69. orgLider[ MAX_PLAYER_NAME ],
  70. zID,
  71. oID,
  72. pID
  73. }
  74.  
  75. // New //
  76.  
  77. new OrgInfo[ MAX_ORGS ][ ORG_INFO ], Text3D:OrgLabel[ sizeof(OrgInfo) ], Text3D:ZauzimanjeLabel[ sizeof(OrgInfo) ], KreiraOrg[ MAX_PLAYERS ], bool:KreiraZonu[ MAX_PLAYERS ], bool:KreiraPickup[ MAX_PLAYERS ];
  78. new pClan[ MAX_PLAYERS ], pRank[ MAX_PLAYERS ], pLider[ MAX_PLAYERS ]; // Dodati u PlayerInfo
  79. new oPozvan[ MAX_PLAYERS ], ZauzimanjeTimer[ MAX_PLAYERS ], Zauzima[ MAX_PLAYERS ];
  80.  
  81. // Publics //
  82.  
  83. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {
  84.  
  85. if(dialogid == DIALOG_ORGCREATE && response) {
  86. new ime[ 30 ], i = NextORGID(MAX_ORGS);
  87. if(sscanf(inputtext, "s[30]", ime)) return SPD(playerid, DIALOG_ORGCREATE, DIALOG_STYLE_INPUT, "ORG Create","Input name of organization.\nMax 30 charaters.","OK","Exit");
  88. KreiraOrg[ playerid ] = i;
  89. OrgInfo[ i ][ orgIme ] = ime;
  90. SPD(playerid, DIALOG_ORGCREATE2, DIALOG_STYLE_INPUT, "ORG Create","Enter the abbreviation of the organization.\nExample - GSF","Dalje","Izlaz");
  91. }
  92. else if(dialogid == DIALOG_ORGCREATE2 && response) {
  93. new skracenica[ 5 ], i = KreiraOrg[ playerid ];
  94. if(sscanf(inputtext, "s[5]", skracenica)) return SPD(playerid, DIALOG_ORGCREATE2, DIALOG_STYLE_INPUT, "ORG Kreiranje","Upisite skracenicu organizacije.\nPrimer - GSF","Dalje","Izlaz");
  95. OrgInfo[ i ][ orgSkracenica ] = skracenica;
  96. SPD(playerid, DIALOG_ORGCREATE3, DIALOG_STYLE_INPUT, "ORG Create","Upisite HEX Color of organization.\nExample: 0xFFFFFFFF","Ok","Exit");
  97. }
  98. else if(dialogid == DIALOG_ORGCREATE3 && response) {
  99. new hex, i = KreiraOrg[ playerid ];
  100. if(sscanf(inputtext, "h", hex)) return SPD(playerid, DIALOG_ORGCREATE3, DIALOG_STYLE_INPUT, "ORG Create","Upisite HEX Color of organization.\nExample: 0xFFFFFFFF","Ok","Exit");
  101. OrgInfo[ i ][ orgBoja ] = hex;
  102. SPD(playerid, DIALOG_ORGCREATE4, DIALOG_STYLE_INPUT, "ORG Kreiranje","Enter the names of 5 ranks.\n5. rank is leader.","Ok","Exit");
  103. }
  104. else if(dialogid == DIALOG_ORGCREATE4 && response) {
  105. new r1[ 24 ], r2[ 24 ], r3[ 24 ], r4[ 24 ], r5[ 24 ], i = KreiraOrg[ playerid ];
  106. if(sscanf(inputtext, "s[24] s[24] s[24] s[24] s[24]", r1, r2, r3, r4, r5)) return SPD(playerid, DIALOG_ORGCREATE4, DIALOG_STYLE_INPUT, "ORG Kreiranje","Enter the names of 5 ranks.\n5. rank is leader.","Ok","Exit");
  107. OrgInfo[ i ][ orgRank1 ] = r1; OrgInfo[ i ][ orgRank2 ] = r2; OrgInfo[ i ][ orgRank3 ] = r3; OrgInfo[ i ][ orgRank4 ] = r4; OrgInfo[ i ][ orgRank5 ] = r5;
  108. SPD(playerid, DIALOG_ORGCREATE6, DIALOG_STYLE_INPUT, "ORG Create", "Input ID of 5 skins.","Ok","Exit");
  109. }
  110. else if(dialogid == DIALOG_ORGCREATE6 && response) {
  111. new s1, s2, s3, s4, s5, i = KreiraOrg[ playerid ];
  112. if(sscanf(inputtext, "ddddd", s1, s2, s3, s4, s5)) return SPD(playerid, DIALOG_ORGCREATE6, DIALOG_STYLE_INPUT, "ORG Create", "Input ID of 5 skins.","Ok","Exit");
  113. OrgInfo[ i ][ orgSkin1 ] = s1; OrgInfo[ i ][ orgSkin2 ] = s2; OrgInfo[ i ][ orgSkin3 ] = s3; OrgInfo[ i ][ orgSkin4 ] = s4; OrgInfo[ i ][ orgSkin5 ] = s5;
  114. SPD(playerid, DIALOG_ORGCREATE5, DIALOG_STYLE_INPUT, "ORG Create", "Enter the coordinates of the organization's interior.","Ok","Exit");
  115. }
  116. else if(dialogid == DIALOG_ORGCREATE5 && response) {
  117. new Float:iX, Float:iY, Float:iZ, i = KreiraOrg[ playerid ];
  118. if(sscanf(inputtext, "fff", iX, iY, iZ)) return SPD(playerid, DIALOG_ORGCREATE5, DIALOG_STYLE_INPUT, "ORG Create","Enter the coordinates of the organization's interior.","Ok","Exit");
  119. OrgInfo[ i ][ intPosX ] = iX;
  120. OrgInfo[ i ][ intPosY ] = iY;
  121. OrgInfo[ i ][ intPosZ ] = iZ;
  122. KreiraZonu[ playerid ] = true;
  123. SCM(playerid, -1, "You are now creating a zone.");
  124. SCM(playerid, -1, "Scroll to the other end of the zone and press the Y button.");
  125. new Float:X, Float:Y, Float:Z, str[ 35 ];
  126. GetPlayerPos(playerid, X,Y,Z);
  127. OrgInfo[ i ][ zMinX ] = X;
  128. OrgInfo[ i ][ zMinY ] = Y;
  129. OrgInfo[ i ][ oID ] = CreatePickup(1314, 1, X,Y,Z, 0);
  130. format(str, sizeof(str), "[ %s ]", OrgInfo[ i ][ orgIme ]);
  131. OrgLabel[ i ] = Create3DTextLabel(str, OrgInfo[ i ][ orgBoja ], X,Y,Z, 15.0, 0,0);
  132. OrgInfo[ i ][ orgPosX ] = X;
  133. OrgInfo[ i ][ orgPosY ] = Y;
  134. OrgInfo[ i ][ orgPosZ ] = Z;
  135. }
  136. else if(dialogid == DIALOG_ZONACREATE && response) {
  137. new hex;
  138. if(sscanf(inputtext, "h", hex)) return SPD(playerid, DIALOG_ZONACREATE, DIALOG_STYLE_INPUT, "Zona Kreiranje","Upisite HEX Boju zone.","U redu","Izlaz");
  139. GangZoneShowForAll(OrgInfo[ KreiraOrg[ playerid ] ][ zID ], hex);
  140. KreiraPickup[ playerid ] = true;
  141. OrgInfo[ KreiraOrg[ playerid ] ][ zBoja ] = hex;
  142. SCM(playerid, -1, "Now save the position of pickup with button Y.");
  143. }
  144. else if(dialogid == DIALOG_ORGINV) {
  145. if(response) {
  146. new i = oPozvan[ playerid ], pname[ MAX_PLAYER_NAME ];
  147. GetPlayerName(playerid, pname, sizeof(pname));
  148. OrgInfo[ i ][ orgClanovi ]++;
  149. pClan[ playerid ] = i;
  150. SaveOrg(i);
  151. for(new p; p < MAX_PLAYERS; p++) {
  152. if(pClan[ p ] == i) { new str[ 60 ]; format(str, sizeof(str), "Player %s has accepted your invation for organization.", pname); SCM(p, -1, str); }
  153. }
  154. oPozvan[ playerid ] = 0;
  155. }
  156. else {
  157. new i = oPozvan[ playerid ], pname[ MAX_PLAYER_NAME ];
  158. GetPlayerName(playerid, pname, sizeof(pname));
  159. for(new p; p < MAX_PLAYERS; p++) {
  160. if(pClan[ p ] == i) { new str[ 60 ]; format(str, sizeof(str), "Player %s has declined your invation for organization.", pname); SCM(p, -1, str); }
  161. }
  162. oPozvan[ playerid ] = 0;
  163. }
  164. }
  165. return 1;
  166. }
  167. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys) {
  168.  
  169. if(newkeys == KEY_YES) {
  170. if(KreiraZonu[ playerid ]) {
  171. new i = KreiraOrg[ playerid ], Float:X, Float:Y, Float:Z;
  172. GetPlayerPos(playerid, X,Y,Z);
  173. OrgInfo[ i ][ zMaxX ] = X;
  174. OrgInfo[ i ][ zMaxY ] = Y;
  175. OrgInfo[ i ][ zID ] = GangZoneCreate(OrgInfo[ i ][ zMinX ], OrgInfo[ i ][ zMinY ], X, Y);
  176. SPD(playerid, DIALOG_ZONACREATE, DIALOG_STYLE_INPUT, "Zone Creation","Input HEX Color of zone.","OK","Exit");
  177. KreiraZonu[ playerid ] = false;
  178. }
  179. else if(KreiraPickup[ playerid ]) {
  180. new i = KreiraOrg[ playerid ], Float:X, Float:Y, Float:Z;
  181. GetPlayerPos(playerid, X,Y,Z);
  182. OrgInfo[ i ][ pPosX ] = X;
  183. OrgInfo[ i ][ pPosY ] = Y;
  184. OrgInfo[ i ][ pPosZ ] = Z;
  185. OrgInfo[ i ][ pID ] = CreatePickup(1254, 1, X,Y,Z, 0);
  186. new str[ 70 ];
  187. format(str, sizeof(str), "[ %s ]\n{FFFFFF}Da zauzmete, kucajte /zauzmi", OrgInfo[ i ][ orgIme ]);
  188. ZauzimanjeLabel[ i ] = Create3DTextLabel(str, OrgInfo[ i ][ orgBoja ], X,Y,Z, 15.0, 0, 0);
  189. SCM(playerid, -1, "You have completed the creation of an organization.");
  190. OrgInfo[ i ][ orgZauzeta ] = i;
  191. SaveOrg(i);
  192. KreiraOrg[ playerid ] = 0;
  193. KreiraPickup[ playerid ] = false;
  194. }
  195. }
  196. if(newkeys == KEY_SECONDARY_ATTACK) {
  197. for(new i; i < MAX_ORGS; i++) {
  198. if(IsPlayerInRangeOfPoint(playerid, 2.0, OrgInfo[ i ][ orgPosX ], OrgInfo[ i ][ orgPosY ], OrgInfo[ i ][ orgPosZ ])) {
  199. SetPlayerPos(playerid, OrgInfo[ i ][ intPosX ], OrgInfo[ i ][ intPosY ], OrgInfo[ i ][ intPosZ ]);
  200. SetPlayerInterior(playerid, 1);
  201. SetPlayerVirtualWorld(playerid, 1);
  202. }
  203. }
  204. }
  205. return 1;
  206. }
  207. forward ZauzimanjeVreme(playerid);
  208. public ZauzimanjeVreme(playerid) {
  209.  
  210. new i = Zauzima[ playerid ], str[ 70 ];
  211. GangZoneHideForAll(OrgInfo[ i ][ zID ]);
  212. GangZoneShowForAll(OrgInfo[ i ][ zID ], OrgInfo[ i ][ zBoja ]);
  213. format(str, sizeof(str), "[ %s ]\n{FFFFFF}Da zauzmete, kucajte /zauzmi", OrgInfo[ pClan[ playerid ] ][ orgIme ]);
  214. Update3DTextLabelText(ZauzimanjeLabel[ i ], OrgInfo[ i ][ orgBoja ], str);
  215. GivePlayerMoney(playerid, 50000);
  216. ClearAnimations(playerid);
  217. TogglePlayerControllable(playerid, true);
  218. SCM(playerid, -1, "Uspesno ste zauzeli zonu.");
  219. return 1;
  220. }
  221. public OnPlayerDeath(playerid) {
  222.  
  223. if(Zauzima[ playerid ] != 0) { KillTimer(ZauzimanjeTimer[ playerid ]); }
  224. return 1;
  225. }
  226. forward LoadOrg(id, name[], value[]);
  227. public LoadOrg(id, name[], value[]) {
  228.  
  229. INI_String("Ime", OrgInfo[ id ][ orgIme ], 30);
  230. INI_String("Skracenica", OrgInfo[ id ][ orgSkracenica ], 5);
  231. INI_Hex("Boja", OrgInfo[ id ][ orgBoja ]);
  232. INI_Hex("Boja_Zone", OrgInfo[ id ][ zBoja ]);
  233. INI_Int("Clanovi", OrgInfo[ id ][ orgClanovi ]);
  234. INI_String("Lider", OrgInfo[ id ][ orgLider ], 24);
  235. INI_String("Rank_1", OrgInfo[ id ][ orgRank1 ], 24);
  236. INI_String("Rank_2", OrgInfo[ id ][ orgRank2 ], 24);
  237. INI_String("Rank_3", OrgInfo[ id ][ orgRank3 ], 24);
  238. INI_String("Rank_4", OrgInfo[ id ][ orgRank4 ], 24);
  239. INI_String("Rank_5", OrgInfo[ id ][ orgRank5 ], 24);
  240. INI_Int("Skin_Rank_1", OrgInfo[ id ][ orgSkin1 ]);
  241. INI_Int("Skin_Rank_2", OrgInfo[ id ][ orgSkin2 ]);
  242. INI_Int("Skin_Rank_3", OrgInfo[ id ][ orgSkin3 ]);
  243. INI_Int("Skin_Rank_4", OrgInfo[ id ][ orgSkin4 ]);
  244. INI_Int("Skin_Rank_5", OrgInfo[ id ][ orgSkin5 ]);
  245. INI_Float("Lokacija_X", OrgInfo[ id ][ orgPosX ]);
  246. INI_Float("Lokacija_Y", OrgInfo[ id ][ orgPosY ]);
  247. INI_Float("Lokacija_Z", OrgInfo[ id ][ orgPosZ ]);
  248. INI_Float("Interior_X", OrgInfo[ id ][ intPosX ]);
  249. INI_Float("Interior_Y", OrgInfo[ id ][ intPosY ]);
  250. INI_Float("Interior_Z", OrgInfo[ id ][ intPosZ ]);
  251. INI_Float("Zona_Min_X", OrgInfo[ id ][ zMinX ]);
  252. INI_Float("Zona_Min_Y", OrgInfo[ id ][ zMinY ]);
  253. INI_Float("Zona_Max_X", OrgInfo[ id ][ zMaxX ]);
  254. INI_Float("Zona_Max_Y", OrgInfo[ id ][ zMaxY ]);
  255. INI_Float("Zauzimanje_X", OrgInfo[ id ][ pPosX ]);
  256. INI_Float("Zauzimanje_Y", OrgInfo[ id ][ pPosY ]);
  257. INI_Float("Zauzimanje_Z", OrgInfo[ id ][ pPosZ ]);
  258. INI_Int("ORG_Zauzeta", OrgInfo[ id ][ orgZauzeta ]);
  259. return 1;
  260. }
  261. public OnFilterScriptInit() {
  262.  
  263. for(new i; i < MAX_ORGS; i++) {
  264. new jFile[ 50 ], str[ 70 ];
  265. format(jFile, sizeof(jFile), ORG_FILE, i);
  266. if(fexist(jFile)) {
  267. INI_ParseFile(jFile, "LoadOrg", .bExtra = true, .extra = i);
  268. OrgInfo[ i ][ oID ] = CreatePickup(1314, 1, OrgInfo[ i ][ orgPosX ], OrgInfo[ i ][ orgPosY ], OrgInfo[ i ][ orgPosZ ], 0);
  269. format(str, sizeof(str), "[ %s ]", OrgInfo[ i ][ orgIme ]);
  270. OrgLabel[ i ] = Create3DTextLabel(str, OrgInfo[ i ][ orgBoja ], OrgInfo[ i ][ orgPosX ], OrgInfo[ i ][ orgPosY ], OrgInfo[ i ][ orgPosZ ], 15.0, 0,0);
  271. OrgInfo[ i ][ pID ] = CreatePickup(1254, 1, OrgInfo[ i ][ pPosX ], OrgInfo[ i ][ pPosY ], OrgInfo[ i ][ pPosZ ], 0);
  272. format(str, sizeof(str), "[ %s ]\n{FFFFFF}Da zauzmete, kucajte /zauzmi", OrgInfo[ i ][ orgIme ]);
  273. ZauzimanjeLabel[ i ] = Create3DTextLabel(str, OrgInfo[ i ][ orgBoja ], OrgInfo[ i ][ pPosX ], OrgInfo[ i ][ pPosY ], OrgInfo[ i ][ pPosZ ], 15.0, 0, 0);
  274. OrgInfo[ i ][ zID ] = GangZoneCreate(OrgInfo[ i ][ zMinX ], OrgInfo[ i ][ zMinY ], OrgInfo[ i ][ zMaxX ], OrgInfo[ i ][ zMaxY ]);
  275. }
  276. }
  277. return 1;
  278. }
  279. public OnPlayerSpawn(playerid) {
  280.  
  281. for(new i; i < MAX_ORGS; i++) { GangZoneShowForPlayer(playerid, OrgInfo[ i ][ zID ], OrgInfo[ i ][ zBoja ]); }
  282. return 1;
  283. }
  284.  
  285. // Komande //
  286.  
  287. YCMD:makeleader(playerid, params[], help) {
  288.  
  289. #pragma unused help
  290.  
  291. if(!IsPlayerAdmin(playerid)) return SCM(playerid, -1, "You are not allowed.");
  292. new id, oid, str[ 100 ], pname[ MAX_PLAYER_NAME ], pname1[ MAX_PLAYER_NAME ], oFile[ 60 ];
  293. if(sscanf(params, "ud", id, oid)) return SCM(playerid, -1, "/makeleader [ID] [ORG ID]");
  294. format(oFile, sizeof(oFile), ORG_FILE, oid);
  295. if(!fexist(oFile)) return SCM(playerid, -1, "That Org ID Doesn't exists.");
  296. GetPlayerName(playerid, pname, sizeof(pname));
  297. GetPlayerName(id, pname1, sizeof(pname1));
  298. if(oid == 0) {
  299. format(str, sizeof(str), "Admin %s has removed your leader.", pname);
  300. SCM(id, -1, str);
  301. format(str, sizeof(str), "You have removed the player %s from the leader.", pname1);
  302. SCM(playerid, -1, str);
  303. pLider[ id ] = 0;
  304. SetPlayerSkin(id, 1);
  305. OrgInfo[ oid ][ orgLider ] = 0;
  306. pClan[ id ] = 0;
  307. }
  308. else {
  309. format(str, sizeof(str), "Admin %s gave you leader of organization %s.", pname, OrgInfo[ oid ][ orgIme ]);
  310. SCM(id, -1, str);
  311. format(str, sizeof(str), "You gave leader to player %s.", pname1);
  312. SCM(playerid, -1, str);
  313. pLider[ id ] = oid;
  314. OrgInfo[ oid ][ orgLider ] = pname1;
  315. SetPlayerSkin(playerid, OrgInfo[ oid ][ orgSkin5 ]);
  316. SaveOrg(oid);
  317. pRank[ id ] = 5;
  318. pClan[ id ] = oid;
  319. }
  320. return 1;
  321. }
  322. YCMD:invite(playerid, params[], help) {
  323.  
  324. #pragma unused help
  325.  
  326. if(pLider[ playerid ] == 0) return SCM(playerid, -1, "You are not allowed.");
  327. new id, pname[ MAX_PLAYER_NAME ], str[ 115 ];
  328. if(sscanf(params, "u", id)) return SCM(playerid, -1, "/invite [ID]");
  329. //if(pClan[ id ] > 0) return SCM(playerid, -1, "Taj igrac je vec clan neke organizacije.");
  330. if(OrgInfo[ pLider[ playerid ] ][ orgClanovi ] == MAX_CLANOVI) return SCM(playerid, -1, "Error - You have reached limit members.");
  331. GetPlayerName(playerid, pname, sizeof(pname));
  332. SCM(playerid, -1, "You sent invation to player.");
  333. format(str, sizeof(str), "The leader has sent you a call to join the organization %s.", pname, OrgInfo[ pLider[ playerid ] ][ orgIme ]);
  334. SPD(id, DIALOG_ORGINV, DIALOG_STYLE_MSGBOX, "INVITE", str, "Accept","Reject");
  335. oPozvan[ id ] = pLider[ playerid ];
  336. return 1;
  337. }
  338. YCMD:eject(playerid, params[], help) {
  339.  
  340. #pragma unused help
  341.  
  342. if(pLider[ playerid ] == 0) return SCM(playerid, -1, "You are not allowed.");
  343. new id;
  344. if(sscanf(params, "u", id)) return SCM(playerid, -1, "/eject [ID]");
  345. if(pClan[ id ] != pLider[ playerid ]) return SCM(playerid, -1, "That player is not a member of your organization.");
  346. SCM(id, -1, "You are ejected.");
  347. SetPlayerSkin(id, 1);
  348. pClan[ id ] = 0;
  349. SCM(playerid, -1, "You ejected player from organization.");
  350. OrgInfo[ pLider[ playerid ] ][ orgClanovi ]--;
  351. SaveOrg(pLider[ playerid ]);
  352. return 1;
  353. }
  354. YCMD:giverank(playerid, params[], help) {
  355.  
  356. #pragma unused help
  357.  
  358. if(pLider[ playerid ] == 0) return SCM(playerid, -1, "You are not allowed.");
  359. new id, rid, str[ 60 ];
  360. if(sscanf(params, "ud", id, rid)) return SCM(playerid, -1, "/giverank [ID] [Rank ID 1-4]");
  361. if(rid < 1 || rid > 4) return SCM(playerid, -1, "Rank ID : 1 - 4");
  362. if(pClan[ id ] != pLider[ playerid ]) return SCM(playerid, -1, "That player is not a member of your organization.");
  363. format(str, sizeof(str), "Leader gave you rank %d.", rid);
  364. SCM(id, -1, str);
  365. SCM(playerid, -1, "You gave rank to player.");
  366. pRank[ id ] = rid;
  367. if(rid == 1) { SetPlayerSkin(id, OrgInfo[ pLider[ playerid ] ][ orgSkin1 ]); }
  368. else if(rid == 2) { SetPlayerSkin(id, OrgInfo[ pLider[ playerid ] ][ orgSkin2 ]); }
  369. else if(rid == 3) { SetPlayerSkin(id, OrgInfo[ pLider[ playerid ] ][ orgSkin3 ]); }
  370. else if(rid == 4) { SetPlayerSkin(id, OrgInfo[ pLider[ playerid ] ][ orgSkin4 ]); }
  371. return 1;
  372. }
  373. YCMD:f(playerid, params[], help) {
  374.  
  375. #pragma unused help
  376.  
  377. if(pClan[ playerid ] == 0) return SCM(playerid, -1, "You are not member of any org.");
  378. new text[ 80 ], str[ 130 ], pname[ MAX_PLAYER_NAME ];
  379. GetPlayerName(playerid, pname, sizeof(pname));
  380. if(sscanf(params, "s[80]", text)) return SCM(playerid, -1, "/f [Text]");
  381. for(new i; i < MAX_PLAYERS; i++) {
  382. if(pRank[ playerid ] == 1) { format(str, sizeof(str), "%s %s - %s.", OrgInfo[ pClan[ playerid ] ][ orgRank1 ], pname, text); if(pClan[ i ] == pClan[ playerid ] || pLider[ i ] == pClan[ playerid ]) return SCM(i, -1, str); }
  383. else if(pRank[ playerid ] == 2) { format(str, sizeof(str), "%s %s - %s.", OrgInfo[ pClan[ playerid ] ][ orgRank2 ], pname, text); if(pClan[ i ] == pClan[ playerid ] || pLider[ i ] == pClan[ playerid ]) return SCM(i, -1, str); }
  384. else if(pRank[ playerid ] == 3) { format(str, sizeof(str), "%s %s - %s.", OrgInfo[ pClan[ playerid ] ][ orgRank3 ], pname, text); if(pClan[ i ] == pClan[ playerid ] || pLider[ i ] == pClan[ playerid ]) return SCM(i, -1, str); }
  385. else if(pRank[ playerid ] == 4) { format(str, sizeof(str), "%s %s - %s.", OrgInfo[ pClan[ playerid ] ][ orgRank4 ], pname, text); if(pClan[ i ] == pClan[ playerid ] || pLider[ i ] == pClan[ playerid ]) return SCM(i, -1, str); }
  386. else if(pRank[ playerid ] == 5) { format(str, sizeof(str), "%s %s - %s.", OrgInfo[ pClan[ playerid ] ][ orgRank5 ], pname, text); if(pClan[ i ] == pClan[ playerid ] || pLider[ i ] == pClan[ playerid ]) return SCM(i, -1, str); }
  387. }
  388. return 1;
  389. }
  390. YCMD:createorg(playerid, params[], help) {
  391.  
  392. #pragma unused help
  393. #pragma unused params
  394.  
  395. if(!IsPlayerAdmin(playerid)) return SCM(playerid, -1, "You are not allowed.");
  396. SPD(playerid, DIALOG_ORGCREATE, DIALOG_STYLE_INPUT, "ORG Create","Input name of organization.\nMax 30 charaters.","OK","Exit");
  397. return 1;
  398. }
  399. YCMD:zauzmi(playerid, params[], help) {
  400.  
  401. #pragma unused help
  402. #pragma unused params
  403.  
  404. if(Zauzima[ playerid ] != 0) return SCM(playerid, -1, "You aleardy taking the zone.");
  405. for(new i; i < MAX_ORGS; i++) {
  406. if(IsPlayerInRangeOfPoint(playerid, 3.0, OrgInfo[ i ][ pPosX ], OrgInfo[ i ][ pPosY ], OrgInfo[ i ][ pPosZ ])) {
  407. if(pClan[ playerid ] == OrgInfo[ i ][ orgZauzeta ]) return SCM(playerid, -1, "You want to take your zone?");
  408. if(pClan[ playerid ] == 0) return SCM(playerid, -1, "You are not member of any organization.");
  409. ZauzimanjeTimer[ playerid ] = SetTimerEx("ZauzimanjeVreme", 600000, false, "i", playerid);
  410. SCM(playerid, -1, "Wait 10 minutes.");
  411. ApplyAnimation(playerid, "BOMBER","BOM_Plant_Loop",4.0,1,0,0,1,0);
  412. TogglePlayerControllable(playerid, false);
  413. Zauzima[ playerid ] = i;
  414. for(new o; o < MAX_PLAYERS; o++) {
  415. if(pClan[ o ] == OrgInfo[ i ][ orgZauzeta ] || pLider[ o ] == OrgInfo[ i ][ orgZauzeta ]) { SCM(playerid, -1, "Neko pokusava da vam zauzme zonu !"); }
  416. }
  417. }
  418. }
  419. return 1;
  420. }
  421.  
  422. stock NextORGID(const len) {
  423. new id = (-1);
  424. for( new loop = ( 0 ), provjera = ( -1 ), Data_[ 64 ] = "\0"; loop != len; ++ loop ) {
  425. provjera = ( loop+1 );
  426. format( Data_, ( sizeof Data_ ), ORG_FILE, provjera );
  427. if(!fexist(Data_)) {
  428. id = ( provjera );
  429. break; } }
  430. return ( id );
  431. }
  432. stock SaveOrg(id) {
  433. new oFile[ 60 ];
  434. format(oFile, sizeof(oFile), ORG_FILE, id);
  435. new INI:File = INI_Open(oFile);
  436. INI_WriteString(File, "Ime", OrgInfo[ id ][ orgIme ]);
  437. INI_WriteString(File, "Skracenica", OrgInfo[ id ][ orgSkracenica ]);
  438. INI_WriteHex(File, "Boja", OrgInfo[ id ][ orgBoja ]);
  439. INI_WriteHex(File, "Boja_Zone", OrgInfo[ id ][ zBoja ]);
  440. INI_WriteInt(File, "Clanovi", OrgInfo[ id ][ orgClanovi ]);
  441. INI_WriteString(File, "Lider", OrgInfo[ id ][ orgLider ]);
  442. INI_WriteString(File, "Rank_1", OrgInfo[ id ][ orgRank1 ]);
  443. INI_WriteString(File, "Rank_2", OrgInfo[ id ][ orgRank2 ]);
  444. INI_WriteString(File, "Rank_3", OrgInfo[ id ][ orgRank3 ]);
  445. INI_WriteString(File, "Rank_4", OrgInfo[ id ][ orgRank4 ]);
  446. INI_WriteString(File, "Rank_5", OrgInfo[ id ][ orgRank5 ]);
  447. INI_WriteInt(File, "Skin_Rank_1", OrgInfo[ id ][ orgSkin1 ]);
  448. INI_WriteInt(File, "Skin_Rank_2", OrgInfo[ id ][ orgSkin2 ]);
  449. INI_WriteInt(File, "Skin_Rank_3", OrgInfo[ id ][ orgSkin3 ]);
  450. INI_WriteInt(File, "Skin_Rank_4", OrgInfo[ id ][ orgSkin4 ]);
  451. INI_WriteInt(File, "Skin_Rank_5", OrgInfo[ id ][ orgSkin5 ]);
  452. INI_WriteFloat(File, "Lokacija_X", OrgInfo[ id ][ orgPosX ]);
  453. INI_WriteFloat(File, "Lokacija_Y", OrgInfo[ id ][ orgPosY ]);
  454. INI_WriteFloat(File, "Lokacija_Z", OrgInfo[ id ][ orgPosZ ]);
  455. INI_WriteFloat(File, "Interior_X", OrgInfo[ id ][ intPosX ]);
  456. INI_WriteFloat(File, "Interior_Y", OrgInfo[ id ][ intPosY ]);
  457. INI_WriteFloat(File, "Interior_Z", OrgInfo[ id ][ intPosZ ]);
  458. INI_WriteFloat(File, "Zona_Min_X", OrgInfo[ id ][ zMinX ]);
  459. INI_WriteFloat(File, "Zona_Min_Y", OrgInfo[ id ][ zMinY ]);
  460. INI_WriteFloat(File, "Zona_Max_X", OrgInfo[ id ][ zMaxX ]);
  461. INI_WriteFloat(File, "Zona_Max_Y", OrgInfo[ id ][ zMaxY ]);
  462. INI_WriteFloat(File, "Zauzimanje_X", OrgInfo[ id ][ pPosX ]);
  463. INI_WriteFloat(File, "Zauzimanje_Y", OrgInfo[ id ][ pPosY ]);
  464. INI_WriteFloat(File, "Zauzimanje_Z", OrgInfo[ id ][ pPosZ ]);
  465. INI_WriteInt(File, "ORG_Zauzeta", OrgInfo[ id ][ orgZauzeta ]);
  466. INI_Close(File);
  467. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement