Best Studio 1
Best Studio
D 1
delimuratt
Aliyldrim 1
Aliyldrim
Mt2Hizmet 1
Mt2Hizmet
noisiv 1
noisiv
Manwe Work 1
Manwe Work
melankolıa18 1
melankolıa18
Agora Metin2 1
Agora Metin2
Cannn6161 1
Cannn6161
kralhakan2009 1
kralhakan2009
Vahsi Uzman 1
Vahsi Uzman
Hikaye Ekle
Reklam vermek için turkmmo@gmail.com

Source Warning Fixleri Azura

lordsas

Akazel
TM Üye
Katılım
4 Ara 2011
Konular
127
Mesajlar
1,498
Çözüm
5
Online süresi
1mo 29d
Reaksiyon Skoru
331
Altın Konu
0
Başarım Puanı
199
Yaş
31
MmoLira
3,205
DevLira
-19
Ticaret - 0%
0   0   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!

Arkadaşlar Bu aralar herkes bir source kodlaması derdinde bende kendi elimle başladığım sourcede fixlemeler falan yapıyorum. Burda paylaşım yapan arkadaşlara çok teşekkürler ama warningler hakkında fazla bir konu yok ondan ben burda fixlediğim tüm warning uyarılarını sizin ile paylaşıcam konuyu elimden geldiğince güncellicem.

İlk paylaşımım basit bir şey olacak

Uyarı - 1

Görsel

dXvWEL.png


Source > db > src > ClientManagerBoot.cpp açılır.

Alttaki kodu aratın.

Kod:
bool CClientManager::MirrorItemTableIntoDB()

Kod bloğunun içinde böyle bir kod bulunması gerek

Kod:
                "%d, %d, %d, \"%s\", \"%s\", %d, %d, %d, %d, "                "%d, %d, %d, %d, "
                "%d, %d, %d, %d, %d, "
                "%d, %d, %d, %d, "
                "%d, %d, %d, %d, %d, %d, "
                "%d, %d, %d, %d, %d, %d )",

Bu kod bloğunu alttaki ile değiştirin.

Kod:
                "%d, %d, %d, \"%s\", \"%s\", %d, %d, %d, %d, "                "%d, %d, %d, %d, "
                "%d, %d, %d, %d, %d, "
                "%d, %ld, %d, %ld, "
                "%d, %ld, %d, %ld, %d, %ld, "
                "%ld, %ld, %ld, %ld, %ld, %ld )",

Bunu yaptıktan sonra biraz daha aşagı gelin alttaki gibi bir kod var

Kod:
                "%d, %d, %d, \"%s\", %d, %d, %d, %d, "                "%d, %d, %d, %d, "
                "%d, %d, %d, %d, %d, "
                "%d, %d, %d, %d, "
                "%d, %d, %d, %d, %d, %d, "
                "%d, %d, %d, %d, %d, %d )",

üstteki kodu alttaki ile değiştirin.

Kod:
                "%d, %d, %d, \"%s\", %d, %d, %d, %d, "                "%d, %d, %d, %d, "
                "%d, %d, %d, %d, %d, "
                "%d, %ld, %d, %ld, "
                "%d, %ld, %d, %ld, %d, %ld, "
                "%ld, %ld, %ld, %ld, %ld, %ld )",

Şimdilik bu kadar. yakında daha çok ekliyecegim.

Uyarı - 2

Görsel

0yR7rZ.jpg


Source > game > src > dragon_soul_table.cpp

alttaki kodu aratın.

Kod:
for (int i = 0; i < m_vecDragonSoulNames.size(); i++)

ve alttaki ile değiştirin.

Kod:
for (unsigned int i = 0; i < m_vecDragonSoulNames.size(); i++)

alttaki kodu aratın.

Kod:
for (int i = 0; i < m_vecDragonSoulTypes.size(); i++)

ve alttaki ile değiştirin.

Kod:
for (unsigned int i = 0; i < m_vecDragonSoulTypes.size(); i++)

alttaki kodu aratın

Kod:
for (int i = 0; i < m_vecDragonSoulTypes.size(); i++)

alttaki ile değiştirin.

Kod:
for (unsigned int i = 0; i < m_vecDragonSoulTypes.size(); i++)

alttakini aratın

Kod:
for (int i = 0; i < m_vecDragonSoulTypes.size(); i++)

değiştirin

Kod:
for (unsigned int i = 0; i < m_vecDragonSoulTypes.size(); i++)

alttakini aratın

Kod:
for (int k = 0; k < vec_probs.size(); k++)

değiştirin

Kod:
for (unsigned int k = 0; k < vec_probs.size(); k++)

alttakini aratın

Kod:
for (int i = 0; i < m_vecDragonSoulTypes.size(); i++)

değiştir

Kod:
for (unsigned int i = 0; i < m_vecDragonSoulTypes.size(); i++)

alttakini aratın

Kod:
for (int k = 0; k < vec_probs.size(); k++)

değiştir

Kod:
for (unsigned int k = 0; k < vec_probs.size(); k++)

alttakini aratın

Kod:
for (int i = 0; i < m_vecDragonSoulTypes.size(); i++)

değiştir

Kod:
for (unsigned int i = 0; i < m_vecDragonSoulTypes.size(); i++)

alttakini aratın

Kod:
for (int i = 0; i < m_vecDragonSoulTypes.size(); i++)

değiştir

Kod:
for (unsigned int i = 0; i < m_vecDragonSoulTypes.size(); i++)

alttakini aratın

Kod:
for (int k = 0; k < vec_chargings.size(); k++)

değiştir

Kod:
for (unsigned int k = 0; k < vec_chargings.size(); k++)

alttakini aratın

Kod:
for (int k = 0; k < vec_probs.size(); k++)

degiştir

Kod:
for (unsigned int k = 0; k < vec_probs.size(); k++)

altakini aratın

Kod:
for (int i = 0; i < m_vecDragonSoulTypes.size(); i++)

degiştir.

Kod:
for (unsigned int i = 0; i < m_vecDragonSoulTypes.size(); i++)

