PDA

عرض كامل الموضوع : عزيزي البرق .. لدي بعض الاستفسارات



Dns
30-09-2004, 02:47 AM
السلام عليكم ورحمة الله وبركاته

بصراحة اخي البرق شروحك الرائعه والمنسقة والسهله جعلتني اطمع في معرفة المزيد عن بعض اوامر السكربتات ولدي بعض الأسئلة ارجو ان اجد اجاباتها لديك .. والله يعينك علي :)

س - ماهي فائدة امر haltdef ؟ وماذا يعني ؟

س - في الأحداث (Events) يلاحظ ان الحدث الواحد يكتب بأكثر من صيغة فما الفرق بينهم .. مثلا حدث الدخول :

on ^*:Join:#:{
و
on !*:JOIN:#: {
و
on @*:JOIN:#:{

نلاحظ ان الرموز التي تسبق الـ join تختلف ؟ فما الفائدة ؟

س - عند قرائتي لملف المساعدة الخاص بالميرك وجدت ان هناك مراحل توضع ايضا قبل الاحداث (Level) عبارة عن ارقام .. فهل لك أن توضح لي كم عددها وماتقسيمها وكيف تستخدم ؟

س - حصلت مؤخرا بعد جهد جهيد على سكربتك Helper Beta ولاحظت أنك كتبت ( النسخة التجريبية ) ولم أر أي اصدار او نسخة كاملة للسكربت . فهل قمت بإصدر نسخه زلم تنتشر او انك لم تصدر او انك لم تكمل ...؟ واذا كان هناك نسخة نهائية ولم تنشر فأنا أطلبك وبشدة أن تعطيني نسخه منها :D ?

طولت الأسئلة لكن سامحني فهي تدور في رأسي من زمان ..

Dns

البرق
01-10-2004, 12:39 AM
بسم الله الرحمن الرحيم

أخي Dns


أسعدني تواجدك و استفساراتك ، و لن اتأخر بالاجابة عنك ما دمت أعرفها ان شاء الله .


س - ماهي فائدة امر haltdef ؟ وماذا يعني ؟

هناك أمران يستخدمان في برنامج الميرك لغرض الامساك أو الحبس (التوقف عن اداء العمل أو الامتناع عن الاستمرار) .


و هما
halt و haltdef .


فعندما تشترط على الاسكريبت حدث ما فإن تم .. فعليه القيام بعدد من العمليات ... تسردها له ، لكن بالمقابل قد تطلب من الاسكريبت إن تحقق شرط ما ، أن يتوقف عن أداء العمل و ان لا يكمل ما بعده من الاسطر .

لذا فان الامر الذي سنستخدمه لذلك سيكون أمر halt .



أما haltdef محور سؤالك ، فعملها لا يتعدى سوا حبس و عدم تمرير الرسالة الاصلية الافتراضية الاتية من الميرك .

فمثلا عندما تقوم بتحميل برنامج الميرك من موقعه ، و تقوم باستخدامه سيقوم باخبارك انك قمت بالاتصال و انك غيرت وضعيتك و انك بحاجة الى التسجيل و عند قيامك بالدخول إلى غرفة ما فانه سيشعرك بذلك .


عندما تقوم بتصميم اسكريبتك ، فان الرسائل الافتراضية الاتية من الميرك ، قد لا تتناسب معك، فانت تريد تنسيق الرسائل بصورة أخرى و بترتيب و تنسيق اخر غير ما هو متبع ببرنامج الميرك ، لذلك فانت تريد أمرا مشابهاً لأمر halt لايقاف رسائل الميرك الافتراضية (defualt) فقط ، و ليس كـ halt لايقاف العمل كلياً .

لذا هنا تتبين فائدة أمر haltdef ، لايقاف الرسالة الاصلية للميرك فقط، دون ايقاف العمل الكلي ، و عليه انت بالخيار اما اختيار وضع صامت للحدث دون اخبار الشخص المستخدم للميرك، او تعديل الرسالة بوضعية اخرى تفضلها .. الخ .


مثلا ، عندك تحميلك لبرنامج الميرك ، و القيام باستخدامه،
عند عملية دخول شخص ما إلى غرفة ما سيعطيك الرسالة التالية :
* Nickname has joined #Room

