JRS COREالوثائق
مرجع الـ API

المخزون

توثيق نظام المخزون في jrs

Warning

هذا التوثيق للمطورين اللي يسوون سكربتات لفريمورك JRS Core

الـ Exports


Note

هذي الـ exports للكلاينت فقط!

دوال القراءة (Getters)

closeInventory#

إغلاق المخزون

 
lua
exports.jrs_inventory:closeInventory()
Note

هذي الـ exports للسيرفر فقط!

دوال القراءة (Getters)

getUserAmmo#

جلب كل ذخيرة المستخدم

sourceintrequired

رقم اللاعب (id)

callbackfunction

دالة callback متزامنة أو غير متزامنة

returntable

returns جدول فيه كل الذخيرة

lua
exports.jrs_inventory:getUserAmmo(source, callback)
canCarryWeapons#

فحص إذا اللاعب يقدر يشيل الأسلحة

sourceintrequired

رقم اللاعب (id)

amountintrequired

عدد الأسلحة

callbackfunction

دالة callback متزامنة أو غير متزامنة

weaponNamestring | number

اسم السلاح أو الـ hash، مطلوب لفحص الوزن من إصدار 3.6

returnboolean

returns true إذا اللاعب يقدر يشيل الأسلحة

lua
exports.jrs_inventory:canCarryWeapons(source, amount,callback, weaponName)
getUserWeapon#

جلب سلاح من مخزون المستخدم

sourceintrequired

رقم اللاعب (id)

callbackfunction

دالة callback متزامنة أو غير متزامنة

weaponIdnumber

رقم السلاح (id)

returntable

{id:number,name:string,propietary:string,used:boolean,desc:string,group:number,source:number,label:string,serial_number:string,custom_label:string,custom_desc:string}

lua
exports.jrs_inventory:getUserWeapon(source, callback,weaponId)
getUserInventoryWeapons#

جلب أسلحة مخزون المستخدم

sourceintrequired

رقم اللاعب (id)

callbackfunction

دالة callback متزامنة أو غير متزامنة

returntable

{id:number,name:string,propietary:string,used:boolean,desc:string,group:number,source:number,label:string,serial_number:string,custom_label:string,custom_desc:string}

lua
exports.jrs_inventory:getUserInventoryWeapons(source, callback)
getWeaponBullets#

جلب رصاص السلاح

sourceintrequired

رقم اللاعب (id)

weaponIDnumberrequired

رقم السلاح (id)

callbackfunction

دالة callback متزامنة أو غير متزامنة

returnnumber

ذخيرة السلاح

lua
exports.jrs_inventory:getWeaponBullets(source,weaponID, callback)
getWeaponComponents#

جلب قطع السلاح

sourceintrequired

رقم اللاعب (id)

weaponIdnumberrequired

رقم السلاح (id)

callbackfunction

دالة callback متزامنة أو غير متزامنة

returntable

returns جدول فيه قطع السلاح

lua
exports.jrs_inventory:getWeaponComponents(source, weaponId, callback)

دوال التعديل (Setters)

setWeaponCustomDesc#

تعيين وصف مخصص للسلاح

sourceintrequired

رقم اللاعب (id)

weaponIdnumberrequired

رقم السلاح (id)

descstringrequired

وصف السلاح

cbfunction

دالة callback متزامنة أو غير متزامنة

returnboolean

returns true إذا انضبط الوصف بنجاح

lua
exports.jrs_inventory:setWeaponCustomDesc(weaponId, desc, cb)
setWeaponCustomLabel#

تعيين اسم مخصص للسلاح

sourceintrequired

رقم اللاعب (id)

weaponIdnumberrequired

رقم السلاح (id)

labelstringrequired

اسم السلاح المعروض

cbfunction

دالة callback متزامنة أو غير متزامنة

returnboolean

returnstrue إذا انضبط الاسم بنجاح

lua
exports.jrs_inventory:setWeaponCustomLabel(weaponId, label, cb)
setWeaponSerialNumber#

تعيين الرقم التسلسلي للسلاح

sourceintrequired

رقم اللاعب (id)

