المدير العام المدير العام
عدد المساهمات : 635 تاريخ التسجيل : 05/01/2012 العمر : 29 الموقع : https://cougar.hooxs.com
| موضوع: جديد ِشرح عمل npc أن بي سي لسورس 5095 بالصور الثلاثاء فبراير 21, 2012 4:47 pm | |
| ِشرح عمل NPC أن بي سي لسورس 5095 بالصور اولا يعنى اية تعمل اية انبسى او الانبسى دا بيتكون من اية:- الانبسى بيتكون من 3 اجزاء علشان يشتغل بدون مشاكل انشاء الله cq_npc ودى بقة بتفتحها تكتب فيها رقم الانبسى زى ماحضرتك عاوز بس اهم شىء مش يكون موجود مثال على دا كود PHP: INSERT INTO `cq_npc` VALUES ('49247', '0', '0', 'medo.hooks', '0002', '4690', '-1', '1002', '0436', '0387', '7976111', '0000', '0000', '0000', '0000', '0000', '0000', '0000', '0', '0', '0', '0', '', '0000', '00', '00', '0000', '00', '0000'); وهنا صورة لشكل ملف ال CQ_NPC من داخل النافى كات علشان تكون فاهم برضة تعالوا نحلل السطر دا واحدة واحدة اولا كلمة INSERT INTO ودى تعنى انك تزود قاعدة البيانات بتاعك بانبسى جديد وفى لفظ اخر اسمة Replace INTO والفظ دا يستخدم لما تحب تبدل انبسى باخر يعنى مثلا لو عندك انبسى موجود بالرقم دا وعاوز تغير المهام بتاعة بتجيب رقمة وليكن (5) تروح عامل كدا Replace INTO طيب كلمة cq_npc ودى يعنى قائمة مزودة داخل قاعدة البيانات والى هى (ZF) 49247 دا بقة ياغالى رقم الانبسى او ال ID يعنى رقم داخل القاعدة وطبعا انت بتعمل رقم مش موجود عندك بالفعل حتى لا تواجهة مشاكل SuccessFUll ودا ياغالى اسم الانبسى بس مش مهم تقدر تخلية الاسم الى يريحك 4690 ودا بقة ال LookFace بتاعة يعنى شكلة دا خل العبة اية ودى بتجيبها داخل الكلينت بتخش على فولدر Ini بتختار NPC.ini وتفتحها تشوف اسم الانبسى الى عاوزة اية وتجيب رقمة من عندك وتسجلة وتروح كاتبة بس فى ملحوظة انك بتزود الرقم دا صفر مثال حى:- دى صورة لملف ال npc.ini [NpcType256] Name=SantaClaus SimpleObjID=256 StandByMotion=999256100 BlazeMotion=999256101 RestMotion=999256102 Effect=none ASB=5 ADB=6 FixDir=0 الرقم الى انا معلم علية بالاحمر دا الى بتكلم علية وهوا 256 طيب انت عاوز تكتبة فى السورس بتعمل اية تزودة صفر يعنى يكون كدا 2560 طيب اية اللون البنفسجى الى على اللكلام دا هوا دا بقة ياسيدى اسم الانبسى دا خل ولو عاوز تغيرة تخلية مثلا medo.hooks بتقدر تغيرة بكل سهول عادى وتسجل وتخرج طيب نكمل خالى بالك بقة لان الشغل الجامد جاى اهو طبعا كلة ال 3 ارقام دول (1002.436.387) نخش واحدة واحدة كدا 1002 دا رقم الماب يعنى فى انهو مكان بالظبط 1002 دى ترجع للتوين طيب رقم المابات المهمة اهى TwinCity:1002 Market:1036 Desert:1000 BirdIsland:1015 ApeMountaine:1020 Phoenix Castle:1011 GM Map :5000 طبعا دى مش كلهم بس دول المهمين والاكثر استخدام نكمل 436.387 دا بقة ياغالى انت وهوا احداثيات الانبسى يعنى مكانة هتقولى ازاى اقولك سهلة يعنى انت مثلا قررت تعمل فى التوين فى مكان ما تروح جايب الاكونت بتاعك وواقف على المكان دا هتلاقى فوق خالص جمب الساعة والتاريخ احداثياتك الى انت واقف عليها اظن لحد حالا تمام نكمل طيب يلا بقة نخش على اهم شىء فى الانبسى 7976111 الرقم دا بقة يامعلم الشىء الى الانبسى هيعملة هتقولى ازاى اقولك يعنى مثلا انت عاوزة يقولك اهلا بيك فى السرفر بتعمل اكشن بالرقم الى انت عاوزة وتحطة فى خانة Task0 dey ودى يعنى اول شىء يقوم الانبسى بعملة طيب الشرح بتاع عمل الاكشن جاى حالا يلا نشوف كدا انت خلصت اول مرحلة بيتكون منها الانبسى الحمد لله التكوين التانى:- Cq_action دى صورة من داخل النافى كات للتكوين علشان تكون فاهم برضة الخانات دا الى لسة كنا بنتكلم عنة وهوا الشىء الى الانبسى المفروض يعملة نشوف مثالة برضة ونظبطة INSERT INTO `cq_action` VALUES ('7976111', '0000', '0000', '0101', '0', 'Hey~medo.hooks'); لاحظ الرقم الى لسة كنا بنقول علية اهو 7976111 ودا الى هوا اول كلمة بيقولها او اول شىء بيعملة الانبسى طيب تعالوا نشرح الاكشن بيكون من اية واحدة واحدة 7976111 دا رقم اول اكشن او ال ID زى ماناس كتير تعرفها 0000 دا الى فية ال Id_next هتقولى يعنى اية اقولك يعنى الشىء الى الانبسى هيعملة بعد كدا يعنى بعدا مايقول ليك hey medo.hooks هيعمل اية تانى 0000 دا سيبك منة حالا هيشرح فى درس 5 انشاء الله 0101 دا بقة يامعلم بيسمى ال type عاداة فى الغلة العربية الكلمة دى تعنى نوع ودا فعلا هنا برضة نوع بس دا نوع كلام او الاكشن الى هيقوم بية الانبسى طيب هتقولى 101 دى بتعبر عن اية اقولك عارف لما بتكلم انبسى مش بيظهر ليك كلام فوق خالص كدا مكتوب فية شوية كلام هوا دى بقة بتاعة طيب يلا بينا نقول برضة شوية انواع مهمة من ال Types 0101:- دى الكلام الى بيقولى الانبسى الى فوق 0102:- دى بقة الاختيارت الى بيعملها الانبسى مثال لو تحب تسافر التوين مش بيقول اختيارات انك تسافر التوين ولا فين بالظبط هى دى 1003:- دا المسئول على انة ينقلك من مكان لمكان اخر هتقولى ازاى اقولك يعنى عاوز انبسى وديك التوين او البيرد او اى مكان دا بيكون التايب السئول عن نقل الشخصية من مكان لاخر 0501:-دا بقة ياسيدى الى بيخلى الانبسى يديك حاجة معينة يعنى مثلا ايتم او غيرة ودا هيكون فى درس رقم 3 انشاء الله 502:- ودا انة تخلى الانبسى ياخد منك ايتم او غيرة وخلى بالك من لان ناس كتير اوى بتتلخبط بين الكلام دا 1001:-ودا بقة لية استخدامات بدائية ودا الى هتكلم علية حالا وحاجات تانية شغل محترفين ودا هيكون فى درس 6 انشاء الله الاستخدام البدائى زى مثلا ياخد منك سبى او يديك سبى وكل دا بيكون على حسب شىء اسمة Param الى هى اخر خانة هنتكلم عليها حالا اهو Param:- دا بقة الكلام الى الانبسى المفروض يعملة يعنى انت حالا قولت لية انت نوع كلام هيكون كذا المفروض بقة تقولة يقول اية او يعمل بالظبط مثال كلمة Hey~medo.hooks كدا لانبسى لما هتكلمة هيقولك الكملة دى فى اعلى جزء بمربع الحوار لانك محدد نوع الكلام وكمان ذكرت الكلام وطبعا كل دا هيطبق على انبسى متكامل بس بفهمك الاول دا جاى ازاى يلا بكمل الجزء الى بعدة Cq_Task دى بقة مش مهمة اوى لان دى زى مابتقول كدا تاكيد للانبسى انة يعمل كدا بس طبعا لازم تكتبها يعنى من الاخر بتقول للانبسى نفذ الكلام دا وطبعا لو نسيتها الانبسى مش هيكلم لانة مش خد منك امر بالتنفيذ تعالوا نشوف مثال والمكونات بسم الله INSERT cq_task VALUES (7976111,7976111,0000,"","",0,0,0,0,1000,0000,0000 ,0,-1,0); طبعا كلة ملاحظ الرقم الى انا معلم علية باللون الازرق ودا الى هوا الاكشن هتقولى طيب لية مكتوب مرتين اقولك كدا لان دا نظامها بتكتب الاكشن مرتين زى مانتا شايف وطبعا اى اكشن بتعملة بعد كدا بيقول لية Cq_task طيب يلا بقة نطبق مع بعض عمل انبسى كدا تجربة Dey el Cq_NPC Edite we dey awel Mar7ala INSERT INTO `cq_npc` VALUES ('4922', '0', '0', 'NanoAge', '0002', '2560', '-1', '1002', '0440', '0390', '569871', '0000', '0000', '0000', '0000', '0000', '0000', '0000', '0', '0', '0', '0', '', '0000', '00', '00', '0000', '00', '0000'); Dey El Cq_Action We dey Tany Mar7la INSERT INTO `cq_action` VALUES ('569871', '569872', '0000', '0101', '0', 'Welcome~To~Dvd4arab~NanoAge~First~Lesson.'); INSERT INTO `cq_action` VALUES ('569872', '15003', '0000', '0102', '0', 'Ok~Thanks. 0'); 3 Mar7la Cq_task lets GO INSERT cq_task VALUES (569871,569871,0000,"","",0,0,0,0,1000,0000,0000,0,-1,0); INSERT cq_task VALUES (569872,569872,0000,"","",0,0,0,0,1000,0000,0000,0,-1,0); طيب فى ناس فهمت بسرعة وناس لسة برضة دماغهم مش مجمعة الكلام دا طيب يلا نرتب ليكم الافكار داخل دماغكم اول مرحلة هوا كتابة الانبسى واول رقم زى ماتفقنا دا رقم الانبسى وزى مانتوا شايفين رقم عشوائى بس اهم شىء مش يكون مكرر وبعد كدا NanoAge ودا لاسم طبعا تقدر تغيرة زى مانتا شايف كدا بعد كدا ال lookFace وانت شايف اهو رقمة 2560 ودا الى لسة جايبينة معاكم من ال npc.ini وشرحت ازاى تجيبوا دا 1002 . 440 .390 دى مكان الانبسى وانا مغيرة اهو زى مانتوا شايفين وبرضة تقدروا تغيروة وانا قايل ازاى 569871 دا بقة رقم الاكشن زى ماقولت ودا بيكون على حسب رقم اول اكشن انت هتعملة وطبعا دا رقم اول اكشن انا كاتبة لو نزلت شوية بعنيك تحت عند المرحلة التانية هتلاقية كدا اول مرحلة تمت تجميعها فى دماغ القارء بحمد الله نخش على بعدة مرحلة ال cq_action انا هحلل ليكم السطرين الى كاتبهم وطبعا انت تقدر تعمل لو الف سطر عادى زى ماتحب بس اهم شىء تمشى على لنظام الى هقولك علية حالا اول سطر دا مكتوب فية الايدى الى هنبتدى بية الانبسى وطبعا بما انة اول شىء يعملة الانبسى بتكتب رقمة فى خانة cq_npc زى ماقولت وبيكون رقم عشوائى زى ماتحب الرقم الى بعد دا بتزود علية واحد الى هوا الرقم دا 569872 هتقولى لية مزود واحد اقولك لان دا هيكتب فى السطر الى بعدة ولو كتبت نفس الرقم طبعا هيفشل لانك عامل الرقم دا قبل كدا ودا اسمة فى النافى كات Id_next يعنى الامر الى الانبسى هيعملة بعد الامر الاول احنا لسة فى السطر الاول خلى بالك نخش على البعد 0101 ودا نوع الكلام او االامر الى هيعمل الانبسى بعد كدا زى مانتوا شايفين بتكتب الكلام الى عاوزة فى ال Param كدا اول سطر خلص نخش على الى بعدة طبعا زى ماقولت بتبتدى بالرقم بتاع السطر الى انت عاملة وبما انك عاملة فى السطر الى قبلة 569872 يبقة دا هيكون 569872 طيب واحد هيقولى انا شايف ان ال IdNext 15003 هقولك ايوة 15003 هتقولى بتاع اية دا ولا لية هقولك دا بقة يامعلم بيقفل معاك مربع الحوار من الاخر بتقول للانبسى ان اخرك الكلمتين دول هتقولى ودى مهمة هقولك اكيد لانك لو مش عملتها الانبسى مش هيكلم اصلا نخش على الى بعدة الى هوا التايب هتلاقية 102 هتقولى لية دا بقة هقولك مش اتفقنا لما تحب تعمل الانبسى اختيارات بتكتب دا دا بيقولى ان الكلام الى هيكون تحت هيكون كلمة No~thanks طيب نخش على اال Param هتقولى انا شايف انك كاتب No~Thanks. 0 وبفى الاخر كاتب صفر هقولك ماهو لازم مع كل اختيار تعمل مسطرة وبعدها صفر ودا علشان تخلى الانبسى مش يعمل شىء بعد ماتكلمة ولو عاوز بعد ماتظغط عليها يعمل ليك شىء بعدة بتكتب معاك الصفر دا الايدى بتاع الحاجة ودى فى درس 2 وبكدة لسة ال Cq_task وزى ماقولت بتتكون على حسب عدد الايديهات والالوان الى انا عاملها هتساعدك كتير مراعات: يجب غلق مربع الحوار بالايدى دا فى الايدى نسكت 15003 يجب وضع العلامة دى ّ بعد كل كلمة واخرى علشان تعمل ليك مسافة بينت كل كلمة واخرى بكدا الدرس الاول خلص لو فى اى استفسار انا فى الموضوع والدرس التانى هيكون فى الرد الى بعدة بس انا منتظر ان الاعضاء تجرب وتقول المشاكل الى واجهتهم علشان محدش يتلخبط ولا شىء يخش فى شىء وحس بحرية تامة فى انك تيجى وتسال بس فى داخل الموضوع وبالنسبة للناس الى بتقول كلام ملهوش لزمة ياريت بلاش منة مش علشان عرفت كلمتين هتعمل بيهم اسد على عباد الله | |
|