Advertisement
RegalChivas

Archer Master

Jul 29th, 2016
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 16.75 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4.  
  5. using SagaDB.Actor;
  6. using SagaMap.Scripting;
  7.  
  8. using SagaLib;
  9. using SagaScript.Chinese.Enums;
  10. //所在地圖:弓手行會(30043000) NPC基本信息:弓手總管(11000018) X:3 Y:3
  11. namespace SagaScript.M30043000
  12. {
  13.     public class S11000018 : Event
  14.     {
  15.         public S11000018()
  16.         {
  17.             this.EventID = 11000018;
  18.         }
  19.  
  20.         public override void OnEvent(ActorPC pc)
  21.         {
  22.             BitMask<JobBasic_04> JobBasic_04_mask = new BitMask<JobBasic_04>(pc.CMask["JobBasic_04"]);
  23.  
  24.             Say(pc, 11000018, 131, "這裡是弓手行會…$R;" +
  25.                                    "呵呵!$R;", "弓手總管");
  26.  
  27.             if (JobBasic_04_mask.Test(JobBasic_04.弓手轉職成功) &&
  28.                 !JobBasic_04_mask.Test(JobBasic_04.已經轉職為弓手))
  29.             {
  30.                 弓手轉職完成(pc);
  31.                 return;
  32.             }
  33.  
  34.             if (pc.Job == PC_JOB.NOVICE)
  35.             {
  36.                 if (JobBasic_04_mask.Test(JobBasic_04.選擇轉職為弓手) &&
  37.                     !JobBasic_04_mask.Test(JobBasic_04.已經轉職為弓手))
  38.                 {
  39.                     弓手轉職任務(pc);
  40.                     return;
  41.                 }
  42.                 else
  43.                 {
  44.                     弓手簡介(pc);
  45.                     return;
  46.                 }
  47.             }
  48.  
  49.             if (pc.JobBasic == PC_JOB.ARCHER)
  50.             {
  51.                 Say(pc, 131, pc.Name + "?$R;" +
  52.                     "$R呵呵$R;" +
  53.                     "過的還好嗎?$R;");
  54.                 switch (Select(pc, "做什麼呢?", "", "我要轉職!", "聽取冒險意見", "買東西", "出售入國許可證", "什麼也不做"))
  55.                 {
  56.                     case 1:
  57.                         進階轉職(pc);
  58.                         break;
  59.  
  60.                     case 2:
  61.                         Say(pc, 131, "箭的命中率不是很高嗎?$R;" +
  62.                             "$R那樣的話,就點撃魔物以後$R;" +
  63.                             "再好好試試吧。$R;" +
  64.                             "$P紅色力量計滿了的話$R;" +
  65.                             "命中率會提升的唷$R;" +
  66.                             "$R一定要試試喔$R;");
  67.                         break;
  68.  
  69.                     case 3:
  70.                         OpenShopBuy(pc, 67);
  71.                         break;
  72.  
  73.  
  74.                     case 4:
  75.                         OpenShopBuy(pc, 105);
  76.                         break;
  77.                     case 5:
  78.                         break;
  79.                 }
  80.             }
  81.         }
  82.  
  83.         void 弓手簡介(ActorPC pc)
  84.         {
  85.             BitMask<JobBasic_04> JobBasic_04_mask = new BitMask<JobBasic_04>(pc.CMask["JobBasic_04"]);
  86.  
  87.             int selection;
  88.  
  89.             Say(pc, 11000018, 131, "我是管理弓手們的弓手總管。$R;" +
  90.                                    "$P咦,您是初心者吧?$R;" +
  91.                                    "$R您想不想做『弓手』呢?$R;" +
  92.                                    "先聽聽我的說明吧。$R;", "弓手總管");
  93.  
  94.             selection = Select(pc, "想做什麼?", "", "我想成為『弓手』!", "『弓手』是什麼樣的職業?", "任務服務台", "什麼也不做");
  95.  
  96.             while (selection != 4)
  97.             {
  98.                 switch (selection)
  99.                 {
  100.                     case 1:
  101.                         Say(pc, 11000018, 131, "想成為『弓手』?$R;" +
  102.                                                "$這樣啊,$R;" +
  103.                                                "那嘗試做看看『自己做的箭』一個。$R;" +
  104.                                                "$P讓我知道您有具備成為『弓手』的才能。$R;", "弓手總管");
  105.  
  106.                         switch (Select(pc, "接受嗎?", "", "沒問題", "才不要"))
  107.                         {
  108.                             case 1:
  109.                                 JobBasic_04_mask.SetValue(JobBasic_04.選擇轉職為弓手, true);
  110.  
  111.                                 Say(pc, 11000018, 131, "材料是『咕咕的翅膀』一個 +『樹枝』一個。$R;" +
  112.                                                        "找「武器製作所店員」製作『自己做的箭』,$R;" +
  113.                                                        "拿『自己做的箭』一個給我看吧。$R;", "弓手總管");
  114.                                 break;
  115.                                
  116.                             case 2:
  117.                                 Say(pc, 11000018, 131, "是嗎?$R;" +
  118.                                                        "$R『弓手』做自己所需的武器是必須的呢。$R;", "弓手總管");
  119.                                 break;
  120.                         }
  121.                         return;
  122.  
  123.                     case 2:
  124.                         Say(pc, 11000018, 131, "弓手這職業比較適合$R;" +
  125.                                                "埃米爾族和道米尼族唷!$R;" +
  126.                                                "$R這樣您還要聽下去嗎?$R;", "弓手總管");
  127.  
  128.                         switch (Select(pc, "還要聽下去嗎?", "", "我要聽", "不聽"))
  129.                         {
  130.                             case 1:
  131.                                 Say(pc, 11000018, 131, "『弓手』是使用箭的職業。$R;" +
  132.                                                        "$R擅長遠距離攻擊,$R;" +
  133.                                                        "所以基本上不可能會受到傷害。$R;" +
  134.                                                        "$P相反,如果近距離戰鬥,$R;" +
  135.                                                        "就不是很吃香了。$R;" +
  136.                                                        "$P但是到將來可以成為$R;" +
  137.                                                        "使用手槍的『神槍手』呢!$R;" +
  138.                                                        "$R所以現在只好忍一忍囉!$R;" +
  139.                                                        "$P弓手行會不像別的職業會介紹任務。$R;" +
  140.                                                        "$R所以在找工作的話,$R;" +
  141.                                                        "就要上「咖啡館」$R;" +
  142.                                                        "或者成為生產系的護衛,$R;" +
  143.                                                        "來賺取報酬吧!$R;", "弓手總管");
  144.                                 break;
  145.                                
  146.                             case 2:
  147.                                 break;
  148.                         }
  149.                         break;
  150.  
  151.                     case 3:
  152.                         Say(pc, 11000018, 131, "成為『弓手』我就幫您介紹任務。$R;", "弓手總管");
  153.                         break;
  154.  
  155.                     case 4:
  156.                         break;
  157.                 }
  158.  
  159.                 selection = Select(pc, "想做什麼?", "", "我想成為『弓手』喔", "『弓手』是什麼樣的職業?", "任務服務台", "什麼也不做");
  160.             }
  161.         }
  162.  
  163.         void 弓手轉職任務(ActorPC pc)
  164.         {
  165.             BitMask<JobBasic_04> JobBasic_04_mask = new BitMask<JobBasic_04>(pc.CMask["JobBasic_04"]);
  166.  
  167.             if (!JobBasic_04_mask.Test(JobBasic_04.弓手轉職任務完成))
  168.             {
  169.                 給予自己做的箭(pc);
  170.             }
  171.  
  172.             if (JobBasic_04_mask.Test(JobBasic_04.弓手轉職任務完成) &&
  173.                 !JobBasic_04_mask.Test(JobBasic_04.弓手轉職成功))
  174.             {
  175.                 申請轉職為弓手(pc);
  176.                 return;
  177.             }
  178.         }
  179.  
  180.         void 給予自己做的箭(ActorPC pc)
  181.         {
  182.             BitMask<JobBasic_04> JobBasic_04_mask = new BitMask<JobBasic_04>(pc.CMask["JobBasic_04"]);
  183.  
  184.             if (CountItem(pc, 10026401) > 0)
  185.             {
  186.                 Say(pc, 11000018, 131, "的確是『自己做的箭』。$R;" +
  187.                                        "$R您真的很厲害啊!$R;" +
  188.                                        "$P我開始期待您的將來了。$R;" +
  189.                                        "$R既然您達成任務了,$R;" +
  190.                                        "從現在開始,您就是『弓手』。$R;", "弓手總管");
  191.  
  192.                 switch (Select(pc, "要轉職為『弓手』嗎?", "", "轉職為『弓手』", "還是算了吧"))
  193.                 {
  194.                     case 1:
  195.                         JobBasic_04_mask.SetValue(JobBasic_04.弓手轉職任務完成, true);
  196.  
  197.                         PlaySound(pc, 2030, false, 100, 50);
  198.                         TakeItem(pc, 10026401, 1);
  199.                         Say(pc, 0, 0, "交出『自己做的箭』!$R;", " ");
  200.                         break;
  201.                        
  202.                     case 2:
  203.                         Say(pc, 11000018, 131, "如果想法變了,再來和我說話吧。$R;", "弓手總管");
  204.                         break;
  205.                 }
  206.             }
  207.             else
  208.             {
  209.                 Say(pc, 11000018, 131, "材料是『咕咕的翅膀』一個 +『樹枝』一個。$R;" +
  210.                                        "找「武器製作所店員」製作『自己做的箭』,$R;" +
  211.                                        "拿『自己做的箭』一個給我看吧。$R;", "弓手總管");
  212.             }
  213.         }
  214.  
  215.         void 申請轉職為弓手(ActorPC pc)
  216.         {
  217.             BitMask<JobBasic_04> JobBasic_04_mask = new BitMask<JobBasic_04>(pc.CMask["JobBasic_04"]);
  218.  
  219.             Say(pc, 11000018, 131, "那麼! 我就給您象徵『弓手』的$R;" +
  220.                                    "『弓手紋章』吧!$R;", "弓手總管");
  221.  
  222.             if (pc.Inventory.Equipments.Count == 0)
  223.             {
  224.                 JobBasic_04_mask.SetValue(JobBasic_04.弓手轉職成功, true);
  225.  
  226.                 PlaySound(pc, 3087, false, 100, 50);
  227.                 ShowEffect(pc, 4131);
  228.                 Wait(pc, 3960);
  229.  
  230.                 Say(pc, 11000018, 131, "…$R;" +
  231.                                        "$P好棒啊!$R;" +
  232.                                        "您身上已經烙印了漂亮的紋章。$R;" +
  233.                                        "$R從今以後,$R;" +
  234.                                        "您就成為代表我們的『弓手』了。$R;", "弓手總管");
  235.  
  236.                 PlaySound(pc, 4012, false, 100, 50);
  237.                 ChangePlayerJob(pc, PC_JOB.ARCHER);
  238.  
  239.                 Say(pc, 0, 0, "您已經轉職為『弓手』了!$R;", " ");
  240.  
  241.                 Say(pc, 11000018, 131, "有一份小禮物,要送給您唷!$R;" +
  242.                                        "先穿上衣服後,再和我說話吧。$R;" +
  243.                                        "$R還有別忘了整理行李喔!$R;", "弓手總管");
  244.             }
  245.             else
  246.             {
  247.                 Say(pc, 11000018, 131, "紋章是烙印在皮膚上的,$R;" +
  248.                                        "先把裝備脫掉吧。$R;", "弓手總管");
  249.             }
  250.         }
  251.  
  252.         void 弓手轉職完成(ActorPC pc)
  253.         {
  254.             BitMask<JobBasic_04> JobBasic_04_mask = new BitMask<JobBasic_04>(pc.CMask["JobBasic_04"]);
  255.  
  256.             if (pc.Inventory.Equipments.Count != 0)
  257.             {
  258.                 JobBasic_04_mask.SetValue(JobBasic_04.已經轉職為弓手, true);
  259.  
  260.                 Say(pc, 11000018, 131, "這是送給您的『練習弓』和『腰箭筒』。$R;" +
  261.                                        "$R您一定要好好加油唷!$R;", "弓手總管");
  262.  
  263.                 PlaySound(pc, 2040, false, 100, 50);
  264.                 GiveItem(pc, 60090050, 1);
  265.                 GiveItem(pc, 50070400, 1);
  266.                 Say(pc, 0, 0, "得到『練習弓』和『腰箭筒』!$R;", " ");
  267.  
  268.                 LearnSkill(pc, 2035);
  269.                 Say(pc, 0, 0, "學到『投擲武器製作』!R;", " ");
  270.             }
  271.             else
  272.             {
  273.                 Say(pc, 11000018, 131, "先穿上衣服後,再和我說話吧。", "弓手總管");            
  274.             }
  275.         }
  276.  
  277.         void 進階轉職(ActorPC pc)
  278.         {
  279.             BitMask<Job2X_04> Job2X_04_mask = pc.CMask["Job2X_04"];
  280.  
  281.             if (CountItem(pc, 10020751) >= 1 && Job2X_04_mask.Test(Job2X_04.進階轉職開始) && pc.Job == PC_JOB.ARCHER)
  282.             {
  283.                 Say(pc, 131, "來啦,考試怎樣了?$R;" +
  284.                     "$P呵呵!是『獵人認證書』呢。$R;" +
  285.                     "$R從現在開始,$R您就成為人人羨慕的『獵人』了$R;");
  286.                 進階轉職選擇(pc);
  287.                 return;
  288.             }
  289.  
  290.             if (Job2X_04_mask.Test(Job2X_04.進階轉職開始) && pc.Job == PC_JOB.ARCHER)
  291.             {
  292.                 Say(pc, 131, "獵人的轉職考試是在$R;" +
  293.                     "『奥克魯尼亞的東海岸』。$R;" +
  294.                     "$R到東海岸的商隊帳篷附近$R;" +
  295.                     "找『帕美拉小姐』,$R;" +
  296.                     "在她那裡參加轉職考試吧。$R;" +
  297.                     "$P從她那裡得到獵人認證書的話$R;" +
  298.                     "就承認您成為『獵人』唷。$R;");
  299.                 return;
  300.             }
  301.  
  302.             if (pc.JobLevel1 > 29 && pc.Job == PC_JOB.ARCHER)
  303.             {
  304.                 Job2X_04_mask.SetValue(Job2X_04.進階轉職開始, true);
  305.                 //_3a55 = true;
  306.                 Say(pc, 131, "您終於達到挑戰高級職業的條件了$R;" +
  307.                     "$P是的。$R;" +
  308.                     "$R也就是從『弓手』轉職為『獵人』。$R;");
  309.                 return;
  310.             }
  311.  
  312.             Say(pc, 131, "不行,$R;" +
  313.                 "以您的實力,要轉職太勉强了,$R;" +
  314.                 "還是先去累積經驗吧。$R;");
  315.         }
  316.  
  317.         void 進階轉職選擇(ActorPC pc)
  318.         {
  319.             BitMask<Job2X_04> Job2X_04_mask = pc.CMask["Job2X_04"];
  320.  
  321.             switch (Select(pc, "真的要轉職嗎?", "", "我想成為獵人", "聽取關於獵人的注意事項", "還是算了吧"))
  322.             {
  323.                 case 1:
  324.                     Say(pc, 131, "那麼就給您烙印上這象徵獵人的$R;" +
  325.                         "『獵人紋章』吧$R;");
  326.                     if (pc.Inventory.Equipments.Count == 0)
  327.                     {
  328.                         TakeItem(pc, 10020751, 1);
  329.                         ChangePlayerJob(pc, PC_JOB.STRIKER);
  330.                         pc.JEXP = 0;
  331.                         //PARAM ME.JOB = 33
  332.                         PlaySound(pc, 3087, false, 100, 50);
  333.                         ShowEffect(pc, 4131);
  334.                         Wait(pc, 4000);
  335.                         Say(pc, 131, "…$R;" +
  336.                             "$P好棒啊,$R;" +
  337.                             "您身上已經烙印了漂亮的紋章。$R;" +
  338.                             "$R從今以後,$R您就成為代表我們的『獵人』了。$R;");
  339.                         PlaySound(pc, 4012, false, 100, 50);
  340.                         Say(pc, 131, "您已轉職為『獵人』了。$R;");
  341.                         Job2X_04_mask.SetValue(Job2X_04.進階轉職結束, true);
  342.                         return;
  343.                     }
  344.                     Say(pc, 131, "…$R;" +
  345.                         "防禦太高的話,就無法烙印紋章了$R;" +
  346.                         "請換上輕便的服裝後,再來吧。$R;");
  347.                     break;
  348.                 case 2:
  349.                     Say(pc, 131, "先要和您講清楚。$R;" +
  350.                         "成為『獵人』的話,$R職業LV會成為1。$R;" +
  351.                         "$P弓手的技能在轉職以後也可以學到。$R;" +
  352.                         "$R但是有一點要注意的,$R您要聽好了。$R;" +
  353.                         "$P『技能點數』是和職業等級$R是完全分開的。$R;" +
  354.                         "$R學習弓手技能時獲得的技能點數$R;" +
  355.                         "只有在職業是弓手的時候才能累積$R;" +
  356.                         "$P轉職以後雖然不會消失$R;" +
  357.                         "但是弓手技能點數不會再提升$R;" +
  358.                         "$P跟技能點數一樣,$R;" +
  359.                         "轉職後弓手的技能學習等級$R也不會上升的。$R;" +
  360.                         "$P也就是説$R除了現在開始學習的技能以外,$R;" +
  361.                         "以後就不能學習。$R;" +
  362.                         "$R如果還有想學的技能,$R還是學完以後才轉職吧$R;");
  363.                     進階轉職選擇(pc);
  364.                     break;
  365.                 case 3:
  366.                     break;
  367.             }
  368.         }
  369.     }
  370. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement