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
![]()
#include "item_shop.h"
#include "blend_item.h"
ITEM_MANAGER::instance().FlushDelayedSave(pkItem);
denedim ama olmadıhocam publıc gorunumlu foksıyonları ekledınızmı ? sonrasıda ıtem proto duzenlemesı olan dk sure sanye duzenlemesı
nesneden alınanca çalışmıyor şebnem bunu çözsem tooltip halledilir aslındabu 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
/i itemkodu ile çağırınca sorunsuz çalışıyor sebnem itemshop taraflı bi sıkıntı olduğunu düşünüyorumzaten 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
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ıyorsı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
itemshop Py dosyasını paylasırmısın
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
![]()
#include "item_shop.h"
#include "blend_item.h"
ITEM_MANAGER::instance().FlushDelayedSave(pkItem);
if (Blend_Item_find(pkItem->GetVnum()))
Blend_Item_Maximum_Value(pkItem);
Blend_Item_set_value(LPITEM item);
Blend_Item_Maximum_Value(LPITEM item);
bool Blend_Item_set_value(LPITEM item)
{
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;
}
İbrahim kardeşim çözümü vermisProblem 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++:#include "item_shop.h"
altına ekle
C++:#include "blend_item.h"
tekrar arat:
C++:ITEM_MANAGER::instance().FlushDelayedSave(pkItem);
Üstüne Ekle:
C++:if (Blend_Item_find(pkItem->GetVnum())) Blend_Item_Maximum_Value(pkItem);
game/blend_item.h aç
arat:
C++:Blend_Item_set_value(LPITEM item);
Altına Ekle:
C++:Blend_Item_Maximum_Value(LPITEM item);
blend_item.cpp aç
arat:
C++:bool Blend_Item_set_value(LPITEM item) {
Üstüne Ekle:
C++: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.