Too much for individual commits
This commit is contained in:
@@ -11,6 +11,7 @@
|
||||
function initClanScript() {
|
||||
console.log("[Asshat.Clan]: Initializing clans script ...");
|
||||
getServerData().clans = loadClansFromDatabase();
|
||||
setAllClanDataIndexes();
|
||||
console.log("[Asshat.Clan]: Clan script initialized successfully!");
|
||||
return true;
|
||||
}
|
||||
@@ -45,7 +46,7 @@ function loadClansFromDatabase() {
|
||||
return tempClans;
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
function createClanCommand(command, params, client) {
|
||||
if(areParamsEmpty(params)) {
|
||||
@@ -60,10 +61,10 @@ function createClanCommand(command, params, client) {
|
||||
|
||||
// Create clan without owner. Can set owner with /clanowner afterward
|
||||
createClan(params);
|
||||
messagePlayerSuccess(client, `The [#FF9900]${params} [#FFFFFF]clan has been created!`);
|
||||
messageAdmins(`[#AAAAAA]${client.name} [#FFFFFF]created clan[#FF9900]${params}`);
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
function deleteClanCommand(command, params, client) {
|
||||
if(areParamsEmpty(params)) {
|
||||
@@ -78,14 +79,14 @@ function deleteClanCommand(command, params, client) {
|
||||
return false;
|
||||
}
|
||||
|
||||
messagePlayerSuccess(client, `The [#FF9900]${getClanData(clanId).name} [#FFFFFF]clan has been deleted!`);
|
||||
messageAdmins(`[#AAAAAA]${client.name} [#FFFFFF]deleted clan[#FF9900]${getClanData(clanId).name}`);
|
||||
deleteClan(clanId);
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
function setClanOwnerCommand(command, params, client) {
|
||||
if(!doesClientHaveClanPermission(client, getClanFlagValue("owner"))) {
|
||||
if(!doesPlayerHaveClanPermission(client, getClanFlagValue("owner"))) {
|
||||
messagePlayerError(client, "You must be the clan owner to use this command!");
|
||||
return false;
|
||||
}
|
||||
@@ -94,12 +95,31 @@ function setClanOwnerCommand(command, params, client) {
|
||||
messagePlayerSyntax(client, getCommandSyntaxText(command));
|
||||
return false;
|
||||
}
|
||||
|
||||
let splitParams = params.split(" ");
|
||||
let clanId = getClanFromParams(splitParams[0]);
|
||||
let targetClient = getPlayerFromParams(splitParams[1]);
|
||||
|
||||
if(!targetClient) {
|
||||
messagePlayerError(client, "Player not found!");
|
||||
return false;
|
||||
}
|
||||
|
||||
if(!getClanData(clanId)) {
|
||||
messagePlayerError(client, "Clan not found!");
|
||||
return false;
|
||||
}
|
||||
|
||||
getClanData(clanId).owner = getPlayerCurrentSubAccount(targetClient).databaseId;
|
||||
getPlayerCurrentSubAccount(targetClient).clanFlags = getClanFlagValue("all");
|
||||
|
||||
messageAdmins(`[#AAAAAA]${client.name} [#FFFFFF]set clan[#FF9900]${getClanData(clanId).name} [#FFFFFF]owner to [#AAAAAA]${getCharacterFullName(targetClient)}`);
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
function setClanTagCommand(command, params, client) {
|
||||
if(!doesClientHaveClanPermission(client, getClanFlagValue("clanTag"))) {
|
||||
if(!doesPlayerHaveClanPermission(client, getClanFlagValue("clanTag"))) {
|
||||
messagePlayerError(client, "You can not change the clan tag!");
|
||||
return false;
|
||||
}
|
||||
@@ -108,12 +128,23 @@ function setClanTagCommand(command, params, client) {
|
||||
messagePlayerSyntax(client, getCommandSyntaxText(command));
|
||||
return false;
|
||||
}
|
||||
|
||||
let clanId = getPlayerClan(client);
|
||||
|
||||
if(!getClanData(clanId)) {
|
||||
messagePlayerError(client, "Clan not found!");
|
||||
return false;
|
||||
}
|
||||
|
||||
getClanData(clanId).params = params;
|
||||
|
||||
messageAdmins(`[#AAAAAA]${client.name} [#FFFFFF]set clan[#FF9900]${getClanData(clanId).index} [#FFFFFF]tag to [#AAAAAA]${params}`);
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
function setClanNameCommand(command, params, client) {
|
||||
if(!doesClientHaveClanPermission(client, getClanFlagValue("clanName"))) {
|
||||
if(!doesPlayerHaveClanPermission(client, getClanFlagValue("clanName"))) {
|
||||
messagePlayerError(client, "You can not change the clan name!");
|
||||
return false;
|
||||
}
|
||||
@@ -122,12 +153,23 @@ function setClanNameCommand(command, params, client) {
|
||||
messagePlayerSyntax(client, getCommandSyntaxText(command));
|
||||
return false;
|
||||
}
|
||||
|
||||
let clanId = getPlayerClan(client);
|
||||
|
||||
if(!getClanData(clanId)) {
|
||||
messagePlayerError(client, "Clan not found!");
|
||||
return false;
|
||||
}
|
||||
|
||||
getClanData(clanId).name = params;
|
||||
|
||||
messageAdmins(`[#AAAAAA]${client.name} [#FFFFFF]set clan[#FF9900]${getClanData(clanId).index} [#FFFFFF]name to [#AAAAAA]${params}`);
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
function setClanMemberTagCommand(command, params, client) {
|
||||
if(!doesClientHaveClanPermission(client, getClanFlagValue("memberTag"))) {
|
||||
if(!doesPlayerHaveClanPermission(client, getClanFlagValue("memberTag"))) {
|
||||
messagePlayerError(client, "You can not change a clan member's tag!");
|
||||
return false;
|
||||
}
|
||||
@@ -136,12 +178,31 @@ function setClanMemberTagCommand(command, params, client) {
|
||||
messagePlayerSyntax(client, getCommandSyntaxText(command));
|
||||
return false;
|
||||
}
|
||||
|
||||
let splitParams = params.split(" ");
|
||||
let targetClient = getPlayerFromParams(splitParams[0]);
|
||||
let tag = splitParams[1] || "";
|
||||
|
||||
if(!targetClient) {
|
||||
messagePlayerError(client, "Player not found!");
|
||||
return false;
|
||||
}
|
||||
|
||||
if(!arePlayersInSameClan(client, targetClient) && !doesPlayerHaveStaffPermission(client, getStaffFlagValue("manageClans"))) {
|
||||
messagePlayerError(client, `${getCharacterFullName(targetClient)} is not in your clan!`);
|
||||
return false;
|
||||
}
|
||||
|
||||
getPlayerCurrentSubAccount(targetClient).clanTag = tag;
|
||||
|
||||
messagePlayerSuccess(client, `You set [#AAAAAA]${getCharacterFullName(targetClient)}'s [#FFFFFF]clan tag to [#AAAAAA]${tag}`);
|
||||
messagePlayerAlert(client, `[#AAAAAA]${getCharacterFullName(targetClient)} [#FFFFFF]set your clan tag to [#AAAAAA]${tag}`);
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
function setClanRankTagCommand(command, params, client) {
|
||||
if(!doesClientHaveClanPermission(client, getClanFlagValue("rankTag"))) {
|
||||
if(!doesPlayerHaveClanPermission(client, getClanFlagValue("rankTag"))) {
|
||||
messagePlayerError(client, "You can not change a clan ranks's tag!");
|
||||
return false;
|
||||
}
|
||||
@@ -168,10 +229,10 @@ function setClanRankTagCommand(command, params, client) {
|
||||
}
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
function addClanMemberFlagCommand(command, params, client) {
|
||||
if(!doesClientHaveClanPermission(client, getClanFlagValue("memberFlags"))) {
|
||||
if(!doesPlayerHaveClanPermission(client, getClanFlagValue("memberFlags"))) {
|
||||
messagePlayerError(client, "You can not change a clan member's permissions!");
|
||||
return false;
|
||||
}
|
||||
@@ -205,10 +266,10 @@ function addClanMemberFlagCommand(command, params, client) {
|
||||
messagePlayerSuccess(client, `You added the [#AAAAAA]${splitParams[1]} [#FFFFFF]clan flag to [#AAAAAA]${getCharacterFullName(client)}`);
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
function removeClanMemberFlagCommand(command, params, client) {
|
||||
if(!doesClientHaveClanPermission(client, getClanFlagValue("memberFlags"))) {
|
||||
if(!doesPlayerHaveClanPermission(client, getClanFlagValue("memberFlags"))) {
|
||||
messagePlayerError(client, "You can not change a clan member's permissions!");
|
||||
return false;
|
||||
}
|
||||
@@ -242,10 +303,10 @@ function removeClanMemberFlagCommand(command, params, client) {
|
||||
messagePlayerSuccess(client, `You removed the [#AAAAAA]${splitParams[1]} [#FFFFFF]clan flag from [#AAAAAA]${getCharacterFullName(client)}`);
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
function addClanRankFlagCommand(command, params, client) {
|
||||
if(!doesClientHaveClanPermission(client, getClanFlagValue("rankFlags"))) {
|
||||
if(!doesPlayerHaveClanPermission(client, getClanFlagValue("rankFlags"))) {
|
||||
messagePlayerError(client, "You can not change a clan rank's permissions!");
|
||||
return false;
|
||||
}
|
||||
@@ -280,10 +341,10 @@ function addClanRankFlagCommand(command, params, client) {
|
||||
messagePlayerSuccess(client, `You added the [#AAAAAA]${splitParams[1]} [#FFFFFF]clan flag to rank [#AAAAAA]${getClanRankData(clanId, rankId).name}`);
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
function removeClanRankFlagCommand(command, params, client) {
|
||||
if(!doesClientHaveClanPermission(client, getClanFlagValue("rankFlags"))) {
|
||||
if(!doesPlayerHaveClanPermission(client, getClanFlagValue("rankFlags"))) {
|
||||
messagePlayerError(client, "You can not change a clan rank's permissions!");
|
||||
return false;
|
||||
}
|
||||
@@ -318,10 +379,10 @@ function removeClanRankFlagCommand(command, params, client) {
|
||||
messagePlayerSuccess(client, `You removed the [#AAAAAA]${splitParams[1]} [#FFFFFF]clan flag from rank [#AAAAAA]${getClanRankData(clanId, rankId).name}`);
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
function setClanMemberTitleCommand(command, params, client) {
|
||||
if(!doesClientHaveClanPermission(client, getClanFlagValue("memberTitle"))) {
|
||||
if(!doesPlayerHaveClanPermission(client, getClanFlagValue("memberTitle"))) {
|
||||
messagePlayerError(client, "You can not change a clan member's title!");
|
||||
return false;
|
||||
}
|
||||
@@ -350,10 +411,10 @@ function setClanMemberTitleCommand(command, params, client) {
|
||||
messagePlayerSuccess(client, `You changed the name of [#AAAAAA]${getCharacterFullName(client)} [#FFFFFF]from [#AAAAAA]${oldMemberTitle} [#FFFFFF]to [#AAAAAA]${params}`);
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
function setClanRankTitleCommand(command, params, client) {
|
||||
if(!doesClientHaveClanPermission(client, getClanFlagValue("rankTitle"))) {
|
||||
if(!doesPlayerHaveClanPermission(client, getClanFlagValue("rankTitle"))) {
|
||||
messagePlayerError(client, "You can not change your clan's rank titles!");
|
||||
return false;
|
||||
}
|
||||
@@ -382,7 +443,7 @@ function setClanRankTitleCommand(command, params, client) {
|
||||
messagePlayerSuccess(client, `You changed the name of rank ${rankId} from [#AAAAAA]${oldRankName} [#FFFFFF]to [#AAAAAA]${params}`);
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
function createClan(name) {
|
||||
let dbConnection = connectToDatabase();
|
||||
@@ -402,7 +463,7 @@ function createClan(name) {
|
||||
return true;
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
function deleteClan(clanId) {
|
||||
saveClansToDatabase();
|
||||
@@ -420,7 +481,7 @@ function deleteClan(clanId) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
function getClanData(clanId) {
|
||||
let clans = getServerData().clans;
|
||||
@@ -433,7 +494,7 @@ function getClanData(clanId) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
function doesClanNameExist(name) {
|
||||
let clans = getServerData().clans;
|
||||
@@ -446,7 +507,7 @@ function doesClanNameExist(name) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
function doesClanIdExist(clanId) {
|
||||
let clans = getServerData().clans;
|
||||
@@ -459,13 +520,13 @@ function doesClanIdExist(clanId) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
function reloadAllClans() {
|
||||
getServerData().clans = loadClansFromDatabase();
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
function saveClansToDatabase() {
|
||||
let clans = getServerData().clans;
|
||||
@@ -474,7 +535,7 @@ function saveClansToDatabase() {
|
||||
}
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
function saveClanToDatabase(clanData) {
|
||||
let dbConnection = connectToDatabase();
|
||||
@@ -489,58 +550,88 @@ function saveClanToDatabase(clanData) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
function setClanTag(clanId, tag) {
|
||||
getClanData(clanId).tag = tag;
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
function setClanOwner(clanId, ownerId) {
|
||||
getClanData(clanId).ownerId = ownerId;
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
function setClanMemberTag(memberId, tag) {
|
||||
// finish this later, need to query db
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
function setClanMemberFlags(memberId, flags) {
|
||||
// finish this later, need to query db
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
function setClanMemberTitle(memberId, title) {
|
||||
// finish this later, need to query db
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
function setClanRankTag(clanId, rankId, tag) {
|
||||
getClanRankData(clanId, rankId).tag = tag;
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
function setClanRankFlags(clanId, rankId, flags) {
|
||||
getClanRankData(clanId, rankId).flags = flags;
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
function setClanRankTitle(clanId, rankId, title) {
|
||||
getClanRankData(clanId, rankId).title = title;
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
function saveAllClansToDatabase() {
|
||||
for(let i in getServerData().clans) {
|
||||
saveClanToDatabase(getServerData().clans[i]);
|
||||
}
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
function setAllClanDataIndexes() {
|
||||
for(let i in getServerData().clans) {
|
||||
getServerData().clans[i].index = i;
|
||||
|
||||
for(let j in getServerData().clans[i].ranks) {
|
||||
getServerData().clans[i].ranks[j].index = j;
|
||||
getServerData().clans[i].ranks[j].clanIndex = i;
|
||||
}
|
||||
|
||||
for(let k in getServerData().clans[i].members) {
|
||||
getServerData().clans[i].members[k].index = k;
|
||||
getServerData().clans[i].members[k].clanIndex = i;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
|
||||
function arePlayersInSameClan(client1, client2) {
|
||||
if(getPlayerClan(client1) == getPlayerClan(client2)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
// ---------------------------------------------------------------------------
|
||||
Reference in New Issue
Block a user