Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Laden
- forward initializeGangFightSys();
- public initializeGangFightSys()
- {
- new query[128];
- format(query,sizeof(query),"SELECT * FROM `GangFightSys`");
- mysql_pquery(mysqlcon, query, "LoadGangFightSys");
- return 1;
- }
- forward LoadGangFightSys();
- public LoadGangFightSys()
- {
- new rows;
- cache_get_row_count(rows);
- new id;
- if(rows)
- {
- for(new i; i<rows; i++)
- {
- cache_get_value_name_int(i, "ZoneID", id);
- cache_get_value_name_int(i, "ZoneID", GfSystem[id][ZoneID]);
- cache_get_value_name_int(i, "Belongs2", GfSystem[id][Belongs2]);
- cache_get_value_name_int(i, "ZoneActive", GfSystem[id][ZoneActive]);
- cache_get_value_name_float(i, "minx", GfSystem[id][minx]);
- cache_get_value_name_float(i, "miny", GfSystem[id][miny]);
- cache_get_value_name_float(i, "maxx", GfSystem[id][maxx]);
- cache_get_value_name_float(i, "maxy", GfSystem[id][maxy]);
- cache_get_value_name_float(i, "EinnahmeX", GfSystem[id][EinnahmeX]);
- cache_get_value_name_float(i, "EinnahmeY", GfSystem[id][EinnahmeY]);
- cache_get_value_name_float(i, "EinnahmeZ", GfSystem[id][EinnahmeZ]);
- cache_get_value_name(i, "ZoneColor", GfSystem[id][ZoneColor],128);
- cache_get_value_name(i, "GebietName", GfSystem[id][GebietName],128);
- cache_get_value_name_int(i, "ZeitBisNeueEinname", GfSystem[id][ZeitBisNeueEinname]);
- updateGangZone(id);
- }
- return 1;
- }
- return 1;
- }
- //
- //OnPlayerConnect
- for(new i = 0; i < sizeof(GfSystem); i++)
- {
- if(GfSystem[i][ZoneActive] == 1)
- {
- GangZoneShowForPlayer(playerid, GfSystem[i][LocalZone], GetZoneColorOfFaction(GfSystem[i][Belongs2]));
- }
- }
- //
- stock GetZoneColorOfFaction(Faction){
- if(Faction == 5) return 0x00000095; // L.C.N
- else if(Faction == 6) return 0x9D9D9D95; // Yakuza
- else if(Faction == 13) return 0x00FF007D; // G.S.F
- else if(Faction == 14) return 0x80008095; // Ballas
- else if(Faction == 19) return 0xFF000095; // Red Soldiers
- else if(Faction == 16) return 0xFFFF0095; // Vagos
- else if(Faction == 17) return 0x0080FF95; // Atzecas
- else if(Faction == 12) return 0x0000E196; // Triaden
- else if(Faction == 18) return 0x1E90FF00; //Rifa
- else if(Faction == 23) return 0x370000FF; //Brigada
- else return 0xFFFFFF77; // NoN-Gang
- }
- // OnGameModeInit
- for(new i = 0; i < sizeof(GfSystem); i++)
- {
- GfSystem[i][ZoneID] = -1;
- GfSystem[i][Belongs2] = -1;
- GfSystem[i][AttackerFaction] = -1;
- GfSystem[i][FlaggenPickup] = -1;
- GfSystem[i][EinnahmeLabel] = Text3D:-1;
- }
- //
- //Update Funktion und erstellung
- updateGangZone(id) //continue?
- {
- if(GfSystem[id][FlaggenPickup] != -1)
- {
- DestroyPickup(GfSystem[id][FlaggenPickup]);
- }
- if(GfSystem[id][EinnahmeLabel] != Text3D:-1)
- {
- Delete3DTextLabel(GfSystem[id][EinnahmeLabel]);
- }
- GfSystem[id][FlaggenPickup]=CreatePickup(1314, 1, GfSystem[id][EinnahmeX],GfSystem[id][EinnahmeY],GfSystem[id][EinnahmeZ], -1);
- new text[256];
- if(GfSystem[id][Belongs2] != 255)
- {
- format(text,sizeof(text), "{B18904}Gebiet von %s\n/invade", Fracs[GfSystem[id][Belongs2]-1]);
- GfSystem[id][EinnahmeLabel]=Create3DTextLabel(text, -1, GfSystem[id][EinnahmeX],GfSystem[id][EinnahmeY],GfSystem[id][EinnahmeZ], 10, 0, 1);
- }
- else
- {
- GfSystem[id][EinnahmeLabel]=Create3DTextLabel("Freies Gebiet\n/invade", -1, GfSystem[id][EinnahmeX],GfSystem[id][EinnahmeY],GfSystem[id][EinnahmeZ], 10, 0, 1);
- }
- GfSystem[id][LocalZone]=GangZoneCreate(GfSystem[id][minx], GfSystem[id][miny], GfSystem[id][maxx], GfSystem[id][maxy]);
- return 1;
- }
- //
- // GangFight Starten
- if(dialogid == DIALOG_GFSYS_MODUSAUSWAHL)
- {
- if(!response) return 0;
- switch(listitem)
- {
- case 0:
- {
- new i = GebietAngreifen[playerid];
- }
- case 1:
- {
- new frak = PlayerInfo[playerid][pMember];
- new i = GebietAngreifen[playerid];
- }
- case 2:
- {
- new frak = PlayerInfo[playerid][pMember];
- new i = GebietAngreifen[playerid];
- Start_Gangfight(playerid,GfSystem[i][AttackerFaction],GfSystem[i][Belongs2],GfSystem[i][GebietName],3,i);
- }
- }
- }
- //
- ocmd:goodinvade(playerid,params[]) // Zeit bis zum nächsten Angriff
- {
- if(gPlayerLogged[playerid] == 0)
- {
- SendClientMessage(playerid, COLOR_GREY, "Du musst Eingeloggt sein!");
- return 1;
- }
- 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!");
- if(!IsAFightFaction(PlayerInfo[playerid][pMember])) return SCM(playerid,-1,"Deine Fraktion kann keine Gebiete einnehmen! ");
- for(new fs;fs<sizeof(GfSystem);fs++){
- if(GfSystem[fs][AktivImGefecht] == GetPlayerFaction(playerid)) return SCM(playerid,-1,"Deine Gang / Mafia ist bereits in einem Kampf!");}
- new frak = PlayerInfo[playerid][pMember];
- if(PlayerInfo[playerid][pRank]<4) return SCM(playerid,-1,"Du benötigst mindestens Rang 4 um Gebiete einnehmen zu können!");
- for(new i;i<sizeof(GfSystem);i++)
- {
- if(!GfSystem[i][ZoneActive])continue;
- if(IsPlayerInRangeOfPoint(playerid, 9.0, GfSystem[i][EinnahmeX], GfSystem[i][EinnahmeY], GfSystem[i][EinnahmeZ]))
- {
- if(GfSystem[i][AktivImGefecht] == 1) return SCM(playerid,-1,"Um dieses Gebiet wird derzeit bereits gekämpft.");
- if(!IsAFightFaction(GfSystem[i][Belongs2])) return SCM(playerid,-1,"Fataler Fehler; Das Gang-Gebiet gehört einer nicht-Gang Fraktion. Melde dies dem Support.");
- ShowPlayerDialog(playerid,DIALOG_GFSYS_MODUSAUSWAHL,DIALOG_STYLE_LIST,"Gf-Modus","Normal\nCapture the Flag\nGranaten-Ball\nZombie vs Humans","Angreifen","Abbrechen");
- GebietAngreifen[playerid] = i;
- GfSystem[i][AttackerFaction] = frak;
- for(new sc=0; sc<MAX_PLAYERS;sc++)
- {
- if(IsPlayerConnected(sc))
- {
- if(gPlayerLogged[sc] == 1 && PlayerInfo[sc][pMember] !=0)
- {
- if(PlayerInfo[sc][pMember] == frak || PlayerInfo[sc][pMember] == GfSystem[i][Belongs2])
- {
- PlayerInfo[sc][CurrentGangfight] = i;
- }
- }
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement