- Katılım
- 31 Ocak 2010
- Konular
- 10
- Mesajlar
- 215
- Reaksiyon Skoru
- 21
- Altın Konu
- 0
- TM Yaşı
- 16 Yıl 4 Ay 10 Gün
- Başarım Puanı
- 104
- Yaş
- 30
- MmoLira
- 178
- DevLira
- 0
ROHAN2 WORLD 1-120 TR TİPİ OFFICIAL YOHARA, BALATHOR VE AMON! 80. GÜNÜNDE! +10.000 ONLİNE! HİLE VE BOT %100 ENGELLİ HEMEN TIKLA!
Teşekkürler.
- Katılım
- 16 Eki 2009
- Konular
- 82
- Mesajlar
- 2,278
- Çözüm
- 1
- Online süresi
- 22d 19h
- Reaksiyon Skoru
- 825
- Altın Konu
- 16
- Başarım Puanı
- 239
- Yaş
- 36
- MmoLira
- 4,606
- DevLira
- 12
Merhabalar,
Bugün birkaç serverde ve bende yapılmaya başlayınca çözmek zorunda kaldım, lamerlerin kendini bir halt sanmaya başladığı bir açığa dönüşmeden önleminizi alın.Güvenlik sebebi ile nasıl yapıldığını anlatmayacağım ama açığı basitçe açıklamak gerekirse içerik şu şekilde;
Hata tamamiyle game dosyasının m_stCurQuest erişememesinden kaynaklı. Erişememe sebebi ise hafızadan silinmiş olması. (Diğer adıyla programcıların bildiği gibi "dangling") bu duruma sebeb olabilecek birkaç şeyler var örneğin quest'i anlık durdurabilecek fonksiyonlar. (örneğin: select) ben bunu sadece select için yaptım çünkü çökmelerin hepsi bununla alakalıydı. Yaptığım çözüm ise QuestState içerisine quest_name eklemek böylelikle quest durmadan önce quest name QuestState içerisinde muhafaza edicem böylelikle quest devam etmeye başladığı zaman sistem benim belirttiğim quest_name baz alıcak eğer ki boş değilse. Eğer boş ise mevcut olan quest ismini alıcak böylelikle "dangling" sorunu ortadan kalkmış olucak.
Kod:quest.h aç ve "int st;" ara, altına aşağıdaki kodu ekleKod:std::string quest_name;Kod:questlua.cpp aç ve "qs.suspend_state = SUSPEND_STATE_SELECT;" ara, altına aşağıdaki kodu ekleKod:qs.quest_name = GetCurrentPC() ? GetCurrentPC()->GetCurrentQuestName() : "no_quest";Kod:questlua_quest.cpp aç ve "QuestState* pQS = pPC->GetRunningQuestState();" ara, altına aşağıdaki kodu ekleKod:std::string stQuestName = pPC->GetCurrentQuestName(); if (pQS->quest_name.length() != 0) stQuestName = pQS->quest_name;
Yukarıdaki çözümü uyguladığınızda herhangi bir sorun kalmayacaktır, herşeye kulp bulan arkadaşlar yorum atma zahmetinde bulunmasınlar, bir zahmet daha iyisini yazıp paylaşsınlar, herkes faydalansın. Keyifli geceler.
Paylaşım için teşekkürler.
- Katılım
- 12 Tem 2017
- Konular
- 3,675
- Mesajlar
- 14,203
- Çözüm
- 157
- Online süresi
- 1mo 19d
- Reaksiyon Skoru
- 6,341
- Altın Konu
- 1
- Başarım Puanı
- 462
- MmoLira
- 2,563
- DevLira
- 166
Eline sağlık.
- Katılım
- 18 Kas 2013
- Konular
- 26
- Mesajlar
- 471
- Online süresi
- 29d 10h
- Reaksiyon Skoru
- 413
- Altın Konu
- 1
- TM Yaşı
- 12 Yıl 6 Ay 23 Gün
- Başarım Puanı
- 139
- MmoLira
- 1,329
- DevLira
- 9
teşekkürler eline sağlık
Teşekkürler
Teşekkürler
Teşekkürler
Teşekkürler
Thank you. Best Regards !
Paylaşım için teşekkürler, eline sağlık![]()
Teşekkürler.
Paylaşım için teşekkürler.
Eline sağlık.
Rica ederim..
Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)
Benzer konular
- Cevaplar
- 27
- Görüntüleme
- 5K
- Cevaplar
- 215
- Görüntüleme
- 50K
- Cevaplar
- 149
- Görüntüleme
- 47K





Güvenlik sebebi ile nasıl yapıldığını anlatmayacağım ama açığı basitçe açıklamak gerekirse içerik şu şekilde;