San Andreas Multiplayer => PAWN Kodlama => Anlatımlar => Konuyu başlatan: Alperen18 - 17 Kasım 2020, 13:36:19
Başlık: [ANLATIM] Pawno Hata Kodları Ve Çözümleri
Gönderen: Alperen18 - 17 Kasım 2020, 13:36:19
Merhaba Değerli Gtamulti Kullanıcıları , Bugün Pawn Kodlamada Çıkan Hataların Çözümünü Detaylı Bir Şekilde Anlatımını Sergilicem Şimdiden Okuyanlara Teşekkür Ederim.
#01 - Undefined Symbol "Tanıtılan Değer"
Bahsedilen değerin tanıtılmamış olduğunu söylüyor. Modun başına new Tanıtılan Değer; şeklinde tanımını yaparsanız çözülecektir.
#02 - Cannot read from file: "Eksik Include İsmi"
Include'ın okunamadığını söylüyor. Bunu Pawno > Includes kısmından kontrol edebilirsiniz.
#03 - error 030: compound statement not closed at the end of file
Açtığınız parantezin kapatılmadığını söylüyor. Örneğin aşağıdaki kodu inceleyelim.
public OnPlayerConnect(playerid) { return 1;
Yukarıda return değerinin altında } yok, yani parantez kapatılmamış. Hemen altına } koyarak düzeltebilirsiniz. Size hatanın sonunda hatanın başladığı satırı da verecektir. Burada detaylı bir inceleme yapmalısınız.
#04 - error 010: invalid function or declaration
Geçersiz fonksiyon veya işlem olduğunu söylüyor. Verilen satırdaki kodu düzenleyerek bu sorunu gidebilirsiniz.
#05 - symbol already defined: "Tanıtılan Değer"
Tanıtılan değerin birden fazla kez tanıtıldığını söylüyor. Birisini silerek bu sorunu giderebilirsiniz.
#06 - error 036: empty statement
Zaten var olan noktalı virgülün yanına bir tane daha koyarsnaız karşınıza çıkar. Örnek olarak aşağıdaki kodu inceleyelim.
public OnPlayerConnect(playerid) { SendClientMessage(playerid, -1, "Mesaj");; return 1; }
Yukarıda görüldüğü üzere iki tane noktalı virgül kullanılmış. Bir tanesini silerek bu hatayı giderebilirsiniz.
#07 - error 054: unmatched closing brace ("}")
Açılmamış parantezi kapattığınızda karşınıza çıkar. Örnek olarak aşağıdaki kodu inceleyelim.
public OnPlayerConnect(playerid) { if(IsPlayerAdmin(playerid)) printf("Oyun kurucusu giris yapti."); } return 1; }
Yukarıda görüldüğü üzere açılmamış olan parantezi kapattık. Sonuç olarak bu hata ile karşılaştık. Kodu aşağıdaki şekilde düzenleyerek hatayı giderebiliriz.
public OnPlayerConnect(playerid) { if(IsPlayerAdmin(playerid)) { // Parantezi açtık. printf("Oyun kurucusu giris yapti."); } return 1; }
#08 - error 001: expected token: ";", but found "}"
Belirtilen satırda kodun sonuna noktalı virgül koymadığımız zaman karşımıza çıkar. Örnek olarak aşağıdaki kodu inceleyelim.
public OnPlayerSpawn(playerid) { SendClientMessage(playerid, -1, "Mesaj") // Noktalı virgül ile kapatmadık. return 1; }
Yukarıda SendClientMessage fonksiyonunu noktalı virgül koymayıp sonlandırmadığımız için bu hata ile karşılaştık. Sonuna noktalı virgül koyup fonksiyonu sonlandırarak bu sorunu giderebilirsiniz.
#09 - error 001: expected token: "#endif", but found "-end of file-"
#if ile açılan değerin #endif ile sonlandırılmadığını söylüyor. Örneğin #if defined FILTERSCRIPT ile bir if değeri açtık ve #endif ile sonlandırmadık. Burada ya ifi silerek bu hatayı gidereceğiz ya da #endif ile sonlandıracağız.
#10 - error 025: function heading differs from prototype
Fonksiyonun yanlış veya eksik yazıldığını söylüyor. Örneğin bir publici forward ile tanıtırken playerid değerini yazmayı unuttuk, işte o zaman karşımıza bu hata çıkar. Daha detaylı anlatmak açısından aşağıdaki kodu inceleyelim.
forward Aezakmi(); public Aezakmi(playerid) { SetPlayerWantedLevel(playerid, 0); return 1; }
Yukarıdaki public ile bir playerid değeri tanıttık. Fakat forward da playerid değerini almadık. Bu yüzden eksik tanıtmış olduk. Sonuç olarak forwarda publicde olduğu gibi playerid değeri ekleyerek bu sorunu giderebiliriz.
forward Aezakmi(playerid); public Aezakmi(playerid) { SetPlayerWantedLevel(playerid, 0); return 1; }
#11 - Pawno çalışmayı durdurdu
Bu hatanın bir diğer ismi baba hatadır. Yok, halk içinde bilinmiyor. Ben koydum adını. Hataların babası oluyor bu.
Bu hata ile karşılaşmamızın sebebi pawnonun 26'dan fazla hata vermesi. Sebepleri ise şunlar olabilir:
Kapatmayı unuttuğunuz bir parantez olabilir. Çok fazla sağ tarafa gitmiş olabilirsiniz. Bu hatayı giderebilmek için detaylı bir inceleme yapmanız veya yol yakınken, eğer pawnoyu kapatmamışsanız, kodlar hala sıcak ise ctrl+z yardımıyla yaptığınız şeyleri geri alabilirsiniz. Böylece eklediğiniz son şeyleri hatırlamıyorsanız bütün değişiklikleri geri alıp her yaptığınız değişiklikte compile ederek hatanın neyden kaynaklandığını tespit edebilirsiniz.
Her ekleme yaptıktan sonra compile yaparsanız bu hatayla karşılaşma olasılığınız da düşer.
#12 - Failed set data for "" hatası
Bu hata pawnoyu açarken karşımıza çıkıyor. Bunu düzeltmek için pawno klasörüne girip settings.ini dosyasını açıyoruz ve FileAccos değerini 0 olarak değiştiriyoruz. Yani, FileAccos=0 olacak.
#13 - Error 029: invalid expression, assumed zero
Değişken veya fonksiyonun tam olarak yazılmadığını söylüyor. Mesela bir değişken tanıtıyoruz ve bir parantez açıyoruz, fakat onu kapatmıyoruz ve compile ediyoruz. Bunun sonucunda karşımıza bu hata çıkıyor. Örnekler ile anlatmak gerekirse:
new Hesoyam[MAX_PLAYERS;
Yukarıda açtığımız parantezi kapatmadık, bu yüzden de hatayla karşılaştık. Hemen aşağıdaki şekilde düzelterek paratezi kapatalım.
new Hesoyam[MAX_PLAYERS];
#14 - warning 201: redefinition of constant/macro
Bu diğerlerinden farklı oluyor. Bu bir hata değil, bu bir uyarıdır. Birden fazla kez aynı şey için define kullandığınızı söylüyor. Birisini silerek bu uyarıyı yok edebilirsiniz.[/b]
Konu Alıntıdır
Başlık: Ynt: [ANLATIM] Pawno Hata Kodları Ve Çözümleri
Gönderen: sharax - 05 Eylül 2021, 22:58:25
Teşekkürler.
Başlık: Ynt: [ANLATIM] Pawno Hata Kodları Ve Çözümleri
Gönderen: Gladiator - 06 Eylül 2021, 10:38:08
Paylaşım için teşekkürler.
Başlık: Ynt: [ANLATIM] Pawno Hata Kodları Ve Çözümleri
Gönderen: Impeccable - 06 Eylül 2021, 22:44:16
Konu için teşekkürler.:helal:
Başlık: Ynt: [ANLATIM] Pawno Hata Kodları Ve Çözümleri
Gönderen: beratmethe - 23 Kasım 2021, 19:02:31
Anlatım İçin Teşekkürler
Başlık: Ynt: [ANLATIM] Pawno Hata Kodları Ve Çözümleri
Gönderen: Animex - 10 Aralık 2021, 19:22:52