Arkadaşlar öncelikle üsteki kodları uzman arkadaşlar test etsin veya bir sorun varsa bildirsin.
peki bunlarda int'ten önce neden unsigned kodu yerleştirdim.
arkadaşlar böyle her gördüğünüz hataya unsigned yerleştirmek doşru değil
unsigned char 0 ~ 255 arası sayıları temsil eder
signed char ise -128 ~ 127 arasındaki sayıları
üsteki kodlar - ye giden bir sayı yok gördüğünüz gibi int++ ya gitmiş bu da aslında oyunda bug oluşturmaya müsait bir açık değerinde olabileceğini düşünüyorum. o yüzden değeri unsigned yaparak değerin - değerler almamasını ayarlamış olduk.
böylece warning sorununu çözmüş olduk bu tür uyarılar aldığınızda
signed and unsigned bu uyarıları üsteki anlatımımdan yola cıkarak düzeltebilirsiniz.

ben kendimce böyle yorumladım bilgili arkadaşlar doğru yapmışmıyım diye kontrol ederlerse sevinirim yanlış bilgi vermek istemem konudan anında silerim yanlışım varsa daha yeniyim hatalar olabilir.

Uyarı - 3

Merhaba Arkadaşlar bu sefer ki uyarımız warning: no newline at end of file
Kısaca Uyarı Dosya'nın bitişindeki boşluk hatalı diyor diye çevirsem daha mantıklı olur.
çünkü dosyaların genelde sonlarında belli miktarda boşluk bırakılmalıdır eğer fazla veya az bırakırsanız bu sefer bu uyarıyı alırsınız.
evet peki biz hangi uyarıları çözdük göstermeden önce örnek bir resim

qEAvnB.jpg


şimdi kodlara girelim :D

Size Kod Yok :D
Şaka ! Sadece altakileri yapın yeterli.

-----------------------------------------------------------------------------

evet bu uyarıyı shop_manager.h ' da alıyorsanız.

shop_manager.h'ın en sonunda 1 tane boşluk bırakın.

görsel

1Np6kY.jpg


-----------------------------------------------------------------------------

vnum_helper.h 'da alıyorsanız. (Not : sadece vnum_helper.h common dosyasındadır gerisi game dosyasında)

endif'ten sonra bir boşluk bırakılacak

-----------------------------------------------------------------------------

Bundan Sonrasını Kısaca yazıyom çok yer kaplıyorlar çünkü

pet_system.h endif'ten sonra 2 boşluk bırakın
char.cpp en sona bir boşluk bırak
belt_inventory_helper.h bir boşluk bırak
pet_system.cpp 1 boşluk
ClientPackageCryptInfo.h 1 boşluk
input_db.cpp 1 boşluk
item.cpp 1 boşluk
log.cpp 1 boşluk
monarch.cpp 1 boşluk
questlua_pet.cpp 1 boşluk
FileMonitor_FreeBSD.cpp 1 boşluk
dragon_soul_table.h 1 boşluk
not : hepsinin sonuna bırakılacak boşluktan kastım satırdır'yani enter :)

***************************************************************

Ayrı Olarak bir uyarı daha paylaşıyorum bu konu içerisinde.

ox_event.cpp 222:19 warning: null character(s) preserved in literal
arkadaşlar buradaki yazı farklı bir dille yazılmıştır game buildinde ondan hata veriyor.
uyarının sebebi farklı bir dille yazılmış kod blunmakta bunuda game

Kod:
..xx ??xx ???
gibi saçma bir şekilde build ediyor.
normalde o yazı elseif'deki yazıyla aynı alttakilerden hoşunuza gideni kullanın.

222. satırdaki kodu alttakilerden biriyle değiştirin hangisi kafanıza yatarsa.

Kod:
SendNoticeMap("5ì´Ë† ë’¤ í‹€리ì‹  ë¶â€žë“¤ìâ€ž ë°â€ê¹¥ìÅ“¼ë¡Å“ 이ëâ„¢ ì‹œí‚¤ê² ìÅ µë‹ˆë‹¤.", OXEVENT_MAP_INDEX, true);

Kod:
SendNoticeMap(LC_TEXT("5ì´Ë† ë’¤ í‹€리ì‹  ë¶â€žë“¤ìâ€ž ë°â€ê¹¥ìÅ“¼ë¡Å“ 이ëâ„¢ ì‹œí‚¤ê² ìÅ µë‹ˆë‹¤."), OXEVENT_MAP_INDEX, true);

Uyarı - 4

Arkadaşlar görsel vermicem
genel hata "warning: this decimal constant is unsigned only in ISO C90"
bunu char.cpp'de görüyoruz
peki bu uyarı nedir arkadaşlar char.cpp'de verilen sayı tanımlanmış değerler arasında değil.
genelde çok büyük sayılarda alıyoruz bu hatayı genel çözümü ise sayının sonuna LL eklemektir

Char.cpp Warning : this decimal constant is unsigned only in ISO C90

alttaki kodu arat.

Kod:
DWORD CHARACTER::GetNextExp() const

içindeki

Kod:
return 2500000000;

üsteki sayıyı alttaki ile değiştir.

Kod:
return 2500000000LL;

bu kadar. :D

Uyarı - 5

C4995 - C4996 çözümler client'de denenmiştir.

arkadaşlar uyarı c4995 warning: deprecated
aslında çözüm çok basit.
peki öncelikle altta gördügümüz fonksiyonlarda genelde bu hatayı alıyoruz peki niçin


Kod:
vsprintfsprintf
strcat
strcpy

çok basit boyutsal bakımdan tanımlandırılmamışlar buda uyarıya sebep oluyor boyutsal bakımı bende anlamadım
ama araştırmalarıma bakılırsa bu kodlarda değerler tanımlandırılması gerekiyor.
peki bunları tek tek tanımlandırcaz mı hayır.
Security Features in the CRT sistemini eklicez.
üsteki kodları kontrol edip gönderilecek kodu veya yazıyı ona göre boyutlandırtırıyor.
peki security features in the crt yi nasıl eklicez derseniz işte oda çok kolay.

Kod:
vsprintf_s
sprintf_s
strcat_s
strcpy_s

kısaca _s kodu otomatik biçimlendiricektir ve bizim #define STR_LENGTH 20 gibi bazı kodları eklememize gerek kalmıcak


evet sorusu olan varsa sormasın bu çözüm kesin çözümdür. bulana kadar çok uğraştım hele ki kesin çözüm olduguna emin olana kadar.
:D
arkadaşlar uyarıları tek tek yazmıcam siz c4995 hatası aldınız mı _s fonksiyonu ekleyip düzeltin lütfen.
çünkü çok fazla böyle sorun var.
size genel çözümünü sundum.

Önemli Hata almamanız için okuyun.

çok önemli bir not daha belirtmek isterim
c4995 hatasını gördünüz kodda _sprintf yazıyor ama kod blogundaki
sprintf bakın _sprintf ise _s eklersiniz ama farklı bir kod yazıyor sprintf
sakın sonuna direk _s eklemeyin yoksa error alırsınız fonksiyonda
_sprintf_s
olarak tamamlayın. ha bazı uyarılarda _s koymayın çünkü error'a dönüştürür warning'i örnek PythonChatModule.cpp(434)


len += _snprintf(itemlink + len, sizeof(itemlink) - len, ":%x:%d",


len += veya cn += gibi bir şeyler varsa fonksiyonda korkun çünkü o fonksiyonda _s eklerseniz büyük bir ihtimal hata alırsınız.
hatta _ koymak bile hataya sebep olabilir o yüzden deneyin error alırsanız zaten eski haline getirirsiniz.
ama kesin hata alcaksınız çünkü genelde o fonksiyonlara bir şey tanımlanmış oluyor ve
function does not take 2 arguments gibi 2 argument kullanamazsınız gibi hatalar alırsınız.


c4996 _ çözüm


arkadaşlar c4996 çok güzel bir uyarıdır
sprintf
strcat
strcpy
üsteki fonksiyonlara _ başına eklenerek çözülür.
_sprintf
_strcat
_strcpy
bu çözüm ile c4996 uyarısından kurtulduk fakat bitmedi çünkü build ederken fonksiyonda c4995 alabilirsiniz
o zamanda
_sprintf_s
_strcat_s
_strcpy_s
bu şekilde yapmanız gerekmektedir.
teşekkürler.
not : fopen gibi farklı fonksiyonlarda _ veya _s eklemeyin çünkü hata alırsınız.



dikkat bazı fonksiyonlarda hata alma ihtimaliniz var
_ ve _s her zaman çözmüyor daha kötü yapabiliyor.
o yüzden herşey kesin çözcek diye bir şey yok çünkü bazıları tanımlanmış oluyor kodlar cakışabiliyor.


konu üzerindeki araştırmalarım devam etmekte örnek vermicem çünkü çok farklı onlarca örnek var kendiniz deneyip test edip sorunlarınızı çözün.çünkü fonksiyonlara baglı olarak farklı hatalar veya cevaplar cıkabiliyor.

bu c4995 ile c4996 sorunları başımı uyuşturdu biraz kafa dinlicem.


bende insanım.

hadi bol şanslar. :D

Uyarı - 6

Uyarı

Kod:
Warning    1    warning C4800: 'BOOL' : forcing value to bool 'true' or 'false' (performance warning)    C:\Users\Desktop\Source Client\source\UserInterface\NetworkActorManager.cpp    370    1    UserInterface

Warning    2    warning C4800: 'BOOL' : forcing value to bool 'true' or 'false' (performance warning)    C:\Usersn\Desktop\Source Client\source\UserInterface\NetworkActorManager.cpp    420    1    UserInterface
client > UserInterface > NetworkActorManager.cpp

arkadaşlar internette bazıları bool kodunu int çevirin falan demiş ama ben farklı bir çözüm ile yaptım.
1.uyarı
Kod:
bool bIsMountingHorse = pOldInstance->IsMountingHorse();
değiştir
Kod:
bool bIsMountingHorse = pOldInstance->IsMountingHorse() !=0;
2.uyarı
Kod:
bool bIsMountingHorse = pMainInstance->IsMountingHorse();
değiştir
Kod:
bool bIsMountingHorse = pMainInstance->IsMountingHorse() !=0;

uyarı gitmiştir.

Uyarı - 7

Yeni Konumuz 4101

hatamız bu çözümü basit arkadaşlar.
Kod:
Warning    3    warning C4101: 'iSourceSlotIndex' : unreferenced local variable    C:\Users\Desktop\Source Client\source\UserInterface\PythonPlayerModule.cpp    763    1    UserInterface


Warning    4    warning C4101: 'iSlotPos' : unreferenced local variable    C:\Users\Desktop\Source Client\source\UserInterface\PythonPlayerModule.cpp    978    1    UserInterface


çözüm
1.
Kod:
int iSourceSlotIndex;
kodu aratın ve alttaki gibi yapın
Kod:
static int iSourceSlotIndex;
2.
Kod:
int iSlotPos;
kodunu aratın ve başına static ekleyin.alttaki gibi olacak
Kod:
static int iSlotPos;

kolay gelsin.

Uyarı - 8

DB Source Fix

(DB Source Completely Warnings Fix)


1.) warning : no newline at end of files


Cache.cpp
ProtoReader.h
ItemAwardManager.cpp
AuctionManager.cpp


bunların en sonunda 1 tane boşluk bırakın.






2.)
ProtoReader.cpp fix


arat


Kod:
while ((cutAt = strOrigin.find_first_of(strTok)) != strOrigin.npos)


değiştir


Kod:
while (unsigned(cutAt = strOrigin.find_first_of(strTok)) != strOrigin.npos)


arat


Kod:
for (int j=0;j<sizeof(arType)/sizeof(arType[0]);j++)


değiştir


Kod:
for (unsigned int j=0;j<sizeof(arType)/sizeof(arType[0]);j++)


arat


Kod:
for(int i =0;i<sizeof(arAntiFlag)/sizeof(arAntiFlag[0]);i++)


değiştir


Kod:
for(unsigned int i =0;i<sizeof(arAntiFlag)/sizeof(arAntiFlag[0]);i++)


arat


Kod:
for(int i =0;i<sizeof(arFlag)/sizeof(arFlag[0]);i++)


değiştir


Kod:
for(unsigned int i =0;i<sizeof(arFlag)/sizeof(arFlag[0]);i++)


arat


Kod:
for(int i =0;i<sizeof(arWearrFlag)/sizeof(arWearrFlag[0]);i++)


değiştir


Kod:
for(unsigned int i =0;i<sizeof(arWearrFlag)/sizeof(arWearrFlag[0]);i++)


arat


Kod:
for(int i =0;i<sizeof(arImmune)/sizeof(arImmune[0]);i++)


değiştir


Kod:
for(unsigned int i =0;i<sizeof(arImmune)/sizeof(arImmune[0]);i++)


arat


Kod:
for (int j=0;j<sizeof(arLimitType)/sizeof(arLimitType[0]);j++)


değiştir


Kod:
for (unsigned int j=0;j<sizeof(arLimitType)/sizeof(arLimitType[0]);j++)


arat


Kod:
for (int j=0;j<sizeof(arApplyType)/sizeof(arApplyType[0]);j++)


değiştir


