Guild systems by Nazox95

touchmychonchoninsky

내게서 떨어져 씹새카
Premium Üye
Üye
Mesaj
58
Çözümler
3
Beğeni
63
Puan
334
Ticaret Puanı
0
Nazox95'ten alıntıdır

'UPDATE' adlı klasör yalnızca bir şeyi yanlış yaparsam veya yeni şeyler eklersem güncelleme yapmak içindir, 'UPDATED1, UPDATED2' vb. adlı güncellemeler bulabilirsiniz, bu nedenle bir güncelleme eklemeniz gerekirse sırayla ekleyebilirsiniz.
'Sysser' adlı klasör yalnızca alabileceğiniz olası hataları ve sorunu nasıl çözeceğinize dair kısa bir kılavuzu göreceğiniz bir klasördür, değiştirme veya benzeri bir kılavuz değildir, yalnızca sizi sorun ve olası çözüm konusunda yönlendirmek içindir.

-GitHub'daki sistemler ayrı sistemler olarak parçalanmış, bu ne anlama geliyor?
Bu, her sistem için bağımsız bir rehber yapıldığı ve tek bir global sistem oluşturma ve kurulumunu karmaşıklaştırma ihtiyacından kurtulduğu anlamına geliyor.

Akılda tutulması gereken şeyler:
-Her sistem 'bağımsız' olduğundan, bazı kısımlarda 'değiştir' istediğini göreceksiniz, bunu yalnızca eklediğiniz ilk sistemde öneririm, başka bir sistem ekleyeceğiniz zaman, dikkatlice bakın, aynı fonksiyon 2 gerekli fonksiyon içeriyor olabilir ve onu değiştirirken birini silebilirsiniz, bunun gibi pek çok parça olmadığını unutmayın, ancak bunu engellemeyi tercih ediyorum.

-Her neyse, zaten değiştirmek istemiyorsanız, kodlamayı beğenmediğiniz, kodunuzla aynı olmadığı veya başka şeyler olduğu için, her '#ifdef XXX ve #endif'in karşılık gelen bölümüne ekleyin. Nasıl uygulandığına dair bir referansınız olması için biraz daha fazla kod aktarmaya çalıştım.

-Sistemlerin kurulum sırası önemli değil, ancak daha sonra aşağıda benim için en iyi yolun ne olduğunu, daha az sorun yaşamanın ne olduğunu anlatacağım.

-auto_ptr'yi unique_ptr'ye veya tam tersine bazı değişiklikler yapmanız gerekebilir, ancak biraz daha fazlası.

-'Satır'ı değiştirmeyi isteyen bazı parçalar eklerken dikkatli olmalısınız, sahip olduğunuz değere göre genişletmelisiniz, paketler için de aynısını yapmalı ve sql'deki sıraya uymalısınız.

-Ayrıca indirmeniz gereken python ve SQL dosyalarının olduğu bir bağlantıyı da görebileceksiniz, kişisel olarak, herhangi bir değişikliğiniz yoksa sql'i değiştirmenizi öneririm, ancak bu mümkün değilse, navicat'inizin herhangi bir bölümüne sql'lerimi ekleyin ve tasarım tablosunda bakarak neyi kaçırdığınızı kontrol edin, python'lar hakkında, uiscript klasöründeki ve kök klasördeki her şeyi değiştirmenizi öneririm, yalnızca "uiGuildxxx ve uiguild.py" olanı, geri kalanı öğreticiyi takip edin. Eğer vs.'den bir şey eksikse bana söyle, ben hiçbir şey eklemedim çünkü bugünün istemcileri zaten tüm alt vs.'lere sahip, ancak herhangi bir sorun yaşarsan bana bildir.

- UserInterface'inize PythonGuildBank.cpp ve h'yi eklemeyi unutma, kaynak oyunda veya kaynak istemcide herhangi bir hata alırsan,
muhtemelen içe aktarmalardan kaynaklanıyordur, değiştirdiğin tüm dosyalara service.h, locale_inc.h vb.'nin içe aktarmalarını eklemeni öneririm (içeri aktarmalarla ilgili pek sorun yaşadığımı hatırlamıyorum).