weaponIdnumberrequired

رقم السلاح (id)

serialstringrequired

الرقم التسلسلي للسلاح

cbfunction

دالة callback متزامنة أو غير متزامنة

returnboolean

returns true إذا انضبط الرقم التسلسلي بنجاح

lua
exports.jrs_inventory:setWeaponSerialNumber(weaponId, serial, cb)
subWeapon#

إزالة سلاح من مخزون المستخدم

sourceintrequired

رقم اللاعب (id)

weaponIdnumberrequired

رقم السلاح (id)

callbackfunction

دالة callback متزامنة أو غير متزامنة

returnboolean

returns true إذا انحذف السلاح بنجاح

lua
exports.jrs_inventory:subWeapon(source, weaponId, callback)
giveWeapon#

إعطاء سلاح للمستخدم

sourceintrequired

رقم اللاعب (id)

weaponIdnumberrequired

رقم السلاح (id)

targetintrequired

رقم الهدف

callbackfunction

دالة callback متزامنة أو غير متزامنة

returnboolean

returns true إذا انعطى السلاح بنجاح

lua
exports.jrs_inventory:giveWeapon(source, weaponId, target,callback)
createWeapon#

إنشاء سلاح

sourceintrequired

رقم اللاعب (id)

weaponNamestringrequired

اسم السلاح

ammostringrequired

كمية الذخيرة

componentstablerequired

قطع الأسلحة (components)

compstablerequired

قطع الأسلحة (components)

callbackfunction

دالة callback متزامنة أو غير متزامنة

wepidint

خلّه nil، هذا للاستخدام الداخلي فقط

serialstring

رقم تسلسلي مخصص للسلاح

labelstring

اسم مخصص للسلاح

descstring

وصف مخصص للأسلحة

returnboolean

إذا كان غير متزامن

lua
exports.jrs_inventory:createWeapon(source, weaponName, ammo, components, comps, callback,serial,label,desc)
deleteWeapon#

حذف سلاح

sourceintrequired

رقم اللاعب (id)

weaponIdnumberrequired

رقم السلاح (id)

callbackfunction

دالة callback متزامنة أو غير متزامنة

returnboolean

إذا كان غير متزامن

lua
exports.jrs_inventory:deleteWeapon(source, weaponId, callback)
addBullets#

إضافة رصاص

sourceintrequired

رقم اللاعب (id)

bulletTypestringrequired

نوع الرصاص

amountnumberrequired

عدد الرصاص

callbackfunction

دالة callback متزامنة أو غير متزامنة

returnboolean

returns true إذا انضاف الرصاص بنجاح

lua
exports.jrs_inventory:addBullets(source, bulletType, amount,callback)
subBullets#

سحب رصاص من السلاح

weaponIdnumberrequired

رقم السلاح (id)

bulletTypestringrequired

نوع الرصاص

amountnumberrequired

عدد الرصاص

callbackfunction

دالة callback متزامنة أو غير متزامنة

returnboolean

returns true إذا انسحب الرصاص بنجاح

lua
exports.jrs_inventory:subBullets(weaponId, bulletType, amount,callback)
removeAllUserAmmo#

إزالة كل ذخيرة المستخدم

sourceintrequired

رقم اللاعب (id)

lua
exports.jrs_inventory:removeAllUserAmmo(source)
addWeaponComponent#

إضافة قطعة للسلاح

sourceintrequired

رقم اللاعب (id)

weaponIdnumberrequired

رقم السلاح (id)

componentstring | numberrequired

اسم القطعة أو الـ hash

categorystring | numberrequired

تصنيف الخانة

callbackfunction

دالة callback متزامنة أو غير متزامنة

returnboolean

returns true إذا انضافت القطعة بنجاح

lua
exports.jrs_inventory:addWeaponComponent(source, weaponId, component, category, callback)
subWeaponComponent#

إزالة قطعة من السلاح

sourceintrequired

رقم اللاعب (id)

weaponIdnumberrequired

رقم السلاح (id)

componentstring | numberrequired

اسم القطعة أو الـ hash

categorystring | numberrequired