فرضا ان هذه الرسالة لم تعجبك ، او اردت ترجمتها إلى اللغة العربية ، فلذلك ستطلب من الميرك ايقاف هذه الرسالة ، و ستطلب منه اعطاء رسالة جديدة مترجمة

nickname دخل إلى غرفة #room مثلا

فسنكتب التالي :
[code:1]on *:Join:#:{
haltdef
echo 3 # * $nick دخل غرفة #
}[/code:1]

حيث أن رقم 3 تعني اعطاء الجملة اللون صاحب الرقم 3 ، و هو اللون الأخضر


س - في الأحداث (Events) يلاحظ ان الحدث الواحد يكتب بأكثر من صيغة فما الفرق بينهم .. مثلا حدث الدخول :

on ^*:Join:#:{
و
on !*:JOIN:#: {
و
on @*:JOIN:#:{

نلاحظ ان الرموز التي تسبق الـ join تختلف ؟ فما الفائدة ؟


س - عند قرائتي لملف المساعدة الخاص بالميرك وجدت ان هناك مراحل توضع ايضا قبل الاحداث (Level) عبارة عن ارقام .. فهل لك أن توضح لي كم عددها وماتقسيمها وكيف تستخدم ؟





حسنا فعلت أخي الحبيب ، قرائتك في ملف المساعدة للميرك ارشدتك ، بتصنيف هذه الرموز الأولية ، و التي اعلمتك بارتباطها بتصنيفات الأعضاء . . في التبويب الرابع Users .


لذا دعنا نراجع قليلاً ما نعرفه سويا عن تبويبات الميرك ،

عندما تقوم بفتح لوحة تحرير الاسكريبتات لبرنامج الميرك ستجد أمامك خمس تصنيفات :

Aliases - Popups - Remote - Users - Variables


قمت بتغميق التبوبين التي تختص بسؤالك .


المرحلة الأولى
اذا في تبويب Users نحن بحاجة الى اعداد مجموعة من الاسماء أو العناوين ، حتى نستطيع التخاطب معاها في تبويب Remote .


قد نضع مجموعة كبيرة من الاسماء يمثلون فريقا واحداً من الأفعال ، فمثلا اريد مجموعة من الأشخاص الاصدقاء أن يحصلوا على عمل معين بشكل آلي في خانة الاحداث .

أفضل طريقة لتطبيق هذه الفكرة ، هي كتابتهم في خانة Users ، و من ثم اعطاءهم رقماً لفريقهم ، أو عضوية نستطيع التعامل مع هذه العضوية في الاحداث التي نريدها ، سلباً أو ايجاباً .


دعنا نعمل فريقاً من الأعضاء ، سنتعرف عليهم عبر اسماءهم ، ستكون هذه الاسماء هي كالتالي :

Dns
Albarq
Helper



فلنفرض ان هذه الاسماء هي لاصدقاءنا ، سنقوم باضافتهم الى تبويب Users ، لكن كيف؟

بما أن هذه الاسماء الثلاثة من نفس المجموعة و سنقوم بعمل عليها نفس العمل ، فنحن بحاجة الى اعطاءها نفس التصنيف ...

لذا سنعطي لهذا الفريق رقماً ...، ساختار بصورة عشوائية رقم 45333

الان سنكتب في تبويب Users اسماء فريقنا مع عضوية التصنيف التي اعطيناهم اياه .

[code:1]
=45333:Dns!*@*
=45333:Albarq!*@*
=45333:Helper!*@*[/code:1]



المرحلة الثانية :

و هي مرحلة التعامل مع هذا الفريق ، فاي شخص من الفريق الذي يعمل رقم (45333) عند دخوله الغرفة نريد ان نرحب به و نقول له
welcome فلان

فسنكتب في قسم Remote التالي :
[code:1]on 45333:Join:#:{
msg # welcome $nick
}[/code:1]


و بالتالي سيقوم الاسكريبت بالترحيب فقط بأعضاء فريق (45333) أما غيرهم من الأعضاء فلن يقوم بالترحيب بهم .


حسناً

لو أردنا اضافة Helper باكثر من فريق ماذا نفعل ؟

الكود التالي سيضف هلبر الى فريق يحمل رقم 33

و سيكون بدلاً عن الكود الأول

[code:1]
=45333:Dns!*@*
=45333:Albarq!*@*
=33,=45333:Helper!*@*
[/code:1]


و سنكتب بالــ Remote بدلا من السابق
[code:1]
on 45333:Join:#:{
msg # welcome $nick
}


on 33:text:*:#:{
msg # more welcome to $nick
}
[/code:1]

حيث طلبنا من الاسكريبت بالترحيب باصحاب الفريق الأول ، و أثناء حديث Helper فقط ، فليقل (more welcome to his_name)



بالتالي قمنا بتجريب ناجح لاستخدام خيار تبويب الاعضاء و التعامل معهم بصورة آلية بالاحداث .. لكن بقي هناك عدة امور :
س / هل كل ما اريد ان اضيف شخصاً ما يجب علي أن اسجله يدويا هناك، الا يمكننا من وضع خيار ما يقوم بتسجيل عنوان الشخص أو اسمه بصورة الية ،

بمعنى أخر هل هناك مجموعة أوامر استطيع استخدامها لادارة الأعضاء و ارقام تصنيفاتهم ، بدلا من التحرير اليدوي كل مرة لتبويب Users ?

الاجابة: بلى يوجد ، فالاضافة أسماء الى القائمة سنستخدم هذه الهيئة :
[code:1]/auser [-a] <levels> <nick|address> [info][/code:1]

مثلا سنضيف عضوا باسم nick الى ثلاث مجموعات
1 2 3
بالامر التالي :
[code:1]/auser 1,2,3 Nick[/code:1]

لاحقا اردنا اضافة هذا الشخص أيضا الى مجموعة رابعة تحمل الرقم
11
سنكتب الأمر التالي

[code:1]/auser -a =11 Nick[/code:1]


ان اردت تعديل بيانات شخص ما او حذفه
/iuser <nick | address> [info]

اذا اردت حذف شخص ما من القائمة عن طريق الأوامر فهذا الأمر
/ruser [levels] <nick | address> [type]

[code:1]/ruser Nick
/ruser 1,2,3 Nick
/ruser 1,2,3 Nick 1[/code:1]

/ruser Nick! بهذا الأمر سيقوم بحذف جميع الأسماء التي تبدأ بـ Nick

[code:1]/rlevel [-r] <levels>
لحذف مجموعة من الناس من تصنيف ما[/code:1]

[code:1]/rlevel =45333 لحذف جميع الناس المتواجدين في فريق 45333 فقط

/rlevel -r =45333 لإلغاء جميع المتواجدين في فريق 45333 سواءا او مع فرق اخرى

مثلا في المثال السابق هذا الامر سيقوم على حذف
Helper من القائمة
أما الأمر الذي فوقه ، لن يقوم بحذفه .[/code:1]


اذا اردت عرض المتواجدين في تبويب Users فعليك باستخدام هذا الأمر
[code:1]/ulist [<|>] <level>

/ulist <10 لعرض جميع الناس الذين هم لديهم صلاحيات (ارقام الفرق) عشرة أو أقل
/ulist > 5 لعرض جميع الناس الذين هم لديهم صلاحيات (ارقام الفرق) خمسة أو أكثر
/ulist 4 لعرض جميع الأسماء الذين لهدهم صلاحيات 4[/code:1]


سيتبقى جزء من اسألتك عن العلامات التي توضع

فمثلا لو وضعنا علامة @ قبل تبويب المجموعة ، فنطلب من الاسكريبت القيام باداء العمل في حالة كونه يحمل host (op) فقط .


اذا اضفنا علامة + ، فهذا معناه اننا نريد تطبيق هذا الحديث على التصنيف الفلاني فما فوق

مثلا لو وضعت
+10 ، فاقصد اي تصنيف يتجاوز العدد العشرة فقم باداء هذا العمل .



الموضوع طويل و لم ينته ، و ساسهب فيه ايضا إن اردت ذلك .



