Advertisement
Guest User

Untitled

a guest
Mar 24th, 2019
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.52 KB | None | 0 0
  1. // Laden
  2. forward initializeGangFightSys();
  3. public initializeGangFightSys()
  4. {
  5. new query[128];
  6.  
  7.  
  8. format(query,sizeof(query),"SELECT * FROM `GangFightSys`");
  9.  
  10. mysql_pquery(mysqlcon, query, "LoadGangFightSys");
  11. return 1;
  12. }
  13. forward LoadGangFightSys();
  14. public LoadGangFightSys()
  15. {
  16. new rows;
  17. cache_get_row_count(rows);
  18. new id;
  19. if(rows)
  20. {
  21. for(new i; i<rows; i++)
  22. {
  23. cache_get_value_name_int(i, "ZoneID", id);
  24.  
  25. cache_get_value_name_int(i, "ZoneID", GfSystem[id][ZoneID]);
  26.  
  27. cache_get_value_name_int(i, "Belongs2", GfSystem[id][Belongs2]);
  28. cache_get_value_name_int(i, "ZoneActive", GfSystem[id][ZoneActive]);
  29.  
  30.  
  31. cache_get_value_name_float(i, "minx", GfSystem[id][minx]);
  32. cache_get_value_name_float(i, "miny", GfSystem[id][miny]);
  33. cache_get_value_name_float(i, "maxx", GfSystem[id][maxx]);
  34. cache_get_value_name_float(i, "maxy", GfSystem[id][maxy]);
  35.  
  36.  
  37. cache_get_value_name_float(i, "EinnahmeX", GfSystem[id][EinnahmeX]);
  38. cache_get_value_name_float(i, "EinnahmeY", GfSystem[id][EinnahmeY]);
  39. cache_get_value_name_float(i, "EinnahmeZ", GfSystem[id][EinnahmeZ]);
  40. cache_get_value_name(i, "ZoneColor", GfSystem[id][ZoneColor],128);
  41.  
  42. cache_get_value_name(i, "GebietName", GfSystem[id][GebietName],128);
  43.  
  44.  
  45. cache_get_value_name_int(i, "ZeitBisNeueEinname", GfSystem[id][ZeitBisNeueEinname]);
  46.  
  47.  
  48. updateGangZone(id);
  49. }
  50. return 1;
  51. }
  52. return 1;
  53. }
  54.  
  55. //
  56.  
  57. //OnPlayerConnect
  58. for(new i = 0; i < sizeof(GfSystem); i++)
  59. {
  60. if(GfSystem[i][ZoneActive] == 1)
  61. {
  62. GangZoneShowForPlayer(playerid, GfSystem[i][LocalZone], GetZoneColorOfFaction(GfSystem[i][Belongs2]));
  63. }
  64. }
  65.  
  66. //
  67. stock GetZoneColorOfFaction(Faction){
  68. if(Faction == 5) return 0x00000095; // L.C.N
  69. else if(Faction == 6) return 0x9D9D9D95; // Yakuza
  70. else if(Faction == 13) return 0x00FF007D; // G.S.F
  71. else if(Faction == 14) return 0x80008095; // Ballas
  72. else if(Faction == 19) return 0xFF000095; // Red Soldiers
  73. else if(Faction == 16) return 0xFFFF0095; // Vagos
  74. else if(Faction == 17) return 0x0080FF95; // Atzecas
  75. else if(Faction == 12) return 0x0000E196; // Triaden
  76. else if(Faction == 18) return 0x1E90FF00; //Rifa
  77. else if(Faction == 23) return 0x370000FF; //Brigada
  78. else return 0xFFFFFF77; // NoN-Gang
  79. }
  80.  
  81. // OnGameModeInit
  82. for(new i = 0; i < sizeof(GfSystem); i++)
  83. {
  84. GfSystem[i][ZoneID] = -1;
  85. GfSystem[i][Belongs2] = -1;
  86. GfSystem[i][AttackerFaction] = -1;
  87. GfSystem[i][FlaggenPickup] = -1;
  88. GfSystem[i][EinnahmeLabel] = Text3D:-1;
  89. }
  90.  
  91. //
  92.  
  93. //Update Funktion und erstellung
  94. updateGangZone(id) //continue?
  95. {
  96.  
  97. if(GfSystem[id][FlaggenPickup] != -1)
  98. {
  99. DestroyPickup(GfSystem[id][FlaggenPickup]);
  100. }
  101. if(GfSystem[id][EinnahmeLabel] != Text3D:-1)
  102. {
  103. Delete3DTextLabel(GfSystem[id][EinnahmeLabel]);
  104. }
  105.  
  106.  
  107. GfSystem[id][FlaggenPickup]=CreatePickup(1314, 1, GfSystem[id][EinnahmeX],GfSystem[id][EinnahmeY],GfSystem[id][EinnahmeZ], -1);
  108.  
  109. new text[256];
  110.  
  111. if(GfSystem[id][Belongs2] != 255)
  112. {
  113. format(text,sizeof(text), "{B18904}Gebiet von %s\n/invade", Fracs[GfSystem[id][Belongs2]-1]);
  114. GfSystem[id][EinnahmeLabel]=Create3DTextLabel(text, -1, GfSystem[id][EinnahmeX],GfSystem[id][EinnahmeY],GfSystem[id][EinnahmeZ], 10, 0, 1);
  115. }
  116. else
  117. {
  118. GfSystem[id][EinnahmeLabel]=Create3DTextLabel("Freies Gebiet\n/invade", -1, GfSystem[id][EinnahmeX],GfSystem[id][EinnahmeY],GfSystem[id][EinnahmeZ], 10, 0, 1);
  119. }
  120.  
  121. GfSystem[id][LocalZone]=GangZoneCreate(GfSystem[id][minx], GfSystem[id][miny], GfSystem[id][maxx], GfSystem[id][maxy]);
  122. return 1;
  123. }
  124.  
  125. //
  126.  
  127.  
  128.  
  129. // GangFight Starten
  130. if(dialogid == DIALOG_GFSYS_MODUSAUSWAHL)
  131. {
  132. if(!response) return 0;
  133. switch(listitem)
  134. {
  135. case 0:
  136. {
  137.  
  138.  
  139. new i = GebietAngreifen[playerid];
  140.  
  141.  
  142. }
  143. case 1:
  144. {
  145. new frak = PlayerInfo[playerid][pMember];
  146.  
  147. new i = GebietAngreifen[playerid];
  148.  
  149. }
  150. case 2:
  151. {
  152. new frak = PlayerInfo[playerid][pMember];
  153.  
  154.  
  155. new i = GebietAngreifen[playerid];
  156.  
  157. Start_Gangfight(playerid,GfSystem[i][AttackerFaction],GfSystem[i][Belongs2],GfSystem[i][GebietName],3,i);
  158.  
  159. }
  160. }
  161. }
  162.  
  163.  
  164. //
  165.  
  166.  
  167. ocmd:goodinvade(playerid,params[]) // Zeit bis zum nächsten Angriff
  168. {
  169. if(gPlayerLogged[playerid] == 0)
  170. {
  171. SendClientMessage(playerid, COLOR_GREY, "Du musst Eingeloggt sein!");
  172. return 1;
  173. }
  174. if(PlayerInfo[playerid][pLeader]>0 && PlayerInfo[playerid][pLeader] != PlayerInfo[playerid][pMember]) return SCM(playerid,-1,"Fataler Fehler leader!=member; Bitte wende dich an einen Head Administratoren!");
  175. if(!IsAFightFaction(PlayerInfo[playerid][pMember])) return SCM(playerid,-1,"Deine Fraktion kann keine Gebiete einnehmen! ");
  176. for(new fs;fs<sizeof(GfSystem);fs++){
  177. if(GfSystem[fs][AktivImGefecht] == GetPlayerFaction(playerid)) return SCM(playerid,-1,"Deine Gang / Mafia ist bereits in einem Kampf!");}
  178.  
  179. new frak = PlayerInfo[playerid][pMember];
  180.  
  181. if(PlayerInfo[playerid][pRank]<4) return SCM(playerid,-1,"Du benötigst mindestens Rang 4 um Gebiete einnehmen zu können!");
  182.  
  183.  
  184. for(new i;i<sizeof(GfSystem);i++)
  185. {
  186.  
  187. if(!GfSystem[i][ZoneActive])continue;
  188. if(IsPlayerInRangeOfPoint(playerid, 9.0, GfSystem[i][EinnahmeX], GfSystem[i][EinnahmeY], GfSystem[i][EinnahmeZ]))
  189. {
  190. if(GfSystem[i][AktivImGefecht] == 1) return SCM(playerid,-1,"Um dieses Gebiet wird derzeit bereits gekämpft.");
  191. if(!IsAFightFaction(GfSystem[i][Belongs2])) return SCM(playerid,-1,"Fataler Fehler; Das Gang-Gebiet gehört einer nicht-Gang Fraktion. Melde dies dem Support.");
  192.  
  193.  
  194. ShowPlayerDialog(playerid,DIALOG_GFSYS_MODUSAUSWAHL,DIALOG_STYLE_LIST,"Gf-Modus","Normal\nCapture the Flag\nGranaten-Ball\nZombie vs Humans","Angreifen","Abbrechen");
  195. GebietAngreifen[playerid] = i;
  196.  
  197. GfSystem[i][AttackerFaction] = frak;
  198.  
  199. for(new sc=0; sc<MAX_PLAYERS;sc++)
  200. {
  201. if(IsPlayerConnected(sc))
  202. {
  203. if(gPlayerLogged[sc] == 1 && PlayerInfo[sc][pMember] !=0)
  204. {
  205. if(PlayerInfo[sc][pMember] == frak || PlayerInfo[sc][pMember] == GfSystem[i][Belongs2])
  206. {
  207. PlayerInfo[sc][CurrentGangfight] = i;
  208. }
  209. }
  210. }
  211. }
  212. }
  213. }
  214. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement