Çözüldü İtem shop şebnem sorunu

  • Konuyu açan Konuyu açan layers
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 15
  • Gösterim Gösterim 157
Bu konu çözüme ulaştırılmıştır. Çözüm için konuya yazılan tüm yorumları okumayı unutmayın. Eğer konudaki yorumlar sorununuzu çözmediyse yeni bir konu açabilirsiniz.
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.

layers

layerswork.com.tr
MT Üye
Mesaj
284
Çözümler
22
Beğeni
209
Puan
414
Ticaret Puanı
0
Merhaba arkadaşlar itemshop a şebnem eklediğimde süre ve vereceği etkiler gözükmüyor satın alım yaptıktan sonra yine şebnem gibi kullanılmıyor
ama normal envantere çağırdığım şebnemlerde bi sıkıntı olmuyor

Ekran görüntüsü 2025-04-05 192954.webp


GpopwqDvSp-YOMd866xllg.png
 
Çözüm
Merhaba arkadaşlar itemshop a şebnem eklediğimde süre ve vereceği etkiler gözükmüyor satın alım yaptıktan sonra yine şebnem gibi kullanılmıyor
ama normal envantere çağırdığım şebnemlerde bi sıkıntı olmuyor

22769 eklentisini görüntüle

GpopwqDvSp-YOMd866xllg.png

Problem eşyayı oluşturduktan sonra item_shop tablosuna girilen veriler üzerinden eşyanın özelliklerinin değiştirilmesinden dolayı kaynaklanıyor. @asilords 'un dediği gibi navicat tablosundanda yapabilirsiniz benim verdiğim kodlarlada yapabilirsiniz.

game/item_shop.cpp aç

arat:

C++:
Genişlet Daralt Kopyala
#include "item_shop.h"

altına ekle

C++:
Genişlet Daralt Kopyala
#include "blend_item.h"

tekrar arat:

C++:
Genişlet Daralt Kopyala
ITEM_MANAGER::instance().FlushDelayedSave(pkItem);

Üstüne...
hocam publıc gorunumlu foksıyonları ekledınızmı ? sonrasıda ıtem proto duzenlemesı olan dk sure sanye duzenlemesı
 
bu benım ekledıgım ornekler bende bu tur sıkıntılar cektım fakat tek ıslemıyen olayın puclıc eklentısının olmadıgını fark edınce ekledım fakat sızdede bu tur ornek eklentıler yoksa bu sıkıntılarla karsılasmanız dogal cunku sebnem eklentılerı sıkıntılı bır durum kontrol etmenızı tavsıye ederım
 

Dosya Eklentileri

  • resim.webp
    resim.webp
    35,8 KB · Gösterim: 30
bu benım ekledıgım ornekler bende bu tur sıkıntılar cektım fakat tek ıslemıyen olayın puclıc eklentısının olmadıgını fark edınce ekledım fakat sızdede bu tur ornek eklentıler yoksa bu sıkıntılarla karsılasmanız dogal cunku sebnem eklentılerı sıkıntılı bır durum kontrol etmenızı tavsıye ederım
nesneden alınanca çalışmıyor şebnem bunu çözsem tooltip halledilir aslında
 
zaten sız envanter kısmını ozellestırmıssınız kullanım acısında bır calısmanız olmadıgı ıcın etkı etmemıs bu nedenle sıze belırttıgım ornek uzerınde yol cızersenız bır proglem yasıyacagınızı dusunmuyorum bu nedenle tekrar kontrol etmenızı dılerım
 
zaten sız envanter kısmını ozellestırmıssınız kullanım acısında bır calısmanız olmadıgı ıcın etkı etmemıs bu nedenle sıze belırttıgım ornek uzerınde yol cızersenız bır proglem yasıyacagınızı dusunmuyorum bu nedenle tekrar kontrol etmenızı dılerım
/i itemkodu ile çağırınca sorunsuz çalışıyor sebnem itemshop taraflı bi sıkıntı olduğunu düşünüyorum
 
sızı anlıyorum calısması normal onemlı olan ıtemın oyuna ve oyunculara ıslenmesı zaten bu tur ısleme sorunu oldugu ıcın gozukmuyor sız ıstersenız ıtem proto duzenlenmenızı tekrar kontrol edın emınımkı sorunuz ortadan kalkacaktır
 
sızı anlıyorum calısması normal onemlı olan ıtemın oyuna ve oyunculara ıslenmesı zaten bu tur ısleme sorunu oldugu ıcın gozukmuyor sız ıstersenız ıtem proto duzenlenmenızı tekrar kontrol edın emınımkı sorunuz ortadan kalkacaktır
ben anlatamadım galiba yada demek istediğinizi anlamadım itemi /i itemkodu olarak envantere çağırınca çalışıyor ve işliyor sadece nesneden alınanca çalışmıyor

Linkleri görebilmek için giriş yap veya kayıt ol.


üstteki normal envantere çağırdım alttaki nesneden satın alınan
 
Şebnemleri nesne markete koyarken type ve value değerlerini yazmanız gerekli yoksa özelliksiz olarak çalışır. Örn. Beyaz şebnem için savunma efsununu type değerine ve karşısında kaç savunma vereceğini value ye yazmanız lazım örn. 200
 
bi normal şebnemi çağırın birde nesne marketten alın item tablosundan kıyaslayın bi değer eksik veya farklı geliyor sanırım ordan çözüm yolu daha kolay bulursunuz
 
Merhaba arkadaşlar itemshop a şebnem eklediğimde süre ve vereceği etkiler gözükmüyor satın alım yaptıktan sonra yine şebnem gibi kullanılmıyor
ama normal envantere çağırdığım şebnemlerde bi sıkıntı olmuyor

22769 eklentisini görüntüle

