From d0748c9152bfeec9ca4dc1a98399d875667a1b21 Mon Sep 17 00:00:00 2001 From: Vortrex <3858226+VortrexFTW@users.noreply.github.com> Date: Wed, 10 Aug 2022 14:17:41 -0500 Subject: [PATCH] Some NPC cmds --- scripts/server/npc.js | 58 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) diff --git a/scripts/server/npc.js b/scripts/server/npc.js index 186c31ff..e902dfec 100644 --- a/scripts/server/npc.js +++ b/scripts/server/npc.js @@ -583,6 +583,64 @@ function setNPCNameCommand(command, params, client) { // =========================================================================== +function setNPCClanCommand(command, params, client) { + if (areParamsEmpty(params)) { + messagePlayerSyntax(client, getCommandSyntaxText(command)); + return false; + } + + let closestNPC = getClosestNPC(getPlayerPosition(client), getPlayerDimension(client), getPlayerInterior(client)); + let clanId = getClanFromParams(params); + + if (!getNPCData(closestNPC)) { + messagePlayerError(client, getLocaleString(client, "InvalidNPC")); + return false; + } + + if (!getClanData(clanId)) { + messagePlayerError(client, getLocaleString(client, "InvalidClan")); + return false; + } + + getNPCData(closestNPC).ownerType = AGRP_NPC_OWNER_CLAN; + getNPCData(closestNPC).ownerId = getClanData(clanId).databaseId; + getNPCData(closestNPC).needsSaved = true; + + messageAdmins(`{adminOrange}${getPlayerName(client)}{MAINCOLOUR} set {npcPink}${getNPCData(closestNPC).name}${MAINCOLOUR}'s clan to {clanOrange}${getClanData(clanId).name}`); +} + +// =========================================================================== + +function addNPCTriggerCommand(command, params, client) { + if (areParamsEmpty(params)) { + messagePlayerSyntax(client, getCommandSyntaxText(command)); + return false; + } + + let closestNPC = getClosestNPC(getPlayerPosition(client), getPlayerDimension(client), getPlayerInterior(client)); + let clanId = getClanFromParams(params); + + if (!getNPCData(closestNPC)) { + messagePlayerError(client, getLocaleString(client, "InvalidNPC")); + return false; + } + + if (!getClanData(clanId)) { + messagePlayerError(client, getLocaleString(client, "InvalidClan")); + return false; + } + + //let triggerData = new TriggerData(); + + getNPCData(closestNPC).ownerType = AGRP_NPC_OWNER_CLAN; + getNPCData(closestNPC).ownerId = getClanData(clanId).databaseId; + getNPCData(closestNPC).needsSaved = true; + + messageAdmins(`{adminOrange}${getPlayerName(client)}{MAINCOLOUR} set {npcPink}${getNPCData(closestNPC).name}${MAINCOLOUR}'s clan to {clanOrange}${getClanData(clanId).name}`); +} + +// =========================================================================== + function toggleNPCLookAtClosestPlayerCommand(command, params, client) { let closestNPC = getClosestNPC(getPlayerPosition(client), getPlayerDimension(client), getPlayerInterior(client));