س - حصلت مؤخرا بعد جهد جهيد على سكربتك Helper Beta ولاحظت أنك كتبت ( النسخة التجريبية ) ولم أر أي اصدار او نسخة كاملة للسكربت . فهل قمت بإصدر نسخه زلم تنتشر او انك لم تصدر او انك لم تكمل ...؟ واذا كان هناك نسخة نهائية ولم تنشر فأنا أطلبك وبشدة أن تعطيني نسخه منها



قمت في وقت سابق باصدار اسكريبتا تجريبيا و اسميته المساعد ...(Helper) ، و قد استغرق مني انشاء هذا الاسكريبت الوقت الكثير للتعلم و للتطبيق و الاختبار ... .

ثم اصدرت اصدارا اخراً تجريبياً هلبر 0.2 ، لم يرى النور .


كان اسكريبت هلبر مقدما لشريحتين من المستخدمين :
1- المبتدئين في استخدام الاسكريبتات .
2- المتقدمين في تصميم الاسكريبتات ، حيث سيقدم الهلبر حلا مقبولاً للتعامل مع التعريب الخاص بالميرك .


إلا ان اسكريبت الهلبر لم يكن الحل المثالي لهذا الاستخدام ..

فقد ظل بمستوى معقد برمجيا ، وهو لم يقم على تعريب حقيقي للقنوات مثلاً ،فقد كان يوجد نوافذ بديلة ، و التعامل معها و كانها غرف حقيقية .


وهو ما دفعني بعدها إلى تغير اسلوب العمل، و اضطررت للتوقف عن اصدار نسخ جديدة من هذا الاسكريبت ، و التوجه الى اصدار فكرة اكثر سرعة ومرونة ، و أسهل استخداماً ، والقيام لانشاء حلا برمجيا جديداً لذلك.

و هو ما تم بعد ذلك بانشاء برنامج تعريبي متخصص ، أطلقت عليه اسم USIP.exe
(Unicode Support for IRCx Protocol) ،

و تم تطوير العمل بعد ذلك بعمل مكتبة توافقية مع الميرك على هيئة dll ، لاكمال هذا العمل usip.dll.

و تم اصدار نسخة ثانية من هذا العمل .

و ما يميز عمل الـ USIP ، سهولة استخدامه مع اي اسكريبت (أجنبي) ، او مع ميرك خام، و الحصول على نتائج تعريبية مرتفعة جداً ، مع سهولة و خفة بالاداء يفتقدها اسكريبت Helper .

و مما ميز هذا العمل عن اسكريبت Helper، سهولة وضع اضافات جديدة Addons .


إلا أن اخر عملية تحديث حقيقية قمت بها لهذا العمل ، منذ أكثر من عام ، حيث أصدرت النسخة usip.dll الثانية ، و لم اقم باي تطوير يذكر لاحقا .




أخي Dns ، اسعدني حضورك معنا ، وانا متشوق للاستماع الى مزيد من الاستفسارات و التوضيحات في اي مسألة تواجهك مع برنامج الميرك .



انتهى

هبوب الشمال
01-10-2004, 01:04 AM
شي جميل ان نرى شخص يهب علمة الى من يسئل


بارك الله بكما


اخوكما


يزيد الدمام

Dns
01-10-2004, 02:05 AM
حقيقه لا اعرف كيف اعبر لك عن شكري واعجابي الشديدين لك

اولا فقد كفيت ووفيت في اجاباتك عن أسئلتك بشرح مفصل وكافي ماشاء الله تبارك الله

وللمعلومية فأنا من أكثر المستخدمين لمكتبتك الأولى التي استخدمتها في سكربت الهيلبر وانا الآن أجيد التعامل معها بشكل ممتاز ولله الحمد واجيد التعامل مع الأوامر والغرف المخفيه -h او كما اسميتها " النوافذ البديلة" بل ووجدت بعض الأخطاء البسيطة وصححتها وتمنيت أن أراك منذ زمن لكي أنبهك عليها :)

ولا تتخيل مدى سروري بتواجد ( البرق ) يكتب لي ردودا ويشرح لي بصدر رحب ما اجهله علما انني عملت ولمدة سنتين على سكربت مبني على سكربتك الهيلبر وقمت بإصداره وقد لقى قبولا واسعا ولله الحمد ، وقد اضفت إيميلك محاولا جاهدا ان اتواصل معك لاستأذنك فيما قمت واشكرك على جهدك الجبار في التعريب والاستفادة من خبرتك في هذا المجال ولكن لم تحصل الفرصة للاسف .. عموما يسعدني جدا التواصل معك من خلال هذا المنتدى واتمنى أن لا ينقطع هذا التواصل