تصنيف الخانة

callbackfunction

دالة callback متزامنة أو غير متزامنة

returnboolean

returns true إذا انشالت القطعة بنجاح

lua
exports.jrs_inventory:subWeaponComponent(source, weaponId, component, category, callback)

دوال القراءة (Getters)

canCarryItem#

فحص إذا اللاعب يقدر يشيل الايتم قبل إضافته للمخزون

sourceintrequired

رقم اللاعب (id)

itemstringrequired

اسم الايتم

amountintrequired

عدد الايتمات

callbackfunction

دالة الـ callback متزامنة أو غير متزامنة

returnboolean

returns true إذا اللاعب يقدر يشيل الايتم

lua
exports.jrs_inventory:canCarryItem(source, item, amount, callback)
getUserInventoryItems#

يجيب كل الايتمات في مخزون اللاعب

sourceintrequired

رقم اللاعب (id)

callbackfunction

دالة الـ callback متزامنة أو غير متزامنة

returntable

returns جدول فيه كل الايتمات في المخزون

lua
exports.jrs_inventory:getUserInventoryItems(source, callback)
getItemCount#

جلب كمية ايتم من مخزون اللاعب

sourceintrequired

رقم اللاعب (id)

callbackfunction

دالة callback متزامنة أو غير متزامنة

itemstringrequired

اسم الايتم

metadatatable

بيانات الايتم الإضافية (metadata)

percentageint

يتحكم بالايتمات اللي تنجاب: إذا 0 يجيب كل الايتمات بدون metadata (إذا ما انمرر meta)، وإذا 0 يجيب الايتمات المنتهية، وأي قيمة 0 أو أكثر ترجع عدد هذي الايتمات

returnint

returns عدد الايتمات في المخزون

usage
lua
exports.jrs_inventory:getItemCount(source, callback, item, metadata, percentage)
getItemDB#

جلب ايتم من قاعدة البيانات

itemstringrequired

اسم الايتم

callbackfunction

دالة callback غير متزامنة أو متزامنة

returntable

returns جدول فيه معلومات الايتم

lua
exports.jrs_inventory:getItemDB(item, callback)
getItemById#

جلب ايتم بالرقم الرئيسي (main id)

sourceintrequired

رقم اللاعب (id)

idintrequired

رقم الايتم (id)

callbackfunction

دالة callback متزامنة أو غير متزامنة

returntable

{id:number, label:string, name:string, metadata:table, group:number, type:string, count:number, limit:number,canUse:boolean,percenage:integer,description:string,weight:number}

lua
exports.jrs_inventory:getItemById(source, id, callback)
getItem#

جلب بيانات الايتم

sourceintrequired

رقم اللاعب (id)

itemstringrequired

اسم الايتم

callbackfunction

دالة callback متزامنة أو غير متزامنة

metadatatable

بيانات الايتم الإضافية (metadata)

percentageint

جلب ايتم بنسبة معينة فقط: إذا 0 يجيب الايتمات المنتهية، وإذا nil يجيب أي ايتم، وإذا أكثر من 0 يجيب أي ايتم يساوي النسبة أو أعلى

returntable

{id:number, label:string, name:string, metadata:table, group:number, type:string, count:number, limit:number,canUse:boolean,weight:number,desc:string,percentage:integer}

lua
exports.jrs_inventory:getItem(source, item,callback, metadata,percentage)

دوال التعديل (Setters)

addItem#

إضافة ايتم للمستخدم

sourceintrequired

رقم اللاعب (id)

itemstringrequired

اسم الايتم

amountintrequired

كمية الايتم

metadatatable

بيانات الايتم الإضافية (metadata)

callbackfunction

دالة callback متزامنة أو غير متزامنة

eventboolean

إذا true ما يتشغّل حدث OnItemCreated

returnboolean

returns true إذا انضاف الايتم بنجاح

lua
exports.jrs_inventory:addItem(source, item, amount, metadata, callback,event)
subItem#

إزالة ايتم من مخزون المستخدم

sourceintrequired

رقم اللاعب (id)

itemstringrequired

اسم الايتم