- Github'da UPDATE adında bir klasör oluşturuldu, bu güncellemeler 'UPDATE1' olarak numaralandırıldı ve içeriği güncellerken onları karıştırmamak için 'UPDATE2, UPDATE3' adında başka klasörler oluşturacağım ve herhangi bir hata varsa, mevcut önceki güncellemeyle geçici olarak düzelteceğim.

-Sistemleri düzgün bir şekilde kurmak için önerim şu sırayı takip etmenizdir:

C++:
#define ENABLE_SHOW_LIDER_AND_GENERAL_GUILD
#define ENABLE_USE_MONEY_FROM_GUILD
#define ENABLE_EXTENDED_GUILD_LEVEL
#define ENABLE_GUILDLAND_INACTIVITY_DELETE
#define ENABLE_EXTENDED_RENEWAL_FEATURES
#define ENABLE_COLEADER_WAR_PRIVILEGES
#define ENABLE_GUILD_LAND_INFO
#define ENABLE_SKILL_FORGOT_BOOK
#define ENABLE_GUILDWAR_BUTTON
#define ENABLE_GUILD_DONATE_ATTENDANCE
#define ENABLE_GUILDBANK_LOG
#define ENABLE_GUILDBANK_EXTENDED_LOGS
#define ENABLE_GUILDSTORAGE_SYSTEM
#define ENABLE_GUILD_WAR_SCORE
#define ENABLE_NEW_WAR_OPTIONS

##Güncellemeler:

//Seviye Loncası
-Deneyimin bazen 21'den 40'a veya 30'a rastgele yükseldiği bir hata düzeltildi (bu, 20'den 21'e geçmek için gereken deneyimdeki büyük farktan kaynaklanıyordu).
-Seviye 21'den 40'a yükselirken deneyimin negatif görünmesine ve gereken deneyim olmamasına neden olan bir hata düzeltildi.
-Lonca oluşturduğunuzda 3 puan düzeltildi, 3 beceri puanı alıyorsunuz, bundan sonra seviye başına yalnızca 1 seviye puanı alıyorsunuz (bunun nedeni, 1'den 40'a kadar toplam 39 puan almanız ve tüm becerilere maksimum 7 sahip olabilmek için 3 ekstra puana ihtiyaç duymanızdır).

//Araziyi Kaldır

##Son Güncellemeler:

//10-06-24:
-Lonca Beceri kitapları:
-Loncalar için Unutma kitabı oluşturuldu (%99).

//10-12-24 - 10-13-24:
-Lonca Bağışları ve Lonca Toprakları:
-Bağış sistemiyle ilgili sorunlar düzeltildi (madalya sistemi olmadan) (%100).
-Yeni düğmelerle (Lonca bilgisi, Notlar, üyeler vb.) arayüz düzeltildi (%100).
-Sorun kodu temizlendi. (%100).
-Beceri sayfası düzeltildi (Savaşlarla ilgili sorun) (%100).
-Arayüzdeki düğmeyle Toprakların kaldırılması düzeltildi (%100).

