Hikayeler

Reklam vermek için turkmmo@gmail.com

RAGEMP Envanter Sistemi

ahmet5753

Deneme Moderatör
Telefon Numarası Onaylanmış Üye TC Kimlik Numarası Doğrulanmış Üye
Deneme Mod
Katılım
27 Ara 2009
Konular
1,544
Mesajlar
1,857
Online süresi
1g 11675s
Reaksiyon Skoru
34
Altın Konu
0
Başarım Puanı
222
TM Yaşı
16 Yıl 3 Ay 26 Gün
MmoLira
519
DevLira
0

Metin2 EP, Valorant VP dahil tüm oyun ürünlerini en uygun fiyatlarla bulabilir, Item ve Karakterlerinizi hızlıca satabilirsiniz. HEMEN TIKLA!

RAGEMP Envanter Sistemi

type: ITEM_TYPES; // item türü
typeCategory: ITEM_TYPE_CATEGORY; // item kategorisi, index.d.ts içindeki enum’a bak
isPlaced: boolean; // item kıyafete takılı mı
quality: number; // item kalite seviyesi
image: string; // item resmi
hash: string; // benzersiz item hash’i, aynı zamanda bağlı item için kullanılır
key: string; // sadece kıyafet verisi içerir (component id, drawable, texture gibi)
render: string; // render görseli, çok item varsa CDN için kullanılabilir
name: string; // item adı
description: string; // item açıklaması
count: number; // item adedi, aynı zamanda bölünebilir mi onu belirler
weight: number; // item ağırlığı
maxStack: number; // bir slotta maksimum kaç tane stacklenebilir
options: string[]; // sağ tık seçenekleri
gender: number | null; // item cinsiyeti (kıyafet için kadın/erkek)


modelHash?: string; // item yere atıldığında oluşacak obje modeli
ammoType?: string; // silahın kullanacağı mermi tipi
ammoInClip?: number; // şarjördeki mermi sayısı
amount?: number; // zırh değeri
effect?: {
[key: string]: number;
}; // item efekti (ileride geliştirilecek)
components?: Array<number>; // silah eklentileri (ileride kullanılacak)


Sınıf Yapısı


Inventory class’ı, oyunda oyuncu envanterini yönetmek için kullanılan ana sınıftır. InventoryClothes, QuickUse ve InventoryItem gibi class’lardan türetilmiştir.


InventoryBase: Envanter yönetimi için temel sınıf. Envanter yapısını oluşturur ve temel işlemleri yönetir.
InventoryItem: InventoryBase’den türetilir ve item yönetimi için metodlar ekler.
QuickUse: InventoryItem’dan türetilir ve hızlı kullanım slotlarını yönetir.
InventoryClothes: QuickUse’tan türetilir ve kıyafet sistemini yönetir.


Bu sınıf, item ekleme, silme, kullanma ve kuşanma gibi tüm işlemleri kapsayan geniş bir yapı sunar.


Özellikler


items: Oyuncunun envanterindeki eşyaları tutar (cep + kıyafet)
quickUse: Hızlı kullanım slotları
weight: Envanterin toplam ağırlık kapasitesi
equippedWeapons: Takılı silahları tutar


Kurucu (Constructor)


Oyuncuya özel envanteri başlatır. Kıyafet, cep ve quick slot verilerini yükler.


Metotlar


addItem: Envantere item ekler
addClothingItem: Envantere kıyafet ekler
removeClothes: Oyuncudan kıyafet çıkarır
loadClothes: Kıyafetleri oyuncuya yükler
setClothes: Oyuncuya kıyafet giydirir
reloadClothes: Kıyafetleri yeniden yükler
getFreeSlot: Envanterde boş slot bulur
getTotalFreeSlots: Toplam boş slot sayısını hesaplar
getClothingIndex: Belirli bir kıyafet türünün indexini getirir


resetItemData, resetClothingItemData, resetBackpackItemData: Item verilerini sıfırlar


updateOnScreenPed: Oyuncunun ekrandaki görünümünü günceller


getItemModel: Item model hash’ini getirir


getItemAndStack, getItemsByHashName, getItemsInCategoryByHashName, getItemsByHashNameEx: Item’ları türüne veya kategorisine göre bulma metodları


getItemByUUID: UUID ile item bulur


hasPistolItem, hasShotgun, hasAssault, hasSMG, hasWeaponInFastSlot: Envanterde belirli silahlar var mı kontrol eder


getActualWeight, getWeight, getItemsWeight: Envanter ve item ağırlıklarını hesaplar


checkWeight: Yeni item eklenirse ağırlık limiti aşılır mı kontrol eder


getFreeSlotCount: Boş slot sayısını getirir


dropItem, splitStack, addPlayerItem, addPlayerItemEx, addMultipleItems, addCountToPlayerItem, manageFastSlots, pickupItem, moveItem, openItem, useItem: Item işlemleri (atma, bölme, ekleme, kullanma vs.)


deleteItemStack, deleteItem: Item silme işlemleri
checkQuickUse: Item hızlı kullanım slotunda mı kontrol eder

Yeni eşya ekleme:

Javascript
-> inventory klasöründeki Items.module.js dosyasına git. Orada mevcut item listesine bakarak yeni item ekleyebilirsin. Ekledikten sonra frontend’de item resmi olduğundan emin ol, yoksa ekle ve frontend’i yeniden build et.

Typescript
-> inventory klasöründeki Items.module.ts dosyasına git. Aynı işlemleri yap ve frontend görselini ekleyip build al.

Gerekli paketleri yüklemek için npm install komutunu çalıştırın.

Eğer Typescript versiyonunu kullanıyorsanız, paketleri yükledikten sonra server tarafını izlemek/derlemek için npm run watch:server, client tarafını izlemek/derlemek için npm run watch:client komutlarını çalıştırabilirsiniz. Javascript versiyonunu kullanıyorsanız ekstra bir şey yapmanıza gerek yoktur.

Frontend’e başlama.
Terminalde frontend klasörüne gidin (cd frontend).

Frontend’i geliştirme modunda çalıştırmak için: npm run start

Frontend’i (envanter arayüzünü) derlemek için: npm run build

Gerekli paketleri yüklemek için:

package2 klasörü oluşturma:

Derlenen dosyaları package2 klasörüne taşıma

Envanter arayüzünü derleme
Ekran görüntüsü 2026-04-15 172654.png
Ekran görüntüsü 2026-04-15 172740.png
Ekran görüntüsü 2026-04-15 172755.png
Ekran görüntüsü 2026-04-15 172809.png
 
Son düzenleme:
Paylaşım için teşekkürler. Elinize sağlık.
 

Şu an konuyu görüntüleyenler (Toplam : 1, Üye: 0, Misafir: 1)

Geri
Üst