amountintrequired

كمية الايتم

metadatatable

بيانات الايتم الإضافية (metadata)

callbackfunction

دالة callback متزامنة أو غير متزامنة

eventboolean

تشغيل حدث OnItemRemoved: إذا true ما ينرسل، وإذا false أو nil يتشغّل الحدث

percentageint

يتحكم بنسبة الايتمات اللي تنشال: إذا nil يشيل أي ايتم، وإذا 0 يشيل المنتهية بس، وإذا أكثر من 0 يشيل أي شي يساويها أو أعلى

returnboolean

returns true إذا انحذف الايتم بنجاح

lua
exports.jrs_inventory:subItem(source, item, amount, metadata, callback,event,percentage)
subItemById#

إزالة ايتم من مخزون المستخدم برقمه، الـ export متاح من إصدار 3.9 وفوق، والإصدارات الأقدم تستخدم subItemID

sourceintrequired

رقم اللاعب (id)

itemIdintrequired

رقم الايتم (id)

callbackfunction

دالة callback متزامنة أو غير متزامنة

eventboolean

تشغيل حدث OnItemRemoved: إذا true ما ينرسل، وإذا false أو nil يتشغّل الحدث

amountint

الكمية المراد إزالتها

returnboolean

returns true إذا انحذف الايتم بنجاح

lua
exports.jrs_inventory:subItemById(source, itemId,callback,event,amount)
setItemMetadata#
  • قسّم مجموعة وعدّل بعض الايتمات بس (الكمية لازم تكون أقل من المجموعة الحالية)
  • ادمج مع مجموعة موجودة لها نفس الـ metadata (الكمية لازم تكون أكثر أو تساوي المجموعة الحالية)
  • عدّل metadata المجموعة كاملة (الكمية لازم تكون أكثر أو تساوي المجموعة الحالية)، وهذا بس إذا الـ metadata نفس المجموعة الحالية
sourceintrequired

رقم اللاعب (id)

itemIdintrequired

رقم الايتم (id)

metadatatable

المفاتيح المحجوزة هي:

  • description وصف الايتم البديل
  • image صورة الايتم البديلة، لازم تكون موجودة في مجلد الايتمات.
  • label اسم الايتم البديل
  • weight وزن الايتم البديل
  • tolltip إضافة نص إضافي للتلميح (tooltip)
  • useExpired إذا true يسمح باستخدام الايتمات المنتهية ويتجاوز إعداد useExpired في قاعدة بيانات الايتمات
amountintrequired

كمية الايتم اللي تنشال من المجموعة الحالية إذا أقل؛ وإذا أكثر تنشال من هنا وتنضاف لمجموعة ثانية إذا الـ metadata متطابقة، وإذا لا تتحدث المجموعة كاملة بالـ meta الجديد

callbackfunction

دالة callback متزامنة أو غير متزامنة

returnboolean

returns true إذا انضبطت الـ metadata بنجاح

lua
local metadata = { description = 'Custom description', label = 'Custom label' }
exports.jrs_inventory:setItemMetadata(source, itemId, metadata, 1)
lua
  -- SET ITEM METADATA
  exports.jrs_inventory:setItemMetadata(source, itemId, metadata, amount, callback)
registerUsableItem#

تسجيل ايتم يستخدم

Note

ما ينفع تسجّل الايتم مرتين، لازم يكون فريد

itemstringrequired

اسم الايتم

callbackfunctionrequired

الـ callback {source:int, id:number, label:string, name:string, metadata:table, group:number, type:string, count:number, limit:number,canUse:boolean, mainid: integer, percentage:integer}

resourceNamestring

اسم الريسورس للتصحيح، عشان المستخدمين يشوفون في أي ريسورس انسجل هذا الايتم

lua
exports.jrs_inventory:registerUsableItem(item, callback,resourceName)
unRegisterUsableItem#

إلغاء تسجيل ايتم يستخدم، مثلاً لما توقف سكربت

Note

ما ينفع تسجّل الايتم مرتين، لازم يكون فريد

itemstringrequired

اسم الايتم

lua
exports.jrs_inventory:unRegisterUsableItem(item)

