الموقع العربي الاول للعبة Silkroad Online

الموقع العربي الاول للعبة Silkroad Online (https://silkroad4arab.com/vb/index.php)
-   قسم الاسئلة و الاستفسارات لعمل السيرفرات الخاصة (https://silkroad4arab.com/vb/forumdisplay.php?f=226)
-   -   عاوز اعمل quest ميشتغلش غير لما تعمل use لitem معين (https://silkroad4arab.com/vb/showthread.php?t=579656)

gameman 22-02-2015 09:32 AM

عاوز اعمل quest ميشتغلش غير لما تعمل use لitem معين
 
عاوز اعمل quest ميشتغلش غير لما تعمل use لitem معين

يعني الquest يفضل مختفي لحد متستعمل الitem

Hamza FiGo 22-02-2015 10:06 AM

رد: عاوز اعمل quest ميشتغلش غير لما تعمل use لitem معين
 
تمت الموافقة

حضرتك انا مش فاهم . وشوفت النظام دا فين لو موجود ؟

Dev. iLegend 22-02-2015 03:31 PM

رد: عاوز اعمل quest ميشتغلش غير لما تعمل use لitem معين
 
وضح أكتر لو سمحت ..

ممكن انفذ الفكرة دي بس قوللى تفاصيل أكتر اقدر اجمع فكرة السيستم ..

أرجوا الاهتمام بالرد ..

gameman 23-02-2015 12:08 AM

رد: عاوز اعمل quest ميشتغلش غير لما تعمل use لitem معين
 
يعني مثلا لو معاك instant return scroll as a reward from quest no1 مينفعش تخش الquest no2 غير لما تستعملها او هو ياخدها منك

Dev. iLegend 23-02-2015 07:32 AM

رد: عاوز اعمل quest ميشتغلش غير لما تعمل use لitem معين
 
سهلة إنشاء الله اصبر بس شوية على مخلص الشغل اللى معايا

وهعملها حددلى بس نظام الكويستات Hunt or Collect ومن انهى موبس للكويستين الاول والتاني وريوارد الكويست التاني هتبقا ايه

Dev. iLegend 23-02-2015 08:12 AM

رد: عاوز اعمل quest ميشتغلش غير لما تعمل use لitem معين
 

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


خد ممكن تفهم من دي وتعملها بنفسك
دي بتاعت الكويست التاني اللى هيعتمد على الكويست الاول


كود PHP:

function QNO_SECOND_QUEST() -- you should match this with your filename!
  
QUESTID LuaGetQuestID("QNO_SECOND_QUEST") -- IMPORTANTmust match with the name in your database
  LuaSetStartCodition
(2QSC_QUESTQSC_LEVEL110101) -- Range level to take this Quest
  QM_CONVERSATION 
-- Leave it don't change
  LuaSetStartMethod(QM_CONVERSATION, 1, "NPC_NAME") -- NPC Name
  LuaInsertMissionOrCompleteNpc("NPC_NAME") -- NPC Name
  LuaQuestInsertNpc(1, "NPC_NAME") -- NPC Name
  LuaInsertDependancyQuests(1, "QNO_FIRST_QUEST") -- First Quest Name to active this quest when first quest done.
  LuaSetAchievementLimit(1) -- Leave it don'
t change
  LuaSetMissionDataSize
(QUESTID1) -- Number of quest missions
  LuaSetCollectionItemMissionData
(QUESTID0MISSION_TYPE_GATHER_ITEM_FROM_MONSTER"SN_CON_QNO_SECOND_QUEST"5"NPC_NAME"11"ITEM_QNO_SECOND_QUEST""MOB_SD_SPHINX_2"100"MOB_SD_NEPHTHYS_2"100"MOB_SD_SEKHMET_2"100"MOB_SD_HORUS_2"100"MOB_SD_OSIRIS_2"100) -- Quest Mission No1.
  
InsertQuestMenuStringList("NPC_NAME"8"BASIC_MENUSTRING_GREETING""SN_NPC_NAME_BS""BASIC_MENUSTRING_REQUEST_ACCEPT_QUEST""SN_TALK_QNO_NPC_NAME_01""BASIC_MENUSTRING_AT_ACCEPT""SN_TALK_QNO_NPC_NAME_02""BASIC_MENUSTRING_AT_DENY""SN_TALK_QNO_NPC_NAME_03""BASIC_MENUSTRING_NOT_ACHIEVED""SN_TALK_QNO_NPC_NAME_04""BASIC_MENUSTRING_INVENTORY_FULL""SN_TALK_QNO_NPC_NAME_05""BASIC_MENUSTRING_ACHIEVED""SN_TALK_QNO_NPC_NAME_06""BASIC_MENUSTRING_ACHIEVED_NOW""SN_TALK_QNO_NPC_NAME_07") -- NPC Chat Links.
  
LuaSetMissionCompleteNum(0) -- Quest Complete count .. leave it dont change.
  
PAY_ITEM_METHOD_EXACT -- Leave it don't change.
  LuaSetAchievedItem(0, 0, 0, 0, "ITEM_REWARD_CODENAME128", 1) -- Reward item codename and item count.
  LuaSetAchievedSkillPont(0) -- Reward skill point.
end 



وطبعاً سكريبت الكويست الاول هتعمله من الموضوع دا
Here



gameman 23-02-2015 03:53 PM

رد: عاوز اعمل quest ميشتغلش غير لما تعمل use لitem معين
 
انت لسة مفهمتنيش المشكلة مش اني اربط ال2 ببعض المشكلة اني اخلي الquest ياخد منك item معين قبل متبدقوا
او قبل متخلصوا

يعني لو معاك Global chatting مينفعش تاخد reward من غير متكون استعملتهم

يأما الquest ياخدها منك

Dev. iLegend 23-02-2015 10:24 PM

رد: عاوز اعمل quest ميشتغلش غير لما تعمل use لitem معين
 
بص يا باشا اولاً انا لو فكرت اعملك السيستم دا مش هيبقا الايتم الاولاني ليه استخدام هو هيبقا عبارة عن ريترن سكرول ترجعك المدينة وتنشطلك استخدام الكويست التاني ..
دا بالنظام العادي خالص انك تعمل كويست وتخليه يدي ريوارد سكرول والاسكرول دي تعمل Active new quest اللى هو ازاي بقا .. انت هتعمل فى AddNewChar يضيف سطر فى dbo._CharQuest وفي حاجة فى السطر دا بتخلى الكويست Active ot Deactive

لكن الطريقة اللى انت تقصدها .. شبه مستحيلة .. انك تضيف فى الاتنين كويست ايتم زي 50 جلوبال ولازم يخلصهوم .. ما لو كدا اعمل كويستين منفصلين واعملهم من وحوش صعبة .. غير كدا لو عايز يبقا في متعة اكتر فى الكويست اعمل كويستين معتمدين على بعض او 3 كويستات كمان والكويست الاخير اعمله ريوارد Title Name او ايتم كويس بدماغك بقا انا شرحتلك الطريقتين اللى ممكن يتعملوا .. لكن اللى بتتكلم عليه دا شغل سكريبتات كويست وانا معرفش اصلاً الباراميترات اللى رايحة للجيم سيرفر واسمائها عشان اتحكم .. نظام الكويستات دا بتاخد اي ملف كويست قديم وتعدل عليه وممكن تجمع بين كذا سكريبت بس برضه كوبي باست من غير ما تفهم .. للأسف الكويست شغله متعلق بالجيم سيرفر ..

gameman 23-02-2015 10:49 PM

رد: عاوز اعمل quest ميشتغلش غير لما تعمل use لitem معين
 
طب ازاي اخلي ال scroll تعمل activate للnew quest

gameman 23-02-2015 10:53 PM

رد: عاوز اعمل quest ميشتغلش غير لما تعمل use لitem معين
 
و معلش تعبتك انا اسف

gameman 24-02-2015 05:41 AM

رد: عاوز اعمل quest ميشتغلش غير لما تعمل use لitem معين
 
close ## i am sorry for wasting time

no need any more i know i m a big noby can't Fix my stuff

gameman 24-02-2015 05:41 AM

رد: عاوز اعمل quest ميشتغلش غير لما تعمل use لitem معين
 
close ## i am sorry for wasting time

no need any more i know i m a big noby can't Fix my stuff

Dev. iLegend 24-02-2015 05:39 PM

رد: عاوز اعمل quest ميشتغلش غير لما تعمل use لitem معين
 
بص يا ريس الخطوات اللى هتمشي عليها كالآتي :
اولاً : هتعمل كويست عادي جداً وتحددله المهمة عشان الكويست يكمل ان كانت Hunt or Collect Quest item وتحددله الريوارد سكرولاية جديدة تكون عبارة عن سطور ريترن سكرول ..

ثانياً : هتعمل الكويست التاني اللى هيبقا معتمد تنشيطه على الاسكرول اللى هيا ريوارد الكويست الاول . وتحددله برضه المهمة بتاعته والريوارد برضه ..

يفضل الاتنين فى نفس الان بي سي ..

المهم فى الاول هتسيب الاتنين شغالين لأي كراكتر .. هتروح بأي كراكتر بالليفل اللى انت محدده للكويست .. وتاخد الكويست التاني مش الاول وتخلصه .. وبالـ CharID بتاع الكراكتر اللى انت خدت بيها الكويست التاني وخلصته .. تروح فى جدول dbo._CharQuest فى الـ Shard وتشوف السطر اللي فيه اسم الكراكتر وجنبه ID الكويست التاني ..
او استخدم الكيوري دي ..

كود PHP:

Select  From [SRO_VT_SHARD].[dbo].[_CharQuestWhere CharID 'Write here  CharID' and QuestID 'Write here Quest ID' 



هيجيلك سطر مثلاً زي دا ..

كود PHP:

6716    1043    4    1    2015-01-21 17:24:00    2015-02-23 00:05:00    0    0 



تمام جيبت سطر الكويست وهو خلصان .. هتروح فى AddNewChar وتخليه يضيف مع New Char Create السطر دا بـ ID الكراكتر الجديدة معني كدا ان الكويست الاول شغال تمام انك تاخده من الان بي سي والتاني مع اي كراكتر جديدة يضيف سطر ان الكراكتر عاملاه وميبقاش نشط انك تاخده من الان بي سي .. تمام ..

تيجي بقا مهمة الاسكرول الريوارد بتاعت الكويست الاولاني ..
هتضيفلها امر فى AddLogItem فى الـ ShardLog انها تعمل الـ AchievementCount دي بدل 1 تخليها 0 ..

او خد دا وحط الـ Quest ID و RefObjID بتاع الاسكرول

كود PHP:

    IF @Operation 41 And @ItemRefID 'Write here RefItemID of Scroll'
      
Begin
         Update 
[SRO_VT_SHARD].[dbo].[_CharQuestSet AchievementCount 0  Where CharID = @CharID and QuestID 'Write here Quest ID'
      
End 



ارجوا ان اكون وضحت الشرح بالتفصيل ..

ملحوظة : على الكراكترات القديمة الموضوع دا مش هيشتغل لازم تضيف انت السطر اللى المفروض يتضاف بالـ AddNewChar بإديك لكل الكراكترات القديمة عن طريق CharID من dbo._Char


الساعة الآن 03:36 AM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2025, vBulletin Solutions, Inc.