15-03-2020, 04:20 AM
|
#1
|
|
• الانـتـسـاب » Feb 2011
|
• رقـم العـضـويـة » 80511
|
• المشـــاركـات » 66
|
• الـدولـة » October
|
• الـهـوايـة » Electronics
|
• اسـم الـسـيـرفـر »
|
• الـجـنـس » Male
|
• نقـاط التقييم » 10
|
|
|
رد: استفسارات
بص علشان تعمل اي سكرول , لازم تخليها تعتمد علي Effect او حدث معين بيحصل في الجيم علشان يقدر ياخد اكشن ... ف مثلا من الحاجات المهم اوي واللي انا بشتغل بيها ,, هتروح علي SHARD_LOG وهتفتح ال Procedures الموجودة فيه ... وهتلاقي 2 بروسيدير مهمين اوي اوي
واحد اسمة _AddLogItem والتاني اسمة _AddLogChar ... لو هتعمل سكرولة تعمل حدث معين يبقى شغلك كلة _AddLogItem ف انت خلي كل شغلك عليه .
هتفتحة , اول حاجة هتلاقي حاجة معمولها Declare اسمها @ItemRefID
ف انت اول حاجة هتعملها انت عايز تسأل الداتابيز لو حد ضرب السكرول دي , نفذ دة
ف هتستخدم if Statement
هتقول :
If (@ItemRefID = رقم الID بتاع السكرول هتجيبة من _RefObjCommon ... بس تكون سكرول انت ضايفها بنفسك جديدة )
begin
وهتكتب هنا المفروض ينفذ اية
وبعدين تكتب
end
طيب الكوايري نفسة بقى عبارة عن اية ؟
انت قلت عايز تعمل ريسيت Skill يبقى هتعمل حاجتين
رقم واحد هتخلي الماستري لفل 0 كلها
رقم اتنين هتمسح ال Skills كلها
يبقى هتقولة
Update _CharSkillMastery
Set Level = 0 where CharID = @CharID
كدة احنا خلينا الماستري 0 لاي سلاح هو فاتحة
طيب هنكمل بقى .. عايزين نمسح ال Skills كلها ما عدا ال Basic Skills الخاصة بال Normal Hit بالسلاح , يعني اللي هي بيضرب Basic attach
طيب هنقولة اية ؟
Delete From _CharSkill where CharID = @CharID and SkillId not in (Select SkillID from _RefCharDefault_Skill)
كدة تبقى خلصت الكويري كلة , اهم حاجة انك تتعلم خبايا اللعبة فين , وكل بروسيدير وكل table خاص ب اية .
الكود دة كلة هتضيفة علي _ِAddLogItem في SHARD_LOG
كود PHP:
If (@ItemRefID = 'xxxxx')
begin
Update _CharSkillMastery
SET Level = 0 Where CharID=@CharID
Delete from _CharSkill where CharID=@CharID and SkillID not in (Select SkillID from _RefCharDefault_skill)
end
وهتعمل Execute وخلاص علي كدة اضرب الايتم وهتعمل ريسيت لل Skills 
|
|
|