دوال القراءة (Getters)

getCustomInventoryItemCount#

جلب عدد ايتم في مخزون مخصص

invidstringrequired

رقم المخزون (id)

itemNamestringrequired

اسم الايتم

callbackfunction

دالة callback متزامنة أو غير متزامنة

metadatatable

إذا انعطت metadata يرجع عدد الايتمات اللي لها نفس الـ metadata

returnnumber

returns عدد الايتمات في المخزون

lua
exports.jrs_inventory:getCustomInventoryItemCount(invid,itemName,callback,metadata)
getCustomInventoryItems#

جلب ايتمات المخزون المخصص

invidstringrequired

رقم المخزون (id)

callbackfunction

دالة callback متزامنة أو غير متزامنة

returntable

returns جدول فيه كل الايتمات في المخزون

lua
exports.jrs_inventory:getCustomInventoryItems(invid, callback)

دوال التعديل (Setters)

removeItemFromCustomInventory#

إزالة ايتم من مخزون مخصص

invidstringrequired

رقم المخزون (id)

itemNamestringrequired

اسم الايتم

amountnumberrequired

كمية الايتم

itemCraftedIdnumberrequired

رقم الايتم المصنوع

callbackfunction

دالة callback متزامنة أو غير متزامنة

returnboolean

returns true إذا انحذف الايتم بنجاح

lua
exports.jrs_inventory:removeItemFromCustomInventory(invid,itemName,callback)
updateCustomInventoryItem#

تحديث ايتم في مخزون مخصص

invIdstringrequired

رقم المخزون (id)

item_idnumberrequired

رقم الايتم (id)

metadatatablerequired

الـ metadata المراد تحديثها

amountnumber

كمية الايتم

callbackfunction

دالة callback متزامنة أو غير متزامنة

returnboolean

returns true إذا تحدّث الايتم بنجاح

lua
exports.jrs_inventory:updateCustomInventoryItem(invId, item_id, metadata, amount, callback)
addItemsToCustomInventory#

إضافة ايتمات لمخزون مخصص

invidstringrequired

رقم المخزون (id)

itemstablerequired

الايتمات المراد إضافتها

charidnumber

charidentifier لصاحب التخزين إذا المخزون المخصص مو مشترك، وإذا مشترك يقدر يكون أي characteridentifier

callbackfunction

دالة callback متزامنة أو غير متزامنة

returnboolean

returns true إذا انضافت الايتمات بنجاح

lua
exports.jrs_inventory:addItemsToCustomInventory(invid, items, charid,callback)
setCustomInventoryItemLimit#
Warning

مقبول عشان السكربتات القديمة ما تخرب، لكن ما له أي تأثير في JRS Core: المخزون المخصص يفتحه فقط السكربت اللي يملكه.

إذا حطيت whitelistItems على true في registerCustomInventory استخدم هذا الـ export عشان تحدد الايتمات المسموحة وكمياتها

invIdstringrequired

رقم المخزون (id)

itemstringrequired

اسم الايتم

limitnumberrequired

حد الايتم

callbackfunction

دالة callback متزامنة أو غير متزامنة

returnboolean

returns true إذا انضبط الحد بنجاح

lua
exports.jrs_inventory:setCustomInventoryItemLimit(invId, item, limit, callback)
Warning

المخازن المخصصة في JRS Core تخزن ايتمات فقط. هذي الدوال موجودة للتوافق: القراءة ترجع فاضي / 0، والكتابة ترجع false.

دوال القراءة (Getters)

getCustomInventoryWeapons#

جلب أسلحة المخزون المخصص

invidstringrequired

رقم المخزون (id)

callbackfunction

دالة callback متزامنة أو غير متزامنة

returntable

returns جدول فيه كل الأسلحة في المخزون

lua
exports.jrs_inventory:getCustomInventoryWeapons(invid, callback)
getCustomInventoryWeaponCount#

جلب عدد الأسلحة في المخزون المخصص

invidstringrequired

رقم المخزون (id)

weaponNamestringrequired

اسم السلاح

callbackfunction

