Inventory Improvements Actual

This commit is contained in:
Lukas Moungos
2019-07-31 22:55:16 +02:00
parent f3d297a2d6
commit 5b5e78a34f
18 changed files with 894 additions and 133 deletions

View File

@@ -20,29 +20,18 @@ function setItems(itemIdArr1, itemAmountArr1) {
}
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,
var holz = {
name: "Holz",
rarity: 'common',
statSlots: [],
runes: [],
amount: 1,
usable: 'false',
selected: 'false',
stackable: 'false',
usable: 'true',
amount: 1,
currentWeight: 0.65,
stackable: 'true',
object: 'true',
itemId: 1,
img: 'package://assets/img/items/fish.svg'
img: "package://assets/img/items/wood.svg"
}
var hamburger = {
name: "Hamburger",
rarity: 'common',
@@ -55,7 +44,6 @@ var hamburger = {
itemId: 2,
img: "package://assets/img/items/burger.svg"
}
var cocaine = {
name: "Koks",
rarity: 'common',
@@ -68,7 +56,6 @@ var cocaine = {
itemId: 3,
img: "package://assets/img/items/cocaine.svg"
}
var cannabis = {
name: "Cannabis",
rarity: 'common',
@@ -81,8 +68,98 @@ var cannabis = {
itemId: 4,
img: "package://assets/img/items/cannabis.svg"
}
var flunder = {
name: "Flunder",
weight: 7.7,
currentWeight: 7.7,
rarity: 'fishes',
statSlots: [],
runes: [],
amount: 1,
usable: 'false',
selected: 'false',
stackable: 'false',
object: 'true',
itemId: 5,
img: 'package://assets/img/items/flounder.svg'
}
var aal = {
name: "Aal",
weight: 3.6,
currentWeight: 3.6,
rarity: 'fishes',
statSlots: [],
runes: [],
amount: 1,
usable: 'false',
selected: 'false',
stackable: 'false',
object: 'true',
itemId: 6,
img: 'package://assets/img/items/aal.svg'
}
var barsch = {
name: "Barsch",
weight: 2.6,
currentWeight: 2.6,
rarity: 'fishes',
statSlots: [],
runes: [],
amount: 1,
usable: 'false',
selected: 'false',
stackable: 'false',
object: 'true',
itemId: 7,
img: 'package://assets/img/items/perch.svg'
}
var lachs = {
name: "Lachs",
weight: 4.2,
currentWeight: 4.2,
rarity: 'fishes',
statSlots: [],
runes: [],
amount: 1,
usable: 'false',
selected: 'false',
stackable: 'false',
object: 'true',
itemId: 8,
img: 'package://assets/img/items/salmon.svg'
}
var thunfisch = {
name: "Thunfisch",
weight: 11,
currentWeight: 11,
rarity: 'fishes',
statSlots: [],
runes: [],
amount: 1,
usable: 'false',
selected: 'false',
stackable: 'false',
object: 'true',
itemId: 9,
img: 'package://assets/img/items/salmon.svg'
}
var zander = {
name: "Zander",
weight: 5,
currentWeight: 5,
rarity: 'fishes',
statSlots: [],
runes: [],
amount: 1,
usable: 'false',
selected: 'false',
stackable: 'false',
object: 'true',
itemId: 10,
img: 'package://assets/img/items/zander.svg'
}
var allItems = [fish, hamburger, cocaine, cannabis];
var allItems = [holz, hamburger, cocaine, cannabis, flunder, aal, barsch, lachs, thunfisch, zander];
@@ -114,15 +191,15 @@ function addToInvenotry(addItem) {
//Adds item to inventory
for (var i = 0; i < playerInventory.length; i++) {
if (unfininshedStack != undefined) {
if (playerInventory[unfininshedStack].amount + cloneItem.amount <= 10) {
if (playerInventory[unfininshedStack].amount + cloneItem.amount <= 99) {
playerInventory[unfininshedStack].amount += cloneItem.amount;
unfininshedStack = undefined;
drawToPage();
moveItemsInv();
break;
}
else if (playerInventory[unfininshedStack].amount + cloneItem.amount > 10) {
var stackRemainder = 10 - playerInventory[unfininshedStack].amount;
else if (playerInventory[unfininshedStack].amount + cloneItem.amount > 99) {
var stackRemainder = 99 - playerInventory[unfininshedStack].amount;
playerInventory[unfininshedStack].amount += stackRemainder;
cloneItem.amount -= stackRemainder;
var recycleCloned = cloneItem;
@@ -133,11 +210,11 @@ function addToInvenotry(addItem) {
break;
}
}
else if (cloneItem.amount > 10 && playerInventory[i].object === 'false') {
else if (cloneItem.amount > 99 && playerInventory[i].object === 'false') {
var reduceCloneAmount = Object.assign({}, cloneItem);
reduceCloneAmount.amount = 10;
reduceCloneAmount.amount = 99;
playerInventory[i] = reduceCloneAmount;
cloneItem.amount -= 10;
cloneItem.amount -= 99;
addToInvenotry(cloneItem);
drawToPage();
moveItemsInv();
@@ -162,7 +239,10 @@ var currentSelected;
function moveItemsInv() {
getAllItemSlotData();
for (var i = 0; i < getItemSlotData.length; i++) {
getItemSlotData[i].addEventListener("click", function () {
$(getItemSlotData[i]).click(function () {
if (this.getAttribute('inv-type') != 'p') {
return;
}
if (this.classList.contains('selected')) {
this.classList.remove('selected');
currentSelected = undefined;
@@ -172,16 +252,50 @@ function moveItemsInv() {
}
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();
drawToHandel();
currentSelected = undefined;
getItemSlotData = document.getElementsByClassName('itemSlot');
moveItemsInv();
if (playerInventory[this.getAttribute('data-value')] == EmptySlot && this.getAttribute('data-value') > 23) {
$(".Betrag").show();
var hItem = this.getAttribute('data-value');
var iItem = currentSelected;
var Copy = Object.assign({}, playerInventory[iItem]);
playerInventory.splice(hItem, 0, Copy);
$("#tf_submitZahl").click(function () {
if ($('#tf_zahl').val() < playerInventory[iItem].amount && playerInventory[currentSelected].stackable) {
console.log(playerInventory[hItem].amount + " " + playerInventory[iItem].amount + " " + hItem);
var y = parseInt($('#tf_zahl').val(), 10);
playerInventory[iItem].amount -= y;
console.log(playerInventory[hItem].amount + " " + playerInventory[iItem] + " " + parseInt($('#tf_zahl').val(), 10) + " " + hItem);
playerInventory[hItem].amount = y;
console.log(playerInventory[hItem].amount + " " + playerInventory[iItem].amount + " " + parseInt($('#tf_zahl').val(), 10) + " " + hItem);
} else {
playerInventory[hItem].amount = playerInventory[currentSelected].amount;
playerInventory[currentSelected] = EmptySlot;
}
drawToPage();
drawToHandel();
currentSelected = undefined;
getItemSlotData = document.getElementsByClassName('itemSlot');
moveItemsInv();
$(".Betrag").hide();
});
return;
} else {
var swap = playerInventory[this.getAttribute('data-value')];
playerInventory[this.getAttribute('data-value')] = playerInventory[currentSelected];
playerInventory[currentSelected] = swap;
drawToPage();
drawToHandel();
currentSelected = undefined;
getItemSlotData = document.getElementsByClassName('itemSlot');
moveItemsInv();
}
}
else if (playerInventory[currentSelected].itemId == playerInventory[this.getAttribute('data-value')].itemId && playerInventory[currentSelected].stackable) {
else if ((playerInventory[currentSelected].itemId == playerInventory[this.getAttribute('data-value')].itemId && playerInventory[currentSelected].stackable) && this.getAttribute('inv-type') === 'p') {
playerInventory[this.getAttribute('data-value')].amount += playerInventory[currentSelected].amount
playerInventory[currentSelected] = EmptySlot;
drawToPage();
@@ -192,8 +306,8 @@ function moveItemsInv() {
}
}
else {
this.className += ' selected'
currentSelected = this.getAttribute('data-value')
this.className += ' selected';
currentSelected = this.getAttribute('data-value');
}
});
}
@@ -228,7 +342,7 @@ function drawToPage() {
if (i >= 24) {
//Keeps inventory set to 10 items max
console.log('Inventory is full!')
return;
}
else {
//creates item element
@@ -350,8 +464,6 @@ function drawToHandel() {
fillOutEmptyInvHandel();
}
///////////////////
// Dev Commands //
///////////////////
@@ -373,75 +485,68 @@ var commands = {
// Button funktionen
var elembenutzen = document.getElementById("buttonbenutzen");
elembenutzen.addEventListener('click', benutzen);
var elemwegwerfen = document.getElementById("buttonwegwerfen");
elemwegwerfen.addEventListener('click', wegwerfen);
var elemsubmit = document.getElementById("tf_submit");
elemsubmit.addEventListener('click', handeln);
function benutzen() {
$("#buttonbenutzen").click(function () {
if (currentSelected) {
if (playerInventory[currentSelected].usable == 'true') {
if (playerInventory[currentSelected].stackable == 'true') {
playerInventory[currentSelected].amount -= 1;
if (playerInventory[currentSelected].amount <= 0) {
mp.trigger("CEF:UseItemInv", playerInventory[currentSelected].itemId);
playerInventory[currentSelected] = EmptySlot;
} else {
if (getItemSlotData[currentSelected].classList.contains('selected')) {
getItemSlotData[currentSelected].classList.remove('selected');
playerInventory[currentSelected].selected = 'false';
currentSelected = undefined;
playerInventory[currentSelected].selected = 'false';
}
}
drawToPage();
drawToHandel();
moveItemsInv();
getCommands();
} else {
mp.trigger("CEF:UseItemInv", playerInventory[currentSelected].itemId);
playerInventory[currentSelected] = EmptySlot;
currentSelected = undefined;
drawToPage();
drawToHandel();
moveItemsInv();
}
mp.trigger("CEF:UseItemInv", playerInventory[currentSelected].itemId);
currentSelected = undefined;
}
}
}
});
function wegwerfen() {
if (currentSelected) {
playerInventory[currentSelected] = EmptySlot;
currentSelected = undefined;
$("#buttonwegwerfen").click(function () {
if (currentSelected) {
drawToPage();
drawToHandel();
moveItemsInv();
mp.trigger('CEF:invThrowItem', playerInventory[currentSelected].itemId);
playerInventory[currentSelected] = EmptySlot;
currentSelected = undefined;
}
});
}
$(".phanWrapper").hide();
var trade = 1;
$("#buttonhandeln").click(function () {
if (trade == 1) {
$(".phanWrapper").show();
drawToHandel();
drawToPage();
drawToHandel();
moveItemsInv();
trade = 0;
} else {
$(".phanWrapper").hide();
trade = 1;
}
currentSelected = undefined;
});
function handeln() {
$("#tf_submit").click(function () {
var Money = document.getElementById("tf_betrag").value;
var User = document.getElementById("tf_name").value;
if (User == '') {
@@ -466,7 +571,7 @@ function handeln() {
moveItemsInv();
mp.trigger("CEF:tradeItem", $('#tf_betrag').val(), User, JSON.stringify(tradeItems), JSON.stringify(tradeItemAmount));
return;
}
});
var tradeItems = [];
var tradeItemAmount = [];
function getTradeSlotItems() {