Kod:
for (unsigned int j=0;j<sizeof(arApplyType)/sizeof(arApplyType[0]);j++)


arat


Kod:
for (int j=0;j<sizeof(arRank)/sizeof(arRank[0]);j++)


değiştir


Kod:
for (unsigned int j=0;j<sizeof(arRank)/sizeof(arRank[0]);j++)


arat


Kod:
for (int j=0;j<sizeof(arType)/sizeof(arType[0]);j++)


değiştir


Kod:
for (unsigned int j=0;j<sizeof(arType)/sizeof(arType[0]);j++)


arat


Kod:
for (int j=0;j<sizeof(arBattleType)/sizeof(arBattleType[0]);j++)


değiştir


Kod:
for (unsigned int j=0;j<sizeof(arBattleType)/sizeof(arBattleType[0]);j++)


arat


Kod:
for (int j=0;j<sizeof(arSize)/sizeof(arSize[0]);j++)


değiştir


Kod:
for (unsigned int j=0;j<sizeof(arSize)/sizeof(arSize[0]);j++)


arat


Kod:
for(int i =0;i<sizeof(arAIFlag)/sizeof(arAIFlag[0]);i++)


değiştir


Kod:
for(unsigned int i =0;i<sizeof(arAIFlag)/sizeof(arAIFlag[0]);i++)


arat


Kod:
for(int i =0;i<sizeof(arRaceFlag)/sizeof(arRaceFlag[0]);i++)


değiştir


Kod:
for(unsigned int i =0;i<sizeof(arRaceFlag)/sizeof(arRaceFlag[0]);i++)


arat


Kod:
for(int i =0;i<sizeof(arImmuneFlag)/sizeof(arImmuneFlag[0]);i++)


değiştir


Kod:
for(unsigned int i =0;i<sizeof(arImmuneFlag)/sizeof(arImmuneFlag[0]);i++)


arat


Kod:
for (int i=0; i<sizeof(dataArray)/sizeof(dataArray[0]);i++)


değiştir


Kod:
for (unsigned int i=0; i<sizeof(dataArray)/sizeof(dataArray[0]);i++)


arat


Kod:
for (int j = 0; j < i; ++j)


değiştir


Kod:
for (unsigned int j = 0; j < i; ++j)


arat


Kod:
int pos = s.find("~");


değiştir


Kod:
unsigned int pos = s.find("~");


3. warning: returns address of local variable


ClientManagerPlayer.cpp


arat


Kod:
char command[20] = "";


değiştir


Kod:
static char command[20] = "";


4. warning: Statement has no effect


ClientManagerBoot.cpp


arat


Kod:
    test_data;


değiştir.


Kod:
    //test_data;


5. warning: Unused Veriable


ClientManagerBoot.cpp


arat


Kod:
    int testValue =  m_vec_itemTable.size();


değiştir


Kod:
    //int testValue =  m_vec_itemTable.size();


6. warning:


protoreader.cpp


ara


Kod:
int get_Item_SubType_Value(int type_value, string inputString)


değiştir


Kod:
int get_Item_SubType_Value(unsigned int type_value, string inputString)


protoreader.h


ara


Kod:
int get_Item_SubType_Value(int type_value, std::string inputString);


değiştir


Kod:
int get_Item_SubType_Value(unsigned int type_value, std::string inputString);


Evet uzun bir aranın sonundan tekrar güzel bir şekilde size elimdekileri paylaşmaya calıştım.
İşinize yaradıysa ne mutlu bana.


4 saatlik çalışmamdan bu kadar şimdi diğer işlerime geçicem metin2'ye bu kadar yeterli :D


arkadaşlar test_data yı falan pek önemsemeyin gereksiz komutlar onlar ondan dolayı warningli kısımlara // ekledim.
1. sebebi test_data işlemsizdi
2. sebeb testValue boş elemandı.
yani gereksiz verilerdi.


6.warning ise çok uğraştırdı sinir krizi geçiricektim sonra bir baktım aynı değerleri protoreader.h dada tanımlandırmış ondan error veriyormuş biraz güldüm ama sorunuda çözdük.


Tekrar güzel bir paylaşım yapana kadar hoşt çakal.

Uyarı - 9

1.fix Warning Format


char_item.cpp


#ifdef NEW_PET_SYSTEM


ara
Kod:
snprintf(szQuery1, sizeof(szQuery1), "SELECT duration FROM new_petsystem WHERE id = %lu LIMIT 1", item2->GetID());
değiştir
Kod:
snprintf(szQuery1, sizeof(szQuery1), "SELECT duration FROM new_petsystem WHERE id = %d LIMIT 1", item2->GetID());
ara
Kod:
sprintf(buf, "No change by item{VN:%d VAL%d:%d}", item->GetVnum(), ITEM_VALUE_CHARGING_AMOUNT_IDX, item->GetValue(ITEM_VALUE_CHARGING_AMOUNT_IDX));
değiştir
Kod:
sprintf(buf, "No change by item{VN:%d VAL%d:%ld}", item->GetVnum(), ITEM_VALUE_CHARGING_AMOUNT_IDX, item->GetValue(ITEM_VALUE_CHARGING_AMOUNT_IDX));
ara
Kod:
sprintf(buf, "Increase %ds by item{VN:%d VAL%d:%d}", ret, item->GetVnum(), ITEM_VALUE_CHARGING_AMOUNT_IDX, item->GetValue(ITEM_VALUE_CHARGING_AMOUNT_IDX));
değiştir
Kod:
sprintf(buf, "Increase %ds by item{VN:%d VAL%d:%ld}", ret, item->GetVnum(), ITEM_VALUE_CHARGING_AMOUNT_IDX, item->GetValue(ITEM_VALUE_CHARGING_AMOUNT_IDX));
ara
Kod:
sprintf(buf, "No change by item{VN:%d VAL%d:%d}", item->GetVnum(), ITEM_VALUE_CHARGING_AMOUNT_IDX, item->GetValue(ITEM_VALUE_CHARGING_AMOUNT_IDX));
değiştir
Kod:
sprintf(buf, "No change by item{VN:%d VAL%d:%ld}", item->GetVnum(), ITEM_VALUE_CHARGING_AMOUNT_IDX, item->GetValue(ITEM_VALUE_CHARGING_AMOUNT_IDX));
ara
Kod:
sprintf(buf, "No change by item{VN:%d SOC%d:%d}", item->GetVnum(), ITEM_SOCKET_CHARGING_AMOUNT_IDX, item->GetSocket(ITEM_SOCKET_CHARGING_AMOUNT_IDX));
değiştir
Kod:
sprintf(buf, "No change by item{VN:%d SOC%d:%ld}", item->GetVnum(), ITEM_SOCKET_CHARGING_AMOUNT_IDX, item->GetSocket(ITEM_SOCKET_CHARGING_AMOUNT_IDX));
ara
Kod:
sprintf(buf, "Inc %ds by item{VN:%d VAL%d:%d}", ret, item->GetVnum(), ITEM_VALUE_CHARGING_AMOUNT_IDX, item->GetValue(ITEM_VALUE_CHARGING_AMOUNT_IDX));
değiştir
Kod:
sprintf(buf, "Inc %ds by item{VN:%d VAL%d:%ld}", ret, item->GetVnum(), ITEM_VALUE_CHARGING_AMOUNT_IDX, item->GetValue(ITEM_VALUE_CHARGING_AMOUNT_IDX));
ara
Kod:
sprintf(buf, "Inc %ds by item{VN:%d SOC%d:%d}", ret, item->GetVnum(), ITEM_SOCKET_CHARGING_AMOUNT_IDX, item->GetSocket(ITEM_SOCKET_CHARGING_AMOUNT_IDX));
değiştir
Kod:
sprintf(buf, "Inc %ds by item{VN:%d SOC%d:%ld}", ret, item->GetVnum(), ITEM_SOCKET_CHARGING_AMOUNT_IDX, item->GetSocket(ITEM_SOCKET_CHARGING_AMOUNT_IDX));