دالة callback متزامنة أو غير متزامنة

returnnumber

returns عدد الأسلحة في المخزون

lua
exports.jrs_inventory:getCustomInventoryWeaponCount(invid,weaponName,callback)

دالة تعديل (Setter)

removeCustomInventoryWeaponById#

إزالة سلاح من المخزون المخصص برقم السلاح

invIdstringrequired

رقم المخزون (id)

weapon_idnumberrequired

رقم السلاح (id)

callbackfunction

دالة callback متزامنة أو غير متزامنة

returnboolean

returns true إذا انحذف السلاح بنجاح

lua
exports.jrs_inventory:removeCustomInventoryWeaponById(invId, weapon_id, callback)
removeWeaponFromCustomInventory#

إزالة سلاح من المخزون المخصص

invidstringrequired

رقم المخزون (id)

weaponNamestringrequired

اسم السلاح

callbackfunction

دالة callback متزامنة أو غير متزامنة

returnboolean

returns true إذا انحذف السلاح بنجاح

lua
exports.jrs_inventory:removeWeaponFromCustomInventory(invid,weaponName,callback)
addWeaponsToCustomInventory#

إضافة أسلحة للمخزون المخصص

invidstringrequired

رقم المخزون (id)

weaponstablerequired

{name: string, serial_number: string?, custom_label: string?, custom_desc: string?, components: table?}

charidnumber

charidentifier لصاحب التخزين إذا المخزون المخصص مو مشترك، وإذا مشترك يقدر يكون أي characteridentifier

callbackfunction

دالة callback متزامنة أو غير متزامنة

returnboolean

returns true إذا انضافت الأسلحة بنجاح

lua
exports.jrs_inventory:addWeaponsToCustomInventory(invid, weapons, charid,callback)
setCustomInventoryWeaponLimit#
Warning

مقبول عشان السكربتات القديمة ما تخرب، لكن ما له أي تأثير في JRS Core: المخزون المخصص يفتحه فقط السكربت اللي يملكه.

تحديد الأسلحة المسموحة في المخزون المخصص: إذا حطيت whitelistWeapons على true في registerCustomInventory استخدم هذا الـ export عشان تحدد الأسلحة المسموحة وكمياتها

invIdstringrequired

رقم المخزون (id)

weaponstringrequired

اسم السلاح

limitnumberrequired

حد الأسلحة

callbackfunction

دالة callback متزامنة أو غير متزامنة

returnboolean

returns true إذا انضبط الحد بنجاح

lua
exports.jrs_inventory:setCustomInventoryWeaponLimit(invId, weapon, limit, callback)

دوال القراءة (Getters)

isCustomInventoryRegistered#

فحص إذا المخزون مسجّل

idstringrequired

رقم المخزون (id)

callbackfunction

دالة callback متزامنة أو غير متزامنة

returnboolean

returns true إذا المخزون مسجّل

lua
exports.jrs_inventory:isCustomInventoryRegistered(id, callback)
AddCharIdPermissionTakeFromCustom#
Warning

مقبول عشان السكربتات القديمة ما تخرب، لكن ما له أي تأثير في JRS Core: المخزون المخصص يفتحه فقط السكربت اللي يملكه.

إضافة صلاحيات باستخدام charids

idstringrequired

رقم المخزون (id)

charidnumberrequired

charid

stateboolean

الحالة

lua
exports.jrs_inventory:AddCharIdPermissionTakeFromCustom(id,charid,state)
AddCharIdPermissionMoveToCustom#
Warning

مقبول عشان السكربتات القديمة ما تخرب، لكن ما له أي تأثير في JRS Core: المخزون المخصص يفتحه فقط السكربت اللي يملكه.

إضافة صلاحيات باستخدام charids

idstringrequired

رقم المخزون (id)

charidnumberrequired

charid

stateboolean

الحالة

lua
exports.jrs_inventory:AddCharIdPermissionMoveToCustom(id,charid,state)
getCustomInventorySlots#

جلب خانات المخزون المخزّنة مؤقتاً

invIdstringrequired

رقم المخزون (id)

callbackfunction

