[spoiler]
case DIALOG_CLAN: {
if(!response) return ShowShop(playerid);
if(ExistaNumeClan(inputtext)) return SCM(playerid, COLOR_WARNING, "Exista deja un clan inregistrat cu acest nume!");
if(strlen(inputtext) < 2 || strlen(inputtext) > 20) {
SCM(playerid, COLOR_GREY, "Numele clanului trebuie sa aiba intre 3 si 20 caractere.");
if(sSlot[playerid] == 10) {
ShowPlayerDialog(playerid, DIALOG_CLAN, DIALOG_STYLE_INPUT, "Shop:", "Esti pe cale sa-ti creezi un clan cu 10 locuri disponibile.\nTot ce trebuie sa faci in acest moment,\
este sa-ti alegi numele clanului.\nNumele clanului trebuie sa contina intre 3 si 10 caractere.", "Ok", "Back");
}
else if(sSlot[playerid] == 20) {
ShowPlayerDialog(playerid, DIALOG_CLAN, DIALOG_STYLE_INPUT, "Shop:", "Esti pe cale sa-ti creezi un clan cu 20 locuri disponibile.\nTot ce trebuie sa faci in acest moment,\
este sa-ti alegi numele clanului.\nNumele clanului trebuie sa contina intre 3 si 10 caractere.", "Ok", "Back");
}
else if(sSlot[playerid] == 40) {
ShowPlayerDialog(playerid, DIALOG_CLAN, DIALOG_STYLE_INPUT, "Shop:", "Esti pe cale sa-ti creezi un clan cu 40 locuri disponibile.\nTot ce trebuie sa faci in acest moment,\
este sa-ti alegi numele clanului.\nNumele clanului trebuie sa contina intre 3 si 10 caractere.", "Ok", "Back");
}
return 1;
}
switch(sSlot[playerid]) {
case 10: {
if(PlayerInfo[playerid][pPremiumPoints] < 2000) return SCM(playerid, -1, "Nu ai destule puncte premium.");
else {
PlayerInfo[playerid][pPremiumPoints] -= 2000;
Update(playerid, pPremiumPointsx);
}
}
case 20: {
if(PlayerInfo[playerid][pPremiumPoints] < 3000)return SCM(playerid, -1, "Nu ai destule puncte premium.");
else {
PlayerInfo[playerid][pPremiumPoints] -= 3000;
Update(playerid, pPremiumPointsx);
}
}
case 40: {
if(PlayerInfo[playerid][pPremiumPoints] < 200)return SCM(playerid, -1, "Nu ai destule puncte premium.");
else {
PlayerInfo[playerid][pPremiumPoints] -= 200;
Update(playerid, pPremiumPointsx);
}
}
}
new
szDate[180],
Year, Month, Day, Hour, Minute, Second;
getdate(Year, Month, Day);
gettime(Hour, Minute, Second);
format(szDate, sizeof(szDate), "%02d/%02d/%d - %02d:%02d:%02d", Day, Month, Year, Hour, Minute, Second);
mysql_format(SQL, query, sizeof(query), "INSERT INTO `clans` (`Name`, `Owner`, `OwnerSQL`, `RegisterDate`, `Color`, `Slots`) VALUES ('%e', '%e', '%d', '%e', 'FFFFFF', '%d')", inputtext, PlayerInfo[playerid][pUsername], PlayerInfo[playerid][pSQLID], szDate, sSlot[playerid]);
new Cache: result = mysql_query(SQL, query);
new i = cache_insert_id();
cache_delete(result);
ClanInfo[i][clSlots] = sSlot[playerid];
format(ClanInfo[i][clName], 64, inputtext);
format(ClanInfo[i][clOwner], 256, PlayerInfo[playerid][pUsername]);
format(ClanInfo[i][clRegisterDate], 256, szDate);
format(ClanInfo[i][clColor], 256, "FFFFFF");
ClanMembers[i] ++;
PlayerInfo[playerid][pClan] = i;
PlayerInfo[playerid][pClanRank] = 6;
ClanInfo[i][clDays] = 60;
new szText[180];
format(szText, sizeof(szText), "Numele ales de tine este: %s.\nCel de-al doilea pas, este de a alege tagul clanului.\nTagul clanului trebuie sa contina intre 3 si 6 caractere.", inputtext);
ShowPlayerDialog(playerid, DIALOG_CLAN2, DIALOG_STYLE_INPUT, "Shop:", szText, "Ok", "");
format(query, sizeof(query), "UPDATE `users` SET `Clan`='%d', `ClanRank`='%d' WHERE `Name`='%s'", PlayerInfo[playerid][pClan], PlayerInfo[playerid][pClanRank], PlayerInfo[playerid][pUsername]);
mysql_query(SQL, query);
}
case DIALOG_CLAN2: {
if(!response) {
SCM(playerid, COLOR_WHITE, "Tagul clanului trebuie sa aiba intre 3 si 9 caractere.");
new szText[180];
format(szText, sizeof(szText), "Numele ales de tine este: %s.\nCel de-al doilea pas, este de a alege tagul clanului.\nTagul clanului trebuie sa contina intre 3 si 6 caractere.", ClanInfo[PlayerInfo[playerid][pClan]][clName]);
ShowPlayerDialog(playerid, DIALOG_CLAN2, DIALOG_STYLE_INPUT, "Shop:", szText, "Ok", "");
return 1;
}
if(!ValidClanTag(inputtext)) {
SCM(playerid, COLOR_GREY, "Tagul trebuie sa contina [ ] sau .");
new szText[180];
format(szText, sizeof(szText), "Numele ales de tine este: %s.\nCel de-al doilea pas, este de a alege tagul clanului.\nTagul clanului trebuie sa contina intre 3 si 6 caractere.", ClanInfo[PlayerInfo[playerid][pClan]][clName]);
ShowPlayerDialog(playerid, DIALOG_CLAN2, DIALOG_STYLE_INPUT, "Shop:", szText, "Ok", "");
return 1;
}
if(InvalidClanTag(inputtext)) {
SCM(playerid, COLOR_GREY, "Caractere invalide! Tag-ul nu poate contine #, {}, @.");
new szText[180];
format(szText, sizeof(szText), "Numele ales de tine este: %s.\nCel de-al doilea pas, este de a alege tagul clanului.\nTagul clanului trebuie sa contina intre 3 si 6 caractere.", ClanInfo[PlayerInfo[playerid][pClan]][clName]);
ShowPlayerDialog(playerid, DIALOG_CLAN2, DIALOG_STYLE_INPUT, "Shop:", szText, "Ok", "");
return 1;
}
if(ExistaTagClan(inputtext)) {
SCM(playerid, COLOR_WARNING, "Exista deja un clan inregistrat cu acest TAG!");
new szText[180];
format(szText, sizeof(szText), "Numele ales de tine este: %s.\nCel de-al doilea pas, este de a alege tagul clanului.\nTagul clanului trebuie sa contina intre 3 si 6 caractere.", inputtext);
ShowPlayerDialog(playerid, DIALOG_CLAN2, DIALOG_STYLE_INPUT, "Shop:", szText, "Ok", "");
return 1;
}
if(strlen(inputtext) < 3 || strlen(inputtext) > 9) {
SCM(playerid, COLOR_WHITE, "Tagul clanului trebuie sa aiba intre 3 si 9 caractere.");
new szText[180];
format(szText, sizeof(szText), "Numele ales de tine este: %s.\nCel de-al doilea pas, este de a alege tagul clanului.\nTagul clanului trebuie sa contina intre 3 si 6 caractere.", inputtext);
ShowPlayerDialog(playerid, DIALOG_CLAN2, DIALOG_STYLE_INPUT, "Shop:", szText, "Ok", "");
return 1;
}
new clanid = PlayerInfo[playerid][pClan];
format(ClanInfo[clanid][clTag], 32, inputtext);
format(query, sizeof(query), "UPDATE `clans` SET `Tag`='%s' WHERE `ID`='%d'", inputtext, clanid);
mysql_query(SQL, query);
// new szName[180];
format(string, sizeof(string), "Felicitari! Ti-ai cumparat din magazin, un clan cu %d locuri disponibile.", sSlot[playerid]);
SCM(playerid, COLOR_GOLD, string);
Update(playerid, pPremiumPointsx);
format(string, sizeof(string), "Informatii: Numele clanului, este %s (tag: %s). [clan #%d]", ClanInfo[clanid][clName], ClanInfo[clanid][clTag], PlayerInfo[playerid][pClan]);
SCM(playerid, COLOR_GOLD, string);
format(query, sizeof(query), "UPDATE `clans` SET `TagType`='%d' WHERE `ID`='%d'", listitem, clanid);
mysql_query(SQL, query);
format(ClanInfo[clanid][clRankName1], 32, "Rank 1");
format(ClanInfo[clanid][clRankName2], 32, "Rank 2");
format(ClanInfo[clanid][clRankName3], 32, "Rank 3");
format(ClanInfo[clanid][clRankName4], 32, "Rank 4");
format(ClanInfo[clanid][clRankName5], 32, "Rank 5");
format(ClanInfo[clanid][clRankName6], 32, "Rank 6");
format(ClanInfo[clanid][clMotd], 32, "None");
// format(szName, sizeof(szName), "%s%s", ClanInfo[clanid][clTag], PlayerInfo[playerid][pUsername]);
// SetPlayerName(playerid, szName);
}
case DIALOG_CLAN_SETTINGS:
{
if(!response) return ShowPlayerDialog(playerid, DIALOG_CLAN_COMMAND, DIALOG_STYLE_LIST, "Clan:", "Comenzile clanului\nMembrii clanului\nSetari\nTag", "Select", "Close");
switch(listitem)
{
case 0:
{
ShowPlayerDialog(playerid, DIALOG_CLAN_COLOR, DIALOG_STYLE_INPUT, "Setari:", "Scrie mai jos culoarea clanului. (EX: FFFFFF - ALB)\nSite recomandat: http://www.colorpicker.com/", "Select", "Back");
}
case 1:
{
ShowPlayerDialog(playerid, DIALOG_CLAN_MOTD, DIALOG_STYLE_INPUT, "Settings", "Introdu textul pe care vrei sa-l pui la MOTD.", "Select", "Back");
}
case 2:
{
ShowPlayerDialog(playerid, DIALOG_CLAN_RANK, DIALOG_STYLE_INPUT, "Settings", "Introdu numele pe care vrei sa-l pui la rankuri.", "Select", "Back");
}
case 3: {
if(PlayerInfo[playerid][pPremiumPoints] < 40) return SCM(playerid, COLOR_GREY, "Ai nevoie de 40 puncte premium pentru a face aceasta schimbare!");
ShowPlayerDialog(playerid, DIALOG_CLANNAME, DIALOG_STYLE_INPUT, "Change clan name", "Introdu mai jos numele pe care doresti sa-l aiba clanul.\nAceasta schimbare costa 40 puncte premium, gandeste-te bine la alegere!", "Select", "Back");
}
case 4: {
if(PlayerInfo[playerid][pPremiumPoints] < 40) return SCM(playerid, COLOR_GREY, "Ai nevoie de 40 puncte premium pentru a face aceasta schimbare!");
ShowPlayerDialog(playerid, DIALOG_CHANGETAG, DIALOG_STYLE_INPUT, "Change clan TAG", "Introdu mai jos numele pe care doresti sa-l aiba tagul clanului.\nAceasta schimbare costa 40 puncte premium, gandeste-te bine la alegere!", "Select", "Back");
}
case 5: {
if(PlayerInfo[playerid][pPremiumPoints] < 50) return SCM(playerid, COLOR_GREY, "Ai nevoie de 50 puncte premium pentru a face aceasta schimbare!");
new clanid = PlayerInfo[playerid][pClan];
PlayerInfo[playerid][pPremiumPoints] -= 50;
Update(playerid, pPremiumPointsx);
ClanInfo[clanid][clDays] += 30;
format(query, sizeof(query), "UPDATE `clans` SET `Days`='%d' WHERE `ID`='%d'", ClanInfo[clanid][clDays], clanid);
mysql_query(SQL, query);
format(string, sizeof(string), "Ai marit zilele clanului cu 30 de zile. Clanul tau va expira peste %d zile.", ClanInfo[clanid][clDays]);
SCM(playerid, COLOR_MONEY, string);
}
}
}
case DIALOG_CLANNAME: {
if(ExistaNumeClan(inputtext)) return SCM(playerid, COLOR_WARNING, "Exista deja un clan inregistrat cu acest nume!");
if(strlen(inputtext) < 3 || strlen(inputtext) > 10) return SCM(playerid, COLOR_GREY, "Numele clanului trebuie sa contina cel putin 3 caractere si maxim 10!");
if(PlayerInfo[playerid][pPremiumPoints] < 40) return SCM(playerid, COLOR_GREY, "Ai nevoie de 40 puncte premium pentru a face aceasta schimbare!");
PlayerInfo[playerid][pPremiumPoints] -= 40;
Update(playerid, pPremiumPointsx);
new clanid = PlayerInfo[playerid][pClan];
format(ClanInfo[clanid][clName], 64, inputtext);
format(query, sizeof(query), "UPDATE `clans` SET `Name`='%s' WHERE `ID`='%d'", inputtext, clanid);
mysql_query(SQL, query);
format(string, sizeof(string), "{%s}[CLAN] %s a schimbat numele clanului in %s.", ClanInfo[clanid][clColor], GetName(playerid), inputtext);
SendClanMessage(clanid, string);
new tagname[180];
for(new i = 0; i < MAX_SAFEZONES; i++)
{
if(GraffitiInfo[i][gfOwned] == PlayerInfo[playerid][pClan]) {
DestroyDynamicObject(GraffitiInfo[i][gfObject]);
GraffitiInfo[i][gfObject] = CreateDynamicObject(19353, GraffitiInfo[i][gfX], GraffitiInfo[i][gfY], GraffitiInfo[i][gfZ], 0.0, 0.0, GraffitiInfo[i][gfRot]);
format(tagname, sizeof(tagname), "{%s}%s\n%s", ClanInfo[GraffitiInfo[i][gfOwned]][clColor], ClanInfo[GraffitiInfo[i][gfOwned]][clName], ClanInfo[GraffitiInfo[i][gfOwned]][clTag]);
SetDynamicObjectMaterialText(GraffitiInfo[i][gfObject], 0, tagname, OBJECT_MATERIAL_SIZE_512x256, "BankGothic Md BT", 60, 1, 0xfff0f0f0, 0, OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
}
}
}
case DIALOG_CHANGETAG: {
if(ExistaTagClan(inputtext)) return SCM(playerid, COLOR_WARNING, "Exista deja un clan inregistrat cu acest TAG!");
if(!ValidClanTag(inputtext)) return SCM(playerid, COLOR_GREY, "Tagul trebuie sa contina [ ] sau .");
if(InvalidClanTag(inputtext)) return SCM(playerid, COLOR_GREY, "Caractere invalide! Tag-ul nu poate contine #, {}, @.");
if(strlen(inputtext) < 3 || strlen(inputtext) > 10) return SCM(playerid, COLOR_GREY, "Tagul clanului trebuie sa contina cel putin 3 caractere si maxim 10!");
if(PlayerInfo[playerid][pPremiumPoints] < 40) return SCM(playerid, COLOR_GREY, "Ai nevoie de 40 puncte premium pentru a face aceasta schimbare!");
new clanid = PlayerInfo[playerid][pClan];
PlayerInfo[playerid][pPremiumPoints] -= 40;
Update(playerid, pPremiumPointsx);
format(ClanInfo[clanid][clTag], 64, inputtext);
format(query, sizeof(query), "UPDATE `clans` SET `Tag`='%s' WHERE `ID`='%d'", inputtext, clanid);
mysql_query(SQL, query);
format(string, sizeof(string), "{%s}[CLAN] %s a schimbat TAG-ul clanului in %s.", ClanInfo[clanid][clColor], GetName(playerid), inputtext);
SendClanMessage(clanid, string);
new tagname[180];
for(new i = 0; i < MAX_SAFEZONES; i++)
{
if(GraffitiInfo[i][gfOwned] == PlayerInfo[playerid][pClan]) {
DestroyDynamicObject(GraffitiInfo[i][gfObject]);
GraffitiInfo[i][gfObject] = CreateDynamicObject(19353, GraffitiInfo[i][gfX], GraffitiInfo[i][gfY], GraffitiInfo[i][gfZ], 0.0, 0.0, GraffitiInfo[i][gfRot]);
format(tagname, sizeof(tagname), "{%s}%s\n%s", ClanInfo[GraffitiInfo[i][gfOwned]][clColor], ClanInfo[GraffitiInfo[i][gfOwned]][clName], ClanInfo[GraffitiInfo[i][gfOwned]][clTag]);
SetDynamicObjectMaterialText(GraffitiInfo[i][gfObject], 0, tagname, OBJECT_MATERIAL_SIZE_512x256, "BankGothic Md BT", 60, 1, 0xfff0f0f0, 0, OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
}
}
foreach(Player, i) {
if(PlayerInfo[i][pClan] == clanid && IsPlayerConnected(i)) {
if(PlayerInfo[i][pTag] == 0) {
format(string, sizeof(string), "%s%s", ClanInfo[clanid][clTag], PlayerInfo[i][pUsername]);
SetPlayerName(i, string);
}
else if(PlayerInfo[i][pTag] == 1) {
format(string, sizeof(string), "%s%s", PlayerInfo[i][pUsername], ClanInfo[clanid][clTag]);
SetPlayerName(i, string);
}
}
}
}
case DIALOG_CLAN_COLOR:
{
new clanid = PlayerInfo[playerid][pClan];
if(!response) return ShowPlayerDialog(playerid, DIALOG_CLAN_SETTINGS, DIALOG_STYLE_LIST, "Setari:", "Schimba culoarea\nSchimba MOTD-ul\nSchimba numele rankurilor\n{FFCC00}(620 PP){FFFFFF} Schimba numele clanului\n{FFCC00}(310 PP){FFFFFF} Schimba tagul clanului\n{FFCC00}(720PP){FFFFFF} +30 Clan days", "Select", "Back");
if(strlen(inputtext) <= 0 || strlen(inputtext) > 6) return ShowPlayerDialog(playerid, DIALOG_CLAN_SETTINGS, DIALOG_STYLE_LIST, "Setari:", "Schimba culoarea\nSchimba MOTD-ul\nSchimba numele rankurilor\n{FFCC00}(620 PP){FFFFFF} Schimba numele clanului\n{FFCC00}(310 PP){FFFFFF} Schimba tagul clanului\n{FFCC00}(720PP){FFFFFF} +30 Clan days", "Select", "Back");
format(ClanInfo[clanid][clColor], 256, inputtext);
format(string, sizeof(string), "{%s}[CLAN] %s a schimbat culoarea la clan.", ClanInfo[clanid][clColor], GetName(playerid), inputtext);
SendClanMessage(clanid, string);
new tagname[180];
for(new i = 0; i < MAX_SAFEZONES; i++)
{
if(GraffitiInfo[i][gfOwned] == PlayerInfo[playerid][pClan]) {
DestroyDynamicObject(GraffitiInfo[i][gfObject]);
GraffitiInfo[i][gfObject] = CreateDynamicObject(19353, GraffitiInfo[i][gfX], GraffitiInfo[i][gfY], GraffitiInfo[i][gfZ], 0.0, 0.0, GraffitiInfo[i][gfRot]);
format(tagname, sizeof(tagname), "{%s}%s\n%s", ClanInfo[GraffitiInfo[i][gfOwned]][clColor], ClanInfo[GraffitiInfo[i][gfOwned]][clName], ClanInfo[GraffitiInfo[i][gfOwned]][clTag]);
SetDynamicObjectMaterialText(GraffitiInfo[i][gfObject], 0, tagname, OBJECT_MATERIAL_SIZE_512x256, "BankGothic Md BT", 60, 1, 0xfff0f0f0, 0, OBJECT_MATERIAL_TEXT_ALIGN_CENTER);
}
}
format(query, sizeof(query), "UPDATE `clans` SET `Color`='%s' WHERE `ID`='%d'", ClanInfo[clanid][clColor], clanid);
mysql_query(SQL, query);
}
case DIALOG_CLAN_MOTD:
{
if(!response) return ShowPlayerDialog(playerid, DIALOG_CLAN_SETTINGS, DIALOG_STYLE_LIST, "Setari:", "Schimba culoarea\nSchimba MOTD-ul\nSchimba numele rankurilor\n{FFCC00}(620 PP){FFFFFF} Schimba numele clanului\n{FFCC00}(310 PP){FFFFFF} Schimba tagul clanului\n{FFCC00}(720PP){FFFFFF} +30 Clan days", "Select", "Back");
new clanid = PlayerInfo[playerid][pClan];
format(string, sizeof(string), "{%s}[CLAN] %s a schimbat MOTD clan in %s.", ClanInfo[clanid][clColor], GetName(playerid), inputtext);
SendClanMessage(clanid, string);
format(ClanInfo[clanid][clMotd], 32, "%s", inputtext);
format(query, sizeof(query), "UPDATE `clans` SET `Motd`='%s' WHERE `ID`='%d'", ClanInfo[clanid][clMotd], clanid);
mysql_query(SQL, query);
}
case DIALOG_CLAN_RANK:
{
if(!response) return ShowPlayerDialog(playerid, DIALOG_CLAN_SETTINGS, DIALOG_STYLE_LIST, "Setari:", "Schimba culoarea\nSchimba MOTD-ul\nSchimba numele rankurilor\n{FFCC00}(620 PP){FFFFFF} Schimba numele clanului\n{FFCC00}(310 PP){FFFFFF} Schimba tagul clanului\n{FFCC00}(720PP){FFFFFF} +30 Clan days", "Select", "Back");
format(string, sizeof(string), "%s", inputtext);
format(szRank[playerid], 256, string);
ShowPlayerDialog(playerid, DIALOG_CLAN_RANK2, DIALOG_STYLE_LIST, "Selecteaza rank-ul:", "Rank 1\nRank 2\nRank 3\nRank 4\nRank 5\nRank 6", "Schimba", "Back");
}
case DIALOG_CLAN_RANK2:
{
if(!response) return ShowPlayerDialog(playerid, DIALOG_CLAN_RANK, DIALOG_STYLE_INPUT, "Setarile clanului:", "{FFFFFF}Introdu numele pe care vrei sa-l pui la rankuri.", "Select", "Back");
new
ClanRank,
clanid = PlayerInfo[playerid][pClan];
switch(listitem) {
case 0: {
ClanRank = 1;
format(ClanInfo[clanid][clRankName1], 32, "%s", szRank[playerid]);
format(query, sizeof(query), "UPDATE `clans` SET `RankName1`='%s' WHERE `ID`='%d'", ClanInfo[clanid][clRankName1], clanid);
mysql_query(SQL, query);
}
case 1: {
ClanRank = 2;
format(ClanInfo[clanid][clRankName2], 32, "%s", szRank[playerid]);
format(query, sizeof(query), "UPDATE `clans` SET `RankName2`='%s' WHERE `ID`='%d'", ClanInfo[clanid][clRankName2], clanid);
mysql_query(SQL, query);
}
case 2: {
ClanRank = 3;
format(ClanInfo[clanid][clRankName3], 32, "%s", szRank[playerid]);
format(query, sizeof(query), "UPDATE `clans` SET `RankName3`='%s' WHERE `ID`='%d'", ClanInfo[clanid][clRankName3], clanid);
mysql_query(SQL, query);
}
case 3: {
ClanRank = 4;
format(ClanInfo[clanid][clRankName4], 32, "%s", szRank[playerid]);
format(query, sizeof(query), "UPDATE `clans` SET `RankName4`='%s' WHERE `ID`='%d'", ClanInfo[clanid][clRankName4], clanid);
mysql_query(SQL, query);
}
case 4: {
ClanRank = 5;
format(ClanInfo[clanid][clRankName5], 32, "%s", szRank[playerid]);
format(query, sizeof(query), "UPDATE `clans` SET `RankName5`='%s' WHERE `ID`='%d'", ClanInfo[clanid][clRankName5], clanid);
mysql_query(SQL, query);
}
case 5: {
ClanRank = 6;
format(ClanInfo[clanid][clRankName6], 32, "%s", szRank[playerid]);
format(query, sizeof(query), "UPDATE `clans` SET `RankName6`='%s' WHERE `ID`='%d'", ClanInfo[clanid][clRankName6], clanid);
mysql_query(SQL, query);
}
}
format(string, sizeof(string), "{%s}[CLAN] %s a schimbat name rank %d in %s.", ClanInfo[clanid][clColor], GetName(playerid), ClanRank, szRank[playerid]);
SendClanMessage(clanid, string);
}
[/spoiler]
Aici e sistemul de clan..