inputmain.cpp


ara
Kod:
snprintf(szQuery1, sizeof(szQuery1), "INSERT INTO new_petsystem VALUES(%lu,'%s', 1, 0, 0, 0, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d)", item->GetID(), p->petname, number(1, 23), number(1, 23), number(1, 23), tmpskill[0], 0, tmpskill[1], 0, tmpskill[2], 0, tmpdur, tmpdur);
değiştir
Kod:
snprintf(szQuery1, sizeof(szQuery1), "INSERT INTO new_petsystem VALUES(%d,'%s', 1, 0, 0, 0, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d, %d)", item->GetID(), p->petname, number(1, 23), number(1, 23), number(1, 23), tmpskill[0], 0, tmpskill[1], 0, tmpskill[2], 0, tmpdur, tmpdur);


questlua_petnew.cpp


ara
Kod:
snprintf(szQuery1, sizeof(szQuery1), "SELECT duration,tduration FROM new_petsystem WHERE id = %lu ", id);
değiştir
Kod:
snprintf(szQuery1, sizeof(szQuery1), "SELECT duration,tduration FROM new_petsystem WHERE id = %d ", id);


new_petsystem.cpp


ara
Kod:
snprintf(szQuery1, sizeof(szQuery1), "SELECT name,level,exp,expi,bonus0,bonus1,bonus2,skill0,skill0lv,skill1,skill1lv,skill2,skill2lv,duration,tduration,evolution FROM new_petsystem WHERE id = %lu ", pSummonItem->GetID());
değiştir
Kod:
snprintf(szQuery1, sizeof(szQuery1), "SELECT name,level,exp,expi,bonus0,bonus1,bonus2,skill0,skill0lv,skill1,skill1lv,skill2,skill2lv,duration,tduration,evolution FROM new_petsystem WHERE id = %d ", pSummonItem->GetID());


dragonsoul.cpp


ara
Kod:
sprintf(buf, "dice(%d) prob(%d)", fDice, fProb);
değiştir
Kod:
sprintf(buf, "dice(%d) prob(%d)", (int)fDice, (int)fProb);


locale_service.cpp


ara
Kod:
printf("<ERROR> PLAYER_PER_ACCOUNT = %lld\n", PLAYER_PER_ACCOUNT);
değiştir.
Kod:
printf("<ERROR> PLAYER_PER_ACCOUNT = %d\n", PLAYER_PER_ACCOUNT);
2.fix Warning: comparison between signed or unsigned


belt_inventory_helper.h


ara
Kod:
static TGradeUnit GetBeltGradeByRefineLevel(int level)
değiştir
Kod:
static TGradeUnit GetBeltGradeByRefineLevel(unsigned int level)


new_petsystem.cpp'de warning veriyor fakat


new_petsystem.h'da çözüyoruz.


ara
Kod:
    int                GetNextExpFromMob() { return m_dwExpFromMob; }
    int                GetNextExpFromItem() { return m_dwExpFromItem; }
değiştir
Kod:
    unsigned int    GetNextExpFromMob() { return m_dwExpFromMob; }
    unsigned int    GetNextExpFromItem() { return m_dwExpFromItem; }


group_text_parse_tree.h


ara
Kod:
bool CGroupNode::CGroupNodeRow::GetValue(int idx, OUT T& value) const
bool CGroupNode::CGroupNodeRow::GetValue(unsigned int idx, OUT T& value) const
değiştir
Kod:
bool GetValue(int idx, OUT T& value) const;
bool GetValue(unsigned int idx, OUT T& value) const;
ara
Kod:
int idx = m_pOwnerGroupNode->GetColumnIndexFromName(stColKey);
değiştir
Kod:
unsigned int idx = m_pOwnerGroupNode->GetColumnIndexFromName(stColKey);


group_text_parse_tree_cpp


ara
Kod:
bool CGroupNode::GetRow(int idx, OUT const CGroupNode::CGroupNodeRow ** ppRow) const
bool CGroupNode::GetRow(unsigned int idx, OUT const CGroupNode::CGroupNodeRow ** ppRow) const
değiştir
Kod:
bool GetRow(int idx, OUT const CGroupNodeRow ** ppRow) const;
bool GetRow(unsigned int idx, OUT const CGroupNodeRow ** ppRow) const;
ara
Kod:
for (int i = 1; i < stTokenVector.size(); i++)
değiştir
Kod:
for (unsigned int i = 1; i < stTokenVector.size(); i++)


shop_manager.cpp


ara
Kod:
for (int i = 0; i < shopItems.size(); i++)
değiştir
Kod:
for (unsigned int i = 0; i < shopItems.size(); i++)
ara
Kod:
if((unsigned)dwPrice > item->GetGold())
değiştir
Kod:
if((unsigned)dwPrice > item->GetGold())


acce.cpp


ara
Kod:
for (int i = 0; i < s_acce_proto.size(); ++i)
değiştir
Kod:
for (unsigned int i = 0; i < s_acce_proto.size(); ++i)


