Fix job equipment bug, add badge item usetype
This commit is contained in:
@@ -331,6 +331,11 @@ function dropItemCommand(command, params, client) {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(isPlayerItemFromJobEquipment(client, hotBarSlot)) {
|
||||||
|
messagePlayerError(client, `You can't drop job items`);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
getPlayerData(client).itemActionState = VRR_ITEM_ACTION_DROP;
|
getPlayerData(client).itemActionState = VRR_ITEM_ACTION_DROP;
|
||||||
getPlayerData(client).itemActionItem = hotBarSlot;
|
getPlayerData(client).itemActionItem = hotBarSlot;
|
||||||
showPlayerItemDropDelay(client, hotBarSlot);
|
showPlayerItemDropDelay(client, hotBarSlot);
|
||||||
@@ -369,6 +374,11 @@ function putItemCommand(command, params, client) {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(isPlayerItemFromJobEquipment(client, hotBarSlot)) {
|
||||||
|
messagePlayerError(client, `You can't put job items`);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
getPlayerData(client).itemActionItem = hotBarSlot;
|
getPlayerData(client).itemActionItem = hotBarSlot;
|
||||||
getPlayerData(client).itemActionState = VRR_ITEM_ACTION_PUT;
|
getPlayerData(client).itemActionState = VRR_ITEM_ACTION_PUT;
|
||||||
showPlayerItemPutDelay(client, hotBarSlot);
|
showPlayerItemPutDelay(client, hotBarSlot);
|
||||||
@@ -407,6 +417,11 @@ function takeItemCommand(command, params, client) {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//if(isPlayerItemFromJobEquipment(client, hotBarSlot)) {
|
||||||
|
// messagePlayerError(client, `You can't take job items`);
|
||||||
|
// return false;
|
||||||
|
//}
|
||||||
|
|
||||||
getPlayerData(client).itemActionItem = itemId;
|
getPlayerData(client).itemActionItem = itemId;
|
||||||
getPlayerData(client).itemActionState = VRR_ITEM_ACTION_TAKE;
|
getPlayerData(client).itemActionState = VRR_ITEM_ACTION_TAKE;
|
||||||
showPlayerItemTakeDelay(client, itemId);
|
showPlayerItemTakeDelay(client, itemId);
|
||||||
@@ -635,7 +650,7 @@ function playerUseItem(client, hotBarSlot) {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case VRR_ITEM_USETYPE_VEHREPAIR:
|
case VRR_ITEM_USETYPE_VEHREPAIR:
|
||||||
let vehicle = getClosestVehicle(getPlayerPosition(client));
|
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`);
|
||||||
repairVehicle(vehicle);
|
repairVehicle(vehicle);
|
||||||
@@ -648,7 +663,7 @@ function playerUseItem(client, hotBarSlot) {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case VRR_ITEM_USETYPE_VEHUPGRADE_PART:
|
case VRR_ITEM_USETYPE_VEHUPGRADE_PART:
|
||||||
let vehicle = getClosestVehicle(getPlayerPosition(client));
|
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 ${getItemName(itemIndex)} to the vehicle.`);
|
meActionToNearbyPlayers(client, `takes their upgrade kit and adds a ${getItemName(itemIndex)} to the vehicle.`);
|
||||||
addVehicleUpgrade(vehicle, getItemData(itemIndex).useId);
|
addVehicleUpgrade(vehicle, getItemData(itemIndex).useId);
|
||||||
@@ -656,7 +671,7 @@ function playerUseItem(client, hotBarSlot) {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case VRR_ITEM_USETYPE_VEHLIVERY:
|
case VRR_ITEM_USETYPE_VEHLIVERY:
|
||||||
let vehicle = getClosestVehicle(getPlayerPosition(client));
|
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.`);
|
||||||
setVehicleLivery(vehicle, getItemData(itemIndex).useValue);
|
setVehicleLivery(vehicle, getItemData(itemIndex).useValue);
|
||||||
@@ -664,7 +679,7 @@ function playerUseItem(client, hotBarSlot) {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case VRR_ITEM_USETYPE_VEHCOLOUR:
|
case VRR_ITEM_USETYPE_VEHCOLOUR:
|
||||||
let vehicle = getClosestVehicle(getPlayerPosition(client));
|
vehicle = getClosestVehicle(getPlayerPosition(client));
|
||||||
if(getDistance(getPlayerPosition(client), getVehiclePosition(vehicle)) <= getGlobalConfig().vehicleRepairDistance) {
|
if(getDistance(getPlayerPosition(client), getVehiclePosition(vehicle)) <= getGlobalConfig().vehicleRepairDistance) {
|
||||||
if(getItemData(itemIndex).useId == 1) {
|
if(getItemData(itemIndex).useId == 1) {
|
||||||
meActionToNearbyPlayers(client, `takes their vehicle colour kit and changes the primary colour of the vehicle.`);
|
meActionToNearbyPlayers(client, `takes their vehicle colour kit and changes the primary colour of the vehicle.`);
|
||||||
@@ -679,7 +694,7 @@ function playerUseItem(client, hotBarSlot) {
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case VRR_ITEM_USETYPE_FUELCAN:
|
case VRR_ITEM_USETYPE_FUELCAN:
|
||||||
let vehicle = getClosestVehicle(getPlayerPosition(client));
|
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)) {
|
||||||
if(getDistance(getPlayerPosition(client), getVehiclePosition(vehicle)) <= getGlobalConfig().vehicleRepairDistance) {
|
if(getDistance(getPlayerPosition(client), getVehiclePosition(vehicle)) <= getGlobalConfig().vehicleRepairDistance) {
|
||||||
@@ -747,6 +762,18 @@ function playerUseItem(client, hotBarSlot) {
|
|||||||
switchPlayerActiveHotBarSlot(client, -1);
|
switchPlayerActiveHotBarSlot(client, -1);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case VRR_ITEM_USETYPE_BADGE:
|
||||||
|
let clients = getClients();
|
||||||
|
for(let i in clients) {
|
||||||
|
if(getDistance(getPlayerPosition(client), getPlayerPosition(clients[i])) <= 7) {
|
||||||
|
messagePlayerInfo(client, `${getInlineChatColourByType("clanOrange")}== ${getInlineChatColourByType("jobYellow")}Badge ${getInlineChatColourByType("clanOrange")}====================================`);
|
||||||
|
messagePlayerNormal(client, `${getInlineChatColourByType("clanOrange")}Name: ${getInlineChatColourByName("white")}${getCharacterFullName(client)}`);
|
||||||
|
messagePlayerNormal(client, `${getInlineChatColourByType("clanOrange")}Type: ${getInlineChatColourByName("white")}${getJobData(getPlayerJob(client)).name}`);
|
||||||
|
messagePlayerNormal(client, `${getInlineChatColourByType("clanOrange")}Rank: ${getInlineChatColourByName("white")}${getJobRankData(getPlayerJob(client), getPlayerJobRank(client)).name}`);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
messagePlayerError(client, `The ${getItemName(itemIndex)} doesn't do anything when you try to use it.`);
|
messagePlayerError(client, `The ${getItemName(itemIndex)} doesn't do anything when you try to use it.`);
|
||||||
break;
|
break;
|
||||||
@@ -970,8 +997,10 @@ function playerSwitchHotBarSlotCommand(command, params, client) {
|
|||||||
hotBarSlot = hotBarSlot-1;
|
hotBarSlot = hotBarSlot-1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(getPlayerData(client).activeHotBarSlot == hotBarSlot) {
|
if(hotBarSlot != -1) {
|
||||||
hotBarSlot = -1;
|
if(getPlayerData(client).activeHotBarSlot == hotBarSlot) {
|
||||||
|
hotBarSlot = -1;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(getPlayerData(client).itemActionState != VRR_ITEM_ACTION_NONE) {
|
if(getPlayerData(client).itemActionState != VRR_ITEM_ACTION_NONE) {
|
||||||
@@ -1005,8 +1034,10 @@ function getClosestItemOnGround(position) {
|
|||||||
|
|
||||||
function setItemDataIndexes() {
|
function setItemDataIndexes() {
|
||||||
for(let i in getServerData().items) {
|
for(let i in getServerData().items) {
|
||||||
getServerData().items[i].index = i;
|
if(getServerData().items[i]) {
|
||||||
getServerData().items[i].itemTypeIndex = getItemTypeIndexFromDatabaseId(getServerData().items[i].itemType);
|
getServerData().items[i].index = i;
|
||||||
|
getServerData().items[i].itemTypeIndex = getItemTypeIndexFromDatabaseId(getServerData().items[i].itemType);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1055,7 +1086,7 @@ function cachePlayerHotBarItems(client) {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
for(let i = 0 ; i <= 9 ; i++) {
|
for(let i = 0 ; i < 9 ; i++) {
|
||||||
getPlayerData(client).hotBarItems[i] = -1;
|
getPlayerData(client).hotBarItems[i] = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1349,7 +1380,7 @@ function saveItemToDatabase(itemId) {
|
|||||||
// ===========================================================================
|
// ===========================================================================
|
||||||
|
|
||||||
function storePlayerItemsInJobLocker(client) {
|
function storePlayerItemsInJobLocker(client) {
|
||||||
for(let i = 0 ; i <= 8 ; i++) {
|
for(let i = 0 ; i < 9 ; i++) {
|
||||||
getPlayerData(client).jobLockerCache[i] = getPlayerData(client).hotBarItems[i];
|
getPlayerData(client).jobLockerCache[i] = getPlayerData(client).hotBarItems[i];
|
||||||
getPlayerData(client).hotBarItems[i] = -1;
|
getPlayerData(client).hotBarItems[i] = -1;
|
||||||
}
|
}
|
||||||
@@ -1367,7 +1398,7 @@ function restorePlayerJobLockerItems(client) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for(let i = 0 ; i <= 8 ; i++) {
|
for(let i = 0 ; i < 9 ; i++) {
|
||||||
getPlayerData(client).hotBarItems[i] = getPlayerData(client).jobLockerCache[i];
|
getPlayerData(client).hotBarItems[i] = getPlayerData(client).jobLockerCache[i];
|
||||||
getPlayerData(client).jobLockerCache[i] = -1;
|
getPlayerData(client).jobLockerCache[i] = -1;
|
||||||
}
|
}
|
||||||
@@ -1537,6 +1568,30 @@ function deleteItemInPlayerInventoryCommand(command, params, client) {
|
|||||||
|
|
||||||
// ===========================================================================
|
// ===========================================================================
|
||||||
|
|
||||||
|
function deleteAllItemsInPlayerInventoryCommand(command, params, client) {
|
||||||
|
if(areParamsEmpty(params)) {
|
||||||
|
messagePlayerSyntax(client, getCommandSyntaxText(command));
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
let splitParams = params.split(" ");
|
||||||
|
let targetClient = getPlayerFromParams(splitParams[0]);
|
||||||
|
let hotBarSlot = splitParams[1];
|
||||||
|
|
||||||
|
if(!targetClient) {
|
||||||
|
messagePlayerError(client, `Player not found!`);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
for(let i = 0; i < 9; i++) {
|
||||||
|
deleteItem(getPlayerData(targetClient).hotBarItems[i]);
|
||||||
|
}
|
||||||
|
|
||||||
|
messagePlayerSuccess(client, `You deleted all items in ${getInlineChatColourByName("lightGrey")}${getCharacterFullName(targetClient)}'s ${getInlineChatColourByName("white")}inventory`);
|
||||||
|
}
|
||||||
|
|
||||||
|
// ===========================================================================
|
||||||
|
|
||||||
function getItemName(itemId) {
|
function getItemName(itemId) {
|
||||||
if(getItemData(itemId)) {
|
if(getItemData(itemId)) {
|
||||||
return getItemTypeData(getItemData(itemId).itemTypeIndex).name;
|
return getItemTypeData(getItemData(itemId).itemTypeIndex).name;
|
||||||
@@ -1752,4 +1807,30 @@ function switchPlayerActiveHotBarSlot(client, slotId) {
|
|||||||
//clearPlayerItemActionStateAfterDelay(client, getGlobalConfig().itemActionStateReset);
|
//clearPlayerItemActionStateAfterDelay(client, getGlobalConfig().itemActionStateReset);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// ===========================================================================
|
||||||
|
|
||||||
|
function isPlayerItemFromJobEquipment(client, hotBarSlot) {
|
||||||
|
if(getPlayerData(client).hotBarItems[hotBarSlot].databaseId = -1) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
// ===========================================================================
|
||||||
|
|
||||||
|
function getItemPosition(itemId) {
|
||||||
|
switch(getItemData(itemId).ownerType) {
|
||||||
|
case VRR_ITEM_OWNER_PLAYER:
|
||||||
|
return getPlayerPosition(getPlayerFromCharacterId(getItemData(itemId).ownerId));
|
||||||
|
|
||||||
|
case VRR_ITEM_OWNER_VEHDASH:
|
||||||
|
case VRR_ITEM_OWNER_VEHTRUNK:
|
||||||
|
return getVehiclePosition(getVehicleFromDatabaseId(getItemData(itemId).ownerId));
|
||||||
|
|
||||||
|
case VRR_ITEM_OWNER_GROUND:
|
||||||
|
return getItemData(itemId).position;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// ===========================================================================
|
// ===========================================================================
|
||||||
Reference in New Issue
Block a user