Yardım Game Core

  • Konuyu açan Konuyu açan Escobar1453
  • Açılış Tarihi Açılış Tarihi
  • Yanıt Yanıt 11
  • Gösterim Gösterim 190
Konu sahibi bu konuda soru soruyor. Sorusu ile ilgili bilgisi olanların yanıtlamasını bekliyor.

Escobar1453

Üye
Üye
Mesaj
46
Çözümler
1
Beğeni
13
Puan
299
Ticaret Puanı
0
1760395407317.webp


İtem ruha bağlama sisteminde böyle bir core aldım bunun sebebi ve nasıl çözebilirim?

 
Son düzenleme:
3092. satırı kod olarak atar mısın buraya aşağı yukarı oralarda bir hata olmalı

char_item.cpp:
Genişlet Daralt Kopyala
#ifdef ENABLE_SOULBIND_SYSTEM
                            case 50263:
                                {
                                    LPITEM item2;
                                    if (!IsValidItemPosition(DestCell) || !(item2 = GetItem(DestCell)))
                                        return false;
                                   
                                    if (item2->IsEquipped() || item2->IsExchanging())
                                        return false;
                                   
                                    if (item2->IsSealed()){
                                        ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Item already sealed."));
                                        return false;
                                    }
                                   
                                    if (item2->GetType() != ITEM_WEAPON && item2->GetType() != ITEM_ARMOR && item2->GetType() != ITEM_COSTUME)
                                        return false;

                                    item2->SetSealBind();
                                    ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Item sealbind success."));
                                    {
                                        char buf[21];
                                        snprintf(buf, sizeof(buf), "%u", item2->GetID());
                                        LogManager::instance().ItemLog(this, item, "SET_SEALBIND_SUCCESS", buf);
                                    }
                                    item->SetCount(item->GetCount() - 1);
                                }
                                break;
                           
                            case 50264:
                                {
                                    LPITEM item2;
                                    if (!IsValidItemPosition(DestCell) || !(item2 = GetItem(DestCell)))
                                        return false;
                                   
                                    if(item2->isLocked() || item2->IsEquipped() || item2->GetSealBindTime() >= 0)
                                        return false;
                                   
                                    long duration = 72 * 60 * 60;
                                    item2->SetSealBind(time(0) + duration);
                                    item2->StartUnSealBindTimerExpireEvent();
                                    ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Item unsealbind success."));
                                    {
                                        char buf[21];
                                        snprintf(buf, sizeof(buf), "%u", item2->GetID());
                                        LogManager::instance().ItemLog(this, item, "REMOVE_SEALBIND_TIME_BEGIN", buf);
                                    }
                                    item->SetCount(item->GetCount() - 1);
                                }
                                break;
#endif


3092:
case 50264:
{
LPITEM item2;
if (!IsValidItemPosition(DestCell) || !(item2 = GetItem(DestCell)))
return false;----->3092.
 
En son bir moderatör tarafından düzenlenmiş:
char_item.cpp:
Genişlet Daralt Kopyala
#ifdef ENABLE_SOULBIND_SYSTEM
                            case 50263:
                                {
                                    LPITEM item2;
                                    if (!IsValidItemPosition(DestCell) || !(item2 = GetItem(DestCell)))
                                        return false;
                                  
                                    if (item2->IsEquipped() || item2->IsExchanging())
                                        return false;
                                  
                                    if (item2->IsSealed()){
                                        ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Item already sealed."));
                                        return false;
                                    }
                                  
                                    if (item2->GetType() != ITEM_WEAPON && item2->GetType() != ITEM_ARMOR && item2->GetType() != ITEM_COSTUME)
                                        return false;

                                    item2->SetSealBind();
                                    ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Item sealbind success."));
                                    {
                                        char buf[21];
                                        snprintf(buf, sizeof(buf), "%u", item2->GetID());
                                        LogManager::instance().ItemLog(this, item, "SET_SEALBIND_SUCCESS", buf);
                                    }
                                    item->SetCount(item->GetCount() - 1);
                                }
                                break;
                          
                            case 50264:
                                {
                                    LPITEM item2;
                                    if (!IsValidItemPosition(DestCell) || !(item2 = GetItem(DestCell)))
                                        return false;
                                  
                                    if(item2->isLocked() || item2->IsEquipped() || item2->GetSealBindTime() >= 0)
                                        return false;
                                  
                                    long duration = 72 * 60 * 60;
                                    item2->SetSealBind(time(0) + duration);
                                    item2->StartUnSealBindTimerExpireEvent();
                                    ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Item unsealbind success."));
                                    {
                                        char buf[21];
                                        snprintf(buf, sizeof(buf), "%u", item2->GetID());
                                        LogManager::instance().ItemLog(this, item, "REMOVE_SEALBIND_TIME_BEGIN", buf);
                                    }
                                    item->SetCount(item->GetCount() - 1);
                                }
                                break;
#endif


3092:
case 50264:
{
LPITEM item2;
if (!IsValidItemPosition(DestCell) || !(item2 = GetItem(DestCell)))
return false;----->3092.

dener misin
 

dener misin
core de herhangi kanal düşmesi veya oyun düşmesi yaşanmıyor,
//WORD wDestCell = DestCell.cell;
//BYTE bDestInven = DestCell.window_type;
kısmını pasif yapmışsın anladığım kadarıyla bu durum attığım core de zaten DestCell parametresi bozuk / geçersiz bellek adresi içeriyor. DestCell sadece okunmuyor ama hâlâ fonksiyona geçersiz parametre olarak geliyor. İleride başka bir yerde yine DestCell’e dokunulursa core başka satıra taşınmaz mı?
 
core de herhangi kanal düşmesi veya oyun düşmesi yaşanmıyor,
//WORD wDestCell = DestCell.cell;
//BYTE bDestInven = DestCell.window_type;
kısmını pasif yapmışsın anladığım kadarıyla bu durum attığım core de zaten DestCell parametresi bozuk / geçersiz bellek adresi içeriyor. DestCell sadece okunmuyor ama hâlâ fonksiyona geçersiz parametre olarak geliyor. İleride başka bir yerde yine DestCell’e dokunulursa core başka satıra taşınmaz mı?
zannetmiyorum gptye sordum sistem çalışıyorsa sorun yok dokunma :D daha bilgili olan arkadaşlar varsa yardımcı olsunlar
 
Geri
Üst