Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <zcmd>
- #include <sscanf>
- #define MAX_GANGS 32
- #define MAX_GANG_NAME 16
- #define MAX_GANG_MEMBERS 6
- #define _red "{FF0000}"
- #define _white "{FFFFFF}"
- #define _grey "{AAAAAA}"
- #define _yellow "{FFFF00}"
- #define _green "{00FF00}"
- #define _blue "{0000FF}"
- #define _black "{000000}"
- #define _lowblue "{00C0FF}"
- enum pInfo {
- PlayerGang,
- GangInvite };
- enum gInfo {
- Created,
- Members,
- Color,
- Member[MAX_GANG_MEMBERS],
- Name[MAX_GANG_NAME] };
- new GangInfo[MAX_GANGS][gInfo],
- PlayerInfo[MAX_PLAYERS][pInfo];
- public OnPlayerConnect(playerid) {
- SetPlayerColor(playerid, ((random(0xFFFFFF) << 8) | 0xFF));
- return 1;
- }
- public OnPlayerText(playerid, text[]) {
- new string[128];
- if(text[0] == '!' && PlayerInfo[playerid][PlayerGang] > 0) {
- format(string, sizeof(string), ""_blue"Gang - "_yellow"%s: "_white"%s", PlayerName(playerid), text[1]);
- for(new i; i < MAX_PLAYERS; i++) if(IsPlayerConnected(i) && PlayerInfo[playerid][PlayerGang] == PlayerInfo[i][PlayerGang]) SendClientMessage(i, -1, string);
- return 0;
- }
- return 1;
- }
- CMD:gangcreate(playerid, params[]) {
- new string[128],
- name[32];
- if(PlayerInfo[playerid][PlayerGang] > 0) return SendClientMessage(playerid, -1, ""_red"ERROR: "_white"Már egy banda tagja vagy!");
- if(sscanf(params, "s", name)) return SendClientMessage(playerid, -1, ""_red"USAGE: "_white"/gangcreate [name]");
- for(new i = 1; i < MAX_GANGS; i++) {
- if(GangInfo[i][Created] == 0) {
- format(GangInfo[i][Name], MAX_GANG_NAME, "%s", name);
- GangInfo[i][Created] = 1;
- GangInfo[i][Members] = 1;
- GangInfo[i][Color] = GetPlayerColor(playerid);
- GangInfo[i][Member][0] = playerid;
- format(string, sizeof(string),""_green"Elkészítetted a Bandád. "_yellow"%s [id: %d]", GangInfo[i][Name], i);
- SendClientMessage(playerid, -1, string);
- PlayerInfo[playerid][PlayerGang] = i;
- return 1;
- }
- }
- return 1;
- }
- CMD:gangjoin(playerid, params[]) {
- new string[128],
- gangid = PlayerInfo[playerid][GangInvite];
- if(gangid == 0) return SendClientMessage(playerid, -1, ""_red"Nem vagy meghívva bandába!");
- if(GangInfo[gangid][Members] < MAX_GANG_MEMBERS) {
- new i = GangInfo[gangid][Members];
- GangInfo[gangid][Member][i] = playerid;
- for(new j = 0; j < GangInfo[gangid][Members]; j++) {
- format(string, sizeof(string),""_white"%s "_yellow"belépett a bandádba.", PlayerName(playerid));
- SendClientMessage(GangInfo[gangid][Member][j], -1, string);
- }
- GangInfo[gangid][Members]++;
- PlayerInfo[playerid][PlayerGang] = gangid;
- SetPlayerColor(playerid, GangInfo[gangid][Color]);
- format(string, sizeof(string),""_yellow"Beléptél a "_white"%s "_yellow"bandába.", GangInfo[gangid][Name]);
- SendClientMessage(playerid, -1, string);
- return 1;
- }
- SendClientMessage(playerid, -1, ""_red"Ez a banda televan.");
- return 1;
- }
- CMD:ganginvite(playerid, params[]) {
- new player1,
- string[128];
- if(PlayerInfo[playerid][PlayerGang] == 0) return SendClientMessage(playerid, -1, ""_red"ERROR: "_white"Nem vagy banda tagja!");
- if(sscanf(params, "d", player1)) return SendClientMessage(playerid, -1, ""_red"USAGE: "_white"/ganginvite [playerid]");
- if(!IsPlayerConnected(player1)) return SendClientMessage(playerid, -1, ""_red"ERROR: "_white"Rossz ID!");
- if(PlayerInfo[player1][PlayerGang] > 0) return SendClientMessage(playerid, -1, ""_red"ERROR: "_white"Ez a játékos már egy banda tagja!");
- format(string, sizeof(string),""_yellow"Küldtél egy meghívót "_white"%s "_yellow"játékosnak.", PlayerName(player1));
- SendClientMessage(playerid, -1, string);
- format(string, sizeof(string),""_white"%s "_yellow"küldött neked egy meghívót a(z) "_green"'%s' "_yellow"bandába.", PlayerName(playerid), GangInfo[PlayerInfo[playerid][PlayerGang]][Name]);
- SendClientMessage(player1, -1, string);
- PlayerInfo[player1][GangInvite] = PlayerInfo[playerid][PlayerGang];
- return 1;
- }
- CMD:gangkick(playerid, params[]) {
- new string[128],
- player1,
- gangid = PlayerInfo[playerid][PlayerGang];
- if(gangid == 0) return SendClientMessage(playerid, -1, ""_red"ERROR: "_white"Nem vagy banda tagja.");
- if(sscanf(params, "d", player1)) return SendClientMessage(playerid, -1, ""_red"USAGE: "_white"/gangkick [playerid]");
- if(!IsPlayerConnected(player1)) return SendClientMessage(playerid, -1, ""_red"ERROR: "_white"Rossz ID");
- if(PlayerInfo[player1][PlayerGang] != PlayerInfo[playerid][PlayerGang]) return SendClientMessage(playerid, -1, ""_red"ERROR: "_white"Ez a játékos nincs a bandádban!");
- for(new i = 0; i < GangInfo[gangid][Members]; i++) {
- if(GangInfo[gangid][Member][i] == player1) {
- GangInfo[gangid][Members]--;
- for(new j = i; j < GangInfo[gangid][Members]; j++) GangInfo[gangid][Member][j] = GangInfo[gangid][Member][j+1];
- if(GangInfo[gangid][Members] < 1) {
- GangInfo[gangid][Created] = 0;
- GangInfo[gangid][Members] = 0;
- }
- for(new j = 0; j < GangInfo[gangid][Members]; j++) {
- format(string, sizeof(string),""_white"%s "_red"ki lett rúgva a bandából "_white"%s "_red"által.", PlayerName(player1), PlayerName(playerid));
- SendClientMessage(GangInfo[gangid][Member][j], -1, string);
- }
- format(string, sizeof(string),""_red"Ki lettél rúgva a(z) "_white"'%s' "_red"bandából "_white"%s "_red"által.", GangInfo[gangid][Name], PlayerName(playerid));
- SendClientMessage(player1, -1, string);
- PlayerInfo[player1][PlayerGang] = 0;
- return 1;
- }
- }
- return 1;
- }
- CMD:gangleave(playerid, params[]) {
- new string[128],
- gangid = PlayerInfo[playerid][PlayerGang];
- if(gangid == 0) return SendClientMessage(playerid, -1, ""_red"ERROR: "_white"Nem vagy banda tagja.");
- for(new i = 0; i < GangInfo[gangid][Members]; i++) {
- if(GangInfo[gangid][Member][i] == playerid) {
- GangInfo[gangid][Members]--;
- for(new j = i; j < GangInfo[gangid][Members]; j++) GangInfo[gangid][Member][j] = GangInfo[gangid][Member][j+1];
- if(GangInfo[gangid][Members] < 1) {
- GangInfo[gangid][Created] = 0;
- GangInfo[gangid][Members] = 0;
- }
- for(new j = 0; j < GangInfo[gangid][Members]; j++) {
- format(string, sizeof(string),""_white"%s "_red"kilépett a bandádból.", PlayerName(playerid));
- SendClientMessage(GangInfo[gangid][Member][j], -1, string);
- }
- format(string, sizeof(string),""_white"Kiléptél a(z) "_white"'%s' "_red"bandából", GangInfo[gangid][Name]);
- SendClientMessage(playerid, -1, string);
- PlayerInfo[playerid][PlayerGang] = 0;
- return 1;
- }
- }
- return 1;
- }
- CMD:ganghelp(playerid, params[]) return ShowDialog(playerid, 3090);
- CMD:ganginfo(playerid, params[]) {
- new gangid,
- string[512];
- if(sscanf(params, "d", gangid)) return SendClientMessage(playerid, -1, ""_red"USAGE: "_white"/ganginfo [gangid]");
- if(GangInfo[gangid][Created] == 0) return SendClientMessage(playerid, -1, ""_red"ERROR: "_white"Ilyen banda nem létezik!");
- format(string, sizeof(string),""_white"'%s' "_yellow"Gang Members "_white"(id: %d)\n", GangInfo[gangid][Name], gangid);
- for(new i = 0; i < GangInfo[gangid][Members]; i++) format(string, sizeof(string),"%s\n"_white"%s (%d)", string, PlayerName(GangInfo[gangid][Member][i]), GangInfo[gangid][Member][i]);
- ShowDialog(playerid, 3100, string);
- return 1;
- }
- CMD:gangs(playerid, params[]) {
- new count = 0,
- string[512];
- for(new i = 0; i < MAX_GANGS; i++) {
- if(GangInfo[i][Created] == 1) {
- format(string, sizeof(string), "%s\n"_white"%s(%d) "_yellow"- "_white"%d "_yellow"members", string, GangInfo[i][Name], i, GangInfo[i][Members]);
- count++;
- }
- }
- if(count == 0) format(string, sizeof(string), ""_red"Nincs aktuális banda!");
- ShowDialog(playerid, 3110, string);
- return 1;
- }
- stock PlayerName(playerid) {
- new name[MAX_PLAYER_NAME];
- GetPlayerName(playerid, name, sizeof(name));
- return name;
- }
- stock ShowDialog(playerid, dialogid, string[] = "None.") {
- if(dialogid == 3090) return ShowPlayerDialog(playerid, 3090, DIALOG_STYLE_MSGBOX, "Gang System - HELP", ""_yellow"Create Gang - "_white"/gangcreate [name]\n"_yellow"Invite a player - "_white"/ganginvite [playerid]\n"_yellow"Join to gang - "_white"/gangjoin\n"_yellow"Leave from gang - "_white"/gangleave\n"_yellow"Kick from gang - "_white"/gangkick [playerid]\n"_yellow"Gang Chat - "_white"!your message [Example: !hello]", "Close", "");
- else if(dialogid == 3100) return ShowPlayerDialog(playerid, 3100, DIALOG_STYLE_MSGBOX, "Gang System - Gang Info", string, "Close", "");
- else if(dialogid == 3110) return ShowPlayerDialog(playerid, 3110, DIALOG_STYLE_MSGBOX, "Gang System - Gangs", string, "Close", "");
- else return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement