- Katılım
- 18 Ağu 2009
- Konular
- 166
- Mesajlar
- 919
- Çözüm
- 3
- Online süresi
- 14d 14h
- Reaksiyon Skoru
- 332
- Altın Konu
- 31
- Başarım Puanı
- 206
- MmoLira
- 9,454
- DevLira
- 6
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!
Orijinal fishing.cpp ile değiştirdiğiniz fishing-edit.cpp dosyalarını eklerseniz inceleyebilirim.Kendi fishing.txt dosyam ama finhing.cpp de güncellemeler geliştirmeler yaptım ondan sonra bu syserler başladı akşam 2 3 satır atarım
- Katılım
- 1 Ara 2024
- Konular
- 61
- Mesajlar
- 419
- Çözüm
- 11
- Online süresi
- 13d 4h
- Reaksiyon Skoru
- 26
- Altın Konu
- 0
- Başarım Puanı
- 76
- Yaş
- 28
- MmoLira
- 5,049
- DevLira
- 9
Değiştirmek değil geliştirmeler yaptım dc varmı sizin dcden atıyımOrijinal fishing.cpp ile değiştirdiğiniz fishing-edit.cpp dosyalarını eklerseniz inceleyebilirim.
- Katılım
- 1 Ara 2024
- Konular
- 61
- Mesajlar
- 419
- Çözüm
- 11
- Online süresi
- 13d 4h
- Reaksiyon Skoru
- 26
- Altın Konu
- 0
- Başarım Puanı
- 76
- Yaş
- 28
- MmoLira
- 5,049
- DevLira
- 9
- Katılım
- 18 Ağu 2009
- Konular
- 166
- Mesajlar
- 919
- Çözüm
- 3
- Online süresi
- 14d 14h
- Reaksiyon Skoru
- 332
- Altın Konu
- 31
- Başarım Puanı
- 206
- MmoLira
- 9,454
- DevLira
- 6
fishing.txt Syserr Hatası Analizi ve Çözümü
Syserr:
Kod:
SYSERR: Initialize: Extra column in fishing.txt line X
SYSERR: Initialize: Missing columns in fishing.txt line Y (expected 23, got 22)
Bu hatalar, fishing.txt dosyasındaki sütun (kolon) sayısının, fishing.cpp içindeki okuma mantığıyla uyuşmamasından kaynaklanıyor.
1) fishing.cpp Kodunun Beklediği Format
fishing.cpp içinde satırları parçalayan kod şu şekilde çalışıyor:
Kod:
switch (iColCount++)
{
case 0: strlcpy(fish_info[idx].name, szCol, sizeof(fish_info[idx].name)); break;
case 1: str_to_number(fish_info[idx].vnum, szCol); break;
case 2: str_to_number(fish_info[idx].dead_vnum, szCol); break;
case 3: str_to_number(fish_info[idx].grill_vnum, szCol); break;
case 4: str_to_number(fish_info[idx].prob, szCol); break;
case 5: str_to_number(fish_info[idx].prob, szCol); break;
case 6: str_to_number(fish_info[idx].prob, szCol); break;
case 7: str_to_number(fish_info[idx].prob, szCol); break;
case 8: str_to_number(fish_info[idx].difficulty, szCol); break;
case 9: str_to_number(fish_info[idx].time_type, szCol); break;
case 10: str_to_number(fish_info[idx].length_range, szCol); break;
case 11: str_to_number(fish_info[idx].length_range, szCol); break;
case 12: str_to_number(fish_info[idx].length_range, szCol); break;
text
case 13: // USED0
case 14: // USED1
case 15: // USED2
case 16: // USED3
case 17: // USED4
case 18: // USED5
case 19: // USED6
case 20: // USED7
case 21: // USED8
case 22: // USED9
str_to_number(fish_info[idx].used_table[iColCount - 1 - 12], szCol);
break;
}
Yani satır başına toplam 23 kolon bekleniyor:
Kod:
0 : İsim
1 : VNUM
2 : Dead VNUM
3 : Grill VNUM
4-7 : prob[0..3]
8 : difficulty
9 : time_type
10 : length_range
11 : length_range
12 : length_range
13-22 : USED0..USED9 (10 kolon)
2) fishing.txt Dosyanızdaki Sorun
Gönderdiğiniz fishing.txt içinde satırlarda 24 kolon var. Örnek satır:
Kod:
AltinYuzuk 50002 1 30 0 0 2000 1800 800 2200 200 1000 1500 2000 0 0 0 0 0 0 0 0 0
Burada kolonları sayarsak:
Kod:
1 - AltinYuzuk (isim)
2 - 50002 (vnum)
3 - 1 (dead_vnum)
4 - 30 (grill_vnum)
5 - 0 (prob)
6 - 0 (prob)
7 - 2000 (prob)
8 - 1800 (prob)
9 - 800 (difficulty)
10 - 2200 (time_type)
11 - 200 (length_range)
12 - 1000 (length_range)
13 - 1500 (length_range)
14 - 2000 [b]<– fazladan kolon[/b]
15 - 0 (USED0)
16 - 0 (USED1)
17 - 0 (USED2)
18 - 0 (USED3)
19 - 0 (USED4)
20 - 0 (USED5)
21 - 0 (USED6)
22 - 0 (USED7)
23 - 0 (USED8)
Hem fazla kolon var, hem de bazı satırlarda USED0–USED9 dizilimi kayıyor. Bu nedenle syserr’de:
Kod:
Extra column in fishing.txt line X
Missing columns in fishing.txt line Y (expected 23, got 22)
hataları görülüyor.
3) Çözüm Seçenekleri
Seçenek 1: fishing.txt’ten Fazla Kolonu Silmek (En Kolay Yol)
Kodun yapısını değiştirmek istemiyorsanız, 14. kolonu (örnekteki ekstra 2000) her satırdan kaldırmalısınız.
Yanlış (24 kolon):
Kod:
AltinYuzuk 50002 1 30 0 0 2000 1800 800 2200 200 1000 1500 2000 0 0 0 0 0 0 0 0 0
Doğru (23 kolon):
Kod:
AltinYuzuk 50002 1 30 0 0 2000 1800 800 2200 200 1000 1500 0 0 0 0 0 0 0 0 0 0
Bu şekilde dizilim şu sırayı takip eder:
Kod:
İsim, VNUM, DeadVNUM, GrillVNUM,
Prob0, Prob1, Prob2, Prob3,
Difficulty, TimeType,
LenMin, LenMax, LenExtra,
USED0..USED9 (10 değer)
Her satırda tam 23 kolon olmalı.
Notepad++ ile Toplu Düzeltme (İsteğe Bağlı)
Her satırdan 14. kolonu otomatik silmek için (regex):
Search → Replace menüsünü açın
Search Mode: Regular expression seçin
Find what:
Kod:
(([^\t]+\t){13})[^\t]+\t
Replace with:
Kod:
\1
Replace All deyin
Bu ifade, her satırda 13. tab’dan sonra gelen değeri (yani 14. kolonu) komple temizler.
Seçenek 2: C++ Koduna Ekstra Alan Eklemek
Eğer 14. kolondaki değerler sizin için anlamlı ise (örneğin nadirlik vs.), bu sefer fishing.cpp tarafını da uyarlamanız gerekir.
Örnek yapı değişikliği:
Kod:
struct SFishInfo
{
char name[FISH_NAME_MAX_LEN];
DWORD vnum;
DWORD dead_vnum;
DWORD grill_vnum;
int prob[MAX_PROB];
int difficulty;
int time_type;
int length_range;
int rarity; // 14. kolon için yeni alan
int used_table[NUM_USE_RESULT_COUNT];
};
Parsing kısmı:
Kod:
case 12: str_to_number(fish_info[idx].length_range, szCol); break;
case 13: str_to_number(fish_info[idx].rarity, szCol); break; // yeni kolon
case 14: // USED0
case 15: // USED1
case 16: // USED2
case 17: // USED3
case 18: // USED4
case 19: // USED5
case 20: // USED6
case 21: // USED7
case 22: // USED8
case 23: // USED9
str_to_number(fish_info[idx].used_table[iColCount - 1 - 13], szCol);
break;
Bu durumda fishing.txt satırlarında 24 kolon olmalı (13 temel alan + rarity + 10 USED).
Özet
– Syserr’in sebebi: fishing.txt satırlarının kolon sayısı, fishing.cpp’nin beklediği sayıyla uyuşmuyor.
– En pratik çözüm: Her satırdan 14. kolonu silip formatı 23 kolona düşürmek.
– Alternatif: 14. kolonu kullanmak istiyorsanız, C++ struct ve switch-case parsing kısmını bu yeni alanı okuyacak şekilde genişletmeniz gerekiyor.
SONUÇ OLARAK İSTER fishing.txt Yİ DÜZENLE İSTERSEN fishing.cpp Yİ
- Katılım
- 1 Ara 2024
- Konular
- 61
- Mesajlar
- 419
- Çözüm
- 11
- Online süresi
- 13d 4h
- Reaksiyon Skoru
- 26
- Altın Konu
- 0
- Başarım Puanı
- 76
- Yaş
- 28
- MmoLira
- 5,049
- DevLira
- 9
Txt yi nasıl düzeltirizfishing.txt Syserr Hatası Analizi ve Çözümü
Syserr:
Kod:SYSERR: Initialize: Extra column in fishing.txt line X SYSERR: Initialize: Missing columns in fishing.txt line Y (expected 23, got 22)
Bu hatalar, fishing.txt dosyasındaki sütun (kolon) sayısının, fishing.cpp içindeki okuma mantığıyla uyuşmamasından kaynaklanıyor.
1) fishing.cpp Kodunun Beklediği Format
fishing.cpp içinde satırları parçalayan kod şu şekilde çalışıyor:
Kod:switch (iColCount++) { case 0: strlcpy(fish_info[idx].name, szCol, sizeof(fish_info[idx].name)); break; case 1: str_to_number(fish_info[idx].vnum, szCol); break; case 2: str_to_number(fish_info[idx].dead_vnum, szCol); break; case 3: str_to_number(fish_info[idx].grill_vnum, szCol); break; case 4: str_to_number(fish_info[idx].prob, szCol); break; case 5: str_to_number(fish_info[idx].prob, szCol); break; case 6: str_to_number(fish_info[idx].prob, szCol); break; case 7: str_to_number(fish_info[idx].prob, szCol); break; case 8: str_to_number(fish_info[idx].difficulty, szCol); break; case 9: str_to_number(fish_info[idx].time_type, szCol); break; case 10: str_to_number(fish_info[idx].length_range, szCol); break; case 11: str_to_number(fish_info[idx].length_range, szCol); break; case 12: str_to_number(fish_info[idx].length_range, szCol); break; text case 13: // USED0 case 14: // USED1 case 15: // USED2 case 16: // USED3 case 17: // USED4 case 18: // USED5 case 19: // USED6 case 20: // USED7 case 21: // USED8 case 22: // USED9 str_to_number(fish_info[idx].used_table[iColCount - 1 - 12], szCol); break; }
Yani satır başına toplam 23 kolon bekleniyor:
Kod:0 : İsim 1 : VNUM 2 : Dead VNUM 3 : Grill VNUM 4-7 : prob[0..3] 8 : difficulty 9 : time_type 10 : length_range 11 : length_range 12 : length_range 13-22 : USED0..USED9 (10 kolon)
2) fishing.txt Dosyanızdaki Sorun
Gönderdiğiniz fishing.txt içinde satırlarda 24 kolon var. Örnek satır:
Kod:AltinYuzuk 50002 1 30 0 0 2000 1800 800 2200 200 1000 1500 2000 0 0 0 0 0 0 0 0 0
Burada kolonları sayarsak:
Kod:1 - AltinYuzuk (isim) 2 - 50002 (vnum) 3 - 1 (dead_vnum) 4 - 30 (grill_vnum) 5 - 0 (prob) 6 - 0 (prob) 7 - 2000 (prob) 8 - 1800 (prob) 9 - 800 (difficulty) 10 - 2200 (time_type) 11 - 200 (length_range) 12 - 1000 (length_range) 13 - 1500 (length_range) 14 - 2000 [b]<– fazladan kolon[/b] 15 - 0 (USED0) 16 - 0 (USED1) 17 - 0 (USED2) 18 - 0 (USED3) 19 - 0 (USED4) 20 - 0 (USED5) 21 - 0 (USED6) 22 - 0 (USED7) 23 - 0 (USED8)
Hem fazla kolon var, hem de bazı satırlarda USED0–USED9 dizilimi kayıyor. Bu nedenle syserr’de:
Kod:Extra column in fishing.txt line X Missing columns in fishing.txt line Y (expected 23, got 22)
hataları görülüyor.
3) Çözüm Seçenekleri
Seçenek 1: fishing.txt’ten Fazla Kolonu Silmek (En Kolay Yol)
Kodun yapısını değiştirmek istemiyorsanız, 14. kolonu (örnekteki ekstra 2000) her satırdan kaldırmalısınız.
Yanlış (24 kolon):
Kod:AltinYuzuk 50002 1 30 0 0 2000 1800 800 2200 200 1000 1500 2000 0 0 0 0 0 0 0 0 0
Doğru (23 kolon):
Kod:AltinYuzuk 50002 1 30 0 0 2000 1800 800 2200 200 1000 1500 0 0 0 0 0 0 0 0 0 0
Bu şekilde dizilim şu sırayı takip eder:
Kod:İsim, VNUM, DeadVNUM, GrillVNUM, Prob0, Prob1, Prob2, Prob3, Difficulty, TimeType, LenMin, LenMax, LenExtra, USED0..USED9 (10 değer)
Her satırda tam 23 kolon olmalı.
Notepad++ ile Toplu Düzeltme (İsteğe Bağlı)
Her satırdan 14. kolonu otomatik silmek için (regex):
Search → Replace menüsünü açın
Search Mode: Regular expression seçin
Find what:
Kod:(([^\t]+\t){13})[^\t]+\t
Replace with:
Kod:\1
Replace All deyin
Bu ifade, her satırda 13. tab’dan sonra gelen değeri (yani 14. kolonu) komple temizler.
Seçenek 2: C++ Koduna Ekstra Alan Eklemek
Eğer 14. kolondaki değerler sizin için anlamlı ise (örneğin nadirlik vs.), bu sefer fishing.cpp tarafını da uyarlamanız gerekir.
Örnek yapı değişikliği:
Kod:struct SFishInfo { char name[FISH_NAME_MAX_LEN]; DWORD vnum; DWORD dead_vnum; DWORD grill_vnum; int prob[MAX_PROB]; int difficulty; int time_type; int length_range; int rarity; // 14. kolon için yeni alan int used_table[NUM_USE_RESULT_COUNT]; };
Parsing kısmı:
Kod:case 12: str_to_number(fish_info[idx].length_range, szCol); break; case 13: str_to_number(fish_info[idx].rarity, szCol); break; // yeni kolon case 14: // USED0 case 15: // USED1 case 16: // USED2 case 17: // USED3 case 18: // USED4 case 19: // USED5 case 20: // USED6 case 21: // USED7 case 22: // USED8 case 23: // USED9 str_to_number(fish_info[idx].used_table[iColCount - 1 - 13], szCol); break;
Bu durumda fishing.txt satırlarında 24 kolon olmalı (13 temel alan + rarity + 10 USED).
Özet
– Syserr’in sebebi: fishing.txt satırlarının kolon sayısı, fishing.cpp’nin beklediği sayıyla uyuşmuyor.
– En pratik çözüm: Her satırdan 14. kolonu silip formatı 23 kolona düşürmek.
– Alternatif: 14. kolonu kullanmak istiyorsanız, C++ struct ve switch-case parsing kısmını bu yeni alanı okuyacak şekilde genişletmeniz gerekiyor.
SONUÇ OLARAK İSTER fishing.txt Yİ DÜZENLE İSTER
fishing.txt Syserr Hatası Analizi ve Çözümü
Syserr:
Kod:SYSERR: Initialize: Extra column in fishing.txt line X SYSERR: Initialize: Missing columns in fishing.txt line Y (expected 23, got 22)
Bu hatalar, fishing.txt dosyasındaki sütun (kolon) sayısının, fishing.cpp içindeki okuma mantığıyla uyuşmamasından kaynaklanıyor.
1) fishing.cpp Kodunun Beklediği Format
fishing.cpp içinde satırları parçalayan kod şu şekilde çalışıyor:
Kod:switch (iColCount++) { case 0: strlcpy(fish_info[idx].name, szCol, sizeof(fish_info[idx].name)); break; case 1: str_to_number(fish_info[idx].vnum, szCol); break; case 2: str_to_number(fish_info[idx].dead_vnum, szCol); break; case 3: str_to_number(fish_info[idx].grill_vnum, szCol); break; case 4: str_to_number(fish_info[idx].prob, szCol); break; case 5: str_to_number(fish_info[idx].prob, szCol); break; case 6: str_to_number(fish_info[idx].prob, szCol); break; case 7: str_to_number(fish_info[idx].prob, szCol); break; case 8: str_to_number(fish_info[idx].difficulty, szCol); break; case 9: str_to_number(fish_info[idx].time_type, szCol); break; case 10: str_to_number(fish_info[idx].length_range, szCol); break; case 11: str_to_number(fish_info[idx].length_range, szCol); break; case 12: str_to_number(fish_info[idx].length_range, szCol); break; text case 13: // USED0 case 14: // USED1 case 15: // USED2 case 16: // USED3 case 17: // USED4 case 18: // USED5 case 19: // USED6 case 20: // USED7 case 21: // USED8 case 22: // USED9 str_to_number(fish_info[idx].used_table[iColCount - 1 - 12], szCol); break; }
Yani satır başına toplam 23 kolon bekleniyor:
Kod:0 : İsim 1 : VNUM 2 : Dead VNUM 3 : Grill VNUM 4-7 : prob[0..3] 8 : difficulty 9 : time_type 10 : length_range 11 : length_range 12 : length_range 13-22 : USED0..USED9 (10 kolon)
2) fishing.txt Dosyanızdaki Sorun
Gönderdiğiniz fishing.txt içinde satırlarda 24 kolon var. Örnek satır:
Kod:AltinYuzuk 50002 1 30 0 0 2000 1800 800 2200 200 1000 1500 2000 0 0 0 0 0 0 0 0 0
Burada kolonları sayarsak:
Kod:1 - AltinYuzuk (isim) 2 - 50002 (vnum) 3 - 1 (dead_vnum) 4 - 30 (grill_vnum) 5 - 0 (prob) 6 - 0 (prob) 7 - 2000 (prob) 8 - 1800 (prob) 9 - 800 (difficulty) 10 - 2200 (time_type) 11 - 200 (length_range) 12 - 1000 (length_range) 13 - 1500 (length_range) 14 - 2000 [b]<– fazladan kolon[/b] 15 - 0 (USED0) 16 - 0 (USED1) 17 - 0 (USED2) 18 - 0 (USED3) 19 - 0 (USED4) 20 - 0 (USED5) 21 - 0 (USED6) 22 - 0 (USED7) 23 - 0 (USED8)
Hem fazla kolon var, hem de bazı satırlarda USED0–USED9 dizilimi kayıyor. Bu nedenle syserr’de:
Kod:Extra column in fishing.txt line X Missing columns in fishing.txt line Y (expected 23, got 22)
hataları görülüyor.
3) Çözüm Seçenekleri
Seçenek 1: fishing.txt’ten Fazla Kolonu Silmek (En Kolay Yol)
Kodun yapısını değiştirmek istemiyorsanız, 14. kolonu (örnekteki ekstra 2000) her satırdan kaldırmalısınız.
Yanlış (24 kolon):
Kod:AltinYuzuk 50002 1 30 0 0 2000 1800 800 2200 200 1000 1500 2000 0 0 0 0 0 0 0 0 0
Doğru (23 kolon):
Kod:AltinYuzuk 50002 1 30 0 0 2000 1800 800 2200 200 1000 1500 0 0 0 0 0 0 0 0 0 0
Bu şekilde dizilim şu sırayı takip eder:
Kod:İsim, VNUM, DeadVNUM, GrillVNUM, Prob0, Prob1, Prob2, Prob3, Difficulty, TimeType, LenMin, LenMax, LenExtra, USED0..USED9 (10 değer)
Her satırda tam 23 kolon olmalı.
Notepad++ ile Toplu Düzeltme (İsteğe Bağlı)
Her satırdan 14. kolonu otomatik silmek için (regex):
Search → Replace menüsünü açın
Search Mode: Regular expression seçin
Find what:
Kod:(([^\t]+\t){13})[^\t]+\t
Replace with:
Kod:\1
Replace All deyin
Bu ifade, her satırda 13. tab’dan sonra gelen değeri (yani 14. kolonu) komple temizler.
Seçenek 2: C++ Koduna Ekstra Alan Eklemek
Eğer 14. kolondaki değerler sizin için anlamlı ise (örneğin nadirlik vs.), bu sefer fishing.cpp tarafını da uyarlamanız gerekir.
Örnek yapı değişikliği:
Kod:struct SFishInfo { char name[FISH_NAME_MAX_LEN]; DWORD vnum; DWORD dead_vnum; DWORD grill_vnum; int prob[MAX_PROB]; int difficulty; int time_type; int length_range; int rarity; // 14. kolon için yeni alan int used_table[NUM_USE_RESULT_COUNT]; };
Parsing kısmı:
Kod:case 12: str_to_number(fish_info[idx].length_range, szCol); break; case 13: str_to_number(fish_info[idx].rarity, szCol); break; // yeni kolon case 14: // USED0 case 15: // USED1 case 16: // USED2 case 17: // USED3 case 18: // USED4 case 19: // USED5 case 20: // USED6 case 21: // USED7 case 22: // USED8 case 23: // USED9 str_to_number(fish_info[idx].used_table[iColCount - 1 - 13], szCol); break;
Bu durumda fishing.txt satırlarında 24 kolon olmalı (13 temel alan + rarity + 10 USED).
Özet
– Syserr’in sebebi: fishing.txt satırlarının kolon sayısı, fishing.cpp’nin beklediği sayıyla uyuşmuyor.
– En pratik çözüm: Her satırdan 14. kolonu silip formatı 23 kolona düşürmek.
– Alternatif: 14. kolonu kullanmak istiyorsanız, C++ struct ve switch-case parsing kısmını bu yeni alanı okuyacak şekilde genişletmeniz gerekiyor.
SONUÇ OLARAK İSTER fishing.txt Yİ DÜZENLE İSTERSEN fishing.cpp Yİ
SEN fishing.cpp
Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)
Benzer konular
- Cevaplar
- 0
- Görüntüleme
- 158
- Cevaplar
- 10
- Görüntüleme
- 302
- Cevaplar
- 8
- Görüntüleme
- 690
- Cevaplar
- 2
- Görüntüleme
- 269
- Cevaplar
- 13
- Görüntüleme
- 1K