shopex.cpp


ara
Kod:
int count = ch->CountSpecifyTypeItem(ITEM_SECONDARY_COIN);
değiştir.
Kod:
unsigned int count = ch->CountSpecifyTypeItem(ITEM_SECONDARY_COIN);


dragonsoul.cpp


ara
Kod:
for (int i = 0; i < vec_addtional_applys.size(); i++)
değiştir.
Kod:
for (unsigned int i = 0; i < vec_addtional_applys.size(); i++)
ara
Kod:
for (int j = 0; j < vec_addtional_applys.size(); j++)
değiştir
Kod:
for (unsigned int j = 0; j < vec_addtional_applys.size(); j++)
ara
Kod:
for (int idx = 0; idx < vec_probs.size(); idx++)
değiştir
Kod:
for (unsigned int idx = 0; idx < vec_probs.size(); idx++)
ara
Kod:
for (int i = 0; i < vec_probs.size(); i++)
değiştir.
Kod:
for (unsigned int i = 0; i < vec_probs.size(); i++)


item_manager.cpp


ara
Kod:
for (int i = 0; i < m_vec_item_vnum_range_info.size(); i++)
değiştir
Kod:
for (unsigned int i = 0; i < m_vec_item_vnum_range_info.size(); i++)


item.cpp


ara
Kod:
int remain_sec = GetSocket(ITEM_SOCKET_REMAIN_SEC);
değiştir
Kod:
unsigned int remain_sec = GetSocket(ITEM_SOCKET_REMAIN_SEC);
ara
Kod:
int remain_sec = GetSocket(ITEM_SOCKET_REMAIN_SEC);
int given_time = fPercent * duration / 100;
değiştir
Kod:
unsigned int remain_sec = GetSocket(ITEM_SOCKET_REMAIN_SEC);
unsigned int given_time = fPercent * duration / 100;
ara
Kod:
for (int i = 0; i < sizeof(infos) / sizeof(infos[0]); i++)
değiştir.
Kod:
for (unsigned int i = 0; i < sizeof(infos) / sizeof(infos[0]); i++)


char_item.cpp


ara
Kod:
if (item->GetSocket(0) >= _countof(aApplyInfo))
değiştir
Kod:
if ((unsigned)item->GetSocket(0) >= _countof(aApplyInfo))
ara
Kod:
for (int i = 0; i < sizeof(g_aBuffOnAttrPoints)/sizeof(g_aBuffOnAttrPoints[0]); i++)
değiştir
Kod:
for (unsigned int i = 0; i < sizeof(g_aBuffOnAttrPoints)/sizeof(g_aBuffOnAttrPoints[0]); i++)
ara
Kod:
for (int i = 0; i < sizeof(g_aBuffOnAttrPoints)/sizeof(g_aBuffOnAttrPoints[0]); i++)
değiştir
Kod:
for (unsigned int i = 0; i < sizeof(g_aBuffOnAttrPoints)/sizeof(g_aBuffOnAttrPoints[0]); i++)


char_skill.cpp


ara
Kod:
int iArrayIndexSkill[] = {94, 95, 96, 109, 110, 111};
değiştir
Kod:
unsigned int iArrayIndexSkill[] = {94, 95, 96, 109, 110, 111};
ara
Kod:
for (int iBuffSkill = 0; iBuffSkill < _countof(iArrayIndexSkill); iBuffSkill++)
değiştir
Kod:
for (unsigned int iBuffSkill = 0; iBuffSkill < _countof(iArrayIndexSkill); iBuffSkill++)


cube.cpp


ara
Kod:
if (ch->GetGold() < cube_proto->gold)
değiştir
Kod:
if ((unsigned)ch->GetGold() < cube_proto->gold)
ara
Kod:
for (int i = 0; i < s_cube_proto.size(); ++i)
değiştir
Kod:
for (unsigned int i = 0; i < s_cube_proto.size(); ++i)


desc_client.cpp


ara
Kod:
if (fForce || m_tLastChannelStatusUpdateTime+CHANNELSTATUS_UPDATE_PERIOD < t) {
değiştir
Kod:
if (fForce || (unsigned)m_tLastChannelStatusUpdateTime+CHANNELSTATUS_UPDATE_PERIOD < t) {


shop.cpp


ara
Kod:
if (m_itemVector[i].itemid == itemID)
değiştir
Kod:
if ((unsigned)m_itemVector[i].itemid == itemID)


3. Warning : no newline at end of file


Alttakilerin Sonlarında Birer tane boş satır bırakın.


New_PetSystem.cpp
questlua_petnew.cpp
char_dragonsoul.cpp

Uyarı - 10


Warning: array subscript has type char


char_item.cpp


ara
Kod:
bool CHARACTER::EquipItem(LPITEM item, int iCandidateCell)
bul
Kod:
long duration = (0 != item->GetSocket(0)) ? item->GetSocket(0) : item->GetProto()->aLimits[item->GetProto()->cLimitRealTimeFirstUseIndex].lValue;
değiştir.
Kod:
long duration = (0 != item->GetSocket(0)) ? item->GetSocket(0) : item->GetProto()->aLimits[static_cast<unsigned char>(item->GetProto()->cLimitRealTimeFirstUseIndex)].lValue;


item.cpp


bul
Kod:
return GetProto()->aLimits[GetProto()->cLimitTimerBasedOnWearIndex].lValue;
değiştir
Kod:
return GetProto()->aLimits[static_cast<unsigned char>(GetProto()->cLimitTimerBasedOnWearIndex)].lValue;


warning: comparison is always false due to limited range of data type



Char_item.cpp


uyarı alınan fonksiyon
Kod:
if (p >= DRAGON_SOUL_INVENTORY_MAX_NUM)
aratın
Kod:
void CHARACTER::ClearItem()
alttaki koddan 2 tane vardır 2 sinide aratın
Kod:
BYTE p = wCell + (DRAGON_SOUL_BOX_COLUMN_NUM * j);
burdaki ile değiştirin.
Kod:
int p = wCell + (DRAGON_SOUL_BOX_COLUMN_NUM * j);




warning: control reaches end of non-void function


char_dragonsoul.cpp


arat
Kod:
bool CHARACTER::DragonSoul_ActivateDeck(int deck_idx)
fonksiyon sonundaki bunu
Kod:
}
değiştir
Kod:
    return true;
}


char_item.cpp


arat
Kod:
case DRAGON_SOUL_INVENTORY:
fonksiyonun sonuna gel
Kod:
}
değiştir.
Kod:
    return false;
}


