/* trablon's Group System with mySQL R7 version Script coder: trablon(Onur AKAN) NOTE: Don't forget to check my topic on forum.sa-mp.com ---[INFO FOR SCRIPT]--- table name: groupz columns: gID(int),gName(varchar=128),gLeaderName(varchar=32),gchat(int),gTAG(varchar=5) ... ---[INFO FOR YOUR DATABASE(players)]--- table name: yourplayerstable columns: grouppid(int),grouprank(varchar=32) ... */ //====================================================================[includes] #include #include #include #include //=================================================================[definitions] #define COLOR_GREY 0xAFAFAFAA #define COLOR_RED 0xFF6347AA #define COLOR_GREEN 0x9ACD32AA #define MAX_GROUPS 150//you can change it, if you know what you are doing. enum groupsDATA { gID, gName[128], gLeaderName[32], gchat, gTAG }; new GroupInfo[MAX_GROUPS][groupsDATA]; new mysql=1; // remember..Don't forget to delete it when you are copying the codes to your gamemode new groupid=-1; enum playerDATA { grouppid, grouprank[32] }; new pInfo[MAX_PLAYERS][playerDATA]; new groupvariables[MAX_PLAYERS][2]; // ============================================================================= public OnFilterScriptInit() { print("_________________________________________________________________________"); print("> trablon's Group System - ALPHA"); print("> Script Name : Group System"); print("> Script Version : ALPHA"); print("> Script Coder : trablon"); print("> Last Update : 22/07/2015"); print("> mySQL Version : R7 - threaded queries"); print("_________________________________________________________________________"); return 1; } public OnFilterScriptExit() { return 1; } public OnPlayerConnect(playerid) { groupvariables[playerid][0] = -1; groupvariables[playerid][1] = 0; return 1; } public OnPlayerDisconnect(playerid,reason) { groupvariables[playerid][0] = -1; groupvariables[playerid][1] = 0; return 1; } public OnPlayerSpawn(playerid) { SetTagforPlayer(playerid,GroupInfo[pInfo[playerid][grouppid]][gTAG]); return 1; } public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) { if(dialogid == 1) { new str[128]; if(!response) { format(str,sizeof(str),"[SYSTEM]: '%s' has declined your invite.",GetPlayerNamee(playerid)); SendClientMessage(groupvariables[playerid][0],COLOR_RED,str); SendClientMessage(playerid,COLOR_RED,"[SYSTEM]: You have declined the invite."); groupvariables[playerid][0] = -1; groupvariables[playerid][1] = 0; } if(response) { format(str,sizeof(str),"[SYSTEM]: '%s' has accepted your invite.",GetPlayerNamee(playerid)); SendClientMessage(groupvariables[playerid][0],COLOR_GREEN,str); SendClientMessage(playerid,COLOR_RED,"[SYSTEM]: You have accepted the invite."); pInfo[playerid][grouppid] = pInfo[groupvariables[playerid][0]][grouppid]; groupvariables[playerid][0] = -1; groupvariables[playerid][1] = 0; } } return 1; } stock LoadGroups() { return mysql_function_query(mysql, "SELECT * FROM `groupz`", true, "GroupsInformation", ""); } stock SendGroupMessage(color, groupID, string[]) { for(new i;i 5 || strlen(str) < 5 ) return SendClientMessage(playerid,COLOR_RED,"[ERROR]: Your group tag must be set max. 5 character."); format(GroupInfo[id][gTAG],5,str); format(string,sizeof(string),"[GROUP-ATTENTION(%s)]: %s named group leader has changed group TAG as '%s'.",GroupInfo[id][gName],GetPlayerNamee(playerid),str); SendGroupMessage(0x8080FFFF, id, string); return 1; } //=========================================================================[END]