[مساعدة] الأخطاء |
5 | ||
إذا كان سكربتك لا يعمل, يمكنك وضعه في هذا الموضوع و إخبارنا عن المشكلة. يصف هذا الموضوع أنواع كثيرة من الأخطاء التي يمكن أن تحدث معك، ويعطيك كيفية إصلاحها أو منعها من الحدوث. اذا كنت قد صادفت خطا في السكربت الخاص بك, يرجى قراءة هذا الموضوع لمحاولة ايجاد حل لها. اذا كنت لا تزال بحاجة الى المساعدة, قم بنشر السكربت بأكمله ردًا على هذا الموضوع (في علامات [ quote] او موقع خارجي مثل PasteBin), إشرح ما سيحدث, و اذكر الخطأ الذي ضهر لك. تحتوي بعض رسائل الأخطاء رقم السطر التي يمكن استخدامها لإيجاد سطر الكود المتسبب في الخطا. قد لا يكون الخطا بالضبط في ذلك السطر, ربما ايضا في احدى الاسطر المجاورة. نصيحة جيدة لتصحيح النصوص البرمجية و معرفة مكان خطأها بطباعة المتغيرات وغيرها من المعلومات في مراحل مختلفة من النصوص البرمجية. وهذا قد يكون مفيداً لمعرفة إذا كان المتغير يحمل ماكنت تتوقعه، إذا كان نص, رقم ألخ, هذا لا يصلح السكربت الخاص بك، ولكن سيساعدك على تحديد ما هو الخطأ و سبب وقوعه. خطأ شائع عندما لا تعمل دالة بشكل صحيح لأنه تم إعادة تعريفها مجدداً (مكرر). أخر تعريف للدالة سيحل محل السابق، لذلك على سبيل المثال هنا يوجد اثنين من eventPlayerEmotes يعني أن اخر واحد هو الوحيد الذي سيعمل فعلاً Code Lua 1 2 3 4 5 6 7 function eventEmotePlayed(name,emote) لحل هذه المشكلة, عليك فقط دمج محتويات هاتين الدالتين. Code Lua 1 2 3 4 function eventEmotePlayed(name) تحتوي الأخطاء الواردة أدناه على أمثلة لأنواع الأخطاء المختلفة ووصف موجز. إذا لم يتم إدراج خطأ معين، يرجى نشره وسيتم إدراجه لاحقًا. Init هو اختصار لعبارة "initialisation" بمعنى التهيئة, يعني ان الكود لم يتم تشغيله بشكل صحيح كما تم تحميله. [•] Attempt to call nil. يحدث هذا الخطأ عندما يكون هناك سطر يحتوي على متغير غير معرف. يحدث هذا عادة عندما لا يتم انشاء المتغير بشكل صحيح, او بعض الوظائف لم يتم تشغيلها. Code Lua 1 2 print(test)-- تجربة Code Lua 1 Print("Test.") [•] Index expected, got nil. محاولة تحديد أو استدعاء عنصر في جدول غير موجود سوف يسبب خطأ مثل هذا. Code Lua 1 tbl[1] = "This will break, since tbl doesn't exist." [•] ')' expected (to close '(' at line [num]) اذا حدث هذا الخطا, معناه انه هناك اقواس مفقودة في الدالة. Code Lua 1 print("Hi [•] '' expected. في حين حدوث هذا الخطأ يمكن أن ينتج في العديد من الحالات المختلفة، والأكثر شيوعا هو عند استخدام عبارة elseif عندما لا يكون هناك if. Code Lua 1 2 3 elseif 1>2 then [•] Multiple points. الأرقام يمكن أن يكون لها فقط نقطة عشرية واحدة، في محاولة للحصول على نقط عشرية متعددة في رقم واحد سيعود هذا بخطأ. Code Lua 1 2 3 4 5 --نقطة عشرية واحدة, هذا جيد. [•] Unfinished (long) comment/string. علامة الاقتباس المزدوجة (") يجب اغلاقها في كل الاحوال المستعملة فيها. اذا كانت رسالة الخطأ تحتوي على long comment/string, فإن استخدام الاقواس المستطيلة [[...]] هو سبب الخطأ. Code Lua 1 2 3 text="This is a variable definition that is never finished. --هذا المتغير لن ينتهي ابدًا [•] Nesting of [[...]] is deprecated. الاقواس المستطيلة [[...]] لا يمكن أن يكون لها اقواس مستطيلة أخرى في الداخل. Code Lua 1 2 --[[ This is a comment [[ This is inside the comment. ]] This is the end of the comment.]] [•] Attempt to index ? (a nil value). يحدث هذا الخطأ عندما يُحاول إستخدام عنصر في جدول، ولكن لا يمكن العثور عليه. Code Lua 1 2 tbl={} [•] Null هذا خطا بسبب خطا في Module API ويصعب حلها. لا يمكن تشغيل البرامج النصية احيانا في بعض الغرف. [•] Attempt to concatenate [data] and [data]. لا يمكن ان تكون أنواع البيانات المختلفة متصلة جنبا الى جنب مع.. المشغل باستثناء السلاسل والأرقام. Code Lua 1 2 3 4 5 6 7 8 --هذا سيعمل. [•] Invalid key to 'next'. يحدث هذا الخطأ عندما تحتوي الدالة next() على مفتاح غير صالح يحاول الانتقال إليه. هذا هو الأكثر شيوعا عند محاولة إزالة عنصر من جدول أثناء التكرار من خلال pairs()، كما تستخدم الدلة next() Code Lua 1 2 3 4 5 tbl={Something=true,somethingelse=true} [•] Attempt to perform arithmetic on a [data] value. أنواع البيانات المختلفة لا يمكن أن يكون لها أي حساب إلا إذا كانوا أرقام. Code Lua 1 {"table"}+4 [•] Attempt to compare [data] with [data]. لا يمكن تنفيد الحسابات على أنواع البيانات المختلفة, لا يمكن مقارنتها برموز المقارنة (اكبر>اصغر). Code Lua 1 2 3 if {"table"} > 4 then [•] [data] expected, got [data]. عندما يكون من المتوقع نوع متغير معين في دالة ولكن يتم إعطاء واحد آخر، سيحدث هذا خطأ. Code Lua 1 2 3 for key,value in pairs("string") do [•] Lua destroyed : Runtime can't exceed 40 ms in 4 seconds ! لوا دمرت: وقت التشغيل لا يمكن أن تتجاوز 40 مللي ثانية في 4 ثوان! Code Lua 1 2 3 4 5 function eventLoop() [•] Lua destroyed: Runtime too long! لوا دمرت: وقت التشغيل طويل جدا! Code Lua 1 2 3 for i=1,10000000000 do نادرا ما تتسبب أخطاء الوسيطة في إيقاف النص البرمجي (السكربت) من العمل والعمل كمزيد من التحذير بأن شيئا ما لا يعمل بشكل صحيح. [•] Argument must be integer. يحدث هذا الخطأ عندما تتوقع في دالة عددا صحيحا ولكن تتلقى نوع بيانات آخر. على سبيل المثال، tfm.exec.movePlayer (name، "text"، 200) من مفترض ان تكون الوسيطة الثانية رقماً. [•] vm error: java.lang.ArrayIndexOutOfBoundsException: 256 هذا الخطأ يمكن أن يكون ناجما عن أشياء متعددة، ولكن أكثر شيوعا عندما يتكرر شيء إلى أجل غير معين. مثال قد يكون استدعاء دالة لنفسها. Code Lua 1 2 3 4 function a() [•] You don't have the right to use this function. يتم تعطيل بعض الدوال من استدعاءها في بيت القبيلة، بما في ذلك ما يلي. Code Lua 1 2 3 4 5 6 7 8 tfm.exec.chatMessage() Dernière modification le 1505491080000 |
Fireali40 « Censeur » 1500043740000
| 0 | ||
موضوع رائع + اول تعليق D: |
Yatsuki « Censeur » 1500044820000
| 0 | ||
رائع شكرا على الموضوع :" |
Boucharma « Censeur » 1500045060000
| 0 | ||
يب v: ، شكراً |
0 | ||
Fireali40 a dit : شكرًا Turkitutu a dit : عفوًا هيثم ^_^ Boucharma a dit : عفوًا |
Shockwave « Consul » 1500045420000
| 2 | ||
شكرا علي الموضوع. |
Karintin « Censeur » 1500047580000
| 0 | ||
شكرًا جزيلًا. |
0 | ||
Malekty a dit : عفوًا Karintin a dit : عفوًا |
Wassimevicw « Censeur » 1500048360000
| 0 | ||
كفو انلوكر موضوع رائع . سوف يسهل العمل للكثير من الاشخاص و يساعدهم ايضا Dernière modification le 1500048480000 |
0 | ||
Wassimevicw a dit : كفوك بالتأكيد !!! |
Maroidofli « Citoyen » 1500052440000
| 0 | ||
شكرا انلوكر ساعدتني كثيرا |
0 | ||
Maroidofli a dit : لا شكر على واجب ^_^ |
Emadeloomda « Censeur » 1500119580000
| 0 | ||
ما هذا بحق السماء ، في أي بطاقة عناوين سأضع هذا الموضوع؟ شكرًا على الموضوع ، سأضعه في بطاقة عناوين الورش والمعامل. |
Boucharma « Censeur » 1500119820000
| 0 | ||
ربما يمكنني أن اطلب من المراقب يتبثه. |
0 | ||
Emadeloomda a dit : يمكنك وضعه في الشروحات و الورش و المعامل معًا Boucharma a dit : لا داعي لذلك لانه قد تم تثبيته Dernière modification le 1500131040000 |
Yatsuki « Censeur » 1500131280000
| 0 | ||
مبروك التثبيت :3 |
0 | ||
Turkitutu a dit : الله يبارك فيك ^_^ |
Kingkomand2o « Consul » 1500132360000
| 0 | ||
تبا كنت انوى صناعة هذا الموضوع ولكن نظرا لأنشغالى .. xD عموما شكرا على الموضوع انلوكر ! |
Superpizza « Citoyen » 1500132360000
| 0 | ||
شكراً على ألموضوع أنلوكر لأ أعلم مأ أسمك xd |
Wassimevicw « Censeur » 1500139680000
| 0 | ||
مبروك التثبيت وف اكون في هذا الموضوع كثيرا لاكمل سباق الدجاج |