Guest User

My org system

a guest
Jun 27th, 2023
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.39 KB | None | 0 0
  1. #include <ysilib\YSI_Coding\y_hooks>
  2.  
  3. static stock const ORG_PATH[64] = "/Organizacije/%d.ini";
  4.  
  5. const MAX_ORG = 50;
  6. const MAX_ORG_LEADERS = 2;
  7. const MAX_ORG_MEMBERS = 20;
  8. const MAX_ORG_RANKS = 6;
  9. const MAX_ORG_SKINS = 6;
  10.  
  11. static
  12. orgName[MAX_ORG][MAX_PLAYER_NAME],
  13. orgPrefix[MAX_ORG][MAX_PLAYER_NAME],
  14. orgType[MAX_ORG],
  15. orgLeader[MAX_ORG][MAX_ORG_LEADERS][MAX_PLAYER_NAME],
  16. orgMembers[MAX_ORG][MAX_ORG_MEMBERS][MAX_PLAYER_NAME],
  17. orgRanks[MAX_ORG][MAX_ORG_RANKS][MAX_PLAYER_NAME],
  18. orgSkins[MAX_ORG][MAX_ORG_SKINS],
  19. Float:orgEnter[MAX_ORG][3],
  20. Float:orgExit[MAX_ORG][3];
  21.  
  22. static Text3D:orgLabel[MAX_ORG];
  23. static orgPickup[MAX_ORG];
  24.  
  25. static
  26. player_Admin[MAX_PLAYERS];
  27.  
  28. forward LoadOrg(const orgid, const string: name[], const string: value[]);
  29. public LoadOrg(const orgid, const string: name[], const string: value[]) {
  30.  
  31. INI_String("orgName", orgName[orgid]);
  32. INI_String("orgPrefix", orgPrefix[orgid]);
  33. INI_Int("orgType", orgType[orgid]);
  34. INI_String("orgLeader1", orgLeader[orgid][0]);
  35. INI_String("orgLeader2", orgLeader[orgid][1]);
  36. INI_String("orgMembers1", orgMembers[orgid][0]);
  37. INI_String("orgMembers2", orgMembers[orgid][1]);
  38. INI_String("orgMembers3", orgMembers[orgid][2]);
  39. INI_String("orgMembers4", orgMembers[orgid][3]);
  40. INI_String("orgMembers5", orgMembers[orgid][4]);
  41. INI_String("orgMembers6", orgMembers[orgid][5]);
  42. INI_String("orgMembers7", orgMembers[orgid][6]);
  43. INI_String("orgMembers8", orgMembers[orgid][7]);
  44. INI_String("orgMembers9", orgMembers[orgid][8]);
  45. INI_String("orgMembers10", orgMembers[orgid][9]);
  46. INI_String("orgMembers11", orgMembers[orgid][10]);
  47. INI_String("orgMembers12", orgMembers[orgid][11]);
  48. INI_String("orgMembers13", orgMembers[orgid][12]);
  49. INI_String("orgMembers14", orgMembers[orgid][13]);
  50. INI_String("orgMembers15", orgMembers[orgid][14]);
  51. INI_String("orgMembers16", orgMembers[orgid][15]);
  52. INI_String("orgMembers17", orgMembers[orgid][16]);
  53. INI_String("orgMembers18", orgMembers[orgid][17]);
  54. INI_String("orgMembers19", orgMembers[orgid][18]);
  55. INI_String("orgMembers20", orgMembers[orgid][19]);
  56. INI_String("orgRank1", orgRanks[orgid][0]);
  57. INI_String("orgRank2", orgRanks[orgid][1]);
  58. INI_String("orgRank3", orgRanks[orgid][2]);
  59. INI_String("orgRank4", orgRanks[orgid][3]);
  60. INI_String("orgRank5", orgRanks[orgid][4]);
  61. INI_String("orgRank6", orgRanks[orgid][5]);
  62. INI_Int("orgSkin1", orgSkins[orgid][0]);
  63. INI_Int("orgSkin2", orgSkins[orgid][1]);
  64. INI_Int("orgSkin3", orgSkins[orgid][2]);
  65. INI_Int("orgSkin4", orgSkins[orgid][3]);
  66. INI_Int("orgSkin5", orgSkins[orgid][4]);
  67. INI_Int("orgSkin6", orgSkins[orgid][5]);
  68. INI_Float("orgEnterX", orgEnter[orgid][0]);
  69. INI_Float("orgEnterY", orgEnter[orgid][1]);
  70. INI_Float("orgEnterZ", orgEnter[orgid][2]);
  71. INI_Float("orgExitX", orgExit[orgid][0]);
  72. INI_Float("orgExitY", orgExit[orgid][1]);
  73. INI_Float("orgExitZ", orgExit[orgid][2]);
  74.  
  75. return 1;
  76. }
  77.  
  78. stock SaveOrg(id) {
  79.  
  80. new orgfile[64];
  81. format(orgfile, sizeof(orgfile), ORG_PATH, id);
  82. new INI_File = INI_Open(orgfile);
  83. INI_WriteString(File, "orgName", orgName[id], MAX_PLAYER_NAME);
  84. INI_WriteString(File, "orgPrefix", orgPrefix[id], MAX_PLAYER_NAME);
  85. INI_WriteInt(File, "orgType", orgType[id]);
  86. INI_WriteString(File, "orgLeader1", orgLeader[id][0], MAX_PLAYER_NAME);
  87. INI_WriteString(File, "orgLeader2", orgLeader[id][1], MAX_PLAYER_NAME);
  88. INI_WriteString(File, "orgMembers1", orgMembers[id][0], MAX_PLAYER_NAME);
  89. INI_WriteString(File, "orgMembers2", orgMembers[id][1], MAX_PLAYER_NAME);
  90. INI_WriteString(File, "orgMembers3", orgMembers[id][2], MAX_PLAYER_NAME);
  91. INI_WriteString(File, "orgMembers4", orgMembers[id][3], MAX_PLAYER_NAME);
  92. INI_WriteString(File, "orgMembers5", orgMembers[id][4], MAX_PLAYER_NAME);
  93. INI_WriteString(File, "orgMembers6", orgMembers[id][5], MAX_PLAYER_NAME);
  94. INI_WriteString(File, "orgMembers7", orgMembers[id][6], MAX_PLAYER_NAME);
  95. INI_WriteString(File, "orgMembers8", orgMembers[id][7], MAX_PLAYER_NAME);
  96. INI_WriteString(File, "orgMembers9", orgMembers[id][8], MAX_PLAYER_NAME);
  97. INI_WriteString(File, "orgMembers10", orgMembers[id][9], MAX_PLAYER_NAME);
  98. INI_WriteString(File, "orgMembers11", orgMembers[id][10], MAX_PLAYER_NAME);
  99. INI_WriteString(File, "orgMembers12", orgMembers[id][11], MAX_PLAYER_NAME);
  100. INI_WriteString(File, "orgMembers13", orgMembers[id][12], MAX_PLAYER_NAME);
  101. INI_WriteString(File, "orgMembers14", orgMembers[id][13], MAX_PLAYER_NAME);
  102. INI_WriteString(File, "orgMembers15", orgMembers[id][14], MAX_PLAYER_NAME);
  103. INI_WriteString(File, "orgMembers16", orgMembers[id][15], MAX_PLAYER_NAME);
  104. INI_WriteString(File, "orgMembers17", orgMembers[id][16], MAX_PLAYER_NAME);
  105. INI_WriteString(File, "orgMembers18", orgMembers[id][17], MAX_PLAYER_NAME);
  106. INI_WriteString(File, "orgMembers19", orgMembers[id][18], MAX_PLAYER_NAME);
  107. INI_WriteString(File, "orgMembers20", orgMembers[id][19], MAX_PLAYER_NAME);
  108. INI_WriteString(File, "orgRank1", orgRanks[id][0], MAX_PLAYER_NAME);
  109. INI_WriteString(File, "orgRank2", orgRanks[id][1], MAX_PLAYER_NAME);
  110. INI_WriteString(File, "orgRank3", orgRanks[id][2], MAX_PLAYER_NAME);
  111. INI_WriteString(File, "orgRank4", orgRanks[id][3], MAX_PLAYER_NAME);
  112. INI_WriteString(File, "orgRank5", orgRanks[id][4], MAX_PLAYER_NAME);
  113. INI_WriteString(File, "orgRank6", orgRanks[id][5], MAX_PLAYER_NAME);
  114. INI_WriteInt(File, "orgSkin1", orgSkins[id][0]);
  115. INI_WriteInt(File, "orgSkin2", orgSkins[id][1]);
  116. INI_WriteInt(File, "orgSkin3", orgSkins[id][2]);
  117. INI_WriteInt(File, "orgSkin4", orgSkins[id][3]);
  118. INI_WriteInt(File, "orgSkin5", orgSkins[id][4]);
  119. INI_WriteInt(File, "orgSkin6", orgSkins[id][5]);
  120. INI_WriteFloat(File, "orgEnterX", orgEnter[id][0]);
  121. INI_WriteFloat(File, "orgEnterY", orgEnter[id][1]);
  122. INI_WriteFloat(File, "orgEnterZ", orgEnter[id][2]);
  123. INI_WriteFloat(File, "orgExitX", orgExit[id][0]);
  124. INI_WriteFloat(File, "orgExitY", orgExit[id][1]);
  125. INI_WriteFloat(File, "orgExitZ", orgExit[id][2]);
  126.  
  127. return 1;
  128. }
  129.  
  130. stock NextOrgID(const len) {
  131. new id = (-1);
  132. for(new loop = (0), check = (-1), Data_[64] = "\0"; loop != len; ++ loop) {
  133. check = loop + 1;
  134. format(Data_, sizeof(Data_), ORG_PATH, check);
  135. if(!fexist(Data_)) {
  136. id = check ;
  137. break;
  138. }
  139. }
  140. return id;
  141. }
  142.  
  143. GetNearestOrg(playerid) {
  144. for(new b = 1; b < MAX_ORG, b++) {
  145. if(IsPlayerInRangeOfPoint(playerid, 2.0, orgEnter[id][0], orgEnter[id][1], orgEnter[id][2])) return b; }
  146. return -1;
  147. }
  148.  
  149. hook OnGameModeInit() {
  150.  
  151. for(new id = 0; id < MAX_ORG; id++) {
  152. new orgfile[64];
  153. format(orgfile, sizeof(orgfile), ORG_PATH, id);
  154. if(fexist(orgfile)) {
  155. INI_ParseFile(orgfile, "LoadOrg", .bExtra = true, .extra = id);
  156. new string[512];
  157. format(string, sizeof(string), ""c_white"ID:"c_server"%d\n"c_white"Ime organizacije:"c_server"%d\n"c_white"Lider 1:"c_server"%d\n"c_white"Lider 2:"c_server"%d\n"c_server"Za ulaz u enterijer pritisnite "c_white"'ENTER'", id, orgName[id], orgLeader[id][0], orgLeader[id][1]);
  158. orgLabel[id] = Create3DTextLabel(string, x_server, orgEnter[id][0], orgEnter[id][1], orgEnter[id][2], 25, 0, 1);
  159. orgPickup[id] = CreatePickup(1314, 1, orgEnter[id][0], orgEnter[id][1], orgEnter[id][2], -1);
  160. }
  161. }
  162.  
  163. print("assets/org_system.pwn loading...");
  164. print("assets/org_system.pwn loaded.");
  165.  
  166. return 1;
  167.  
  168. }
  169.  
  170. hook OnPlayerConnect(playerid) {
  171. return 1;
  172. }
  173.  
  174. YCMD:kreirajorg(playerid, params[], help) {
  175.  
  176. if(player_Admin[playerid] < 6) return SendClientMessage(playerid, x_red, "error // "c_white"Niste ovlasceni!");
  177. return 1;
  178. }
Advertisement
Add Comment
Please, Sign In to add comment