| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902 |
- // Groups
- #define MAX_GROUPS 10
- #define GROUP_NONE 0
- #define GROUP_HITMAN 1 // Non-donated. [Hitman agency]
- #define GROUP_CRIME 2 // Non-donated. [Syndicate]
- #define GROUP_REBELS 3 // Donated. [Zherdev OPG] Owner: Lucas Maxwell
- #define GROUP_CARTEL 4 // Non-donated. [CJNG]
- #define GROUP_TIJUANA 5 // Donated. [The Network] Owner: Capo
- #define GROUP_COMMISSION 6 // Donated. [The Commission] Owner: Petrucci
- #define GROUP_EXEC 7 // Donated. [Executive Outcomes] Owner: Dragus
- #define GROUP_LLS 8 // Donated. [LLS] Owner: Melvin Johnson
- #define GROUP_OPG 9 // Donated. [The Grey Wolves] Owner: Heidi Stone
- #define GROUP_S9 10 // Non-donated. [Sector 9]
- // Group ranks
- #define GROUP_HITMAN_RANKS 6
- #define GROUP_CRIME_RANKS 5
- #define GROUP_CARTEL_RANKS 4
- #define GROUP_REBELS_RANKS 5
- #define GROUP_TIJUANA_RANKS 6
- #define GROUP_COMMISSION_RANKS 5
- #define GROUP_EXEC_RANKS 5
- #define GROUP_LLS_RANKS 5
- #define GROUP_OPG_RANKS 5
- #define GROUP_S9_RANKS 4
- /*
- Variables, arrays and enums
- */
- new groupNamechangeRequest[MAX_PLAYERS][25];
- new groupLevelChangeRequest[MAX_PLAYERS];
- // Group toggle radio
- new groupRadioToggled[MAX_GROUPS+1];
- new OOCgroupRadioToggled[MAX_GROUPS+1];
- new GroupOffer[MAX_PLAYERS];
- /*
- Functions
- */
- stock GetGroupName(groupID) {
- new gname[64];
- switch(groupID)
- {
- case GROUP_HITMAN: gname = "Hitman Agency";
- case GROUP_CRIME: gname = "Cicada 3301";
- case GROUP_REBELS: gname = "Zherdev OPG";
- case GROUP_CARTEL: gname = "CJNG";
- case GROUP_TIJUANA: gname = "Tijuana Cartel";
- case GROUP_COMMISSION: gname = "The Commission";
- case GROUP_EXEC: gname = "Executive Outcomes";
- case GROUP_LLS: gname = "La Luna Sangre";
- case GROUP_OPG: gname = "The Grey Wolves";
- case GROUP_S9: gname = "Sector 9";
- default: gname = "None";
- }
- return gname;
- }
- stock GetPlayerGroupName(playerid)
- {
- new gname[64];
- format(gname, sizeof(gname), "%s", GetGroupName(PlayerInfo[playerid][pGroup]));
- return gname;
- }
- stock GetGroupColour(groupid)
- {
- switch(groupid)
- {
- case GROUP_HITMAN: return COLOR_HITMAN;
- case GROUP_CRIME: return COLOR_CRIME;
- case GROUP_REBELS: return COLOR_REBELS;
- case GROUP_CARTEL: return COLOR_CARTEL_DE_TIJUANA;
- case GROUP_TIJUANA: return COLOR_BUREAU;
- case GROUP_COMMISSION: return COLOR_RAVENS;
- case GROUP_EXEC: return COLOR_EXEC_GROUP;
- case GROUP_LLS: return COLOR_LLS;
- case GROUP_OPG: return COLOR_PALERMO;
- case GROUP_S9: return COLOR_S9;
- }
- return -1;
- }
- stock GetGroupMaxRanks(groupid)
- {
- switch(groupid)
- {
- case GROUP_HITMAN: return GROUP_HITMAN_RANKS;
- case GROUP_CRIME: return GROUP_CRIME_RANKS;
- case GROUP_REBELS: return GROUP_REBELS_RANKS;
- case GROUP_CARTEL: return GROUP_CARTEL_RANKS;
- case GROUP_TIJUANA: return GROUP_TIJUANA_RANKS;
- case GROUP_COMMISSION: return GROUP_COMMISSION_RANKS;
- case GROUP_EXEC: return GROUP_EXEC_RANKS;
- case GROUP_LLS: return GROUP_LLS_RANKS;
- case GROUP_OPG: return GROUP_OPG_RANKS;
- case GROUP_S9: return GROUP_S9_RANKS;
- }
- return -1;
- }
- stock IsGroupLeader(playerid) {
- if(!PlayerInfo[playerid][pGroup])
- return false;
- return PlayerInfo[playerid][pGroupRank] >= GetGroupMaxRanks(PlayerInfo[playerid][pGroup])-1;
- }
- stock GetPlayerGroupRankName(playerid)
- {
- new rankname[64] = "None";
- switch(PlayerInfo[playerid][pGroup])
- {
- case GROUP_HITMAN: //hitman
- {
- switch(PlayerInfo[playerid][pGroupRank])
- {
- case 0:
- rankname = "Initiate";
- case 1:
- rankname = "Freelancer";
- case 2:
- rankname = "Operative";
- case 3:
- rankname = "Agent";
- case 4:
- rankname = "Elite Agent";
- case 5:
- rankname = "Vice Director";
- case 6:
- rankname = "Director";
- }
- }
- case GROUP_CRIME:
- {
- switch(PlayerInfo[playerid][pGroupRank])
- {
- case 5:
- rankname = "Director";
- case 4:
- rankname = "Assistant Director";
- case 3:
- rankname = "Specialist";
- case 2:
- rankname = "Operative";
- case 1:
- rankname = "Inductee";
- case 0:
- rankname = "Outsider";
- }
- }
- case GROUP_REBELS:
- {
- switch(PlayerInfo[playerid][pGroupRank])
- {
- case 5:
- rankname = "Avtoritet";
- case 4:
- rankname = "Derzhatel Obschaka";
- case 3:
- rankname = "Brigadier";
- case 2:
- rankname = "Bratok";
- case 1:
- rankname = "Boyevik";
- case 0:
- rankname = "Shestyorka";
- }
- }
- case GROUP_CARTEL:
- {
- switch(PlayerInfo[playerid][pGroupRank])
- {
- case 4:
- rankname = "Patron";
- case 3:
- rankname = "Capo";
- case 2:
- rankname = "Lugarteniente";
- case 1:
- rankname = "Sicario";
- case 0:
- rankname = "Soldado";
- }
- }
- case GROUP_TIJUANA:
- {
- switch(PlayerInfo[playerid][pGroupRank])
- {
- case 6:
- rankname = "Jefe";
- case 5:
- rankname = "Delegar";
- case 4:
- rankname = "Asociar";
- case 3:
- rankname = "Fideicomisario";
- case 2:
- rankname = "Empleado";
- case 1:
- rankname = "Soldado de Infantería";
- case 0:
- rankname = "Forastero";
- }
- }
- case GROUP_COMMISSION:
- {
- switch(PlayerInfo[playerid][pGroupRank])
- {
- case 5:
- rankname = "CEO";
- case 4:
- rankname = "Underboss";
- case 3:
- rankname = "Shots-caller";
- case 2:
- rankname = "Specialist";
- case 1:
- rankname = "Associate";
- case 0:
- rankname = "Informant";
- }
- }
- case GROUP_EXEC:
- {
- switch(PlayerInfo[playerid][pGroupRank])
- {
- case 5:
- rankname = "Prophet";
- case 4:
- rankname = "Chairman";
- case 3:
- rankname = "High Chancellor";
- case 2:
- rankname = "Sage";
- case 1:
- rankname = "Squire";
- case 0:
- rankname = "Apprentice";
- }
- }
- case GROUP_LLS:
- {
- switch(PlayerInfo[playerid][pGroupRank])
- {
- case 5:
- rankname = "Supremo";
- case 4:
- rankname = "Executive";
- case 3:
- rankname = "Secretary";
- case 2:
- rankname = "Enforcer";
- case 1:
- rankname = "Associate";
- case 0:
- rankname = "Employee";
- }
- }
- case GROUP_OPG:
- {
- switch(PlayerInfo[playerid][pGroupRank])
- {
- case 5:
- rankname = "Baskan (Boss)";
- case 4:
- rankname = "Baskan Yardimcisi (Underboss)";
- case 3:
- rankname = "Danisman (Consultant)";
- case 2:
- rankname = "Gorevli (Attendant)";
- case 1:
- rankname = "Employee (Eleman)";
- case 0:
- rankname = "Comez (Probationar)";
- }
- }
- case GROUP_S9:
- {
- switch(PlayerInfo[playerid][pGroupRank])
- {
- case 4:
- rankname = "Director";
- case 3:
- rankname = "Assistant Director";
- case 2:
- rankname = "Special Agent";
- case 1:
- rankname = "Senior Agent";
- case 0:
- rankname = "Agent";
- }
- }
- }
- return rankname;
- }
- SendGroupMessage(group, color, string2[])
- {
- foreach( new i: Player )
- {
- if(PlayerInfo[i][pGroup] == group)
- {
- SendClientMessage(i, color, string2);
- }
- }
- return 1;
- }
- forward onOGMembers(playerid);
- public onOGMembers(playerid)
- {
- if(cache_num_rows() == 0) return SendClientMessage(playerid, COLOR_WHITE, "No offline members to display.");
- new memberstr[10000], lastlog[64], name[MAX_PLAYER_NAME], playerfrank, hanickname[13];
- for(new i = 0; i < cache_num_rows(); i++)
- {
- new temp[10];
- cache_get_field_content(i, "Name", name);
- cache_get_field_content(i, "LastLogin", lastlog);
- cache_get_field_content(i, "GroupRank", temp);
- cache_get_field_content(i, "pGroupNick", hanickname);
- playerfrank = strval(temp);
- if(cache_get_field_content_int(i, "Group") == GROUP_HITMAN) format(memberstr, sizeof(memberstr), "%s{3366FF}%s (%s) (%d)\t\t{FFFFFF}%s\n", memberstr, name, hanickname, playerfrank, lastlog);
- else format(memberstr, sizeof(memberstr), "%s{3366FF}%s (%d)\t\t{FFFFFF}%s\n", memberstr, name, playerfrank, lastlog);
- }
- ShowPlayerDialog(playerid, DIALOG_UNUSED, DIALOG_STYLE_TABLIST, "Offline Members", memberstr, "Okay", "");
- return 1;
- }
- forward OnOGUninvite(playerid, name[]);
- public OnOGUninvite(playerid, name[])
- {
- if(cache_num_rows() != 1) return SendClientMessage(playerid, COLOR_GREY, "{FF0000}Error:{FFFFFF} That account doesn't exist.");
- if(cache_get_field_content_int(0, "Group") != PlayerInfo[playerid][pGroup]) return SendClientMessage(playerid, COLOR_GREY, "{FF0000}Error:{FFFFFF} That member does not belong to your group.");
- new str[128];
- format(str, sizeof(str), "* You have kicked %s from your group.", name);
- SendClientMessage(playerid, COLOR_LIGHTBLUE, str);
- new query[300];
- mysql_format(sqlGameConnection, query, sizeof(query), "UPDATE `players` SET `Group`= 0,`GroupRank`= 0, `HAFakeBadge`= 0 WHERE `Name`= '%e'", name);
- mysql_pquery(sqlGameConnection, query);
- return 1;
- }
- Hook:groups_OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- if(dialogid == DIALOG_TIJUANA_ARMORY)
- {
- if(!response) return 1;
- switch(listitem)
- {
- case 0:
- {
- if(PlayerInfo[playerid][pCash] >= 100000)
- {
- GiveMoney(playerid, -100000);
- SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You have purchased a Deagle for $100,000.");
- GivePlayerGun(playerid, 24);
- }
- else return SendClientMessage(playerid, COLOR_GREY, "You can't afford that.");
- }
- case 1:
- {
- if(PlayerInfo[playerid][pCash] >= 150000)
- {
- GiveMoney(playerid, -150000);
- SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You have purchased a M4 for $150,000.");
- GivePlayerGun(playerid, 31);
- }
- else return SendClientMessage(playerid, COLOR_GREY, "You can't afford that.");
- }
- case 2:
- {
- if(PlayerInfo[playerid][pCash] >= 130000)
- {
- GiveMoney(playerid, -130000);
- SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You have purchased an AK47 for $130,000.");
- GivePlayerGun(playerid, 30);
- }
- else return SendClientMessage(playerid, COLOR_GREY, "You can't afford that.");
- }
- case 3:
- {
- if(PlayerInfo[playerid][pCash] >= 45000)
- {
- GiveMoney(playerid, -45000);
- SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You have purchased a Full Vest for $45,000.");
- SetPlayerArmour(playerid, 100.00);
- }
- else return SendClientMessage(playerid, COLOR_GREY, "You can't afford that.");
- }
- case 4:
- {
- SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You have healed yourself using a first aid kit.");
- SetPlayerHealth(playerid, 100.00);
- }
- case 5:
- {
- if(PlayerInfo[playerid][pCash] >= 50000)
- {
- GiveMoney(playerid, -50000);
- SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You have purchased an MP5 for $50,000.");
- GivePlayerGun(playerid, 29);
- }
- else return SendClientMessage(playerid, COLOR_GREY, "You can't afford that.");
- }
- case 6:
- {
- if(PlayerInfo[playerid][pCash] >= 30000)
- {
- GiveMoney(playerid, -30000);
- SendClientMessage(playerid, COLOR_LIGHTBLUE, "* You have purchased a Shotgun for $30,000.");
- GivePlayerGun(playerid, 25);
- }
- else return SendClientMessage(playerid, COLOR_GREY, "You can't afford that.");
- }
- }
- }
- return 1;
- }
- /* Returns true if the given group ID is a donor group */
- isDonatedGroup(groupID) {
- return (
- groupID == GROUP_TIJUANA ||
- groupID == GROUP_COMMISSION ||
- groupID == GROUP_EXEC ||
- groupID == GROUP_LLS ||
- groupID == GROUP_OPG ||
- groupID == GROUP_REBELS
- );
- }
- // Needs to be moved for organisation
- /*IsGroupLeaderOn(groupid) {
- foreach(new i: Player)
- if(PlayerInfo[i][pGroup] == groupid && IsGroupLeader(i))
- return 1;
- return 0;
- }*/
- /*
- Commands
- */
- CMD:quitgroup(playerid, params[])
- {
- new str[128];
- new conf[10];
- if(PlayerInfo[playerid][pGroup] == GROUP_NONE) return SendClientMessage(playerid, COLOR_GRAD1, "{FF0000}Error:{FFFFFF} You are not in a Group.");
- if(sscanf(params, "s[10]", conf)) return SendClientMessage(playerid, COLOR_GREY, "{00BFFF}Usage:{FFFFFF} /quitgroup 'confirm'");
- if(strcmp(conf, "confirm", true) == 0)
- {
- format(str, sizeof(str), "* You have quit the %s, you are now a civilian again.", GetPlayerGroupName(playerid));
- SendClientMessage(playerid, COLOR_LIGHTBLUE, str);
- PlayerInfo[playerid][pGroup] = GROUP_NONE;
- PlayerInfo[playerid][pGroupRank] = 0;
- PlayerInfo[playerid][pHAFakeBadge] = 0;
- SetPlayerMasked(playerid, false);
- }
- return 1;
- }
- CMD:ggiverank(playerid, params[])
- {
- new str[128];
- if(PlayerInfo[playerid][pGroup] == GROUP_NONE) return SendClientMessage(playerid, COLOR_GRAD1, "{FF0000}Error:{FFFFFF} You are not in a group.");
- if(!IsGroupLeader(playerid)) return SendClientMessage(playerid, COLOR_GRAD1, "{FF0000}Error:{FFFFFF} You are not the group leader.");
- new giveplayerid, newrank;
- format(str, sizeof(str), "{00BFFF}Usage:{FFFFFF} /ggiverank [playerid/PartOfName] [0-%d]", GetGroupMaxRanks(PlayerInfo[playerid][pGroup]));
- if(sscanf(params, "u d", giveplayerid, newrank)) return SendClientMessage(playerid, COLOR_GREY, str);
- if(giveplayerid == playerid) return SendClientMessage(playerid, COLOR_GREY, "{FF0000}Error:{FFFFFF} You can't change your own rank.");
- if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, COLOR_GREY, "{FF0000}Error:{FFFFFF} That player isn't connected.");
- if(PlayerInfo[giveplayerid][pGroup] != PlayerInfo[playerid][pGroup]) return SendClientMessage(playerid, COLOR_GREY, "{FF0000}Error:{FFFFFF} That player is not a member of your group.");
- format(str, sizeof(str), "{FF0000}Error:{FFFFFF} Your factions ranks go from 0 to %d.", GetGroupMaxRanks(PlayerInfo[playerid][pGroup]));
- if(newrank < 0 || newrank > GetGroupMaxRanks(PlayerInfo[playerid][pGroup])) return SendClientMessage(playerid, COLOR_GREY, str);
- if(PlayerInfo[giveplayerid][pGroupRank] > newrank)
- {
- format(str, sizeof(str), "* You have demoted %s to rank %d.", PlayerICName(giveplayerid), newrank);
- SendClientMessage(playerid, COLOR_LIGHTBLUE, str);
- format(str, sizeof(str), "* You have been demoted to Rank %d by Leader %s.", newrank, PlayerICName(playerid));
- SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, str);
- }
- else
- {
- format(str, sizeof(str), "* You have been promoted to Rank %d by Leader %s.", newrank, PlayerICName(playerid));
- SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, str);
- format(str, sizeof(str), "* You have promoted %s to rank %d.", PlayerICName(giveplayerid), newrank);
- SendClientMessage(playerid, COLOR_LIGHTBLUE, str);
- }
- PlayerInfo[giveplayerid][pGroupRank] = newrank;
- return 1;
- }
- CMD:grouphelp(playerid)
- {
- SendClientMessage(playerid, GetGroupColour(PlayerInfo[playerid][pGroup]), "____________________________________________");
-
- switch(PlayerInfo[playerid][pGroup]) {
- case GROUP_HITMAN: {
- SendClientMessage(playerid, COLOR_WHITE, "COMMANDS: /order /contracts /givehit /ranks /profile /poisonfood");
- SendClientMessage(playerid, COLOR_WHITE, "COMMANDS: /disguise /callerid /takebadge /placebadge /fakebadge /plantbomb /(h)itm(a)n(u)nder(c)over");
- SendClientMessage(playerid, COLOR_WHITE, "COMMANDS: /placejammer /crushjammer /removejammer /jammer /find");
- }
- case GROUP_CRIME:
- {
- SendClientMessage(playerid, COLOR_WHITE, "COMMANDS: /mask /disguise /mask /syndicate /undercover");
- }
- case GROUP_CARTEL:
- {
- SendClientMessage(playerid, COLOR_WHITE, "COMMANDS: /mask /disguise /cjng /undercover");
- }
- case GROUP_S9:
- {
- SendClientMessage(playerid, COLOR_WHITE, "COMMANDS: /mask /disguise /s9 /profile");
- SendClientMessage(playerid, COLOR_WHITE, "COMMANDS: /callerid /fire /profile /fd");
- SendClientMessage(playerid, COLOR_WHITE, "COMMANDS: /edits9badge, /deploydrone /controldrone");
- SendClientMessage(playerid, COLOR_WHITE, "COMMANDS: /placejammer /crushjammer /removejammer /jammer /find");
- }
- case GROUP_LLS:
- {
- SendClientMessage(playerid, COLOR_WHITE, "COMMANDS: /order");
- }
-
- }
- if(isDonatedGroup(PlayerInfo[playerid][pGroup]))
- SendClientMessage(playerid, COLOR_WHITE, "COMMANDS: /disguise /callerid /callerid");
- SendClientMessage(playerid, COLOR_GREY, "COMMANDS: /ginvite /guninvite /quitgroup /ggiverank /(g)roup(r)adio /(g)roup(o)oc(r)adio /gmembers");
- SendClientMessage(playerid, COLOR_GREY, "COMMANDS: /ogmembers /oguninvite /togglegroupradio (/togglegr) /togglegroupoocradio (/togglegor)");
- return 1;
- }
- CMD:ghelp(playerid) return cmd_grouphelp(playerid);
- CMD:gmembers(playerid, params[])
- {
- if(PlayerInfo[playerid][pGroup] == GROUP_NONE) return SendClientMessage(playerid, COLOR_GRAD1, "{FF0000}Error:{FFFFFF} You are not in a Group.");
- new memberstr[3600];
- foreach( new i: Player )
- {
- if(PlayerInfo[i][pGroup] == PlayerInfo[playerid][pGroup])
- {
- if(PlayerPaused[i])
- {
- if(PlayerInfo[playerid][pGroup] == GROUP_HITMAN) format(memberstr, sizeof(memberstr), "%s[{E9CF8D}Paused{FFFFFF}] %s (%s) - Rank: %s(%d){FFFFFF}\n", memberstr, PlayerOOCName(i), PlayerInfo[i][pGroupNick], GetPlayerGroupRankName(i), PlayerInfo[i][pGroupRank]);
- else format(memberstr, sizeof(memberstr), "%s[{E9CF8D}Paused{FFFFFF}] %s (%s) - Rank: %s(%d){FFFFFF}\n", memberstr, PlayerOOCName(i), PlayerInfo[i][pGroupNick], GetPlayerGroupRankName(i), PlayerInfo[i][pGroupRank]);
- }
- else
- {
- if(PlayerInfo[playerid][pGroup] == GROUP_HITMAN) format(memberstr, sizeof(memberstr), "%s%s (%s) - Rank: %s(%d){FFFFFF}\n", memberstr, PlayerOOCName(i), PlayerInfo[i][pGroupNick], GetPlayerGroupRankName(i), PlayerInfo[i][pGroupRank]);
- else format(memberstr, sizeof(memberstr), "%s%s (%s) - Rank: %s(%d){FFFFFF}\n", memberstr, PlayerOOCName(i), PlayerInfo[i][pGroupNick], GetPlayerGroupRankName(i), PlayerInfo[i][pGroupRank]);
- }
- }
- ShowPlayerDialog(playerid, DIALOG_UNUSED, DIALOG_STYLE_LIST, "Group Members Online", memberstr, "Close", "");
- }
- return 1;
- }
- CMD:ogmembers(playerid, params[])
- {
- if(PlayerInfo[playerid][pGroup] > 0)
- {
- new query[128];
- mysql_format(sqlGameConnection, query, sizeof(query), "SELECT `Name`, `LastLogin`, `Group`, `GroupRank`, `GroupNick` FROM `players` WHERE `Adjustable`=1 AND `Group`=%d", PlayerInfo[playerid][pGroup]);
- mysql_pquery(sqlGameConnection, query, "onOGMembers", "i", playerid);
- }
- else
- {
- SendClientMessage(playerid, COLOR_WHITE, "You're not in a group.");
- }
- return 1;
- }
- CMD:ginvite(playerid, params[])
- {
- if(PlayerInfo[playerid][pGroup] == GROUP_NONE) return SendClientMessage(playerid, COLOR_GRAD1, "{FF0000}Error:{FFFFFF} You are not in a group.");
- if(PlayerInfo[playerid][pGroupRank] < GetGroupMaxRanks(PlayerInfo[playerid][pGroup]) - 1) return SendClientMessage(playerid, COLOR_GRAD1, "{FF0000}Error:{FFFFFF} You are not the group leader.");
- new giveplayerid;
- new str[128];
- if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_GREY, "{00BFFF}Usage:{FFFFFF} /ginvite [playerid/PartOfName]");
- if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, COLOR_GREY, "{FF0000}Error:{FFFFFF} Invalid playerid.");
- // To avoid MG which has been happening recently.
- if(PlayerInfo[giveplayerid][pGroup] == GROUP_S9) {
- format(str, sizeof(str), "* You have invited %s to join %s.", PlayerICName(giveplayerid), GetPlayerGroupName(playerid));
- SendClientMessage(playerid, COLOR_LIGHTBLUE, str);
- format(str, sizeof(str), "%s has just tried to invite you to join the %s. But S9 is gr8.", PlayerOOCName(giveplayerid), GetPlayerGroupName(playerid));
- SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, str);
- return 1;
- }
- if(PlayerInfo[giveplayerid][pGroup] > 0) return SendClientMessage(playerid, COLOR_GREY, "{FF0000}Error:{FFFFFF} That player is already in a group.");
- format(str, sizeof(str), "* You have invited %s to join %s.", PlayerICName(giveplayerid), GetPlayerGroupName(playerid));
- SendClientMessage(playerid, COLOR_LIGHTBLUE, str);
- format(str, sizeof(str), "* %s has invited you to join %s, (type /accept group) to accept.", PlayerICName(playerid), GetPlayerGroupName(playerid));
- SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, str);
- GroupOffer[giveplayerid] = playerid;
- return 1;
- }
- CMD:guninvite(playerid, params[])
- {
- if(PlayerInfo[playerid][pGroup] == GROUP_NONE) return SendClientMessage(playerid, COLOR_GRAD1, "{FF0000}Error:{FFFFFF} You are not in a group.");
- if(PlayerInfo[playerid][pGroupRank] < GetGroupMaxRanks(PlayerInfo[playerid][pGroup]) - 1) return SendClientMessage(playerid, COLOR_GRAD1, "{FF0000}Error:{FFFFFF} You are not the group leader.");
- new giveplayerid;
- new str[128];
- if(sscanf(params, "u", giveplayerid)) return SendClientMessage(playerid, COLOR_GREY, "{00BFFF}Usage:{FFFFFF} /guninvite [playerid/PartOfName]");
- if(giveplayerid == playerid) return SendClientMessage(playerid, COLOR_GREY, "{FF0000}Error:{FFFFFF} You can't uninvite yourself.");
- if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, COLOR_GREY, "{FF0000}Error:{FFFFFF} Invalid playerid.");
- if(PlayerInfo[giveplayerid][pGroup] != PlayerInfo[playerid][pGroup]) return SendClientMessage(playerid, COLOR_GREY, "{FF0000}Error:{FFFFFF} That player is not in your group.");
- if(PlayerInfo[giveplayerid][pGroupRank] >= PlayerInfo[playerid][pGroupRank]) return SendClientMessage(playerid, COLOR_GREY, "{FF0000}Error:{FFFFFF} You can't kick out other group leaders.");
- format(str, sizeof(str), "* You have been kicked out of the %s by Leader %s.", GetPlayerGroupName(giveplayerid), PlayerICName(playerid));
- SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, str);
- format(str, sizeof(str), "* You have kicked out %s from the group.", PlayerOOCName(giveplayerid));
- SendClientMessage(playerid, COLOR_LIGHTBLUE, str);
- PlayerInfo[giveplayerid][pGroup] = GROUP_NONE;
- PlayerInfo[giveplayerid][pGroupRank] = 0;
- PlayerInfo[giveplayerid][pHAFakeBadge] = 0;
- SetPlayerMasked(giveplayerid, false);
- return 1;
- }
- CMD:togor(playerid, params[])
- {
- if(PlayerInfo[playerid][pMember] != 0)
- {
- if(ToggedOR[playerid] == false)
- {
- ToggedOR[playerid] = true;
- SendClientMessage(playerid, COLOR_WHITE, "You have disabled the OOC radio channel.");
- }
- else
- {
- ToggedOR[playerid] = false;
- SendClientMessage(playerid, COLOR_WHITE, "You have re-enabled the OOC radio channel.");
- }
- }
- else return SendClientMessage(playerid, COLOR_GREY, "You're not in a faction.");
- return 1;
- }
- CMD:makegroupleader(playerid, params[])
- {
- if(PlayerInfo[playerid][pAdmin] >= 1337 || PlayerInfo[playerid][pFactionMod] > 0)
- {
- new giveplayerid, group;
- new str[128];
- if(sscanf(params, "ui", giveplayerid, group)) return SendClientMessage(playerid, COLOR_GREY, "{00BFFF}Usage:{FFFFFF} /makegroupleader [playerid/PartOfName] [number]");
- if(!IsPlayerConnected(giveplayerid)) return SendClientMessage(playerid, COLOR_GREY, "{FF0000}Error:{FFFFFF} Invalid playerid.");
- if(group < 0 || group > MAX_GROUPS) return SendClientMessage(playerid, COLOR_GREY, "{FF0000}Error:{FFFFFF} Group cannot be below 0 or above 10.");
- /* if((group == 10 || group == 1) && PlayerInfo[playerid][pFactionDirector] != 1) {
- if(playerid == giveplayerid)
- format(str, sizeof(str), "%s just tried to put his self into HA or S9.", PlayerName(playerid));
- else
- format(str, sizeof(str), "%s just tried to make %s a member of S9 or HA.", PlayerName(playerid), PlayerName(giveplayerid));
- ABroadCast(COLOR_LIGHTYELLOW, str, 1);
- return SendClientMessage(playerid, COLOR_GREY, "You cannot make yourself a member of S9 or HA.");
- } */
- PlayerInfo[giveplayerid][pGroup] = group;
- PlayerInfo[giveplayerid][pGroupRank] = GetGroupMaxRanks(group);
- format(str, sizeof(str), "* You have given %s leadership of the %s.", PlayerOOCName(giveplayerid), GetPlayerGroupName(giveplayerid));
- SendClientMessage(playerid, COLOR_LIGHTBLUE, str);
- format(str, sizeof(str), "* %s has given you leadership of the %s.", PlayerOOCName(playerid), GetPlayerGroupName(giveplayerid));
- SendClientMessage(giveplayerid, COLOR_LIGHTBLUE, str);
- }
- else
- {
- return AdmErrorMsg;
- }
- return 1;
- }
- CMD:oguninvite(playerid, params[])
- {
- // If the player is in a group, and they are co-leader, or leader, then you can uninvite. GetGroupMaxRanks -1 for co-leader+
- if(PlayerInfo[playerid][pGroup] != GROUP_NONE && PlayerInfo[playerid][pGroupRank] >= GetGroupMaxRanks(PlayerInfo[playerid][pGroup])-1)
- {
- new name[MAX_PLAYER_NAME];
- if(sscanf(params, "s[24]", name)) return SendClientMessage(playerid, COLOR_GREY, "{00BFFF}Usage:{FFFFFF} /oguninvite [full name(case sensitive)]");
- if(GetPlayerIDFromName(name) != INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_GREY, "{FF0000}Error:{FFFFFF} That player is currently logged in.");
- new query[128];
- mysql_format(sqlGameConnection, query, sizeof(query), "SELECT `GroupRank`, `Group` FROM `players` WHERE `Name` = '%e' LIMIT 1", name);
- mysql_pquery(sqlGameConnection, query, "OnOGUninvite", "is", playerid, name);
- }
- else
- {
- SendClientMessage(playerid, COLOR_GREY, "{FF0000}Error:{FFFFFF} You are not a group leader.");
- }
- return 1;
- }
- CMD:setgrouprank(playerid, params[]) {
- if(PlayerInfo[playerid][pAdmin] >= 2 && PlayerInfo[playerid][pGroup] != GROUP_NONE) {
- new toplayer, rank, grStr[128];
- if(sscanf(params, "ui", toplayer, rank)) return SendClientMessage(playerid, COLOR_GREY, "/setgrouprank [player] [rank]");
- // If the requested rank is greater than the group's max rank or less than 0
- if(rank > GetGroupMaxRanks(PlayerInfo[toplayer][pGroup]) || rank < 0) {
- format(grStr, sizeof(grStr), "Rank must be between 0 and %d", GetGroupMaxRanks(PlayerInfo[toplayer][pGroup]));
- return SendClientMessage(playerid, COLOR_RED, grStr);
- }
- if(PlayerInfo[playerid][pGroup] != PlayerInfo[toplayer][pGroup]) return SendClientMessage(playerid, COLOR_GREY, "That player is not in your group.");
- PlayerInfo[toplayer][pGroupRank] = rank;
- format(grStr, sizeof(grStr), "You have set %s's rank to %d.", PlayerOOCName(toplayer), rank);
- SendClientMessage(playerid, GetGroupColour(PlayerInfo[toplayer][pGroup]), grStr);
- format(grStr, sizeof(grStr), "An admin has set your group rank to %d", rank);
- SendClientMessage(toplayer, GetGroupColour(PlayerInfo[toplayer][pGroup]), grStr);
- }
- return 1;
- }
- // For faction leader
- CMD:togglegroupradio(playerid) {
- new playerGroup = PlayerInfo[playerid][pGroup];
- if(playerGroup != GROUP_NONE && PlayerInfo[playerid][pGroupRank] >= GetGroupMaxRanks(playerGroup)-1) {
- switch(groupRadioToggled[playerGroup])
- {
- case 0:
- {
- groupRadioToggled[playerGroup] = 1;
- SendClientMessage(playerid, GetGroupColour(playerGroup), "You have turned group radio off.");
- }
- case 1:
- {
- groupRadioToggled[playerGroup] = 0;
- SendClientMessage(playerid, GetGroupColour(playerGroup), "You have turned group radio on.");
- }
- }
- }
- return 1;
- }
- CMD:togglegr(playerid) return cmd_togglegroupradio(playerid);
- // For faction leader
- CMD:togglegroupoocradio(playerid) {
- new playerGroup = PlayerInfo[playerid][pGroup];
- if(playerGroup != GROUP_NONE && PlayerInfo[playerid][pGroupRank] >= GetGroupMaxRanks(playerGroup)-1) {
- switch(OOCgroupRadioToggled[playerGroup])
- {
- case 0:
- {
- OOCgroupRadioToggled[playerGroup] = 1;
- SendClientMessage(playerid, GetGroupColour(playerGroup), "You have turned the OOC group radio off.");
- }
- case 1:
- {
- OOCgroupRadioToggled[playerGroup] = 0;
- SendClientMessage(playerid, GetGroupColour(playerGroup), "You have turned the OOC group radio on.");
- }
- }
- }
- return 1;
- }
- CMD:togglegor(playerid) return cmd_togglegroupoocradio(playerid);
- CMD:groupradio(playerid, params[])
- {
- if(PlayerInfo[playerid][pGroup] == GROUP_NONE)
- return SendClientMessage(playerid, COLOR_GRAD1, "{FF0000}Error:{FFFFFF} You are not in a Group.");
- // If the player's group radio is toggled, and they aren't a leader.
- if(groupRadioToggled[PlayerInfo[playerid][pGroup]] && PlayerInfo[playerid][pGroupRank] < GetGroupMaxRanks(PlayerInfo[playerid][pGroup])-1)
- return SendClientMessage(playerid, COLOR_GREY, "The group radio is disabled.");
- new msg[128];
- if(sscanf(params, "s[128]", msg)) return SendClientMessage(playerid, COLOR_GREY, "{00BFFF}Usage:{FFFFFF} (/g)roup(r)adio [message]");
- if(CheckForJammer(playerid)) return SendClientMessage(playerid, COLOR_GREY, "Radio signal has been jammed.");
- new str[128];
- if(PlayerInfo[playerid][pGroup] == GROUP_HITMAN) format(str, sizeof(str), "** %s %s (%s): %s **", GetPlayerGroupRankName(playerid), PlayerICName(playerid), PlayerInfo[playerid][pGroupNick], msg);
- else format(str, sizeof(str), "** %s %s: %s **", GetPlayerGroupRankName(playerid), PlayerICName(playerid), msg);
- SendGroupMessage(PlayerInfo[playerid][pGroup], GetGroupColour(PlayerInfo[playerid][pGroup]), str);
- // For FBI | DEA bugs
- foreach( new i: Player )
- {
- if(PlayerInfo[i][pWire] == 1 && !CheckForJammer(playerid) && !CheckForJammer(i))
- {
- new Float: x[3];
- GetPlayerPos(playerid, x[0], x[1], x[2]);
- if(IsPlayerInRangeOfPoint(i, 20.0, x[0], x[1], x[2]))
- {
- if(i == playerid)
- {
- format(str, sizeof(str), "{8D8DFF}(BUGGED){AFAFAF} %s (radio): %s", PlayerOOCName(i), msg);
- }
- else
- {
- format(str, sizeof(str), "{8D8DFF}(BUGGED){AFAFAF} %s's surroundings (radio): %s", PlayerOOCName(i), msg);
- }
- if(PlayerInfo[i][pMember] != 2) // if player isn't FBI, send to both FBI and S9
- {
- SendBuggedMessage(COLOR_ORANGE, str);
- SendS9BuggedMessage(COLOR_ORANGE, str);
- }
- else SendS9BuggedMessage(COLOR_ORANGE, str); // if player is FBI, send to S9 only, this is to avoid FBI figuring out
- // that s9 bugged them
- }
- }
- }
-
- return 1;
- }
- CMD:groupoocradio(playerid, params[])
- {
- if(PlayerInfo[playerid][pGroup] == GROUP_NONE)
- return SendClientMessage(playerid, COLOR_GRAD1, "{FF0000}Error:{FFFFFF} You are not in a Group.");
- if(OOCgroupRadioToggled[PlayerInfo[playerid][pGroup]] && PlayerInfo[playerid][pGroupRank] < GetGroupMaxRanks(PlayerInfo[playerid][pGroup])-1)
- return SendClientMessage(playerid, COLOR_GREY, "The group OOC radio is disabled.");
- new msg[128];
- new str[128];
- if(sscanf(params, "s[128]", msg)) return SendClientMessage(playerid, COLOR_GREY, "{00BFFF}Usage:{FFFFFF} /(g)roup(o)oc(r)adio [message]");
- if(PlayerInfo[playerid][pGroup] == GROUP_HITMAN) format(str, sizeof(str), "** (( %s %s (%s): %s )) **", GetPlayerGroupRankName(playerid), PlayerICName(playerid), PlayerInfo[playerid][pGroupNick], msg);
- else format(str, sizeof(str), "** (( %s %s: %s )) **", GetPlayerGroupRankName(playerid), PlayerICName(playerid), msg);
- SendGroupMessage(PlayerInfo[playerid][pGroup], GetGroupColour(PlayerInfo[playerid][pGroup]), str);
-
- return 1;
- }
- CMD:g(playerid, params[]) return cmd_groupradio(playerid, params);
- CMD:gr(playerid, params[]) return cmd_groupradio(playerid, params);
- CMD:gor(playerid, params[]) return cmd_groupoocradio(playerid, params);
- /*
- Tijuana Cartel Armory - approved by Smo and scripted by Hank
- */
- CMD:crarmory(playerid)
- {
- if(PlayerInfo[playerid][pGroup] != GROUP_TIJUANA) return SendClientMessage(playerid, COLOR_GREY, "You're not authorized to use this command.");
- if(!IsPlayerInRangeOfPoint(playerid, 5.0, 1091.78, 2121.75, 15.35)) return SendClientMessage(playerid, COLOR_GREY,"You're not at the armory of the Network.");
- new cartelstr[1000];
- format(cartelstr, sizeof(cartelstr), "Item\tPrice");
- format(cartelstr, sizeof(cartelstr), "%s\nDeagle\t$100,000\nM4\t$150,000\nAK47\t$130,000\nFull Vest\t$45,000", cartelstr);
- format(cartelstr, sizeof(cartelstr), "%s\nFull HP\tFree\nMP5\t$50,000\nShotgun\t$30,000", cartelstr);
- ShowPlayerDialog(playerid, DIALOG_TIJUANA_ARMORY, DIALOG_STYLE_TABLIST_HEADERS, "Cartel Armory", cartelstr, "Purchase", "Cancel");
- return 1;
- }
- CMD:sethanickname(playerid, params[])
- {
- if(PlayerInfo[playerid][pGroup] != GROUP_HITMAN) return AdmErrorMsg;
- new id, name[13];
- if(sscanf(params, "us[13]", id, name)) return SendClientMessage(playerid, -1, "{00BFFF}Usage:{FFFFFF} /sethanickname [playerid/PartOfName] [nickname] (12 characters max)");
- if(!IsPlayerConnected(id) || id == INVALID_PLAYER_ID) return SendClientMessage(playerid, COLOR_GREY, "Invalid player.");
- if(PlayerInfo[id][pGroup] != GROUP_HITMAN) return SendClientMessage(playerid, COLOR_GREY, "That player is not in your group.");
-
- format(PlayerInfo[id][pGroupNick], 12, "%s", name);
- new msg[70];
- format(msg, sizeof(msg), "You have set %s's nickname to %s.", PlayerOOCName(id), PlayerInfo[id][pGroupNick]);
- SendClientMessage(playerid, GetGroupColour(PlayerInfo[playerid][pGroup]), msg);
- format(msg, sizeof(msg), "%s has set your nickname to %s", PlayerOOCName(playerid), PlayerInfo[id][pGroupNick]);
- SendClientMessage(id, GetGroupColour(PlayerInfo[playerid][pGroup]), msg);
- return 1;
- }
|