desc_p2p.cpp


arat
Kod:
bool DESC_P2P::Setup(LPFDWATCH fdw, socket_t fd, const char * host, WORD wPort)
fonksiyonu sonundaki
Kod:
}
değiştir
Kod:
    return true;
}


warning will be initialized after


item.h


arat
Kod:
        LPEVENT        m_pkDestroyEvent;
        LPEVENT        m_pkExpireEvent;
        LPEVENT        m_pkUniqueExpireEvent;
        LPEVENT        m_pkTimerBasedOnWearExpireEvent;
        LPEVENT        m_pkRealTimeExpireEvent;
        LPEVENT        m_pkAccessorySocketExpireEvent;
        LPEVENT        m_pkOwnershipEvent;
değiştir
Kod:
        LPEVENT        m_pkDestroyEvent;
        LPEVENT        m_pkUniqueExpireEvent;
        LPEVENT        m_pkTimerBasedOnWearExpireEvent;
        LPEVENT        m_pkRealTimeExpireEvent;
        LPEVENT        m_pkExpireEvent;
        LPEVENT        m_pkAccessorySocketExpireEvent;
        LPEVENT        m_pkOwnershipEvent;


ClientPackageCryptInfo.h


arat
Kod:
int                  m_nCryptKeyPackageCnt;
std::vector<BYTE> m_vecPackageCryptKeys;
BYTE*              m_pSerializedCryptKeyStream;
değiştir
Kod:
std::vector<BYTE> m_vecPackageCryptKeys;
BYTE*              m_pSerializedCryptKeyStream;
int                  m_nCryptKeyPackageCnt;


group_text_parse_tree.h


arat
Kod:
    CGroupNode *                m_pRootGroupNode;
    std::string                    m_strFileName;
    DWORD                        m_dwcurLineIndex;
değiştir
Kod:
    std::string                    m_strFileName;
    DWORD                        m_dwcurLineIndex;
    CGroupNode *                m_pRootGroupNode;


Kolay Gelsin!
:cay:

UYARI - 11

signed or unsigned


char.cpp


arat
Kod:
if (amount < 0 && exp < -amount)
değiştir
Kod:
if (amount < 0 && (signed)exp < -amount)


unused variable pPC /efsun nesnesi süresi fixlerken oluşan bir hata ben eski haline getirdim efsun nesnesinde süre hala yok.


char_item.cpp


bul
Kod:
if (pPC)
/*{
    DWORD dwNowMin = get_global_time() / 60;


    DWORD dwLastChangeItemAttrMin = pPC->GetFlag(msc_szLastChangeItemAttrFlag);


    if (dwLastChangeItemAttrMin + dwChangeItemAttrCycle > dwNowMin)
    {
        ChatPacket(CHAT_TYPE_INFO, LC_TEXT("??? ??? %d? ???? ?? ??? ? ????.(%d ? ??)"),
                dwChangeItemAttrCycle, dwChangeItemAttrCycle - (dwNowMin - dwLastChangeItemAttrMin));
        return false;
    }


    pPC->SetFlag(msc_szLastChangeItemAttrFlag, dwNowMin);
}*/
değiştir
Kod:
if (pPC)
{
    DWORD dwNowMin = get_global_time() / 60;


    DWORD dwLastChangeItemAttrMin = pPC->GetFlag(msc_szLastChangeItemAttrFlag);


    if (dwLastChangeItemAttrMin + dwChangeItemAttrCycle > dwNowMin)
    {
        ChatPacket(CHAT_TYPE_INFO, LC_TEXT("??? ??? %d? ???? ?? ??? ? ????.(%d ? ??)"),
                dwChangeItemAttrCycle, dwChangeItemAttrCycle - (dwNowMin - dwLastChangeItemAttrMin));
        return false;
    }


    pPC->SetFlag(msc_szLastChangeItemAttrFlag, dwNowMin);
}


unused variable dwCurtime / hareket ederken item değiştirmeyi fixlerken oluşuyor bence orjinal hali daha iyidir haraket ederken item değişmesin millet.


char_item.cpp


bul
Kod:
/*if (iWearCell != WEAR_ARROW
    && (dwCurTime - GetLastAttackTime() <= 1500 || dwCurTime - m_dwLastSkillTime <= 1500))
{
    ChatPacket(CHAT_TYPE_INFO, LC_TEXT("??? ?? ?? ??? ? ????."));
    return false;
}*/
değiştir
Kod:
if (iWearCell != WEAR_ARROW
    && (dwCurTime - GetLastAttackTime() <= 1500 || dwCurTime - m_dwLastSkillTime <= 1500))
{
    ChatPacket(CHAT_TYPE_INFO, LC_TEXT("??? ?? ?? ??? ? ????."));
    return false;
}


unused variable sum,prob_sum,dwVnum,count,rider,bDoMoveAlone,len_global,last,line,strArg1,itemType,itemSubType,bWereMine,vnum,q,pPC,petVID,npcVNUM,old_value,new_value


New_PetSystem.cpp
arat
Kod:
bool bDoMoveAlone = true;
altına ekle
Kod:
(void)bDoMoveAlone;


arat
Kod:
DWORD petVID = petActor->Summon(petName, pSummonItem, bSpawnFar);
altına ekle
Kod:
(void)petVID;


acce.cpp


arat
Kod:
int        count = 0;
altına ekle
Kod:
(void)count;


DragonSoul.cpp


arat
Kod:
DWORD dwVnum = pItem->GetVnum();
altına ekle
Kod:
(void)dwVnum;


arat
Kod:
float prob_sum;
altına ekle
Kod:
(void)prob_sum;




arat
Kod:
if (-1 == idx)
üstüne eklendi
Kod:
(void)sum;


arat
Kod:
if (-1 == (result_step = Gamble(vec_probs)))
üstüne ekle
Kod:
(void)sum;


buff_on_attributes.cpp


arat
Kod:
int old_value = sum_of_attr_value * m_bBuffValue / 100;
int new_value = sum_of_attr_value * bNewValue / 100;
altına ekle
Kod:
(void)old_value;
(void)new_value;


cube.cpp


arat
Kod:
const DWORD& npcVNUM = iter->first;
altına ekle
Kod:
(void)npcVNUM;


PetSystem.cpp


arat
Kod:
DWORD petVID = petActor->Summon(petName, pSummonItem, bSpawnFar);
altına ekle
Kod:
(void)petVID;


char_state.cpp


