mirror of
https://github.com/Resxt/Plutonium-T6-Scripts.git
synced 2025-04-19 13:42:54 +00:00
164 lines
3.7 KiB
Plaintext
164 lines
3.7 KiB
Plaintext
#include scripts\chat_commands;
|
|
|
|
Init()
|
|
{
|
|
if (IsMultiplayerMode())
|
|
{
|
|
CreateCommand(level.chat_commands["ports"], "listattachments", "function", ::ListAttachmentsCommand, 2);
|
|
}
|
|
|
|
if (!IsMultiplayerMode())
|
|
{
|
|
CreateCommand(level.chat_commands["ports"], "listpowerups", "function", ::ListPowerupsCommand, 2);
|
|
CreateCommand(level.chat_commands["ports"], "listperks", "function", ::ListPerksCommand, 2);
|
|
}
|
|
|
|
CreateCommand(level.chat_commands["ports"], "listweapons", "function", ::ListWeaponsCommand, 2);
|
|
}
|
|
|
|
|
|
|
|
/* Command section */
|
|
|
|
ListWeaponsCommand(args)
|
|
{
|
|
self thread ListWeapons(args[0]);
|
|
}
|
|
|
|
ListAttachmentsCommand(args)
|
|
{
|
|
error = self thread ListAttachments(args[0]);
|
|
|
|
if (IsDefined(error))
|
|
{
|
|
return error;
|
|
}
|
|
}
|
|
|
|
ListPowerupsCommand(args)
|
|
{
|
|
error = self thread ListPowerups();
|
|
|
|
if (IsDefined(error))
|
|
{
|
|
return error;
|
|
}
|
|
}
|
|
|
|
ListPerksCommand(args)
|
|
{
|
|
error = self thread ListPerks();
|
|
|
|
if (IsDefined(error))
|
|
{
|
|
return error;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/* Logic section */
|
|
|
|
ListWeapons(displayMode)
|
|
{
|
|
waitTime = 1.5;
|
|
|
|
if (IsMultiplayerMode())
|
|
{
|
|
if (IsDefined(displayMode))
|
|
{
|
|
foreach (index in GetArrayKeys(level.tbl_weaponids))
|
|
{
|
|
self thread TellPlayer(array(getweapondisplayname(level.tbl_weaponids[index]["reference"] + "_mp")), waitTime);
|
|
wait waitTime;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
foreach (index in GetArrayKeys(level.tbl_weaponids))
|
|
{
|
|
self thread TellPlayer(array(level.tbl_weaponids[index]["reference"] + "_mp"), waitTime);
|
|
wait waitTime;
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if (IsDefined(displayMode))
|
|
{
|
|
foreach (weapon in GetArrayKeys(level.zombie_weapons))
|
|
{
|
|
self thread TellPlayer(array(getweapondisplayname(weapon)), waitTime);
|
|
wait waitTime;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
foreach (weapon in GetArrayKeys(level.zombie_weapons))
|
|
{
|
|
self thread TellPlayer(array(weapon), waitTime);
|
|
wait waitTime;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
ListAttachments(weaponName)
|
|
{
|
|
weaponIndex = 0;
|
|
finalWeaponName = "";
|
|
|
|
if (IsDefined(weaponName))
|
|
{
|
|
if (GetSubStr(weaponName, weaponName.size - 3, weaponName.size) != "_mp")
|
|
{
|
|
weaponName += "_mp";
|
|
}
|
|
|
|
if (!IsValidWeapon(weaponName))
|
|
{
|
|
return WeaponDoesNotExistError(weaponName);
|
|
}
|
|
|
|
weaponIndex = getbaseweaponitemindex(weaponName);
|
|
finalWeaponName = weaponName;
|
|
}
|
|
else
|
|
{
|
|
finalWeaponName = self getcurrentweapon();
|
|
weaponIndex = getbaseweaponitemindex(self getcurrentweapon());
|
|
}
|
|
|
|
attachments = StrTok(level.tbl_weaponids[weaponIndex]["attachment"], " ");
|
|
attachmentsFinal = [];
|
|
|
|
// remove everything after _ in attachments name as this was always returning wrong names
|
|
// for example it would return silencer_shotgun when the actual codename is just silencer etc
|
|
foreach (attachment in attachments)
|
|
{
|
|
attachmentsFinal = AddElementToArray(attachmentsFinal, StrTok(attachment, "_")[0]);
|
|
}
|
|
|
|
self thread TellPlayer(attachmentsFinal, 2);
|
|
|
|
if (DebugIsOn())
|
|
{
|
|
Print("-------------------------------");
|
|
Print("Available attachments for " + getweapondisplayname(finalWeaponName) + " (" + StrTok(finalWeaponName, "_mp")[0] + "_mp" + ")");
|
|
|
|
foreach (attachment in attachmentsFinal)
|
|
{
|
|
Print(attachment);
|
|
}
|
|
}
|
|
}
|
|
|
|
ListPowerups()
|
|
{
|
|
self thread TellPlayer(GetAvailablePowerups(), 2);
|
|
}
|
|
|
|
ListPerks()
|
|
{
|
|
self thread TellPlayer(GetAvailablePerks(), 2);
|
|
} |