* بما أنك ذكرت الـ USIP في ردك فقد فتحت بابا على نفسك ( ولكن باب صغير :) ) أولا أبارك لك اصدار النسخه الثانيه من مكتبة اليوسيب الرائعه .. ماشاء الله تبارك الله فقد رأينا كفائتها وروعتها في بعض الاسكربتات

ثانيا لدي سؤال في هذه النقطه وهو من أين يمكنني الحصول على المكتبة كاملة ؟
لم اجدها الا في منتدى دارك بلوز ولكن الحصول عليها من هناك في غاية الصعوبة فنظام الحماية لديهم شديد جدا ومعقد لدرجة اني فقدت الأمل في تحميلها من هناك .. لذلك اتخذت القرار البديل وهو اخذ الملفين Usip.dll و usip.ini من سكربتات اخرى

ولكن تواجهني مشكله في عملها وهي بعد تحميل المكتبه ( بتحميل ملف الـ ini ) فأن التعريب أحياناً يعمل بشكل ممتاز و أحيانا لا يعمل أبدا بل غالبا لا يعمل !

فلا أدري اين المشكلة وقد جربت هذه الطريقة على سكربتات خام وسكربتات اجنبيه ولكن نفس النتيجه كنت اجدها ادئماً... أرجو توضيح السبب

واخيرا فأنا لا زلت مصمما على الحصول على نسخه هلبر 0.2 إن لم يكن هناك حرج

وفي الختام أشكرك مرة اخرى اخي البرق على تجاوبك وشرحك الأكثر من رائع واعذرني على الاطالة

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

عزيزي soon بارك الله فيك واشكرك على تعقيبك

صدقت قلما نجد أناساً مثل البرق في عطائهم وتواضعهم

شكرا لك

الجروووح
01-10-2004, 02:13 AM
ماشاء الله .


لا اله الا الله .



انا اشوووف هينا محاااضرااات وناااس تتلقى العلم من الخ برق .


تحياتي لك اخ برق على طرح هذة المعلووومات الثمينة .



وبااارك الله فيك على هذا المجهود الوفير جدا .



تقبل تحياتي وشكري .

Dns
06-10-2004, 11:35 AM
اخي البرق لازلت في انتظارك ..

البرق
06-10-2004, 09:43 PM
السلام عليكم

اخي Dns و اخوتي soon و الجروووح

اشكركم على كلماتكم اللطيفة التي سطرتموها .



أخي Dns قمت استجابة لطلبك بالبحث عن اسكريبت Helper ، و قمت باضافة مكتبة USIP اليها ليتم التعامل مع الاسلوبين .

و في الحقيقة لم اكمل خطوات اجراء هذا التوافق ، فلم استطع التفرغ له و هو بحاجة الى استخدام و تجريب للتأكد من سلامته و نجاحه .



و قد قمت بانزال الاسكريبت + USIP على هذا الرابط ، http://www.yabdoo.com/board/showthread.php?p=72341#80870




اشكرك مرة أخرى على اهتمامك ، و اعتذر عن التأخر


انتهى

Dns
08-10-2004, 01:09 AM
شكرا لك عزيزي البرق على تجاوبك وطرحك للسكربت

والله يعطيك العافية :)

البرق
10-10-2004, 06:48 PM
العفو Dns

و يسرني أيضا أن تعرض اسكريبتك هنا ، حتى يتم لي مشاهدته و حفظه لدي .






و شكرا

Dns
14-10-2004, 01:24 AM
على راسي

يمكنك تحميله من هنا

http://wantedscript.4t.com

واعذرني على التأخير

* لازالت هناك أسئله لكن اريد تنظيمها قبل طرحها :)

Dns
16-12-2006, 05:02 AM
يا الله !! أيام زماان

هل لازلت موجود اخوي البرق ؟ الله يذكرك بالخير

الموقع الجديد

www.s-wanted.net

:D