GpopwqDvSp-YOMd866xllg.png

Problem eşyayı oluşturduktan sonra item_shop tablosuna girilen veriler üzerinden eşyanın özelliklerinin değiştirilmesinden dolayı kaynaklanıyor. @asilords 'un dediği gibi navicat tablosundanda yapabilirsiniz benim verdiğim kodlarlada yapabilirsiniz.

game/item_shop.cpp aç

arat:

C++:
Genişlet Daralt Kopyala
#include "item_shop.h"

altına ekle

C++:
Genişlet Daralt Kopyala
#include "blend_item.h"

tekrar arat:

C++:
Genişlet Daralt Kopyala
ITEM_MANAGER::instance().FlushDelayedSave(pkItem);

Üstüne Ekle:

C++:
Genişlet Daralt Kopyala
if (Blend_Item_find(pkItem->GetVnum()))
Blend_Item_Maximum_Value(pkItem);

game/blend_item.h aç

arat:

C++:
Genişlet Daralt Kopyala
Blend_Item_set_value(LPITEM item);

Altına Ekle:

C++:
Genişlet Daralt Kopyala
Blend_Item_Maximum_Value(LPITEM item);

blend_item.cpp aç

arat:

C++:
Genişlet Daralt Kopyala
bool    Blend_Item_set_value(LPITEM item)
{

Üstüne Ekle:

C++:
Genişlet Daralt Kopyala
bool    Blend_Item_Maximum_Value(LPITEM item)
{
    BLEND_ITEM_INFO    *blend_info;
    T_BLEND_ITEM_INFO::iterator    iter;

    DO_ALL_BLEND_INFO(iter)
    {
        blend_info = *iter;
        if (blend_info->item_vnum == item->GetVnum())
        {
            int    apply_type;
            int    apply_value;
            int    apply_duration;

            if (item->GetVnum() == 51002)
            {
                apply_type        = blend_info->apply_type;
                apply_value        = blend_info->apply_value        [FN_ECS_random_index()];
                apply_duration    = blend_info->apply_duration    [FN_ECS_random_index()];
            }
            else
            {
                apply_type        = blend_info->apply_type;
                apply_value        = blend_info->apply_value        [4];
                apply_duration    = blend_info->apply_duration    [4];
            }
            sys_log (0, "blend_item nesne_market: type : %d, value : %d, du : %d", apply_type, apply_value, apply_duration);
            item->SetSocket(0, apply_type);
            item->SetSocket(1, apply_value);
            item->SetSocket(2, apply_duration);
            return true;
        }

    }
    return false;
}

Nesne marketten satın alınan şebnemler direkt maksimum oranda gelicektir.
 
Çözüm
verdiğiniz cevaplar için teşekkür ederim dediğiniz gibi benim itemshop da socketleri çekmiyor öyle bi özelliği yok haliyle ne efsunlu item nede şebnem vs koyamıyorum yapabilirsem socketleri çekmesini sağlayacağım yapamazsam değiştireceğim item shopu
 
İtemin socket bilgilerini kaydetmediği için ozelliksiz geliyor
Problem eşyayı oluşturduktan sonra item_shop tablosuna girilen veriler üzerinden eşyanın özelliklerinin değiştirilmesinden dolayı kaynaklanıyor. @asilords 'un dediği gibi navicat tablosundanda yapabilirsiniz benim verdiğim kodlarlada yapabilirsiniz.

game/item_shop.cpp aç

arat:

C++:
Genişlet Daralt Kopyala
#include "item_shop.h"

altına ekle

C++:
Genişlet Daralt Kopyala
#include "blend_item.h"

tekrar arat:

C++:
Genişlet Daralt Kopyala
ITEM_MANAGER::instance().FlushDelayedSave(pkItem);

Üstüne Ekle:

C++:
Genişlet Daralt Kopyala
if (Blend_Item_find(pkItem->GetVnum()))
Blend_Item_Maximum_Value(pkItem);

game/blend_item.h aç

arat:

C++:
Genişlet Daralt Kopyala
Blend_Item_set_value(LPITEM item);

Altına Ekle:

C++:
Genişlet Daralt Kopyala
Blend_Item_Maximum_Value(LPITEM item);

blend_item.cpp aç

arat:

C++:
Genişlet Daralt Kopyala
bool    Blend_Item_set_value(LPITEM item)
{

Üstüne Ekle:

C++:
Genişlet Daralt Kopyala
bool    Blend_Item_Maximum_Value(LPITEM item)
{
    BLEND_ITEM_INFO    *blend_info;
    T_BLEND_ITEM_INFO::iterator    iter;

    DO_ALL_BLEND_INFO(iter)
    {
        blend_info = *iter;
        if (blend_info->item_vnum == item->GetVnum())
        {
            int    apply_type;
            int    apply_value;
            int    apply_duration;

            if (item->GetVnum() == 51002)
            {
                apply_type        = blend_info->apply_type;
                apply_value        = blend_info->apply_value        [FN_ECS_random_index()];
                apply_duration    = blend_info->apply_duration    [FN_ECS_random_index()];
            }
            else
            {
                apply_type        = blend_info->apply_type;
                apply_value        = blend_info->apply_value        [4];
                apply_duration    = blend_info->apply_duration    [4];
            }
            sys_log (0, "blend_item nesne_market: type : %d, value : %d, du : %d", apply_type, apply_value, apply_duration);
            item->SetSocket(0, apply_type);
            item->SetSocket(1, apply_value);
            item->SetSocket(2, apply_duration);
            return true;
        }

    }
    return false;
}

Nesne marketten satın alınan şebnemler direkt maksimum oranda gelicektir.
İbrahim kardeşim çözümü vermis :)
 
Durum
İçerik kilitlendiği için mesaj gönderimine kapatıldı.
Geri
Üst