Use new item use type const naming
This commit is contained in:
@@ -2646,7 +2646,7 @@ function buyFromBusinessCommand(command, params, client) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
let useType = getItemTypeData(getItemData(getBusinessData(businessId).floorItemCache[itemSlot - 1]).itemTypeIndex).useType;
|
let useType = getItemTypeData(getItemData(getBusinessData(businessId).floorItemCache[itemSlot - 1]).itemTypeIndex).useType;
|
||||||
if (useType == VRR_ITEM_USETYPE_WEAPON || VRR_ITEM_USETYPE_TAZER || useType == VRR_ITEM_USETYPE_AMMO_CLIP) {
|
if (useType == VRR_ITEM_USE_TYPE_WEAPON || VRR_ITEM_USE_TYPE_TAZER || useType == VRR_ITEM_USE_TYPE_AMMO_CLIP) {
|
||||||
if (isPlayerWeaponBanned(client) && !isPlayerExemptFromAntiCheat(client)) {
|
if (isPlayerWeaponBanned(client) && !isPlayerExemptFromAntiCheat(client)) {
|
||||||
messagePlayerError(client, getLocaleString(client, "WeaponBanned"));
|
messagePlayerError(client, getLocaleString(client, "WeaponBanned"));
|
||||||
return false;
|
return false;
|
||||||
|
|||||||
@@ -363,7 +363,7 @@ function clanChat(client, messageText) {
|
|||||||
// ===========================================================================
|
// ===========================================================================
|
||||||
|
|
||||||
function canPlayerUseMegaphone(client) {
|
function canPlayerUseMegaphone(client) {
|
||||||
if (getPlayerFirstItemSlotByUseType(client, VRR_ITEM_USETYPE_MEGAPHONE) != -1) {
|
if (getPlayerFirstItemSlotByUseType(client, VRR_ITEM_USE_TYPE_MEGAPHONE) != -1) {
|
||||||
if (isPlayerActiveItemEnabled(client)) {
|
if (isPlayerActiveItemEnabled(client)) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -193,18 +193,18 @@ let globalConfig = {
|
|||||||
geoIPCityDatabaseFilePath: "geoip-city.mmdb",
|
geoIPCityDatabaseFilePath: "geoip-city.mmdb",
|
||||||
randomTipInterval: 600000,
|
randomTipInterval: 600000,
|
||||||
weaponEquippableTypes: [
|
weaponEquippableTypes: [
|
||||||
VRR_ITEM_USETYPE_WEAPON,
|
VRR_ITEM_USE_TYPE_WEAPON,
|
||||||
VRR_ITEM_USETYPE_TAZER,
|
VRR_ITEM_USE_TYPE_TAZER,
|
||||||
VRR_ITEM_USETYPE_EXTINGUISHER,
|
VRR_ITEM_USE_TYPE_EXTINGUISHER,
|
||||||
VRR_ITEM_USETYPE_SPRAYPAINT,
|
VRR_ITEM_USE_TYPE_SPRAYPAINT,
|
||||||
VRR_ITEM_USETYPE_PEPPERSPRAY,
|
VRR_ITEM_USE_TYPE_PEPPERSPRAY,
|
||||||
],
|
],
|
||||||
onFootOnlyItems: [
|
onFootOnlyItems: [
|
||||||
VRR_ITEM_USETYPE_VEHREPAIR,
|
VRR_ITEM_USE_TYPE_VEHREPAIR,
|
||||||
VRR_ITEM_USETYPE_VEHCOLOUR,
|
VRR_ITEM_USE_TYPE_VEHCOLOUR,
|
||||||
VRR_ITEM_USETYPE_VEHUPGRADE_PART,
|
VRR_ITEM_USE_TYPE_VEHUPGRADE_PART,
|
||||||
VRR_ITEM_USETYPE_VEHLIVERY,
|
VRR_ITEM_USE_TYPE_VEHLIVERY,
|
||||||
VRR_ITEM_USETYPE_VEHTIRE,
|
VRR_ITEM_USE_TYPE_VEHTIRE,
|
||||||
],
|
],
|
||||||
vehicleInactiveRespawnDelay: 1800000, // 20 minutes
|
vehicleInactiveRespawnDelay: 1800000, // 20 minutes
|
||||||
chatSectionHeaderLength: 96,
|
chatSectionHeaderLength: 96,
|
||||||
|
|||||||
@@ -56,7 +56,7 @@ function castFishingLineCommand(client) {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (doesPlayerHaveItemOfUseTypeEquipped(client, VRR_ITEM_USETYPE_FISHINGROD)) {
|
if (doesPlayerHaveItemOfUseTypeEquipped(client, VRR_ITEM_USE_TYPE_FISHINGROD)) {
|
||||||
messagePlayerError(client, getLocaleString(client, "NeedFishingRod"));
|
messagePlayerError(client, getLocaleString(client, "NeedFishingRod"));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -80,7 +80,7 @@ function resetFishingLineCommand(client) {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (doesPlayerHaveItemOfUseTypeEquipped(client, VRR_ITEM_USETYPE_FISHINGROD)) {
|
if (doesPlayerHaveItemOfUseTypeEquipped(client, VRR_ITEM_USE_TYPE_FISHINGROD)) {
|
||||||
messagePlayerError(client, getLocaleString(client, "CantFishHere"));
|
messagePlayerError(client, getLocaleString(client, "CantFishHere"));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,10 +21,10 @@ function gpsCommand(command, params, client) {
|
|||||||
messagePlayerNormal(client, makeChatBoxSectionHeader(getLocaleString(client, "HeaderBusinessList")));
|
messagePlayerNormal(client, makeChatBoxSectionHeader(getLocaleString(client, "HeaderBusinessList")));
|
||||||
|
|
||||||
let locationType = VRR_GPS_TYPE_NONE;
|
let locationType = VRR_GPS_TYPE_NONE;
|
||||||
let useType = VRR_ITEM_USETYPE_NONE;
|
let useType = VRR_ITEM_USE_TYPE_NONE;
|
||||||
let blipColour = "white";
|
let blipColour = "white";
|
||||||
|
|
||||||
switch(toLowerCase(params)) {
|
switch (toLowerCase(params)) {
|
||||||
case "police":
|
case "police":
|
||||||
blipColour = "businessBlue"
|
blipColour = "businessBlue"
|
||||||
locationType = VRR_GPS_TYPE_POLICE;
|
locationType = VRR_GPS_TYPE_POLICE;
|
||||||
@@ -46,7 +46,7 @@ function gpsCommand(command, params, client) {
|
|||||||
case "player":
|
case "player":
|
||||||
blipColour = "businessBlue"
|
blipColour = "businessBlue"
|
||||||
locationType = VRR_GPS_TYPE_BUSINESS;
|
locationType = VRR_GPS_TYPE_BUSINESS;
|
||||||
useType = VRR_ITEM_USETYPE_SKIN;
|
useType = VRR_ITEM_USE_TYPE_SKIN;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "gun":
|
case "gun":
|
||||||
@@ -57,20 +57,20 @@ function gpsCommand(command, params, client) {
|
|||||||
case "weps":
|
case "weps":
|
||||||
blipColour = "businessBlue"
|
blipColour = "businessBlue"
|
||||||
locationType = VRR_GPS_TYPE_BUSINESS;
|
locationType = VRR_GPS_TYPE_BUSINESS;
|
||||||
useType = VRR_ITEM_USETYPE_WEAPON;
|
useType = VRR_ITEM_USE_TYPE_WEAPON;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "food":
|
case "food":
|
||||||
case "eat":
|
case "eat":
|
||||||
blipColour = "businessBlue"
|
blipColour = "businessBlue"
|
||||||
locationType = VRR_GPS_TYPE_BUSINESS;
|
locationType = VRR_GPS_TYPE_BUSINESS;
|
||||||
useType = VRR_ITEM_USETYPE_FOOD;
|
useType = VRR_ITEM_USE_TYPE_FOOD;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "drink":
|
case "drink":
|
||||||
blipColour = "businessBlue"
|
blipColour = "businessBlue"
|
||||||
locationType = VRR_GPS_TYPE_BUSINESS;
|
locationType = VRR_GPS_TYPE_BUSINESS;
|
||||||
useType = VRR_ITEM_USETYPE_DRINK;
|
useType = VRR_ITEM_USE_TYPE_DRINK;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "alcohol":
|
case "alcohol":
|
||||||
@@ -78,7 +78,7 @@ function gpsCommand(command, params, client) {
|
|||||||
case "bar":
|
case "bar":
|
||||||
blipColour = "businessBlue"
|
blipColour = "businessBlue"
|
||||||
locationType = VRR_GPS_TYPE_BUSINESS;
|
locationType = VRR_GPS_TYPE_BUSINESS;
|
||||||
useType = VRR_ITEM_USETYPE_ALCOHOL;
|
useType = VRR_ITEM_USE_TYPE_ALCOHOL;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "repair":
|
case "repair":
|
||||||
@@ -88,7 +88,7 @@ function gpsCommand(command, params, client) {
|
|||||||
case "fix":
|
case "fix":
|
||||||
blipColour = "businessBlue"
|
blipColour = "businessBlue"
|
||||||
locationType = VRR_GPS_TYPE_BUSINESS;
|
locationType = VRR_GPS_TYPE_BUSINESS;
|
||||||
useType = VRR_ITEM_USETYPE_VEHREPAIR;
|
useType = VRR_ITEM_USE_TYPE_VEHREPAIR;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case "vehiclecolour":
|
case "vehiclecolour":
|
||||||
@@ -97,52 +97,52 @@ function gpsCommand(command, params, client) {
|
|||||||
case "colour":
|
case "colour":
|
||||||
blipColour = "businessBlue"
|
blipColour = "businessBlue"
|
||||||
locationType = VRR_GPS_TYPE_BUSINESS;
|
locationType = VRR_GPS_TYPE_BUSINESS;
|
||||||
useType = VRR_ITEM_USETYPE_VEHCOLOUR;
|
useType = VRR_ITEM_USE_TYPE_VEHCOLOUR;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default: {
|
default: {
|
||||||
let itemTypeId = getItemTypeFromParams(params);
|
let itemTypeId = getItemTypeFromParams(params);
|
||||||
if(getItemTypeData(itemTypeId) != false) {
|
if (getItemTypeData(itemTypeId) != false) {
|
||||||
locationType = VRR_GPS_TYPE_BUSINESS;
|
locationType = VRR_GPS_TYPE_BUSINESS;
|
||||||
blipColour = "businessBlue";
|
blipColour = "businessBlue";
|
||||||
useType = getItemTypeData(itemTypeId).useType;
|
useType = getItemTypeData(itemTypeId).useType;
|
||||||
} else {
|
} else {
|
||||||
let gameLocationId = getGameLocationFromParams(params);
|
let gameLocationId = getGameLocationFromParams(params);
|
||||||
if(gameLocationId != false) {
|
if (gameLocationId != false) {
|
||||||
position = getGameConfig().locations[getServerGame()][gameLocationId][1]
|
position = getGameConfig().locations[getServerGame()][gameLocationId][1]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(locationType == VRR_GPS_TYPE_NONE) {
|
if (locationType == VRR_GPS_TYPE_NONE) {
|
||||||
messagePlayerError(client, getLocaleString(client, "InvalidGPSLocation"));
|
messagePlayerError(client, getLocaleString(client, "InvalidGPSLocation"));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(locationType == VRR_GPS_TYPE_BUSINESS) {
|
if (locationType == VRR_GPS_TYPE_BUSINESS) {
|
||||||
let businessId = getClosestBusinessWithBuyableItemOfUseType(useType);
|
let businessId = getClosestBusinessWithBuyableItemOfUseType(useType);
|
||||||
if(!businessId) {
|
if (!businessId) {
|
||||||
messagePlayerError(client, getLocaleString(client, "NoBusinessWithItemType"));
|
messagePlayerError(client, getLocaleString(client, "NoBusinessWithItemType"));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!getBusinessData(businessId)) {
|
if (!getBusinessData(businessId)) {
|
||||||
messagePlayerError(client, getLocaleString(client, "NoBusinessWithItemType"));
|
messagePlayerError(client, getLocaleString(client, "NoBusinessWithItemType"));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
hideAllBlipsForPlayerGPS(client);
|
hideAllBlipsForPlayerGPS(client);
|
||||||
blinkGenericGPSBlipForPlayer(client, getBusinessData(businessId).entrancePosition, getBusinessData(businessId).entranceBlipModel, getColourByType(blipColour), 10);
|
blinkGenericGPSBlipForPlayer(client, getBusinessData(businessId).entrancePosition, getBusinessData(businessId).entranceBlipModel, getColourByType(blipColour), 10);
|
||||||
messagePlayerSuccess(client, "Look for the blinking icon on your mini map");
|
messagePlayerSuccess(client, "Look for the blinking icon on your mini map");
|
||||||
}
|
}
|
||||||
|
|
||||||
if(locationType == VRR_GPS_TYPE_GAMELOC) {
|
if (locationType == VRR_GPS_TYPE_GAMELOC) {
|
||||||
hideAllBlipsForPlayerGPS(client);
|
hideAllBlipsForPlayerGPS(client);
|
||||||
blinkGenericGPSBlipForPlayer(client, position, 0, getColourByType(blipColour), 10);
|
blinkGenericGPSBlipForPlayer(client, position, 0, getColourByType(blipColour), 10);
|
||||||
messagePlayerSuccess(client, "Look for the blinking icon on your mini map");
|
messagePlayerSuccess(client, "Look for the blinking icon on your mini map");
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// ===========================================================================
|
// ===========================================================================
|
||||||
@@ -24,71 +24,76 @@ const VRR_ITEM_OWNER_LOCKER = 10; // Item is in player's locker
|
|||||||
// ===========================================================================
|
// ===========================================================================
|
||||||
|
|
||||||
// Item Use Types
|
// Item Use Types
|
||||||
const VRR_ITEM_USETYPE_NONE = 0; // Has no effect
|
const VRR_ITEM_USE_TYPE_NONE = 0; // Has no effect
|
||||||
const VRR_ITEM_USETYPE_WEAPON = 1; // Equips weapon
|
const VRR_ITEM_USE_TYPE_WEAPON = 1; // Equips weapon
|
||||||
const VRR_ITEM_USETYPE_AMMO_CLIP = 2; // Magazine for weapon. If in inventory, R will load it into gun
|
const VRR_ITEM_USE_TYPE_AMMO_CLIP = 2; // Magazine for weapon. If in inventory, R will load it into gun
|
||||||
const VRR_ITEM_USETYPE_PHONE = 3; // Pulls out phone
|
const VRR_ITEM_USE_TYPE_PHONE = 3; // Pulls out phone
|
||||||
const VRR_ITEM_USETYPE_GPS = 4; // Not sure how I want this to work yet
|
const VRR_ITEM_USE_TYPE_GPS = 4; // Not sure how I want this to work yet
|
||||||
const VRR_ITEM_USETYPE_MAP = 5; // Shows minimap on HUD
|
const VRR_ITEM_USE_TYPE_MAP = 5; // Shows minimap on HUD
|
||||||
const VRR_ITEM_USETYPE_SKIN = 6; // Changes skin (uses skin changer)
|
const VRR_ITEM_USE_TYPE_SKIN = 6; // Changes skin (uses skin changer)
|
||||||
const VRR_ITEM_USETYPE_PEDPART = 7; // Changes ped part (clothing, skin, hair, etc) (UNUSED)
|
const VRR_ITEM_USE_TYPE_PEDPART = 7; // Changes ped part (clothing, skin, hair, etc) (UNUSED)
|
||||||
const VRR_ITEM_USETYPE_PEDPROP = 8; // Changes ped prop (watches, glasses, hats, etc) (UNUSED)
|
const VRR_ITEM_USE_TYPE_PEDPROP = 8; // Changes ped prop (watches, glasses, hats, etc) (UNUSED)
|
||||||
const VRR_ITEM_USETYPE_STORAGE = 9; // Shows stored items. Backpack, crate, briefcase, wallet, etc
|
const VRR_ITEM_USE_TYPE_STORAGE = 9; // Shows stored items. Backpack, crate, briefcase, wallet, etc
|
||||||
const VRR_ITEM_USETYPE_VEHKEY = 10; // Locks/unlocks a vehicle and allows starting engine without hotwire
|
const VRR_ITEM_USE_TYPE_VEHKEY = 10; // Locks/unlocks a vehicle and allows starting engine without hotwire
|
||||||
const VRR_ITEM_USETYPE_BIZKEY = 11; // Locks/unlocks a business
|
const VRR_ITEM_USE_TYPE_BIZKEY = 11; // Locks/unlocks a business
|
||||||
const VRR_ITEM_USETYPE_HOUSEKEY = 12; // Locks/unlocks a house
|
const VRR_ITEM_USE_TYPE_HOUSEKEY = 12; // Locks/unlocks a house
|
||||||
const VRR_ITEM_USETYPE_SEED = 13; // Plants a seed
|
const VRR_ITEM_USE_TYPE_SEED = 13; // Plants a seed
|
||||||
const VRR_ITEM_USETYPE_WEED = 14; // Light drug effect (short term relief of addiction symptoms?)
|
const VRR_ITEM_USE_TYPE_WEED = 14; // Light drug effect (short term relief of addiction symptoms?)
|
||||||
const VRR_ITEM_USETYPE_COKE = 15; // Medium drug effect (medium term relief of addiction symptoms?)
|
const VRR_ITEM_USE_TYPE_COKE = 15; // Medium drug effect (medium term relief of addiction symptoms?)
|
||||||
const VRR_ITEM_USETYPE_METH = 16; // Heavy drug effect (extended term relief of addiction symptoms?)
|
const VRR_ITEM_USE_TYPE_METH = 16; // Heavy drug effect (extended term relief of addiction symptoms?)
|
||||||
const VRR_ITEM_USETYPE_CIGAR = 17; // Just for appearance. Makes people look cool I guess
|
const VRR_ITEM_USE_TYPE_CIGAR = 17; // Just for appearance. Makes people look cool I guess
|
||||||
const VRR_ITEM_USETYPE_WATER = 18; // Replenishes small amount of health
|
const VRR_ITEM_USE_TYPE_WATER = 18; // Replenishes small amount of health
|
||||||
const VRR_ITEM_USETYPE_FOOD = 19; // Eat food. Replenishes a small amount of health
|
const VRR_ITEM_USE_TYPE_FOOD = 19; // Eat food. Replenishes a small amount of health
|
||||||
const VRR_ITEM_USETYPE_BEER = 20; // Subtle drunk effect. Replenishes small amount of health.
|
const VRR_ITEM_USE_TYPE_BEER = 20; // Subtle drunk effect. Replenishes small amount of health.
|
||||||
const VRR_ITEM_USETYPE_WINE = 21; // Moderate drunk effect. Replenishes moderate amount of health.
|
const VRR_ITEM_USE_TYPE_WINE = 21; // Moderate drunk effect. Replenishes moderate amount of health.
|
||||||
const VRR_ITEM_USETYPE_LIQUOR = 22; // Heavy drunk effect. Replenishes large amount of health.
|
const VRR_ITEM_USE_TYPE_LIQUOR = 22; // Heavy drunk effect. Replenishes large amount of health.
|
||||||
const VRR_ITEM_USETYPE_COFFEE = 23; // Replenishes moderate amount of health.
|
const VRR_ITEM_USE_TYPE_COFFEE = 23; // Replenishes moderate amount of health.
|
||||||
const VRR_ITEM_USETYPE_AMMO_ROUND = 23; // Bullet. Loads into magazine. Not used at the moment
|
const VRR_ITEM_USE_TYPE_AMMO_ROUND = 23; // Bullet. Loads into magazine. Not used at the moment
|
||||||
const VRR_ITEM_USETYPE_HANDCUFF = 24; //
|
const VRR_ITEM_USE_TYPE_HANDCUFF = 24; //
|
||||||
const VRR_ITEM_USETYPE_ROPE = 25; //
|
const VRR_ITEM_USE_TYPE_ROPE = 25; //
|
||||||
const VRR_ITEM_USETYPE_BLINDFOLD = 26; //
|
const VRR_ITEM_USE_TYPE_BLINDFOLD = 26; //
|
||||||
const VRR_ITEM_USETYPE_TAZER = 27; //
|
const VRR_ITEM_USE_TYPE_TAZER = 27; //
|
||||||
const VRR_ITEM_USETYPE_ARMOUR = 28; //
|
const VRR_ITEM_USE_TYPE_ARMOUR = 28; //
|
||||||
const VRR_ITEM_USETYPE_HEALTH = 29; //
|
const VRR_ITEM_USE_TYPE_HEALTH = 29; //
|
||||||
const VRR_ITEM_USETYPE_AED = 30; //
|
const VRR_ITEM_USE_TYPE_AED = 30; //
|
||||||
const VRR_ITEM_USETYPE_WALKIETALKIE = 31; //
|
const VRR_ITEM_USE_TYPE_WALKIETALKIE = 31; //
|
||||||
const VRR_ITEM_USETYPE_BOOMBOX = 32; //
|
const VRR_ITEM_USE_TYPE_BOOMBOX = 32; //
|
||||||
const VRR_ITEM_USETYPE_EARBUDS = 33; //
|
const VRR_ITEM_USE_TYPE_EARBUDS = 33; //
|
||||||
const VRR_ITEM_USETYPE_BADGE = 34; //
|
const VRR_ITEM_USE_TYPE_BADGE = 34; //
|
||||||
const VRR_ITEM_USETYPE_DRINK = 35; // Drinkable item. Action output shows "Player_Name drinks some (drink name)"
|
const VRR_ITEM_USE_TYPE_DRINK = 35; // Drinkable item. Action output shows "Player_Name drinks some (drink name)"
|
||||||
const VRR_ITEM_USETYPE_EXTINGUISHER = 36; // Extinguisher item. Allows putting out fires
|
const VRR_ITEM_USE_TYPE_EXTINGUISHER = 36; // Extinguisher item. Allows putting out fires
|
||||||
const VRR_ITEM_USETYPE_SPRAYPAINT = 37; // Spraypaint item. Allows spraying custom clan tags on walls
|
const VRR_ITEM_USE_TYPE_SPRAYPAINT = 37; // Spraypaint item. Allows spraying custom clan tags on walls
|
||||||
const VRR_ITEM_USETYPE_PEPPERSPRAY = 38; // Pepper spray item. Incapacitates nearby player
|
const VRR_ITEM_USE_TYPE_PEPPERSPRAY = 38; // Pepper spray item. Incapacitates nearby player
|
||||||
const VRR_ITEM_USETYPE_FLASHLIGHT = 39; // Flashlight item. Unusable for now, but plan to cast a custom light beam
|
const VRR_ITEM_USE_TYPE_FLASHLIGHT = 39; // Flashlight item. Unusable for now, but plan to cast a custom light beam
|
||||||
const VRR_ITEM_USETYPE_AIRPLANETICKET = 40; // Airplane ticket. Allows a character to move to another server
|
const VRR_ITEM_USE_TYPE_AIRPLANETICKET = 40; // Airplane ticket. Allows a character to move to another server
|
||||||
const VRR_ITEM_USETYPE_TRAINTICKET = 41; // Train ticket. Allows a character to move to another server
|
const VRR_ITEM_USE_TYPE_TRAINTICKET = 41; // Train ticket. Allows a character to move to another server
|
||||||
const VRR_ITEM_USETYPE_VEHUPGRADE_PART = 42; // Vehicle update part item. Allows adding custom parts like spoilers, side skirts, roof scoops, etc
|
const VRR_ITEM_USE_TYPE_VEHUPGRADE_PART = 42; // Vehicle update part item. Allows adding custom parts like spoilers, side skirts, roof scoops, etc
|
||||||
const VRR_ITEM_USETYPE_VEHTIRE = 43; // Vehicle tire item. Allows changing the tire/rim types
|
const VRR_ITEM_USE_TYPE_VEHTIRE = 43; // Vehicle tire item. Allows changing the tire/rim types
|
||||||
const VRR_ITEM_USETYPE_FUELCAN = 44; // Fuel can item. Allows refueling of a nearby vehicle anywhere
|
const VRR_ITEM_USE_TYPE_FUELCAN = 44; // Fuel can item. Allows refueling of a nearby vehicle anywhere
|
||||||
const VRR_ITEM_USETYPE_VEHCOLOUR = 45; // Vehicle colour item. Changes primary and secondary vehicle colours
|
const VRR_ITEM_USE_TYPE_VEHCOLOUR = 45; // Vehicle colour item. Changes primary and secondary vehicle colours
|
||||||
const VRR_ITEM_USETYPE_VEHLIVERY = 46; // Vehicle livery/paintjob item. Applies decals and special paint jobs
|
const VRR_ITEM_USE_TYPE_VEHLIVERY = 46; // Vehicle livery/paintjob item. Applies decals and special paint jobs
|
||||||
const VRR_ITEM_USETYPE_VEHREPAIR = 47; // Vehicle repair item. Much longer use time
|
const VRR_ITEM_USE_TYPE_VEHREPAIR = 47; // Vehicle repair item. Much longer use time
|
||||||
const VRR_ITEM_USETYPE_SMOKEDRUG = 48; // Smokable drug. Action output shows "Player_Name smokes some (drug)"
|
const VRR_ITEM_USE_TYPE_SMOKEDRUG = 48; // Smokable drug like weed. Action output shows "Player_Name smokes some (drug)"
|
||||||
const VRR_ITEM_USETYPE_SNORTDRUG = 49; // Snortable drug. Action output shows "Player_Name snorts some (drug)"
|
const VRR_ITEM_USE_TYPE_SNORTDRUG = 49; // Snortable drug like cocaine. Action output shows "Player_Name snorts some (drug)"
|
||||||
const VRR_ITEM_USETYPE_PLANT = 50; // Plantable item. Pot plants, coke plants, etc
|
const VRR_ITEM_USE_TYPE_PLANT = 50; // Plantable item. Pot plants, coke plants, etc
|
||||||
const VRR_ITEM_USETYPE_MEGAPHONE = 51; // Megaphone item. Allows shouting over greater distances. Also called a bullhorn
|
const VRR_ITEM_USE_TYPE_MEGAPHONE = 51; // Megaphone item. Allows shouting over greater distances. Also called a bullhorn
|
||||||
const VRR_ITEM_USETYPE_INJECTDRUG = 52; // Injectable drug. Action output shows "Player_Name injects some (drug)"
|
const VRR_ITEM_USE_TYPE_INJECTDRUG = 52; // Injectable drug like heroine. Action output shows "Player_Name injects some (drug)"
|
||||||
const VRR_ITEM_USETYPE_ALCOHOL = 53; // Alcohol. Applies an intoxication/drunkness effect
|
const VRR_ITEM_USE_TYPE_ALCOHOL = 53; // Alcohol. Applies an intoxication/drunkness effect
|
||||||
|
const VRR_ITEM_USE_TYPE_METH_LAB = 54; // Meth lab item. Allows creating meth
|
||||||
|
const VRR_ITEM_USE_TYPE_PLANTER = 55; // Plant pot. Can be used to plant item of use type VRR_ITEM_USE_TYPE_PLANT where terrain is not available
|
||||||
|
const VRR_ITEM_USE_TYPE_FISH = 56; // Fishing catch ... bass, catfish, etc
|
||||||
|
const VRR_ITEM_USE_TYPE_JUNK = 57; // Worthless junk. Some used as fishing catches
|
||||||
|
const VRR_ITEM_USE_TYPE_BAIT = 58; // Bait. Used for fishing
|
||||||
|
|
||||||
// ===========================================================================
|
// ===========================================================================
|
||||||
|
|
||||||
// Item Drop Types
|
// Item Drop Types
|
||||||
const VRR_ITEM_DROPTYPE_NONE = 0; // Can't be dropped
|
const VRR_ITEM_DROP_TYPE_NONE = 0; // Can't be dropped
|
||||||
const VRR_ITEM_DROPTYPE_OBJECT = 1; // Drops as an object on the ground
|
const VRR_ITEM_DROP_TYPE_OBJECT = 1; // Drops as an object on the ground
|
||||||
const VRR_ITEM_DROPTYPE_PICKUP = 2; // Drops as a pickup
|
const VRR_ITEM_DROP_TYPE_PICKUP = 2; // Drops as a pickup
|
||||||
const VRR_ITEM_DROPTYPE_OBJECTLIGHT = 3; // Object that produces an area light effect (lamp, flashlight, etc)
|
const VRR_ITEM_DROP_TYPE_OBJECTLIGHT = 3; // Object that produces an area light effect (lamp, flashlight, etc)
|
||||||
const VRR_ITEM_DROPTYPE_DESTROY = 4; // Will destroy the item on drop (keys mostly but for any tiny object)
|
const VRR_ITEM_DROP_TYPE_DESTROY = 4; // Will destroy the item on drop (keys mostly but for any tiny object)
|
||||||
const VRR_ITEM_DROPTYPE_OBJECTSTACK = 5; // Stackable objects (crates and such). Will sit on top of closest other stackable
|
const VRR_ITEM_DROP_TYPE_OBJECTSTACK = 5; // Stackable objects (crates and such). Will sit on top of closest other stackable
|
||||||
|
|
||||||
// ===========================================================================
|
// ===========================================================================
|
||||||
|
|
||||||
@@ -158,11 +163,11 @@ class ItemTypeData {
|
|||||||
this.index = 0;
|
this.index = 0;
|
||||||
this.name = "Unknown";
|
this.name = "Unknown";
|
||||||
this.enabled = false;
|
this.enabled = false;
|
||||||
this.useType = VRR_ITEM_USETYPE_NONE;
|
this.useType = VRR_ITEM_USE_TYPE_NONE;
|
||||||
this.useId = 0;
|
this.useId = 0;
|
||||||
this.useValue = 0;
|
this.useValue = 0;
|
||||||
this.maxValue = 0;
|
this.maxValue = 0;
|
||||||
this.dropType = VRR_ITEM_DROPTYPE_NONE;
|
this.dropType = VRR_ITEM_DROP_TYPE_NONE;
|
||||||
this.useId = 0;
|
this.useId = 0;
|
||||||
this.dropPosition = toVector3(0.0, 0.0, 0.0);
|
this.dropPosition = toVector3(0.0, 0.0, 0.0);
|
||||||
this.dropRotation = toVector3(0.0, 0.0, 0.0);
|
this.dropRotation = toVector3(0.0, 0.0, 0.0);
|
||||||
@@ -1274,20 +1279,20 @@ function playerUseItem(client, hotBarSlot) {
|
|||||||
logToConsole(LOG_DEBUG, `[VRR.Item] ${getPlayerDisplayForConsole(client)} used a ${itemTypeData.name} (use type ${itemTypeData.useType} - ${typeof itemTypeData.useType}) item (ID: ${itemData.index}/${itemData.databaseId}, TypeID: ${itemTypeData.index}/${itemTypeData.databaseId})`);
|
logToConsole(LOG_DEBUG, `[VRR.Item] ${getPlayerDisplayForConsole(client)} used a ${itemTypeData.name} (use type ${itemTypeData.useType} - ${typeof itemTypeData.useType}) item (ID: ${itemData.index}/${itemData.databaseId}, TypeID: ${itemTypeData.index}/${itemTypeData.databaseId})`);
|
||||||
|
|
||||||
switch (toInteger(itemTypeData.useType)) {
|
switch (toInteger(itemTypeData.useType)) {
|
||||||
case VRR_ITEM_USETYPE_SKIN: {
|
case VRR_ITEM_USE_TYPE_SKIN: {
|
||||||
getPlayerData(client).itemActionItem = itemIndex;
|
getPlayerData(client).itemActionItem = itemIndex;
|
||||||
forcePlayerIntoSkinSelect(client);
|
forcePlayerIntoSkinSelect(client);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case VRR_ITEM_USETYPE_WEAPON: {
|
case VRR_ITEM_USE_TYPE_WEAPON: {
|
||||||
if (isMeleeWeapon(itemTypeData.useId, getGame()) == true) {
|
if (isMeleeWeapon(itemTypeData.useId, getGame()) == true) {
|
||||||
messagePlayerError(client, getLocaleString(client, "WeaponDoesNotUseAmmo", itemTypeData.name));
|
messagePlayerError(client, getLocaleString(client, "WeaponDoesNotUseAmmo", itemTypeData.name));
|
||||||
} else {
|
} else {
|
||||||
for (let i in hotBarItems) {
|
for (let i in hotBarItems) {
|
||||||
if (hotBarItems[i] != -1) {
|
if (hotBarItems[i] != -1) {
|
||||||
if (getItemData(hotBarItems[i]) != false) {
|
if (getItemData(hotBarItems[i]) != false) {
|
||||||
if (getItemTypeData(getItemData(hotBarItems[i]).itemTypeIndex).useType == VRR_ITEM_USETYPE_AMMO_CLIP) {
|
if (getItemTypeData(getItemData(hotBarItems[i]).itemTypeIndex).useType == VRR_ITEM_USE_TYPE_AMMO_CLIP) {
|
||||||
let ammoItemData = getItemData(hotBarItems[i]);
|
let ammoItemData = getItemData(hotBarItems[i]);
|
||||||
let ammoItemTypeData = getItemTypeData(ammoItemData.itemTypeIndex);
|
let ammoItemTypeData = getItemTypeData(ammoItemData.itemTypeIndex);
|
||||||
if (ammoItemTypeData.useId == itemTypeData.databaseId) {
|
if (ammoItemTypeData.useId == itemTypeData.databaseId) {
|
||||||
@@ -1306,7 +1311,7 @@ function playerUseItem(client, hotBarSlot) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case VRR_ITEM_USETYPE_AMMO_CLIP: {
|
case VRR_ITEM_USE_TYPE_AMMO_CLIP: {
|
||||||
if (doesPlayerHaveKeyBindForCommand(client, "use")) {
|
if (doesPlayerHaveKeyBindForCommand(client, "use")) {
|
||||||
messagePlayerError(client, getLocaleString(client, "LoadAmmoIntoWeaponHelpKeyPress", `{ALTCOLOUR}${toUpperCase(getKeyNameFromId(getPlayerKeyBindForCommand(client, "use").key))}{MAINCOLOUR}`));
|
messagePlayerError(client, getLocaleString(client, "LoadAmmoIntoWeaponHelpKeyPress", `{ALTCOLOUR}${toUpperCase(getKeyNameFromId(getPlayerKeyBindForCommand(client, "use").key))}{MAINCOLOUR}`));
|
||||||
} else {
|
} else {
|
||||||
@@ -1315,12 +1320,12 @@ function playerUseItem(client, hotBarSlot) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case VRR_ITEM_USETYPE_STORAGE: {
|
case VRR_ITEM_USE_TYPE_STORAGE: {
|
||||||
showItemInventoryToPlayer(client, itemIndex);
|
showItemInventoryToPlayer(client, itemIndex);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case VRR_ITEM_USETYPE_FOOD: {
|
case VRR_ITEM_USE_TYPE_FOOD: {
|
||||||
meActionToNearbyPlayers(client, `eats some of their ${itemTypeData.name}`);
|
meActionToNearbyPlayers(client, `eats some of their ${itemTypeData.name}`);
|
||||||
givePlayerHealth(client, itemTypeData.useValue);
|
givePlayerHealth(client, itemTypeData.useValue);
|
||||||
itemData.value = itemData.value - itemTypeData.useValue;
|
itemData.value = itemData.value - itemTypeData.useValue;
|
||||||
@@ -1331,7 +1336,7 @@ function playerUseItem(client, hotBarSlot) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case VRR_ITEM_USETYPE_DRINK: {
|
case VRR_ITEM_USE_TYPE_DRINK: {
|
||||||
meActionToNearbyPlayers(client, `drinks some of their ${itemTypeData.name}`);
|
meActionToNearbyPlayers(client, `drinks some of their ${itemTypeData.name}`);
|
||||||
givePlayerHealth(client, itemTypeData.useValue);
|
givePlayerHealth(client, itemTypeData.useValue);
|
||||||
itemData.value = itemData.value - itemTypeData.useValue;
|
itemData.value = itemData.value - itemTypeData.useValue;
|
||||||
@@ -1342,7 +1347,7 @@ function playerUseItem(client, hotBarSlot) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case VRR_ITEM_USETYPE_ARMOUR: {
|
case VRR_ITEM_USE_TYPE_ARMOUR: {
|
||||||
meActionToNearbyPlayers(client, `puts on a ${itemTypeData.name}`);
|
meActionToNearbyPlayers(client, `puts on a ${itemTypeData.name}`);
|
||||||
givePlayerArmour(client, itemTypeData.useValue);
|
givePlayerArmour(client, itemTypeData.useValue);
|
||||||
deleteItem(itemIndex);
|
deleteItem(itemIndex);
|
||||||
@@ -1350,7 +1355,7 @@ function playerUseItem(client, hotBarSlot) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case VRR_ITEM_USETYPE_ROPE: {
|
case VRR_ITEM_USE_TYPE_ROPE: {
|
||||||
let closestPlayer = getClosestPlayer(getPlayerPosition(client), client);
|
let closestPlayer = getClosestPlayer(getPlayerPosition(client), client);
|
||||||
|
|
||||||
if (!getPlayerData(closestPlayer)) {
|
if (!getPlayerData(closestPlayer)) {
|
||||||
@@ -1383,7 +1388,7 @@ function playerUseItem(client, hotBarSlot) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case VRR_ITEM_USETYPE_HANDCUFF: {
|
case VRR_ITEM_USE_TYPE_HANDCUFF: {
|
||||||
let closestPlayer = getClosestPlayer(getPlayerPosition(client), client);
|
let closestPlayer = getClosestPlayer(getPlayerPosition(client), client);
|
||||||
|
|
||||||
if (!getPlayerData(closestPlayer)) {
|
if (!getPlayerData(closestPlayer)) {
|
||||||
@@ -1411,7 +1416,7 @@ function playerUseItem(client, hotBarSlot) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case VRR_ITEM_USETYPE_VEHREPAIR: {
|
case VRR_ITEM_USE_TYPE_VEHREPAIR: {
|
||||||
let vehicle = getClosestVehicle(getPlayerPosition(client));
|
let vehicle = getClosestVehicle(getPlayerPosition(client));
|
||||||
if (getDistance(getPlayerPosition(client), getVehiclePosition(vehicle)) <= getGlobalConfig().vehicleRepairDistance) {
|
if (getDistance(getPlayerPosition(client), getVehiclePosition(vehicle)) <= getGlobalConfig().vehicleRepairDistance) {
|
||||||
meActionToNearbyPlayers(client, `takes their repair kit and fixes the vehicle`);
|
meActionToNearbyPlayers(client, `takes their repair kit and fixes the vehicle`);
|
||||||
@@ -1427,7 +1432,7 @@ function playerUseItem(client, hotBarSlot) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case VRR_ITEM_USETYPE_VEHUPGRADE_PART: {
|
case VRR_ITEM_USE_TYPE_VEHUPGRADE_PART: {
|
||||||
let vehicle = getClosestVehicle(getPlayerPosition(client));
|
let vehicle = getClosestVehicle(getPlayerPosition(client));
|
||||||
if (getDistance(getPlayerPosition(client), getVehiclePosition(vehicle)) <= getGlobalConfig().vehicleRepairDistance) {
|
if (getDistance(getPlayerPosition(client), getVehiclePosition(vehicle)) <= getGlobalConfig().vehicleRepairDistance) {
|
||||||
meActionToNearbyPlayers(client, `takes their upgrade kit and adds a ${itemTypeData.name} to the vehicle.`);
|
meActionToNearbyPlayers(client, `takes their upgrade kit and adds a ${itemTypeData.name} to the vehicle.`);
|
||||||
@@ -1436,7 +1441,7 @@ function playerUseItem(client, hotBarSlot) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case VRR_ITEM_USETYPE_VEHLIVERY: {
|
case VRR_ITEM_USE_TYPE_VEHLIVERY: {
|
||||||
let vehicle = getClosestVehicle(getPlayerPosition(client));
|
let vehicle = getClosestVehicle(getPlayerPosition(client));
|
||||||
if (getDistance(getPlayerPosition(client), getVehiclePosition(vehicle)) <= getGlobalConfig().vehicleRepairDistance) {
|
if (getDistance(getPlayerPosition(client), getVehiclePosition(vehicle)) <= getGlobalConfig().vehicleRepairDistance) {
|
||||||
meActionToNearbyPlayers(client, `takes their decal kit and adds some decals to the vehicle.`);
|
meActionToNearbyPlayers(client, `takes their decal kit and adds some decals to the vehicle.`);
|
||||||
@@ -1445,7 +1450,7 @@ function playerUseItem(client, hotBarSlot) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case VRR_ITEM_USETYPE_VEHCOLOUR: {
|
case VRR_ITEM_USE_TYPE_VEHCOLOUR: {
|
||||||
let vehicle = getClosestVehicle(getPlayerPosition(client));
|
let vehicle = getClosestVehicle(getPlayerPosition(client));
|
||||||
if (getDistance(getPlayerPosition(client), getVehiclePosition(vehicle)) <= getGlobalConfig().vehicleRepairDistance) {
|
if (getDistance(getPlayerPosition(client), getVehiclePosition(vehicle)) <= getGlobalConfig().vehicleRepairDistance) {
|
||||||
if (itemData.useId == 1) {
|
if (itemData.useId == 1) {
|
||||||
@@ -1461,7 +1466,7 @@ function playerUseItem(client, hotBarSlot) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case VRR_ITEM_USETYPE_FUELCAN: {
|
case VRR_ITEM_USE_TYPE_FUELCAN: {
|
||||||
let vehicle = getClosestVehicle(getPlayerPosition(client));
|
let vehicle = getClosestVehicle(getPlayerPosition(client));
|
||||||
let fuelPump = getClosestFuelPump(getPlayerPosition(client));
|
let fuelPump = getClosestFuelPump(getPlayerPosition(client));
|
||||||
if (getDistance(getPlayerPosition(client), getVehiclePosition(vehicle)) <= getDistance(getPlayerPosition(client), getFuelPumpData(fuelPump).position)) {
|
if (getDistance(getPlayerPosition(client), getVehiclePosition(vehicle)) <= getDistance(getPlayerPosition(client), getFuelPumpData(fuelPump).position)) {
|
||||||
@@ -1494,13 +1499,13 @@ function playerUseItem(client, hotBarSlot) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case VRR_ITEM_USETYPE_WALKIETALKIE: {
|
case VRR_ITEM_USE_TYPE_WALKIETALKIE: {
|
||||||
itemData.enabled = !itemData.enabled;
|
itemData.enabled = !itemData.enabled;
|
||||||
meActionToNearbyPlayers(client, `turns ${toLowerCase(getOnOffFromBool(itemData.enabled))} their walkie-talkie`);
|
meActionToNearbyPlayers(client, `turns ${toLowerCase(getOnOffFromBool(itemData.enabled))} their walkie-talkie`);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case VRR_ITEM_USETYPE_PHONE: {
|
case VRR_ITEM_USE_TYPE_PHONE: {
|
||||||
if (itemData.value == 0) {
|
if (itemData.value == 0) {
|
||||||
let phoneNumber = generateRandomPhoneNumber();
|
let phoneNumber = generateRandomPhoneNumber();
|
||||||
itemData.value = phoneNumber;
|
itemData.value = phoneNumber;
|
||||||
@@ -1518,7 +1523,7 @@ function playerUseItem(client, hotBarSlot) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case VRR_ITEM_USETYPE_SMOKEDRUG: {
|
case VRR_ITEM_USE_TYPE_SMOKEDRUG: {
|
||||||
meActionToNearbyPlayers(client, `smokes some ${itemTypeData.name}`);
|
meActionToNearbyPlayers(client, `smokes some ${itemTypeData.name}`);
|
||||||
getPlayerData(client).incomingDamageMultiplier = getPlayerData(client).incomingDamageMultiplier - (itemTypeData.useValue / 100);
|
getPlayerData(client).incomingDamageMultiplier = getPlayerData(client).incomingDamageMultiplier - (itemTypeData.useValue / 100);
|
||||||
if (getPlayerData(client).incomingDamageMultiplier < 0.25) {
|
if (getPlayerData(client).incomingDamageMultiplier < 0.25) {
|
||||||
@@ -1529,7 +1534,7 @@ function playerUseItem(client, hotBarSlot) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case VRR_ITEM_USETYPE_SNORTDRUG: {
|
case VRR_ITEM_USE_TYPE_SNORTDRUG: {
|
||||||
meActionToNearbyPlayers(client, `snorts some ${itemTypeData.name}`);
|
meActionToNearbyPlayers(client, `snorts some ${itemTypeData.name}`);
|
||||||
getPlayerData(client).incomingDamageMultiplier = getPlayerData(client).incomingDamageMultiplier - (itemTypeData.useValue / 100);
|
getPlayerData(client).incomingDamageMultiplier = getPlayerData(client).incomingDamageMultiplier - (itemTypeData.useValue / 100);
|
||||||
if (getPlayerData(client).incomingDamageMultiplier < 0.25) {
|
if (getPlayerData(client).incomingDamageMultiplier < 0.25) {
|
||||||
@@ -1540,7 +1545,7 @@ function playerUseItem(client, hotBarSlot) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case VRR_ITEM_USETYPE_INJECTDRUG: {
|
case VRR_ITEM_USE_TYPE_INJECTDRUG: {
|
||||||
meActionToNearbyPlayers(client, `shoots up some ${itemTypeData.name}`);
|
meActionToNearbyPlayers(client, `shoots up some ${itemTypeData.name}`);
|
||||||
getPlayerData(client).incomingDamageMultiplier = getPlayerData(client).incomingDamageMultiplier - (itemTypeData.useValue / 100);
|
getPlayerData(client).incomingDamageMultiplier = getPlayerData(client).incomingDamageMultiplier - (itemTypeData.useValue / 100);
|
||||||
if (getPlayerData(client).incomingDamageMultiplier < 0.25) {
|
if (getPlayerData(client).incomingDamageMultiplier < 0.25) {
|
||||||
@@ -1551,7 +1556,7 @@ function playerUseItem(client, hotBarSlot) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case VRR_ITEM_USETYPE_PLANT: {
|
case VRR_ITEM_USE_TYPE_PLANT: {
|
||||||
meActionToNearbyPlayers(client, `bends down and plants a ${itemTypeData.name} in the ground`);
|
meActionToNearbyPlayers(client, `bends down and plants a ${itemTypeData.name} in the ground`);
|
||||||
createGroundPlant(itemIndex);
|
createGroundPlant(itemIndex);
|
||||||
if (itemData.value == 0) {
|
if (itemData.value == 0) {
|
||||||
@@ -1561,7 +1566,7 @@ function playerUseItem(client, hotBarSlot) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case VRR_ITEM_USETYPE_BADGE: {
|
case VRR_ITEM_USE_TYPE_BADGE: {
|
||||||
meActionToNearbyPlayers(client, `shows their badge to everyone nearby.`);
|
meActionToNearbyPlayers(client, `shows their badge to everyone nearby.`);
|
||||||
let clients = getClients();
|
let clients = getClients();
|
||||||
for (let i in clients) {
|
for (let i in clients) {
|
||||||
@@ -1575,12 +1580,12 @@ function playerUseItem(client, hotBarSlot) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case VRR_ITEM_USETYPE_AMMO_CLIP: {
|
case VRR_ITEM_USE_TYPE_AMMO_CLIP: {
|
||||||
messagePlayerError(client, `Equip a compatible weapon and press R to use an ammo clip/magazine`);
|
messagePlayerError(client, `Equip a compatible weapon and press R to use an ammo clip/magazine`);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case VRR_ITEM_USETYPE_HEALTH: {
|
case VRR_ITEM_USE_TYPE_HEALTH: {
|
||||||
let closestPlayer = getClosestPlayer(getPlayerPosition(client), client);
|
let closestPlayer = getClosestPlayer(getPlayerPosition(client), client);
|
||||||
|
|
||||||
if (!getPlayerData(closestPlayer)) {
|
if (!getPlayerData(closestPlayer)) {
|
||||||
@@ -1595,26 +1600,26 @@ function playerUseItem(client, hotBarSlot) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case VRR_ITEM_USETYPE_LOTTOTICKET: {
|
case VRR_ITEM_USE_TYPE_LOTTOTICKET: {
|
||||||
messagePlayerError(client, getLocaleString(client, "ItemDoesntDoAnythingOnUse", itemTypeData.name));
|
messagePlayerError(client, getLocaleString(client, "ItemDoesntDoAnythingOnUse", itemTypeData.name));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case VRR_ITEM_USETYPE_AREARADIO: {
|
case VRR_ITEM_USE_TYPE_AREARADIO: {
|
||||||
itemData.enabled = !itemData.enabled;
|
itemData.enabled = !itemData.enabled;
|
||||||
meActionToNearbyPlayers(client, `turns ${getOnOffFromBool(itemData.enabled)} the boombox radio`);
|
meActionToNearbyPlayers(client, `turns ${getOnOffFromBool(itemData.enabled)} the boombox radio`);
|
||||||
messagePlayerAlert(client, getLocaleString(client, "ItemRadioStationTip", `{ALTCOLOUR}/radiostation{MAINCOLOUR}`));
|
messagePlayerAlert(client, getLocaleString(client, "ItemRadioStationTip", `{ALTCOLOUR}/radiostation{MAINCOLOUR}`));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case VRR_ITEM_USETYPE_PERSONALRADIO: {
|
case VRR_ITEM_USE_TYPE_PERSONALRADIO: {
|
||||||
itemData.enabled = !itemData.enabled;
|
itemData.enabled = !itemData.enabled;
|
||||||
meActionToNearbyPlayers(client, `turns ${getOnOffFromBool(itemData.enabled)} their personal radio`);
|
meActionToNearbyPlayers(client, `turns ${getOnOffFromBool(itemData.enabled)} their personal radio`);
|
||||||
messagePlayerAlert(client, getLocaleString(client, "ItemRadioStationTip", `{ALTCOLOUR}/radiostation{MAINCOLOUR}`));
|
messagePlayerAlert(client, getLocaleString(client, "ItemRadioStationTip", `{ALTCOLOUR}/radiostation{MAINCOLOUR}`));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
case VRR_ITEM_USETYPE_NONE: {
|
case VRR_ITEM_USE_TYPE_NONE: {
|
||||||
messagePlayerError(client, getLocaleString(client, "ItemDoesntDoAnythingOnUse", itemTypeData.name));
|
messagePlayerError(client, getLocaleString(client, "ItemDoesntDoAnythingOnUse", itemTypeData.name));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -1823,7 +1828,7 @@ function playerSwitchItem(client, newHotBarSlot) {
|
|||||||
|
|
||||||
if (newHotBarItem != -1) {
|
if (newHotBarItem != -1) {
|
||||||
if (getItemData(newHotBarItem)) {
|
if (getItemData(newHotBarItem)) {
|
||||||
if (getItemTypeData(getItemData(newHotBarItem).itemTypeIndex).useType == VRR_ITEM_USETYPE_WEAPON) {
|
if (getItemTypeData(getItemData(newHotBarItem).itemTypeIndex).useType == VRR_ITEM_USE_TYPE_WEAPON) {
|
||||||
if (getItemData(newHotBarItem).value > 0 || isMeleeWeapon(toInteger(getItemTypeData(getItemData(newHotBarItem).itemTypeIndex).useId))) {
|
if (getItemData(newHotBarItem).value > 0 || isMeleeWeapon(toInteger(getItemTypeData(getItemData(newHotBarItem).itemTypeIndex).useId))) {
|
||||||
givePlayerWeapon(client, toInteger(getItemTypeData(getItemData(newHotBarItem).itemTypeIndex).useId), toInteger(getItemData(newHotBarItem).value), true, true);
|
givePlayerWeapon(client, toInteger(getItemTypeData(getItemData(newHotBarItem).itemTypeIndex).useId), toInteger(getItemData(newHotBarItem).value), true, true);
|
||||||
setPlayerWeaponDamageEnabled(client, true);
|
setPlayerWeaponDamageEnabled(client, true);
|
||||||
@@ -1840,7 +1845,7 @@ function playerSwitchItem(client, newHotBarSlot) {
|
|||||||
messagePlayerError(client, getLocaleString(client, "ItemUnequippableNoAmmo", getItemName(newHotBarItem), newHotBarSlot));
|
messagePlayerError(client, getLocaleString(client, "ItemUnequippableNoAmmo", getItemName(newHotBarItem), newHotBarSlot));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else if (getItemTypeData(getItemData(newHotBarItem).itemTypeIndex).useType == VRR_ITEM_USETYPE_TAZER) {
|
} else if (getItemTypeData(getItemData(newHotBarItem).itemTypeIndex).useType == VRR_ITEM_USE_TYPE_TAZER) {
|
||||||
if (getItemData(newHotBarItem).value > 0) {
|
if (getItemData(newHotBarItem).value > 0) {
|
||||||
givePlayerWeapon(client, toInteger(getItemTypeData(getItemData(newHotBarItem).itemTypeIndex).useId), toInteger(getItemData(newHotBarItem).value), true, true);
|
givePlayerWeapon(client, toInteger(getItemTypeData(getItemData(newHotBarItem).itemTypeIndex).useId), toInteger(getItemData(newHotBarItem).value), true, true);
|
||||||
setPlayerWeaponDamageEnabled(client, false);
|
setPlayerWeaponDamageEnabled(client, false);
|
||||||
@@ -2310,7 +2315,7 @@ function listItemInventoryCommand(command, params, client) {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (getItemTypeData(getItemData(itemId).itemTypeIndex).useType != VRR_ITEM_USETYPE_STORAGE) {
|
if (getItemTypeData(getItemData(itemId).itemTypeIndex).useType != VRR_ITEM_USE_TYPE_STORAGE) {
|
||||||
messagePlayerError(client, "This item can't hold anything!");
|
messagePlayerError(client, "This item can't hold anything!");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -2631,20 +2636,20 @@ function getItemValueDisplayForItem(itemId) {
|
|||||||
// ===========================================================================
|
// ===========================================================================
|
||||||
|
|
||||||
function getItemValueDisplay(itemType, value) {
|
function getItemValueDisplay(itemType, value) {
|
||||||
if (getItemTypeData(itemType).useType == VRR_ITEM_USETYPE_SKIN) {
|
if (getItemTypeData(itemType).useType == VRR_ITEM_USE_TYPE_SKIN) {
|
||||||
return "any";
|
return "any";
|
||||||
} else if (getItemTypeData(itemType).useType == VRR_ITEM_USETYPE_FOOD || getItemTypeData(itemType).useType == VRR_ITEM_USETYPE_DRINK || getItemTypeData(itemType).useType == VRR_ITEM_USETYPE_EXTINGUISHER || getItemTypeData(itemType).useType == VRR_ITEM_USETYPE_SPRAYPAINT || getItemTypeData(itemType).useType == VRR_ITEM_USETYPE_PEPPERSPRAY) {
|
} else if (getItemTypeData(itemType).useType == VRR_ITEM_USE_TYPE_FOOD || getItemTypeData(itemType).useType == VRR_ITEM_USE_TYPE_DRINK || getItemTypeData(itemType).useType == VRR_ITEM_USE_TYPE_EXTINGUISHER || getItemTypeData(itemType).useType == VRR_ITEM_USE_TYPE_SPRAYPAINT || getItemTypeData(itemType).useType == VRR_ITEM_USE_TYPE_PEPPERSPRAY) {
|
||||||
return getPercentage(toString(value), getItemTypeData(itemType).capacity) + "%";
|
return getPercentage(toString(value), getItemTypeData(itemType).capacity) + "%";
|
||||||
} else if (getItemTypeData(itemType).useType == VRR_ITEM_USETYPE_PHONE) {
|
} else if (getItemTypeData(itemType).useType == VRR_ITEM_USE_TYPE_PHONE) {
|
||||||
return toString(value);
|
return toString(value);
|
||||||
} else if (getItemTypeData(itemType).useType == VRR_ITEM_USETYPE_WEAPON || getItemTypeData(itemType).useType == VRR_ITEM_USETYPE_TAZER) {
|
} else if (getItemTypeData(itemType).useType == VRR_ITEM_USE_TYPE_WEAPON || getItemTypeData(itemType).useType == VRR_ITEM_USE_TYPE_TAZER) {
|
||||||
if (isMeleeWeapon(getItemTypeData(itemType).useId)) {
|
if (isMeleeWeapon(getItemTypeData(itemType).useId)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return toString(value) + " rounds";
|
return toString(value) + " rounds";
|
||||||
} else if (getItemTypeData(itemType).useType == VRR_ITEM_USETYPE_WALKIETALKIE) {
|
} else if (getItemTypeData(itemType).useType == VRR_ITEM_USE_TYPE_WALKIETALKIE) {
|
||||||
return toString(toString(value).slice(0, -2) + "." + toString(value).slice(-1) + "MHz");
|
return toString(toString(value).slice(0, -2) + "." + toString(value).slice(-1) + "MHz");
|
||||||
} else if (getItemTypeData(itemType).useType == VRR_ITEM_USETYPE_VEHCOLOUR) {
|
} else if (getItemTypeData(itemType).useType == VRR_ITEM_USE_TYPE_VEHCOLOUR) {
|
||||||
return `[${getGameConfig().vehicleColourHex[value]}]SAMPLE[#FFFFFF]`;
|
return `[${getGameConfig().vehicleColourHex[value]}]SAMPLE[#FFFFFF]`;
|
||||||
} else {
|
} else {
|
||||||
return value;
|
return value;
|
||||||
@@ -3076,7 +3081,7 @@ function getPlayerFirstAmmoItemForWeapon(client, weaponId) {
|
|||||||
for (let i in getPlayerData(client).hotBarItems) {
|
for (let i in getPlayerData(client).hotBarItems) {
|
||||||
if (getPlayerData(client).hotBarItems[i] != -1) {
|
if (getPlayerData(client).hotBarItems[i] != -1) {
|
||||||
if (getItemData(getPlayerData(client).hotBarItems[i]) != false) {
|
if (getItemData(getPlayerData(client).hotBarItems[i]) != false) {
|
||||||
if (getItemTypeData(getItemData(getPlayerData(client).hotBarItems[i]).itemTypeIndex).useType == VRR_ITEM_USETYPE_AMMO_CLIP) {
|
if (getItemTypeData(getItemData(getPlayerData(client).hotBarItems[i]).itemTypeIndex).useType == VRR_ITEM_USE_TYPE_AMMO_CLIP) {
|
||||||
if (getItemTypeData(getItemData(getPlayerData(client).hotBarItems[i]).itemTypeIndex).useId == weaponId) {
|
if (getItemTypeData(getItemData(getPlayerData(client).hotBarItems[i]).itemTypeIndex).useId == weaponId) {
|
||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,9 +8,9 @@
|
|||||||
// ===========================================================================
|
// ===========================================================================
|
||||||
|
|
||||||
function getItemWithPhoneNumber(phoneNumber) {
|
function getItemWithPhoneNumber(phoneNumber) {
|
||||||
for(let i in getServerData().items) {
|
for (let i in getServerData().items) {
|
||||||
if(getItemTypeData(getItemData(i).itemTypeIndex).useType == VRR_ITEM_USETYPE_PHONE) {
|
if (getItemTypeData(getItemData(i).itemTypeIndex).useType == VRR_ITEM_USE_TYPE_PHONE) {
|
||||||
if(getItemData(i).value == phoneNumber) {
|
if (getItemData(i).value == phoneNumber) {
|
||||||
return i;
|
return i;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,11 +8,11 @@
|
|||||||
// ===========================================================================
|
// ===========================================================================
|
||||||
|
|
||||||
function getPlayerActiveWalkieTalkieFrequency(client) {
|
function getPlayerActiveWalkieTalkieFrequency(client) {
|
||||||
let walkieTalkieSlot = getPlayerFirstItemSlotByUseType(client, VRR_ITEM_USETYPE_WALKIETALKIE);
|
let walkieTalkieSlot = getPlayerFirstItemSlotByUseType(client, VRR_ITEM_USE_TYPE_WALKIETALKIE);
|
||||||
|
|
||||||
if(walkieTalkieSlot != -1) {
|
if (walkieTalkieSlot != -1) {
|
||||||
if(getItemData(getPlayerData(client).hotBarItems[walkieTalkieSlot])) {
|
if (getItemData(getPlayerData(client).hotBarItems[walkieTalkieSlot])) {
|
||||||
if(getItemData(getPlayerData(client).hotBarItems[walkieTalkieSlot]).enabled) {
|
if (getItemData(getPlayerData(client).hotBarItems[walkieTalkieSlot]).enabled) {
|
||||||
return getItemData(getPlayerData(client).hotBarItems[walkieTalkieSlot]).value;
|
return getItemData(getPlayerData(client).hotBarItems[walkieTalkieSlot]).value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -31,7 +31,7 @@ function walkieTalkieTransmit(radioFrequency, messageText, transmittingPlayer) {
|
|||||||
// if(isPlayerSpawned(clients[i])) {
|
// if(isPlayerSpawned(clients[i])) {
|
||||||
// if(!isSamePlayer(transmittingPlayer, clients[i])) {
|
// if(!isSamePlayer(transmittingPlayer, clients[i])) {
|
||||||
// if(getPlayerActiveWalkieTalkieFrequency(clients[i]) == radioFrequency) {
|
// if(getPlayerActiveWalkieTalkieFrequency(clients[i]) == radioFrequency) {
|
||||||
// if(getItemData(getPlayerData(clients[i]).hotBarItems[getPlayerFirstItemSlotByUseType(clients[i], VRR_ITEM_USETYPE_WALKIETALKIE)]).enabled) {
|
// if(getItemData(getPlayerData(clients[i]).hotBarItems[getPlayerFirstItemSlotByUseType(clients[i], VRR_ITEM_USE_TYPE_WALKIETALKIE)]).enabled) {
|
||||||
// walkieTalkieIncomingToNearbyPlayers(clients[i], messageText);
|
// walkieTalkieIncomingToNearbyPlayers(clients[i], messageText);
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
@@ -40,10 +40,10 @@ function walkieTalkieTransmit(radioFrequency, messageText, transmittingPlayer) {
|
|||||||
//}
|
//}
|
||||||
|
|
||||||
let items = getServerData().items;
|
let items = getServerData().items;
|
||||||
for(let i in items) {
|
for (let i in items) {
|
||||||
if(items[i].enabled) {
|
if (items[i].enabled) {
|
||||||
if(getItemTypeData(items[i].itemTypeIndex).useType == VRR_ITEM_USETYPE_WALKIETALKIE) {
|
if (getItemTypeData(items[i].itemTypeIndex).useType == VRR_ITEM_USE_TYPE_WALKIETALKIE) {
|
||||||
if(items[i].value == radioFrequency) {
|
if (items[i].value == radioFrequency) {
|
||||||
walkieTalkieIncomingToNearbyPlayers(null, messageText, getItemPosition(i));
|
walkieTalkieIncomingToNearbyPlayers(null, messageText, getItemPosition(i));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -55,7 +55,7 @@ function walkieTalkieTransmit(radioFrequency, messageText, transmittingPlayer) {
|
|||||||
|
|
||||||
function walkieTalkieOutgoingToNearbyPlayers(client, messageText) {
|
function walkieTalkieOutgoingToNearbyPlayers(client, messageText) {
|
||||||
let clients = getPlayersInRange(getPlayerPosition(client), getGlobalConfig().talkDistance);
|
let clients = getPlayersInRange(getPlayerPosition(client), getGlobalConfig().talkDistance);
|
||||||
for(let i in clients) {
|
for (let i in clients) {
|
||||||
messagePlayerNormal(clients[i], `[#CCCCCC]${getCharacterFullName(client)} {ALTCOLOUR}(to radio): {MAINCOLOUR}${messageText}`);
|
messagePlayerNormal(clients[i], `[#CCCCCC]${getCharacterFullName(client)} {ALTCOLOUR}(to radio): {MAINCOLOUR}${messageText}`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -64,12 +64,12 @@ function walkieTalkieOutgoingToNearbyPlayers(client, messageText) {
|
|||||||
|
|
||||||
function walkieTalkieIncomingToNearbyPlayers(client, messageText, position = null) {
|
function walkieTalkieIncomingToNearbyPlayers(client, messageText, position = null) {
|
||||||
let prefix = `{ALTCOLOUR}(Nearby radio)`;
|
let prefix = `{ALTCOLOUR}(Nearby radio)`;
|
||||||
if(client != null) {
|
if (client != null) {
|
||||||
prefix = `${getCharacterFullName(client)} {ALTCOLOUR}(from radio)`;
|
prefix = `${getCharacterFullName(client)} {ALTCOLOUR}(from radio)`;
|
||||||
}
|
}
|
||||||
|
|
||||||
let clients = getPlayersInRange(getPlayerPosition(client), getGlobalConfig().walkieTalkieSpeakerDistance);
|
let clients = getPlayersInRange(getPlayerPosition(client), getGlobalConfig().walkieTalkieSpeakerDistance);
|
||||||
for(let i in clients) {
|
for (let i in clients) {
|
||||||
messagePlayerNormal(clients[i], `[#CCCCCC]${prefix}: {MAINCOLOUR}${messageText}`);
|
messagePlayerNormal(clients[i], `[#CCCCCC]${prefix}: {MAINCOLOUR}${messageText}`);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -77,35 +77,35 @@ function walkieTalkieIncomingToNearbyPlayers(client, messageText, position = nul
|
|||||||
// ===========================================================================
|
// ===========================================================================
|
||||||
|
|
||||||
function setWalkieTalkieFrequencyCommand(command, params, client) {
|
function setWalkieTalkieFrequencyCommand(command, params, client) {
|
||||||
if(areParamsEmpty(params)) {
|
if (areParamsEmpty(params)) {
|
||||||
messagePlayerSyntax(client, getCommandSyntaxText(command));
|
messagePlayerSyntax(client, getCommandSyntaxText(command));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(isNaN(params)) {
|
if (isNaN(params)) {
|
||||||
messagePlayerError(client, `The frequency channel must be a number!`);
|
messagePlayerError(client, `The frequency channel must be a number!`);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
params = toInteger(params);
|
params = toInteger(params);
|
||||||
|
|
||||||
if(params < 100 || params > 500) {
|
if (params < 100 || params > 500) {
|
||||||
messagePlayerError(client, `The frequency channel must be between 100 and 500!`);
|
messagePlayerError(client, `The frequency channel must be between 100 and 500!`);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!getPlayerActiveItem(client)) {
|
if (!getPlayerActiveItem(client)) {
|
||||||
messagePlayerError(client, `You aren't holding a walkie talkie!`);
|
messagePlayerError(client, `You aren't holding a walkie talkie!`);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(!getItemData(getPlayerActiveItem(client))) {
|
if (!getItemData(getPlayerActiveItem(client))) {
|
||||||
messagePlayerError(client, `You aren't holding a walkie talkie!`);
|
messagePlayerError(client, `You aren't holding a walkie talkie!`);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(getItemData(getPlayerActiveItem(client)).enabled) {
|
if (getItemData(getPlayerActiveItem(client)).enabled) {
|
||||||
if(!doesPlayerHaveKeyBindsDisabled(client) && doesPlayerHaveKeyBindForCommand(client, "use")) {
|
if (!doesPlayerHaveKeyBindsDisabled(client) && doesPlayerHaveKeyBindForCommand(client, "use")) {
|
||||||
messagePlayerError(client, `Your walkie talkie is turned off. Press ${toUpperCase(getKeyNameFromId(getPlayerKeyBindForCommand(client, "use")).key)} to turn it on`);
|
messagePlayerError(client, `Your walkie talkie is turned off. Press ${toUpperCase(getKeyNameFromId(getPlayerKeyBindForCommand(client, "use")).key)} to turn it on`);
|
||||||
} else {
|
} else {
|
||||||
messagePlayerError(client, `Your walkie talkie is turned off. Type {ALTCOLOUR}/use {MAINCOLOUR}to turn it on`);
|
messagePlayerError(client, `Your walkie talkie is turned off. Type {ALTCOLOUR}/use {MAINCOLOUR}to turn it on`);
|
||||||
@@ -113,20 +113,20 @@ function setWalkieTalkieFrequencyCommand(command, params, client) {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
getItemData(getPlayerActiveItem(client)).value = params*100;
|
getItemData(getPlayerActiveItem(client)).value = params * 100;
|
||||||
messagePlayerSuccess(client, `You set the frequency of you walkie talkie in slot ${getPlayerData(client).activeHotBarSlot} to ${getItemValueDisplayForItem(getPlayerActiveItem(client))}`)
|
messagePlayerSuccess(client, `You set the frequency of you walkie talkie in slot ${getPlayerData(client).activeHotBarSlot} to ${getItemValueDisplayForItem(getPlayerActiveItem(client))}`)
|
||||||
}
|
}
|
||||||
|
|
||||||
// ===========================================================================
|
// ===========================================================================
|
||||||
|
|
||||||
function walkieTalkieChatCommand(command, params, client) {
|
function walkieTalkieChatCommand(command, params, client) {
|
||||||
if(areParamsEmpty(params)) {
|
if (areParamsEmpty(params)) {
|
||||||
messagePlayerSyntax(client, getCommandSyntaxText(command));
|
messagePlayerSyntax(client, getCommandSyntaxText(command));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
let walkieTalkieSlot = getPlayerFirstItemSlotByUseType(client, VRR_ITEM_USETYPE_WALKIETALKIE);
|
let walkieTalkieSlot = getPlayerFirstItemSlotByUseType(client, VRR_ITEM_USE_TYPE_WALKIETALKIE);
|
||||||
if(!getItemData(getPlayerData(client).hotBarItems[walkieTalkieSlot]).enabled) {
|
if (!getItemData(getPlayerData(client).hotBarItems[walkieTalkieSlot]).enabled) {
|
||||||
messagePlayerError(client, "Please turn on a walkie talkie first!");
|
messagePlayerError(client, "Please turn on a walkie talkie first!");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -935,7 +935,7 @@ function givePlayerJobEquipment(client, equipmentId) {
|
|||||||
|
|
||||||
for (let i in getJobData(jobId).equipment[equipmentId].items) {
|
for (let i in getJobData(jobId).equipment[equipmentId].items) {
|
||||||
let value = getJobData(jobId).equipment[equipmentId].items[i].value
|
let value = getJobData(jobId).equipment[equipmentId].items[i].value
|
||||||
if (getItemTypeData(getItemTypeIndexFromDatabaseId(getJobData(jobId).equipment[equipmentId].items[i].itemType)).useType == VRR_ITEM_USETYPE_WALKIETALKIE) {
|
if (getItemTypeData(getItemTypeIndexFromDatabaseId(getJobData(jobId).equipment[equipmentId].items[i].itemType)).useType == VRR_ITEM_USE_TYPE_WALKIETALKIE) {
|
||||||
value = getJobData(jobId).walkieTalkieFrequency;
|
value = getJobData(jobId).walkieTalkieFrequency;
|
||||||
}
|
}
|
||||||
let itemId = createItem(getItemTypeIndexFromDatabaseId(getJobData(jobId).equipment[equipmentId].items[i].itemType), value, VRR_ITEM_OWNER_PLAYER, getPlayerCurrentSubAccount(client).databaseId);
|
let itemId = createItem(getItemTypeIndexFromDatabaseId(getJobData(jobId).equipment[equipmentId].items[i].itemType), value, VRR_ITEM_OWNER_PLAYER, getPlayerCurrentSubAccount(client).databaseId);
|
||||||
|
|||||||
Reference in New Issue
Block a user