bul
Kod:
LPCHARACTER rider = GetRider();
altına ekle
Kod:
(void)rider;


petsystem.cpp


bul
Kod:
bool bDoMoveAlone = true;
altına ekle
Kod:
(void)bDoMoveAlone;


input_main.cpp


bul
Kod:
int len_global
altına ekle
Kod:
(void)len_global;




input_auth.cpp


aratın
Kod:
char *last = 0;
altına eklenir.
Kod:
(void)last;


config.cpp


aratılır
Kod:
TOKEN("WEB_AUTH")
bulunur
Kod:
const char * line = two_arguments(value_string, openid_host, sizeof(openid_host), openid_uri, sizeof(openid_uri));
altına eklenir
Kod:
(void)line;


cmd_general.cpp


arat
Kod:
ACMD(do_CubePetAdd)
bulunur
Kod:
const std::string& strArg1 = std::string(arg1);
altına eklenir
Kod:
(void)strArg1;


char_item.cpp


aratın
Kod:
BYTE itemType = item->GetType();
BYTE itemSubType = item->GetSubType();
altına eklenir.
Kod:
(void)itemType;
(void)itemSubType;


item.cpp


arat
Kod:
bool bWereMine = this->GetLastOwnerPID() == ch->GetPlayerID();
altına ekle
Kod:
(void)bWereMine;


item.cpp


arat
Kod:
const DWORD vnum = item->GetVnum();
altına ekle
Kod:
(void)vnum;


questlua_npc.cpp


arat 4 tane uyarı var uyarı aldıklarınıza uygulayın.
Kod:
CQuestManager& q = CQuestManager::instance();
altına yapıştır
Kod:
(void)q;


questnpc.cpp


arat
Kod:
PC * pPC = CQuestManager::instance().GetPC(pc.GetID());
altına ekle
Kod:
(void)pPC;


"cell","n","x","y","returnBool" may be used uninitialized in this function




cmd_gm.cpp


arat
Kod:
ACMD (do_use_item)
altında bul
Kod:
int cell;
değiştir.
Kod:
int cell = 0;


arat
Kod:
int nPoint = nCurPoint + nChangeAmount;
altında bul
Kod:
int n;
değiştir.
Kod:
int n = 0;


arat
Kod:
ACMD(do_mob_ld)
altında bul
Kod:
long x, y;
değiştir
Kod:
long x = 0, y = 0;


questlua.cpp


arat
Kod:
bool FPartyCheckFlagLt::operator() (LPCHARACTER ch)
altında bul
Kod:
bool returnBool;
değiştir
Kod:
bool returnBool = false;


NULL used in aritmetic


questlua_petnew.cpp


arat
Kod:
bool petActor = petSystem->IncreasePetSkill(skill);
altında bul
Kod:
if (NULL == petActor)
değiştir
Kod:
if ('\0' == petActor)


arat
Kod:
bool petActor = petSystem->IncreasePetEvolution();
altında bul
Kod:
if (NULL == petActor)
değiştir
Kod:
if ('\0' == petActor)


arat
Kod:
int pet_level = petSystem->GetLevel();
altında bul
Kod:
if (NULL == pet_level)
değiştir
Kod:
if ('\0' == pet_level)


arat
Kod:
int pet_evo = petSystem->GetEvolution();
altında bul
Kod:
if (NULL == pet_evo)
değiştir
Kod:
if ('\0' == pet_evo)


cmd_gm.cpp


arat
Kod:
if (*szName == NULL || *szChangeAmount == '\0')
değiştir
Kod:
if (*szName == '\0' || *szChangeAmount == '\0')




config.cpp


aratın 3 tane var 3 içinde uygulayın
Kod:
if (NULL != line[0])
değiştirin
Kod:
if ('\0' != line[0])


utils.cpp


ara
Kod:
if (NULL == w[1])
değiştir
Kod:
if ('\0' == w[1])
ara
Kod:
if (NULL == *s)
değiştir
Kod:
if ('\0' == *s)
ara
Kod:
if (NULL == *w)
değiştir
Kod:
if ('\0' == *w)

:cay:

UYARI - 12

Hata - 1

13>D:\Azura\Azura\Mainline_Re\extern\include\Python-2.7/token.h(62): warning C4005: 'AT' : macro redefinition
13> D:\Azura\Azura\Mainline_Re\extern\include\mss.h(1044) : see previous definition of 'AT'

Arkadaşlar bu hata 2 tane dosyadan gelen #define AT kodu mevcut.
bana en doğrusu mss.h geldiğinden.
extern/include/Phyton-2.7/token.h
dosyasını açıyoruz.

aratıp

#define AT 50

değiştiriyoruz.

/*#define AT 50 */


Hata - 2
assignment operator could not be generated

arat (örnek verildi.)

CombinedNameValuePairs(const NameValuePairs &pairs1, const NameValuePairs &pairs2)
: m_pairs1(pairs1), m_pairs2(pairs2) {}

altına ekle

CombinedNameValuePairs & operator=( const CombinedNameValuePairs & ) { return *this; }

arkadaşlar eklediğiniz kod içinde "CombinedNameValuePairs" kısımlarını değiştirerek uyarı aldığınız yerlerde kullanabilirsiniz.

Hata - 3

arat (örnek)

if (sizeof(T) != 1 && size > ELEMS_MAX)

değiştir

bool azurat1 = sizeof(T) != 1 && size > ELEMS_MAX;
if (azurat1)


arkadaşlar "if(kod)" if içerisinde ki kod kısmını alın "bool istediğiniz_kelime = kod;" olacak şekilde if'in üstüne ekleyiniz. "if(kod)" kısmınıda "if(istediğiniz kelime)" şeklinde düzenleyin uyarı düzelecektir.

Tamamlanmış Sourcelerden görseller

DB Source

nEDOya.jpg

Konu çok uzun olacağı için görüntü kirliliğini kaldırmak amaçlı kodlar spoiler içine alınmıştır.

Lady Azura
 
Son düzenleme:

En Çok Reaksiyon Alan Mesajlar

Azura Warning Çözümleri Güncelleme

Uyarı - 10 Güncellemesi !
Güncelleme İçeriği:


  • Warning: array subscript has type char

    Warning: comparison is always false due to limited range of data type

    Warning: control reaches end of non-void function

    Warning: will be initialized after
İyi Çalışmalar arkadaşlar
:cay:​
Teşşekürler
 
Paylaşım için teşekkürler skype gelsene :)
 

Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)

Geri
Üst