دالة callback متزامنة أو غير متزامنة

lua
exports.jrs_inventory:getCustomInventorySlots(invId,callback)

دوال التعديل (Setters)

deleteCustomInventory#

حذف المخزون المخصص من قاعدة البيانات والذاكرة المؤقتة

invIdstringrequired

رقم المخزون (id)

lua
exports.jrs_inventory:deleteCustomInventory(invId)
registerInventory#

تسجيل مخزون مخصص

datatablerequired

{ id:string, name:string, limit:number, acceptWeapons:boolean, shared:boolean, ignoreItemStackLimit:boolean, whitelistItems:boolean, UsePermissions:boolean, UseBlackList:boolean, whitelistWeapons:boolean,webhook:string }

lua
exports.jrs_inventory:registerInventory(data)
AddPermissionMoveToCustom#
Warning

مقبول عشان السكربتات القديمة ما تخرب، لكن ما له أي تأثير في JRS Core: المخزون المخصص يفتحه فقط السكربت اللي يملكه.

إضافة صلاحيات نقل ايتم للمخزون حسب الوظيفة والرتبة

invIdstringrequired

رقم المخزون (id)

jobNamestringrequired

اسم الوظيفة

jobgradenumberrequired

رتبة الوظيفة

lua
exports.jrs_inventory:AddPermissionMoveToCustom(invId, jobName, jobgrade)
AddPermissionTakeFromCustom#
Warning

مقبول عشان السكربتات القديمة ما تخرب، لكن ما له أي تأثير في JRS Core: المخزون المخصص يفتحه فقط السكربت اللي يملكه.

إضافة صلاحيات أخذ ايتم من المخزون حسب الوظيفة والرتبة

invIdstringrequired

رقم المخزون (id)

jobNamestringrequired

اسم الوظيفة

jobgradenumberrequired

رتبة الوظيفة

lua
exports.jrs_inventory:AddPermissionTakeFromCustom(invId, jobName, jobgrade)
BlackListCustomAny#
Warning

مقبول عشان السكربتات القديمة ما تخرب، لكن ما له أي تأثير في JRS Core: المخزون المخصص يفتحه فقط السكربت اللي يملكه.

حظر ايتمات أو أسلحة

invIdstringrequired

رقم المخزون (id)

itemstringrequired

اسم الايتم | اسم السلاح

lua
exports.jrs_inventory:BlackListCustomAny(invId, item)
removeInventory#

إزالة المخزون من الجلسة

invIdstringrequired

رقم المخزون (id)

lua
exports.jrs_inventory:removeInventory(invId)
updateCustomInventorySlots#

تحديث خانات المخزون

invIdstringrequired

رقم المخزون (id)

slotsnumberrequired

خانات المخزون

lua
exports.jrs_inventory:updateCustomInventorySlots(invId, slots)
openInventory#

فتح المخزون الرئيسي أو الثانوي

sourceintrequired

رقم اللاعب (id)

invIdstring

رقم المخزون (id)

lua
exports.jrs_inventory:openInventory(source, invId)
closeInventory#

إغلاق المخزون الرئيسي أو الثانوي

sourceintrequired

رقم اللاعب (id)

invIdstring

رقم المخزون (id)

lua
exports.jrs_inventory:closeInventory(source, invId)
openPlayerInventory#

فتح مخزون لاعب

datatablerequired

{ source:int, target:int, title:string, blacklist:table, itemsLimit:table, timeout:number }

lua
local data = {
    source = source, 
    target = target, 
    title = "Search inventory",
    blacklist = { -- OPTIONAL
        water = true, -- item name or weapon name
    },
    itemsLimit = { -- OPTIONAL
        weapons = { itemType = "item_weapon", limit = 1 }, -- how many weapons user is allowed to take
        items =   { itemType = "item_standard", limit = 2 }, -- how many items user is allowed to take
    },
    timeout = 60, -- OPTIONAL in seconds , if enabled when user reaches limits then a timeout is applied so player cant steal for that amount of time if removed then   once limit reached only after restart they can steal again
}

exports.jrs_inventory:openPlayerInventory(data)

