• Будьте внимательны, не попадайтесь на уловки мошенников и при возможности используйте наш сервис. Также ознакомьтесь - Рекомендации по защите от мошенников.
  • Из-за обновления GTA 5 (был добавлен новый патч) может временно не работать вход в RAGE Multiplayer.

    ERROR: Your game version is not supported by RAGE Multiplayer.

    Данная ошибка говорит о том, что GTA V обновилась до новой версии (GTA Online тоже). Вам необходимо обновить саму игру в главном меню вашего приложения (Steam / Epic Games / Rockstar Games).
    Если после этого RAGE:MP все равно не работает - вам нужно дождаться выхода патча для самого мультиплеера (обычно это занимает от нескольких часов до нескольких дней).

    Новости и апдейты Rockstar Games - https://www.rockstargames.com/ru/newswire/
    Статус всех служб для Rockstar Games Launcher и поддерживаемых игр: https://support.rockstargames.com/ru/servicestatus


    Grand Theft Auto 5 (+ GTA Online) последний раз были обновлены:

Inventory/Storage/Shop system

SlowSuicide

Активный участник
Автор темы
7 Ноя 2020
3
0
36
JS+JQuery+JQuery D'N'D. Almost working with CEF

BackEnd doesn't'exists.

The general concept was taken from the game: Escape from Tarkov.

This functionality was developed by me 3 years ago. Including 3 modules:
  • Inventory system
  • Storage system
  • Store system

Each type of weapon has its own type of ammunition:
  • pistol
  • medium weapon
  • heavy weapons

Drawer storage system:
  • medical supplies box
  • weapon box
  • ammo box
  • money box
  • a box of any things

Boxes support nesting (box within box)

A weapon can be loaded by dragging the required ammunition into it. Or by right-clicking on a weapon - load it. By clicking on the "Unload" button, the ammunition goes into the storage (if the weapon is unloaded in the storage. Or into the pockets/backpack - if the weapon is equipped).

Screens example:






