Amxmodx Derleyicisinde Alabileceğiniz Hatalar, Anlamları ve Çözümleri
Öncelikle Hata Çözümlerinin %100 Sonuç Vermeyeceğini Belirtmek İsterim. Bugüne Kadarki Deneyimlerimi Sizlere Aktaracağım.
Anlatımın Tamamı Bana Ait Olup Hiçbir Forum ve/veya Sitede Paylaşılmasına veya Alıntı Yapılmasına Müsaade Etmiyorum.
Symbol Already Defined
Hata Kodu: 21
Hata Tipi: Satır Bazlı
Hata Adı: Belirtilen Satırdaki Tanımlama İşlemi Zaten Önceki Satırlarda Yapılmış.
Hata Nedeni: Eklenti Kodunda Aynı Tanımlamayı İki Defa Yapmak Veya Amxmodx 1.8.3'de Otomatik Tanımlı Öğeyi Tekrar Tanımlamak
Hata Çözümü: Belirtilen Satırdaki (37) Tanımlamayı Kaldırmak.
Zorluk Derecesi: 3/10
Kod:
addons\amxmodx\scripting\include\xxx.inc(37) : error 021: symbol already defined
addons\amxmodx\scripting\xxx.sma(37) : error 021: symbol already defined
Unreachable Code
Uyarı Kodu: 225
Uyarı Tipi: Satır Bazlı
Uyarı Adı: Ulaşılamaz/Okunamayan Kod
Uyarı Nedeni: "return PLUGIN_HANDLED", "return FMRES_IGNORED" gibi Public Kapatma ve Dönüş Kodlarının Sonuna Noktalı Virgül Koymamak ( ; )
Uyarı Çözümü: Belirtilen Satırdaki return XX_XX'in Sonuna ; Koymak
Uyarı Etkileri: Public Oyun İçindeki Görevini Yerine Getirdikten Sonra Eklenti Fonksiyonlarında Aksaklıklar Oluşur.
Zorluk Derecesi: 1/10
Aksatma Derecesi: 5/10
Kod:
addons\amxmodx\scripting\xxx.sma(37) : warning 225: unreachable code
Client Disconnected ( )
Uyarı Kodu: 233
Uyarı Tipi: Satır Bazlı
Uyarı Adı: Disconnect(ed) 1.8.3
Uyarı Nedeni: Amxmodx 1.8.2 İle 1.8.3 Arasındaki Farklılıklar
Uyarı Çözümü: Client_disconnect Yazan Tüm Yerleri Client_disconnected Olarak Değiştirmek
Uyarı Etkileri: Oyuncu Oyundan Çıktığında Uygulanacak İşlemler Uygulanamaz
Zorluk Derecesi: 1/10Aksatma Derecesi: 2/10
Kod:
addons\amxmodx\scripting\xxx.sma(535) : warning 233: symbol "client_disconnect" is marked as deprecated: Use client_disconnected() instead.
Strbreak - Argbreak
Uyarı Kodu: 233Uyarı Tipi: Satır Bazlı
Uyarı Adı: Strbreak( ) - Argbreak( )
Uyarı Nedeni: Amxmodx 1.8.2 İle 1.8.3 Arasındaki Farklılıklar
Uyarı Çözümü: "strbreak" Yazan Tüm Yerleri "argbreak" Olarak Değiştirmek.
Uyarı Etkileri: Belirtilen Komut Eklenti Çalıştırılırken İşlev Görmez
Zorluk Derecesi: 1/10
Aksatma Derecesi: 4/10
Kod:
addons\amxmodx\scripting\xxx.sma(600) : warning 233: symbol "strbreak" is marked as deprecated: Use argbreak() instead
Undefined Symbol
Hata Kodu: 17Hata Tipi: #Define / #Include
Hata Adı: Tanımlanmamış Öğre
Hata Nedeni: Sadece Belirli Kütüphanede Bulunan Kodu, Kütüphaneyi Tanımlamadan Eklentiye Koymak veya Kodun İşlevini Tanımlamamak
Hata Çözümü: Gerekli Kütüphaneyi #include Komutuyla Tanımlamak veya #define İle Koda İşlev Tanımlamak
Zorluk Derecesi: 4/10
Kod:
addons\amxmodx\scripting\xxx.sma(336) : error 017: undefined symbol "MAX_CSDM_SPAWNS"
Invalid Array Size
Hata Kodu: 9
Hata Tipi: Eksik Bilgi / Yanlış Tanımlamaı
Hata Adı: Eksik Enum veya #define Tanımlaması
Hata Nedeni: "new" Komutuyla Tanıttığınız Öğenin Kullandığı Enum Kısmının Hatalı Olması veya #define Olarak Tanıtılmaması
Hata Çözümü: Enum {} Kısmını Kontrol Etmek Veya Kodun Kullandığı Bilginin Tanıtılıp Tanıtılmadığını Kontrol Etmek
Zorluk Derecesi: 6/10
Kod:
addons\amxmodx\scripting\xxx.sma(369) : error 009: invalid array size (negative or zero)
Expected Token: "," But Found
Hata Kodu: 1
Hata Tipi: Satır Bazlı
Hata Adı: Yanlış Sembol Kullanımı
Hata Nedeni: Fazla, Eksik veya Yanlış Yerde ", . ) : ;" Sembollerini Kullanmak
Hata Çözümü: Sembollerin Eksik, Fazla ve Doğru Yerde Olup Olmadığını Kontrol Edip Düzeltin
Zorluk Derecesi: 2/10
Kod:
addons\amxmodx\scripting\xxx.sma(24 -- 27) : error 001: expected token: ",", but found "-identifier-"
Expression Has No Effect
Uyarı Kodu: 215Uyarı Tipi: Satır Bazlı
Uyarı Adı: Satırda Hatalı Kodlama
Uyarı Nedeni: Public (Büyük Olasılıkla) veya Diğer Kısımlarda ( ( ) ) Parantezleri Hatalı Kullanmak
Uyarı Çözümü: Parantez Açma Kapama Kısımlarını Kontrol Ederek Düzeltmek
Uyarı Etkileri: Belirtilen Satır Eklenti Çalıştırılırken Pas Geçilir
Zorluk Derecesi: 3/10
Aksatma Derecesi: 9/10
Kod:
addons\amxmodx\scripting\xxx.sma(21) : warning 215: expression has no effect
Fatal Error Too Many Error Messages On One Line
Hata Kodu: 107
Hata Tipi: Satır Bazlı
Hata Adı: Okunamayacak Düzeyde Hata
Hata Nedeni: Belirtilen Satırda (91) Okunabilecek Hata Sayısı Azami Değeri Aşıyor.
Hata Çözümü: Satırdaki Birkaç Hatayı Çözerek Sonraki Hataları Görüntüleyebilmek
Kod:
addons\amxmodx\scripting\xxx.sma(91) : fatal error 107: too many error messages on one line
Argument Type Mismatch
Hata Kodu: Argument 2
Hata Tipi: Satır Bazlı
Hata Adı: Yanlış Native Kullanımı
Hata Nedeni: Belirtilen Satırda Hatalı Native Kullanmak
Zorluk Derecesi: 5/10
Hata Örneği ve Çözümü:
PHP Kod:
Hatalı Kod: cs_set_user_armor(id, cs_get_user_armor(id, CS_ARMOR_VESTHELM) - 500, CS_ARMOR_VESTHELM)
Çözüm:
new CsArmorType:armortype
new armorvalue = cs_get_user_armor(id, armortype)
cs_set_user_armor(id, armorvalue - 500, CS_ARMOR_VESTHELM)
Kod:
Error: Argument type mismatch (argument 2) on line 291
Invalid Function Or Declaration
Hata Kodu: 10
Hata Tipi: Eklenti Bazlı
Hata Adı: Geçersiz Kaynak Kodu [SMA Pert]
Hata Nedeni: Farklı Programlarla Aynı Sma Dosyası Üzerinde Oynama Yapmak. UTF-8 Unicode Karışıklığı.
Hata Çözümü: Sma Dosyasını Notepad++ / AmxStudio Benzeri Programla Açarak Kaynak Kodunu Kopyalayıp Başka Sma Dosyasına Yapıştırmak
Zorluk Derecesi: 3/10
Kod:
addons\amxmodx\scripting\xxx.sma(1) : error 010: invalid function or declaration
No Entry Point (No Public Functions)
Hata Kodu: 13
Hata Tipi: Public Bazlı
Hata Adı: Hatalı Public Girişi
Hata Nedeni: Public Açılışında ( ) Veya ( id ) Kullanmamak
Hata Çözümü: Public xxx Yazan Kısmı Public xxx( ) Veya Public xxx( id ) Olarak Düzeltmek
Zorluk Derecesi: 2/10
Kod:
addons\amxmodx\scripting\xxx.sma(30) : error 013: no entry point (no public functions)
Redundant Test (Constant Expression Is Non-Zero)
Uyarı Kodu: 206
Uyarı Tipi: Satır Bazlı
Uyarı Adı: Değer Sıfır Olmalı
Uyarı Nedeni: Girilen Değerin 0'dan Farklı Olması
Uyarı Çözümü: Girilen "k=1" vs. Gibi Değeri "k=0" Yapmak. Lakin Buna Rağmen Hata Verebilmekte Çözümü Neredeyse Kimse Tarafından Bulunamamıştır.
Uyarı Etkileri: Etkileri Saptanmadı
Zorluk Derecesi: 8/10
Aksatma Derecesi:10/10
Kod:
addons\amxmodx\scripting\xxx.sma(309) : warning 206: redundant test: constant expression is non-zero
Loose Indentation
Uyarı Kodu: 217
Uyarı Tipi: Satır Bazlı
Uyarı Adı: Satır Uyuşmazlığı
Uyarı Nedeni: Belirtilen Satırın (34) Bir Önceki ve Bir Sonraki Satıra Göre Başındaki Boşluk Seviyesinin Farklı Olması
Uyarı Çözümü: TAB ve SPACE Tuşları İle Bırakılan Boşlukların Kullanımına Dikkat Etmek ve Satırlarda Eşit Seviyede Boşluk Bırakmak
Uyarı Etkileri: Hiçbir Etki Göstermez. Bu Hatayı Düzeltme Tenezzülünde Bulunmanıza Dahi Gerek Yok.
Zorluk Derecesi: 1/10
Aksatma Derecesi: 0/10
Kod:
addons\amxmodx\scripting\xxx.sma(34) : warning 217: loose indentation