//10-17-24:
-Genel:
-Çökme sorunu düzeltildi (Lonca mağazasıyla ilgili Güvenli Kutu'daki bir sorun) (%100).
-Lonca Mağazası uygulandı (lonca arazileri için yeni bir öğe eklendi) (%100).
-Banka - Lonca Deposu için bir Günlükler bölümü oluşturuldu (%100). -Lonca deneyim seviyelendirmesi düzeltildi, Seviye 1'den 20'ye, normal deneyim gerekli, 20'den 40'a, 'bağışlar' kullanılıyor (bu öğeleri yalnızca lonca liderine sunmayı planlıyorum) (%100).
-Banka Günlükleri - Lonca Deposu (genişletme) yeniden düzenlendi (%100).
-Bir işlev oluşturuldu (etkin - devre dışı), böylece topraklarınızı yalnızca lonca deposunda bulunan parayla oluşturabilirsiniz, yani yalnızca lonca kasasına girdiğiniz parayla siz veya üyeleriniz satın alabilirsiniz (%100).
-Genel olarak sistemdeki çeşitli metinler ve hatalar düzeltildi (%100).
-Sunucuyu yeniden başlattığınızda loncanın görünmediği bir hata düzeltildi ('' içindeki boşluk sorunu) (%100).
-Hak Yönetimi bölümündeki Banka kutusu düzeltildi, işaretli kutu artık düzgün şekilde görüntülenecek (%100).
- Dragon Force'un (SP) sıfırlanmasına izin vermeyen bir hata düzeltildi (100%).
- Lider - Genel sistemi, derecelerini düzgün bir şekilde sayacak şekilde yeniden düzenlendi (1 Lider; 2 General) ve ikincisi Eş Lider sistemiyle birlikte kullanılabilir (100%).
- Şeref madalyası sistemini devre dışı bıraktım, şu an için ilgilenmiyorum ancak ihtiyacınız olursa sağlayabilirim (uyarlanmamış/tamamlanmamış), bu yüzden bağışlar için bu sistemi kullanmamanız için işlevleri yeniden yazdım. (0%).
- Lideri oylayarak çıkarmak için oylama sistemini uygulamamaya karar verdim - lideri değiştirin, çünkü bu şekilde liderin işlevini bir kısmını kaybettiğini düşünüyorum, bu yüzden bu işlevleri kaldırdım (uyarlanmamış/tamamlanmamış) (0%).
- Üyeyi loncadan çıkardıktan sonra atılma düzeltildi (sorun GUILD_SUBHEADER_CG_REMOVE_MEMBER'dan kaynaklanıyordu) (100%). - Depolama loncasından altını kaldıramama sorununu düzelttim. (Altın ekleme üzerinde çalışıyorum) (%100).

//10-20-24:
-Genel:
-Lonca deposu uygulandı, ancak bazı hatalar üzerinde çalışıyorum. (%100).
-Lonca deposu seviyesi eklendi (%100).
-Metinlerle ilgili bazı hatalar düzeltildi (Mali paylaşımlı sürümüyle çalışıyorum) (%100).
-İkili işlevler güncellendi ve başlangıçta kullanmadığım SLOT_TYPE_GUILDBANK adlı bir işlev eklendi (%100).
-Günlükler için kaydırılabilir bir çubuk eklendi (%100).
-Lonca bankasındaki beklenmeyen kapanışlar ve rastgele hatalar düzeltildi (%100).
-Nesneler inşa edilirken yang'ın iskonto edilmemesi hatası düzeltildi (WithdrawMoney işlevi yeniden yapılandırıldı) (%100).

//10-24-24:
-Savaşlar bölümü düzeltildi, artık puanları ve sıralamalarını gösteriyor (%100).
-Savaşlar ; Turlar, puanlar ve zaman (%100) ile uygulandı.
-[TAB] tuşuna bir savaştaki puanı görmek için bir çubuk eklendi (%100).
-Yeni Lonca Savaşları için yeni arayüz eklendi (%100).
-Savaş sistemiyle çakışan birkaç işlev düzeltildi (%100).
-Alan Savaşı, Arena Dövüşü, Bayrak Dövüşü, Yıkım Dövüşü, Zaman Saldırısı ve Kalkan Dövüşü (%100).
-Loncalar arasında 3 ila 5 tur, 30 ila 100 puan ve 10 ila 60 dakika PvP koyabilirsiniz! (%100). -Resmi (100%) gibi Lonca bonusu uygulandı:
-LV 5 = Loncaya bağış için %5+ exp.
-LV 10 = Üyeler için kapasite artışı (Güç Sunağı).
-Lv 15 = Ejderha SP satın almak için daha iyi fiyat.
-Lv 20 = Loncaya altın eklerken veya çıkarırken tüm üyeler %3 vergi ödemek zorunda değil.
-Son sayfadaki "Savaş/Savaşçı" bölümündeki Otorit için Onay Kutusu düzeltildi (%100).

//28-10-24:
-Lonca savaşlarında bir paket sorunu düzeltildi (Yeni loncalar oluşturup kaldırdıktan sonra sizi oyundan atar) (%100).
-Lonca savaşlarıyla ilgili işlevler kaldırıldı ve diğer işlevler düzeltildi (Düğmeler, resimler, vb.) (%100). -Lonca istatistikleri eklendi, (Eksik olmayan diğer kodlama), (Bazı görsel şeyleri düzeltiyorum ama işlevsel) (%95).
-Artık tüm imparatorluklardaki tüm loncaları görebilirsiniz (görsel hata düzeltmesi üzerinde çalışılıyor) (%95).
-Y'deki bir loncaya katılma isteği gönderin

#GÜNCELLEME;

#Arayüz %95 oranında düzeltildi (Hak yönetimi sekmesi ve lonca arazisi sekmesi üzerinde çalışıyorum).

#1º Sekme Lonca Bilgileri:

-Lonca listesi düğmesi eklendi (Yakında).
-Katılım ödülleri (Yakında (Krallık Savaşı)).
-GUI resmi olana uyarlandı.
-Lonca savaşları artık hem Lider hem de General tarafından yapılabilir, ikincisi yalnızca lider çevrimiçi olmadığında savaş başlatabilir (Sunucu zaten liderin çevrimiçi olmadığını kontrol ediyor, eğer öyleyse, bir LC'yi atlayacak ve savaş başlatmanıza izin vermeyecek).
-Öğeyi düzgün bir şekilde indirim yapmayan bir hata düzeltildi.
-Hem bağışlamak istediğiniz yang hem de loncanın aldığı deneyim artırıldı.
-Öğeyi ödül olarak veren bir hata düzeltildi.
-Metnin daha iyi anlaşılması için yeni LC satırları. -Loncaya bağışlamak için ekstra bir öğe kullanmayı planladık (Onur Madalyaları-Lider Puanları).

#2º Tab Lonca Notları:

-Yeni bir ParameterSlot oluşturuldu, çünkü önceki yeni sürüm için çok kısaydı.
-Yazabileceğiniz metnin kapasitesi 50'ye çıkarıldı (orijinal 35, bu yüzden mesajı okumaya devam etmek için '....' gördük).
-'Yenile, sil ve gönder' düğmesinin konumu düzeltildi.
-GUI'deki bir hata düzeltildi, artık resmi olan gibi.

#3º Tab Üyeleri

-Yeni düğmeleri görüntülemek için kutu sayısı 13'ten 11'e düşürüldü (x üyeyi aştığınızda bir kaydırma çubuğu açılır).
-Yeni işlevleri kullanabilmek için bir üye seçme işlevi eklendi. - Üyeleri kaldırma (sol düğme) ve yeni bir lonca lideri seçme işlevi eklendi (bu eylem yalnızca Lider tarafından başlatılabilir ve bir ardıllık halkası gerektirir, üyelerin oy kullanabilmesi için 3. bir seçenek üzerinde çalışıyorum).

#4º Tab Guild Lands

- Özelliğin %90'ına sahip olmama rağmen hala çalıştıramıyorum, ancak çalıştırdığımda daha fazla bilgi getireceğim.
#GÜNCELLEME:
- Aslında bunu düzelttim ve şu an için çalışıyor (banka loncasında çalışıyorum, bu yüzden belki bu biraz zaman kazandırır).
#GÜNCELLEME2:
- Lonca arazileri düzeltildi, şimdi pencere çalışıyor. Araziler silindi (ve sunucu yeniden başlatıldığında sekme temizleniyor).
- Arazileri silme işlevi eklendi (bunu yalnızca lider yapabilir ve lider yokluğu sistemine bağlı değildir).
- Gelecekteki Banka sistemi için işlevler eklendi.

#5º Tab Skill Guild:

-GUI düzeltildi, şimdilik pasif-aktif veya benzeri daha fazla beceri eklemedim.

#6º Tab Guild Powers - Autorithy

-GUI düzeltildi (videoda görünmüyor - resim daha sonra).
-Gelecekteki lonca bankası için bir yuva bırakıldı.

#Şu anda hala üzerinde çalışıyorum:

-Lonca toprakları.
-Yeni lonca sıralaması.
-Lonca bankası.
-General için yeni işlevler.
-Şeref Madalyaları (lonca için yeni öğe, savaş puanı sistemi gerekli).
-Yeni lonca savaşları (turlar, puanlar, vb.).
-Lonca beceri sıfırlama kitaplarının adında düzeltme.
-Diğerleri.

#GÜNCELLEME

-Çökme sorunu düzeltildi (guild mağazasıyla ilgili Safebox'taki bir sorun).
-Guild Mağazası uygulandı (guild arazileri için yeni bir öğe eklendi).
-Banka - Guild Deposu için bir Logs bölümü oluşturuldu.
-Lonca deneyim seviyesi 1'den 20'ye düzeltildi, normal deneyim gerekiyor, 20'den 40'a, 'bağışlar' kullanılıyor (bu öğeleri yalnızca lonca liderine sunmayı planlıyorum).
-Banka Logs - Guild Deposu (genişletme) yeniden düzenlendi.
-Bir işlev oluşturuldu (etkin - devre dışı), böylece arazilerinizi yalnızca lonca mağazasında bulunan parayla oluşturabilirsiniz, yani yalnızca lonca kasasına girdiğiniz parayla veya üyelerinizle satın alabilirsiniz.
-Genel olarak sistemdeki çeşitli metinler ve hatalar düzeltildi. -Sunucuyu yeniden başlatırken loncanın görünmediği bir hata düzeltildi ('' içindeki boşluk sorunu).
-Hak Yönetimi bölümündeki Banka kutusu düzeltildi, işaretli kutu artık düzgün şekilde görüntülenecek.
-Dragon Force'un (SP) sıfırlanmasına izin vermeyen bir hata düzeltildi.
-Lider - Genel sistemi, derecelerini düzgün şekilde sayacak şekilde yeniden düzenlendi (1 Lider; 2 General) ve ikincisi Eş Lider sistemiyle birlikte kullanılabilir.
-Şeref madalyası sistemini devre dışı bıraktım, şu an için ilgilenmiyorum ancak ihtiyacınız olursa sağlayabilirim (uyarlanmamış/tamamlanmamış), bu yüzden bağışlar için bu sistemi kullanmamanız için işlevleri yeniden yazdım.
-Oylama sistemini uygulamamaya karar verdim - lideri değiştirin, çünkü bu şekilde liderin işlevinin bir kısmını kaybettiğini düşünüyorum, bu yüzden bu işlevleri kaldırdım (uyarlanmamış/tamamlanmamış). #GÜNCELLEME
- Üyeyi loncadan çıkardıktan sonra atılma düzeltildi (sorun GUILD_SUBHEADER_CG_REMOVE_MEMBER'dan kaynaklanıyordu).
- Depo loncasından altını kaldıramama sorunu düzeltildi. (Altın ekleme üzerinde çalışıyorum).

#ÇALIŞIYOR:

- Yeni Lonca Savaşları (Turlar, puanlar, vb.).
- Etkin olmama sistemi için arazileri silmek için Komut/Görev.
- Lonca Sıralaması (Sunucunun tamamında bulunan loncalar).
- Lonca bonusu.
- Grup Zindanları (Sıralamalar, işlevler, vb.).
- Lonca Depolama Seviyeleri, bu depolama kapasitesini genişletmeye izin verir (sistemi ihtiyaçlarıma ve sistemlerime göre uyarladım, ancak başka sistemler kullanıyorsanız onu da uyarlamanız gerekecek).
- Bazı lonca pasif becerilerini uygulamayı ve varsayılan olarak gelen ve bir nedenden dolayı kullanılmayan bir beceriyi eklemeyi planlıyorum.

1739455886628.webp


1739455907281.webp


1739455922906.webp


1739456072710.webp



Merhaba, mesajın için teşekkürler!! Gerçek şu ki, burada ve başka bir yazımda belirttiğim gibi, bu yıl c++, python, lua vb. dillerini daha ciddiye almaya başladım çünkü uzun yıllarım oldu ve iş ve tembellik nedeniyle neredeyse hiç zamanım olmasa da, şimdi bunda motivasyon buldum ve bir şeyler öğrenmek için 'kendimi savunmayı' bıraktım, bu yüzden kesinlikle birçok hata yapacağım. 'Ters'ten bahsettiğimde, tanıdıklarım tarafından bana iletilen ve bu sistemin kalıntılarını saklayan birkaç servefile'ın kodunu incelemeye kendimi adadım ve yeterince sadık olmaya çalışarak onu yeniden detaylandırıyorum. Buradaki diğer geliştiriciler gibi programlar veya başka yöntemler kullanmıyorum, bunu yapmak istedim çünkü bu sistemleri piyasada hiç görmedim ve resmi olarak iyi yaptığını düşündüğüm birkaç şeyden biri (her zamanki gibi geç de olsa), bu yüzden iyi olduğumu düşünmüyorum, ancak elde ettiğim başarıdan memnunum.

Yorumladığınız şeyle ilgili olarak, ilginçtir ki topladığım tüm dosyalarda, hiçbiri ne madalya modu ne de günlük limit için "GUİLD_DONATE_TYPE_NORMAL" benzeri bir şey kullanmıyordu, aslında bunu tables.h'den çalıştırıyorum ve sonra guild.cpp ve ClientManager'a (DB) geçiriyorum, burada daha fazla kodla (metni kaydetmek için basitleştiriyorum) bir sorgu çalıştırıyorum ve limit_donate vb. tablolarını kontrol ediyorum, ayrıca istemci tarafındaki python ile tıklama sayısını sınırlandırıyorum, bu şekilde üçe kadar yapılabilir


C++:
[...] eğer donate_count_max == 3 ise:
self.CheckCountLimit().

# Günlük maksimum bağışa ulaşıldığında Düğmeleri engelle
def CheckCountLimit(self):
donate_count_left, donate_count_max = guild.GetGuildDonateCount()

eğer donate_count_left >= 3 ise:
self.typeButtonList[0].Down().
self.typeButtonList[1].Down()
self.typeButtonList[2].Down()
self.state = False

Örneğin bu mi tables.h:

typedef struct SPacketGuildChangeMemberData
{
uint32_t guild_id;
uint32_t pid;
uint32_t offer;
uint8_t level;
uint8_t grade;
#ifdef ENABLE_GUILD_DONATE_ATTENDANCE
uint32_t katılım_tarihi;
uint8_t bağış_sınırı;
uint32_t son_bağış;
uint8_t günlük_bağış_sayısı;
uint32_t son_günlük_bağış;
#endif
} TPacketGuildChangeMemberData;

&
typedef struct SPacketDGGuildMember
{
uint32_t dwPID;
uint32_t dwGuild;
uint8_t bGrade;
uint8_t isGeneral;
uint8_t bJob;
uint8_t bLevel;
uint32_t dwOffer;
char szName[KARAKTER_ADI_MAKS_UZUNLUK + 1];
#ifdef ETKİNLEŞTİR_GUILD_BAĞIŞ_KATILIM
uint32_t dwKatılımTarihi;
uint8_t bBağışSınırı;
uint32_t dwSonBağış;
uint8_t bGünlükBağışSayısı;
uint32_t dwSonGünlükBağış;
#endif
} TPacketDGGuildÜyesi;

Söylemek istediğim, bu versiyonda madalya sistemi sınırlı değil, ancak bağışlar, onu çıkaran tüm versiyonlarda olduğu gibi, madalyalar puan olarak kullanılıyor, bağış olarak değil, ancak sağlayabileceğim veya ihtiyacım olan bir şey varsa bana bildirin ve eğer iyi anlamadıysam İngilizcem için özür dilerim, selamlar.

1739456351961.webp


1739456403598.webp

1739456422709.webp


1739456441658.webp


1739456466354.webp

1739456481659.webp



1739456541987.webp


Nazox95 notları devamıdır

C++:
GUILD_ITEM_TYPE_IN ve GUILD_ITEM_TYPE_OUT eksik sanırım. Ayrıca, bu kodun yanlış olduğunu düşünüyorum:

#ifdef ENABLE_GUILDSTORAGE_SYSTEM
typedef struct packet_guildstorage_open
{
BYTE bHeader;
BYTE bSize;
} TPacketGCGuilds

Doğru olan bu:

#ifdef ENABLE_GUILDSTORAGE_SYSTEM
typedef struct packet_guildstorage_open
{
BYTE bHeader;
BYTE bSize;
} TPacketGCGuildstorageOpen;
#endif

Lütfen onaylayın.

Merhaba, teşekkürler, fonksiyonu rehbere geçirmeye çalışırken bir hata yaptım, doğru olanı şudur:

//SRC GAME -> packet.h bul ve değiştir:

#ifdef ENABLE_GUILDSTORAGE_SYSTEM
typedef struct packet_guildstorage_open
{
BYTE bHeader;
BYTE bSize;
} TPacketGCGuildstorageOpen;
#endif

Github çalışmıyor, bu yüzden şimdilik güncellemeyi buraya koydum, tekrar teşekkürler.

C++:
    The function ::LoadGuildstorage missing too. @ Nazox .

Thanks again, i forgot this too fix:

//Open SRC GAME -> char.cpp and add before:
bool CHARACTER::BuildUpdatePartyPacket(TPacketGCPartyUpdate & out)
{
  [...]
}

//add
#ifdef ENABLE_GUILDSTORAGE_SYSTEM
CSafebox* CHARACTER::GetGuildstorage() const
{
    return m_pkGuildstorage;
}

void CHARACTER::LoadGuildstorage(int iSize, int iItemCount, TPlayerItem* pItems)
{
    bool bLoaded = false;

    //PREVENT_TRADE_WINDOW
    SetOpenGuildstorage(true);
    //END_PREVENT_TRADE_WINDOW

    if (m_pkGuildstorage)
        bLoaded = true;

    if (!m_pkGuildstorage)
        m_pkGuildstorage = M2_NEW CSafebox(this, iSize, 0);
    else
        m_pkGuildstorage->ChangeSize(iSize);

    m_iGuildstorageSize = iSize;

    m_pkGuildstorage->SetWindowMode(GUILDBANK);

    TPacketGCGuildstorageOpen p{};

    p.bHeader = HEADER_GC_GUILDSTORAGE_OPEN;
    p.bSize = iSize;

    GetDesc()->Packet(&p, sizeof(TPacketGCGuildstorageOpen));

    if (!bLoaded)
    {
        for (int i = 0; i < iItemCount; ++i, ++pItems)
        {
            if (!m_pkGuildstorage->IsValidPosition(pItems->pos))
                continue;

            LPITEM item = ITEM_MANAGER::Instance().CreateItem(pItems->vnum, pItems->count, pItems->id);

            if (!item)
            {
                sys_err("cannot create item vnum %d id %u (name: %s)", pItems->vnum, pItems->id, GetName());
                continue;
            }

            item->SetSkipSave(true);
            item->SetSockets(pItems->alSockets);
            item->SetAttributes(pItems->aAttr);

            if (!m_pkGuildstorage->Add(pItems->pos, item))
                M2_DESTROY_ITEM(item);
            else
                item->SetSkipSave(false);
        }
    }
}

void CHARACTER::CloseGuildstorage()
{
    if (!m_pkGuildstorage)
        return;

    //PREVENT_TRADE_WINDOW
    SetOpenGuildstorage(false);
    GetGuild()->SetStorageState(false, 0);
    //END_PREVENT_TRADE_WINDOW

    m_pkGuildstorage->Save();

    M2_DELETE(m_pkGuildstorage);
    m_pkGuildstorage = nullptr;

    ChatPacket(CHAT_TYPE_COMMAND, "CloseGuildstorage");

    SetGuildstorageLoadTime();
    m_bOpeningGuildstorage = false;

    Save();
}
#endif

C++:
uiscript'ten ExitCameraMode da eksik.

Teşekkürler, depoyu güncelliyorum, GÜNCELLEME -> PYTHON

Ben böyle bir dosya kullanmıyorum, sadece uiscript'te varsayılan olarak gamewindow.py'de gelen dosyayı kullanıyorum

kontrol et ve bana söyle 🙂
--

Aşağıdaki ek adımları deneyebilirsiniz:
1.Mağazayı açın, bir öğeyi kaydedin (çökmesi önemli değil) ve öğe boş kaydedilmişse veya 'GUILDBANK' yazıyorsa, navicat tablosunda öğe-> altında bir resim kontrol edin veya gösterin
2. Yeniden başlatın, öğe tablosunu boşaltın ve bir öğeyi manuel olarak yerleştirin ve sütuna 'GUILDBANK' yazın, öğenin görünüp görünmediğini kontrol edin (çökerse, öğenin yalnızca göründüğünü çerçevede görebilmek için kaydedin).

Hem 1 hem de 2'de cevap evet ise, sorun belirtildiği gibi, paket/kaynak veritabanı ve kaynak istemcisi arasında bir çakışmadır.

Olumsuzsa, muhtemelen bir şeyi atlamışımdır ve dosyaları doğrulamaya devam ediyorum, ikincisiyle ilgili başka bir şey bulursam bildireceğim.

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


Burayı görüntülemek için üye girişi yapmalı veya kayıt olmalısınız.
 

Dosya Eklentileri

  • 1739456375220.webp
    1739456375220.webp
    2,2 KB · Gösterim: 82
Açılan konudaki bütün içerik tamamen editlenmiş paylaşmak için doğru anı kollamışım süper miyim neyim ben arkadaş :sneaky:
 
Paylaşım için teşekkürler
 
Geri
Üst