example of input data format:
JavaScript:
let rageArray = {
  machinebullet: {
    id: "1",
    stack: true,
    ragename: "machinebullet",
    category: "bullet",
    subcategory: "machinerifle",
    count: 456,
    max_count: 1000,
    weigth: 0.03,
    cellwidth: 1,
    cellheight: 1,
    inventory: {
      block:'.Storage',
      items: null,
      cellwidth:0,
      cellheight:0
    },
    position:{
      i:null,
      j:null,
    }
  },
  advancedrifle: {
    id: "2",
    stack: false,
    ragename: "advancedrifle",
    category: "weapon",
    subcategory: "rifle",
    count: 21,
    max_count: 30,
    weigth: 3.5,
    cellwidth: 4,
    cellheight: 2,
    inventory: {
      block:'.Storage',
      items: null,
      cellwidth:0,
      cellheight:0
    },
    position:{
      i:null,
      j:null,
    }
  },
  combatmg: {
    id: "3",
    stack: false,
    ragename: "combatmg",
    category: "weapon",
    subcategory: "rifle",
    count: 45,
    max_count: 100,
    weigth: 7.32,
    cellwidth: 4,
    cellheight: 2,
    inventory: {
      block:'.Storage',
      items: null,
      cellwidth:0,
      cellheight:0
    },
    position:{
      i:null,
      j:null,
    }
  },
  combatpdw: {
    id: "4",
    stack: false,
    ragename: "combatpdw",
    category: "weapon",
    subcategory: "semirifle",
    count: 15,
    max_count: 30,
    weigth: 2.08,
    cellwidth: 3,
    cellheight: 2,
    inventory: {
      block:'.Storage',
      items: null,
      cellwidth:0,
      cellheight:0
    },
    position:{
      i:null,
      j:null,
    }
  },
  gusenberg: {
    id: "5",
    stack: false,
    ragename: "gusenberg",
    category: "weapon",
    subcategory: "rifle",
    count: 4,
    max_count: 30,
    weigth: 3.11,
    cellwidth: 4,
    cellheight: 2,
    inventory: {
      block:'.Storage',
      items: null,
      cellwidth:0,
      cellheight:0
    },
    position:{
      i:null,
      j:null,
    }
  },
  machinepistol: {
    id: "6",
    stack: false,
    ragename: "machinepistol",
    category: "weapon",
    subcategory: "pistol",
    count: 12,
    max_count: 30,
    weigth: 2.51,
    cellwidth: 2,
    cellheight: 1,
    inventory: {
      block:'.Storage',
      items: null,
      cellwidth:0,
      cellheight:0
    },
    position:{
      i:null,
      j:null,
    }
  },
  assaultsmg: {
    id: "7",
    stack: false,
    ragename: "assaultsmg",
    category: "weapon",
    subcategory: "semirifle",
    count: 1,
    max_count: 30,
    weigth: 2.5,
    cellwidth: 3,
    cellheight: 2,
    inventory: {
      block:'.Storage',
      items: null,
      cellwidth:0,
      cellheight:0
    },
    position:{
      i:null,
      j:null,
    }
  },
  microsmg: {
    id: "8",
    stack: false,
    ragename: "microsmg",
    category: "weapon",
    subcategory: "semirifle",
    count: 0,
    max_count: 30,
    weigth: 1.21,
    cellwidth: 3,
    cellheight: 2,
    inventory: {
      block:'.Storage',
      items: null,
      cellwidth:0,
      cellheight:0
    },
    position:{
      i:null,
      j:null,
    }
  },
  semiriflebullet: {
    id: "9",
    stack: true,
    ragename: "semiriflebullet",
    category: "bullet",
    subcategory: "semirifle",
    count: 100,
    max_count: 1000,
    weigth: 0.01,
    cellwidth: 1,
    cellheight: 1,
    inventory: {
      block:'.Storage',
      items: null,
      cellwidth:0,
      cellheight:0
    },
    position:{
      i:null,
      j:null,
    }
  },
  armorbag: {
    id: "10",
    stack: false,
    ragename: "armorbag",
    category: "clothes",
    subcategory: "armor",
    count: 1,
    max_count: 1,
    weigth: 4.11,
    cellwidth: 2,
    cellheight: 2,
    inventory: {
      block:'.Storage',
      items: null,
      cellwidth:0,
      cellheight:0
    },
    position:{
      i:null,
      j:null,
    }
  },
  hpbag: {
    id: "11",
    stack: false,
    ragename: "hpbag",
    category: "item",
    subcategory: "health",
    count: 1,
    max_count: 1,
    weigth: 1.22,
    cellwidth: 1,
    cellheight: 1,
    inventory: {
      block:'.Storage',
      items: null,
      cellwidth:0,
      cellheight:0
    },
    position:{
      i:null,
      j:null,
    }
  },
  weapon_case: {
    id: "12",
    stack: false,
    ragename: "weapon_case",
    category: "case",
    subcategory: "weapon",
    count: 1,
    max_count: 1,
    weigth: 15,
    cellwidth: 6,
    cellheight: 3,
    inventory: {
      block:'.Storage',
      items:null,
      cellwidth:6,
      cellheight:10
    },
    position:{
      i:null,
      j:null,
    }
  },
  mini_weapon_case: {
    id: "13",
    stack: false,
    ragename: "mini_weapon_case",
    category: "case",
    subcategory: "weapon",
    count: 1,
    max_count: 1,
    weigth: 1.22,
    cellwidth: 4,
    cellheight: 2,
    inventory: {
      block:'.Storage',
      items: null,
      cellwidth:5,
      cellheight:6
    },
    position:{
      i:null,
      j:null,
    }
  },

  medical_case: {
    id: "14",
    stack: false,
    ragename: "medical_case",
    category: "case",
    subcategory: "health",
    count: 1,
    max_count: 1,
    weigth: 1.22,
    cellwidth: 3,
    cellheight: 3,
    inventory: {
      block:'.Storage',
      items: null,
      cellwidth:5,
      cellheight:5
    },
    position:{
      i:null,
      j:null,
    }
  },
  bullets_case: {
    id: "15",
    stack: false,
    ragename: "bullets_case",
    category: "case",
    subcategory: "bullet",
    count: 1,
    max_count: 1,
    weigth: 1.22,
    cellwidth: 2,
    cellheight: 2,
    inventory: {
      block:'.Storage',
      items: null,
      cellwidth:5,
      cellheight:5
    },
    position:{
      i:null,
      j:null,
    }
  },
  money_case: {
    id: "16",
    stack: false,
    ragename: "money_case",
    category: "case",
    subcategory: "money",
    count: 1,
    max_count: 1,
    weigth: 1.22,
    cellwidth: 2,
    cellheight: 2,
    inventory: {
      block:'.Storage',
      items: null,
      cellwidth:5,
      cellheight:5
    },
    position:{
      i:null,
      j:null,
    }
  },
  things_case: {
    id: "17",
    stack: false,
    ragename: "things_case",
    category: "case",
    subcategory: "item",
    count: 1,
    max_count: 1,
    weigth: 1.22,
    cellwidth: 4,
    cellheight: 4,
    inventory: {
      block:'.Storage',
      items: null,
      cellwidth:7,
      cellheight:7
    },
    position:{
      i:null,
      j:null,
    }
  }
};


It's only one copy.

To get a deal on this offer - text me at [email protected] or [email protected]

After the deal is completed, the functionality passes to the new owner and this topic will be closed

Пояснения:
на английском написано из-за копи-паста. Данный лот размещён параллельно на других форумах. После приобретения лота (на данном форуме или каком-то ещё) - тема закрывается везде. Я - разработчик данного функционала. Разрабатывал свой проект, но давно его забросил. В подарок могу безвозмездно отдать все свои наработки (отдать весь проект).
Бэк не был реализован, из-за причины описанной ранее. Смогу показать/рассказать как всё синхронизировать, соответственно провести демонстрацию и прочее. На любые вопросы готов ответить в данной теме/в личной переписке/по почте указанной в основном сообщении. Для иностранного рынка цену вижу в 1к$. Для СНГ рынка - 700$ - так я оцениваю свой труд
 
Последнее редактирование: