try to Fix TradeTimer
This commit is contained in:
@@ -1,312 +0,0 @@
|
||||
|
||||
$(document).ready(function () {
|
||||
//fire functions before page load
|
||||
drawToPage();
|
||||
moveItemsInv();
|
||||
console.log("loading finished");
|
||||
mp.trigger("CEF:BrowserLoadedTrade");
|
||||
});
|
||||
|
||||
function setItems(itemIdArr1, itemAmountArr1, money1) {
|
||||
var itemIdArr = JSON.parse(itemIdArr1);
|
||||
var money = JSON.parse(money1);
|
||||
var itemAmountArr = JSON.parse(itemAmountArr1);
|
||||
document.getElementById('gewicht').innerText = 'Preis: '+money+'$';
|
||||
var itemAmountArr = JSON.parse(itemAmountArr1);
|
||||
for (var i = 0; i < itemIdArr.length; i++) {
|
||||
for (x = 0; x < itemAmountArr[i]; x++) {
|
||||
commands.addToPlayerInv(itemIdArr[i]);
|
||||
console.log(i);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
var fish = {
|
||||
name: "Fisch",
|
||||
weight: 1,
|
||||
currentWeight: 1,
|
||||
dropweight: function () {
|
||||
var randomweight = Math.floor((Math.random() * 10) + 1);
|
||||
this.weight = randomweight;
|
||||
this.currentWeight = randomweight;
|
||||
},
|
||||
def: 15,
|
||||
rarity: 'common',
|
||||
statSlots: [],
|
||||
runes: [],
|
||||
amount: 1,
|
||||
usable: 'false',
|
||||
selected: 'false',
|
||||
stackable: 'false',
|
||||
object: 'true',
|
||||
itemId: 1,
|
||||
img: 'package://assets/img/items/fish.svg'
|
||||
}
|
||||
|
||||
var hamburger = {
|
||||
name: "Hamburger",
|
||||
rarity: 'common',
|
||||
selected: 'false',
|
||||
usable: 'true',
|
||||
amount: 1,
|
||||
currentWeight: 0.3,
|
||||
stackable: 'true',
|
||||
object: 'true',
|
||||
itemId: 2,
|
||||
img: "package://assets/img/items/burger.svg"
|
||||
}
|
||||
|
||||
var cocaine = {
|
||||
name: "Koks",
|
||||
rarity: 'common',
|
||||
selected: 'false',
|
||||
usable: 'true',
|
||||
amount: 1,
|
||||
currentWeight: 0.05,
|
||||
stackable: 'true',
|
||||
object: 'true',
|
||||
itemId: 3,
|
||||
img: "package://assets/img/items/cocaine.svg"
|
||||
}
|
||||
|
||||
var cannabis = {
|
||||
name: "Cannabis",
|
||||
rarity: 'common',
|
||||
selected: 'false',
|
||||
usable: 'true',
|
||||
amount: 1,
|
||||
currentWeight: 0.05,
|
||||
stackable: 'true',
|
||||
object: 'true',
|
||||
itemId: 4,
|
||||
img: "package://assets/img/items/cannabis.svg"
|
||||
}
|
||||
|
||||
var allItems = [fish, hamburger, cocaine, cannabis];
|
||||
|
||||
|
||||
|
||||
////////////////////////
|
||||
// Player Invenotry //
|
||||
////////////////////////
|
||||
|
||||
var playerInventory = [];
|
||||
var EmptySlot = { name: 'blankSpace', rarity: '', object: 'false' };
|
||||
|
||||
|
||||
function addToInvenotry(addItem) {
|
||||
var cloneItem = Object.assign({}, addItem);
|
||||
var getExsistingId = cloneItem.itemId;
|
||||
var unfininshedStack;
|
||||
|
||||
|
||||
//Checks to see if any items can be stacked, the location, and stack amount
|
||||
for (var i = 0; i < playerInventory.length; i++) {
|
||||
if (playerInventory[i].itemId === getExsistingId && cloneItem.stackable === 'true' && playerInventory[i].amount < 10) {
|
||||
unfininshedStack = i
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (cloneItem.currentWeight * cloneItem.amount + weightInv >= 25) {
|
||||
return;
|
||||
}
|
||||
|
||||
//Adds item to inventory
|
||||
for (var i = 0; i < playerInventory.length; i++) {
|
||||
if (unfininshedStack != undefined) {
|
||||
if (playerInventory[unfininshedStack].amount + cloneItem.amount <= 10) {
|
||||
playerInventory[unfininshedStack].amount += cloneItem.amount;
|
||||
unfininshedStack = undefined;
|
||||
drawToPage();
|
||||
moveItemsInv();
|
||||
break;
|
||||
}
|
||||
else if (playerInventory[unfininshedStack].amount + cloneItem.amount > 10) {
|
||||
var stackRemainder = 10 - playerInventory[unfininshedStack].amount;
|
||||
playerInventory[unfininshedStack].amount += stackRemainder;
|
||||
cloneItem.amount -= stackRemainder;
|
||||
var recycleCloned = cloneItem;
|
||||
addToInvenotry(recycleCloned);
|
||||
unfininshedStack = undefined;
|
||||
drawToPage();
|
||||
moveItemsInv();
|
||||
break;
|
||||
}
|
||||
}
|
||||
else if (cloneItem.amount > 10 && playerInventory[i].object === 'false') {
|
||||
var reduceCloneAmount = Object.assign({}, cloneItem);
|
||||
reduceCloneAmount.amount = 10;
|
||||
playerInventory[i] = reduceCloneAmount;
|
||||
cloneItem.amount -= 10;
|
||||
addToInvenotry(cloneItem);
|
||||
drawToPage();
|
||||
moveItemsInv();
|
||||
break;
|
||||
}
|
||||
else if (unfininshedStack == undefined && playerInventory[i].object === 'false') {
|
||||
playerInventory[i] = cloneItem;
|
||||
drawToPage();
|
||||
moveItemsInv();
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
var getItemSlotData;
|
||||
function getAllItemSlotData() {
|
||||
getItemSlotData = document.getElementsByClassName('itemSlot');
|
||||
}
|
||||
|
||||
|
||||
var currentSelected;
|
||||
function moveItemsInv() {
|
||||
getAllItemSlotData();
|
||||
for (var i = 0; i < getItemSlotData.length; i++) {
|
||||
getItemSlotData[i].addEventListener("click", function () {
|
||||
if (this.classList.contains('selected')) {
|
||||
this.classList.remove('selected');
|
||||
currentSelected = undefined;
|
||||
}
|
||||
else if (this.getAttribute('object') === 'false' && isNaN(currentSelected)) {
|
||||
return;
|
||||
}
|
||||
else if (currentSelected) {
|
||||
if (playerInventory[currentSelected].stackable === 'false' || playerInventory[currentSelected].itemId != playerInventory[this.getAttribute('data-value')].itemId) {
|
||||
var swap = playerInventory[this.getAttribute('data-value')];
|
||||
playerInventory[this.getAttribute('data-value')] = playerInventory[currentSelected];
|
||||
playerInventory[currentSelected] = swap;
|
||||
drawToPage();
|
||||
currentSelected = undefined;
|
||||
getItemSlotData = document.getElementsByClassName('itemSlot');
|
||||
moveItemsInv();
|
||||
}
|
||||
else if (playerInventory[currentSelected].itemId == playerInventory[this.getAttribute('data-value')].itemId && playerInventory[currentSelected].stackable) {
|
||||
playerInventory[this.getAttribute('data-value')].amount += playerInventory[currentSelected].amount
|
||||
playerInventory[currentSelected] = EmptySlot;
|
||||
drawToPage();
|
||||
currentSelected = undefined;
|
||||
getItemSlotData = document.getElementsByClassName('itemSlot');
|
||||
moveItemsInv();
|
||||
}
|
||||
}
|
||||
else {
|
||||
this.className += ' selected'
|
||||
currentSelected = this.getAttribute('data-value')
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
function refreshAllCurrentItems() {
|
||||
var remove = document.getElementById('invContainer');
|
||||
while (remove.firstChild) remove.removeChild(remove.firstChild);
|
||||
}
|
||||
|
||||
|
||||
function fillOutEmptyInv() {
|
||||
for (var i = 0; i < 6; i++) {
|
||||
if (!playerInventory[i]) {
|
||||
playerInventory.push(EmptySlot);
|
||||
drawToPage();
|
||||
}
|
||||
}
|
||||
}
|
||||
var weightInv = 0;
|
||||
function drawToPage() {
|
||||
refreshAllCurrentItems();
|
||||
weightInv = 0;
|
||||
for (var i = 0; i < playerInventory.length; i++) {
|
||||
if (playerInventory[i].selected == 'true') {
|
||||
var className = ' selected';
|
||||
}
|
||||
else {
|
||||
var className = '';
|
||||
}
|
||||
|
||||
if (i >= 6) {
|
||||
//Keeps inventory set to 10 items max
|
||||
console.log('Inventory is full!')
|
||||
return;
|
||||
}
|
||||
else {
|
||||
//creates item element
|
||||
var item = document.createElement("div");
|
||||
item.className = "itemSlot " + playerInventory[i].rarity + className;
|
||||
item.setAttribute("data-value", i);
|
||||
item.setAttribute("inv-type", 'p');
|
||||
item.setAttribute("object", playerInventory[i].object);
|
||||
item.setAttribute('style', 'background: url(' + playerInventory[i].img + '); background-size: contain;');
|
||||
|
||||
//show element amounts
|
||||
var itemAmount = document.createElement("div");
|
||||
itemAmount.className = "itemAmount";
|
||||
var itemAmountDisplay = document.createElement("p");
|
||||
if (playerInventory[i].amount) {
|
||||
var itemDisplayStatsName = document.createTextNode(playerInventory[i].amount);
|
||||
}
|
||||
else {
|
||||
var itemDisplayStatsName = document.createTextNode('');
|
||||
}
|
||||
item.appendChild(itemAmount);
|
||||
itemAmount.appendChild(itemAmountDisplay);
|
||||
itemAmountDisplay.appendChild(itemDisplayStatsName);
|
||||
|
||||
|
||||
//adds item element or elements
|
||||
document.getElementById("invContainer").appendChild(item);
|
||||
|
||||
//creates item display information
|
||||
if (playerInventory[i].object === 'true') {
|
||||
var itemDesc = document.createElement("div");
|
||||
var itemDescTitle = document.createElement("h3");
|
||||
|
||||
var getItemTitle = document.createTextNode(playerInventory[i].name + " (" + Math.round(playerInventory[i].currentWeight * playerInventory[i].amount * 100) / 100 + " kg)");
|
||||
itemDesc.className = "itemDesc";
|
||||
item.appendChild(itemDesc);
|
||||
itemDesc.appendChild(itemDescTitle);
|
||||
itemDescTitle.appendChild(getItemTitle);
|
||||
}
|
||||
}
|
||||
}
|
||||
fillOutEmptyInv();
|
||||
}
|
||||
|
||||
|
||||
///////////////////
|
||||
// Dev Commands //
|
||||
///////////////////
|
||||
|
||||
var commands = {
|
||||
addToPlayerInv: function (itemGiveId) {
|
||||
for (var i = 0; i < allItems.length; i++) {
|
||||
if (allItems[i].itemId === itemGiveId) {
|
||||
addToInvenotry(allItems[i]);
|
||||
}
|
||||
}
|
||||
},
|
||||
clearPlayerInv: function () {
|
||||
playerInventory = [];
|
||||
drawToPage();
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
// Button funktionen
|
||||
var elemakzeptieren = document.getElementById("buttonakzeptieren");
|
||||
elemakzeptieren.addEventListener('click', akzeptieren);
|
||||
|
||||
var elemablehnen = document.getElementById("buttonablehnen");
|
||||
elemablehnen.addEventListener('click', ablehnen);
|
||||
|
||||
|
||||
//Handel Akzeptierenfenster
|
||||
|
||||
function akzeptieren() {
|
||||
mp.trigger('CEF:acceptTrade');
|
||||
}
|
||||
|
||||
function ablehnen() {
|
||||
mp.trigger('CEF:declineTrade');
|
||||
}
|
||||
Reference in New Issue
Block a user