الأحداث (Events)

Note

جهة السيرفر فقط

استمع لما ينستخدم ايتم

lua
AddEventHandler("jrs_inventory:Server:OnItemUse",function(data)
    local source = data.source
    local itemName = data.item.name
    local itemMetadata = data.item.metadata
end)

استمع لما ينسوى ايتم في مخزون اللاعب

OnItemCreated
lua
AddEventHandler("jrs_inventory:Server:OnItemCreated",function(data,source)
    -- data.count, data.name, data.metadata
end)

استمع لما ينشال ايتم من مخزون اللاعب

OnItemRemoved
lua
AddEventHandler("jrs_inventory:Server:OnItemRemoved",function(data,source)
    -- data.count , data.name , data.metadata
end)

استمع لما ينأخذ ايتم من مخزون مخصص

OnItemTakenFromCustomInventory
lua
AddEventHandler("jrs_inventory:Server:OnItemTakenFromCustomInventory", function(item, invId, source)
    -- item.amount , item.name, item.id, item.metadata
end)

استمع لما ينتقل ايتم لمخزون مخصص

OnItemMovedToCustomInventory
lua
AddEventHandler("jrs_inventory:Server:OnItemMovedToCustomInventory", function(item, invId, source)
    -- item.amount , item.name, item.id, item.metadata
end)

استمع لتغيّر حالة المخزون (opens or closes) بما فيها المخازن المخصصة

OnInvStateChange
lua
AddEventHandler("jrs_inventory:Client:OnInvStateChange",function(boolean)
    print(boolean)
end)

منع فتح مخزون اللاعب من جهة السيرفر أو الكلاينت

OnInvBlock
lua
TriggerClientEvent("jrs_inventory:blockInventory", player_id, true or false)
OnInvBlock
lua
  TriggerEvent("jrs_inventory:blockInventory", true or false)
Note

جهة الكلاينت فقط

استمع لما يتجهّز سلاح

onWeaponEquipped
lua
AddEventHandler("jrs_inventory:onWeaponEquipped", function(components, weaponId, name, isDual, defaultAttachments)
    -- components: table of the equipped components, weaponId: weapon id, name: weapon name, isDual: boolean, defaultAttachments: table
end)

استمع لما تنضاف قطعة للسلاح

componentAdded
lua
AddEventHandler("jrs_inventory:componentAdded", function(weaponId, component, category)
    -- weaponId: weapon id, component: component name, category: slot category
end)

استمع لما تنشال قطعة من السلاح

componentRemoved
lua
AddEventHandler("jrs_inventory:componentRemoved", function(weaponId, component, category)
    -- weaponId: weapon id, component: component name, category: slot category
end)

الـ Statebags

فيه بيانات السلاح المستخدم حالياً في المخزون أو آخر سلاح انستخدم.

Note

جهة الكلاينت

GetEquippedWeaponData
lua
local key = string.format("GetEquippedWeaponData_%d",weaponHash)
local data = LocalPlayer.state[key]
local serial = data.serialNumber
local id = data.weaponId
Note

جهة السيرفر

GetEquippedWeaponData
lua
local key = string.format("GetEquippedWeaponData_%d",weaponHash)
local data = Player(source).state[key]
local serial = data.serialNumber
local id = data.weaponId

فحص إذا المخزون نشط (مفتوح أو مسكّر) بما فيها المخازن المخصصة

Note

جهة الكلاينت

IsInvActive
lua
LocalPlayer.state.IsInvActive
Note

جهة السيرفر

IsInvActive
lua
Player(source).state.IsInvActive

الـ Statebags العامة

يرجع الوقت (timestamp) من السيرفر عشان ينستخدم في الكلاينت

lua
local timestamp = GlobalState.TimeNow
-- Get hours, minutes and seconds from timestamp
local seconds = GlobalState.TimeNow % 60
local minutes = math.floor(GlobalState.TimeNow / 60) % 60 
local hours = math.floor(GlobalState.TimeNow / 3600) % 24
JRS Core · فريمورك RedM مجاني ومفتوح المصدر · من فريق JRS