Advertisement
KidaCoding

Untitled

Jun 13th, 2024
134
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 9.77 KB | Source Code | 0 0
  1.  
  2.         [NpcAttribute(NpcID.GreatMerchant)]
  3.         public static void GreatMerchant(Client.GameClient client, ServerSockets.Packet stream, byte Option, string Input, uint id)
  4.         {
  5.             Dialog data = new Dialog(client, stream);
  6.             var ActiveQuest = Database.QuestInfo.GetFinishQuest((uint)NpcID.GreatMerchant, client.Player.Class, 706);
  7.             switch (Option)
  8.             {
  9.                 case 0:
  10.                     {
  11.  
  12.                         if (!client.Player.QuestGUI.CheckQuest(ActiveQuest.MissionId, MsgQuestList.QuestListItem.QuestStatus.Finished))
  13.                         {
  14.                             data.AddText("We have various kinds of stores in the market. But if you are interested in some rare items with special effect, I will be the")
  15.                                 .AddText("~perfect one to help you with your needs.")
  16.              .AddOption("Well,~impress~me.", 1)
  17.                         .AddOption("Purchase~Item.", 20)
  18.                        .AddAvatar(174).FinalizeDialog();
  19.                         }
  20.                         else
  21.                             goto case 20;
  22.  
  23.                         break;
  24.                     }
  25.                 case 20:
  26.                     {
  27.                         ActionQuery action = new ActionQuery()
  28.                         {
  29.                             ObjId = client.Player.UID,
  30.                             dwParam = (uint)Role.Flags.NpcType.DialogAndGui,
  31.                             Type = ActionType.OpenGuiNpc,
  32.                             Timestamp = (int)client.ActiveNpc,
  33.                             wParam1 = client.Player.X,
  34.                             wParam2 = client.Player.Y,
  35.                             dwParam3 = client.Player.Map
  36.                         };
  37.                         client.Send(stream.ActionCreate(&action));
  38.                         break;
  39.                     }
  40.                 case 1:
  41.                     {
  42.                         if (client.Inventory.Contain(722700, 1) && client.Player.QuestGUI.CheckQuest(ActiveQuest.MissionId, MsgQuestList.QuestListItem.QuestStatus.Accepted) || client.Player.QuestGUI.CheckObjectives(ActiveQuest.MissionId, 1))
  43.                         {
  44.                             if (client.Player.QuestGUI.CheckObjectives(ActiveQuest.MissionId, 1))
  45.                             {
  46.                                 data.AddText("How do you like it? I have lots of those items. When you need them, don`t hesitate to let me know!")
  47.                            .AddOption("Brilliant.", 5)
  48.                            .AddAvatar(174).FinalizeDialog();
  49.                             }
  50.                             else
  51.                             {
  52.                                 data.AddText("Just right click this EXP Potion to activate a 10 minute double EXP bonus. Talk to me again when you`re done.")
  53.                              .AddOption("Okay.", 255)
  54.                              .AddAvatar(174).FinalizeDialog();
  55.                             }
  56.                             break;
  57.                         }
  58.                         data.AddText("You can buy some unusual items in the Shopping Mall. To enter it, talk to the Great Merchant")
  59.                               .AddText("~in the Market, or click the Shopping Mall Button on the lower left of your screen when you are level 70 or have some CPs on you")
  60.            .AddOption("CPs?", 2)
  61.                      .AddAvatar(174).FinalizeDialog();
  62.  
  63.                         break;
  64.                     }
  65.                 case 2:
  66.                     {
  67.                         data.AddText("I guess you don`t know what that is yet, right?")
  68.                                 .AddText("~CP is short for Conquer Points, which are used to purchase special items from the Shopping Mall.")
  69.                             .AddOption("I~see.", 3)
  70.                             .AddAvatar(174).FinalizeDialog();
  71.  
  72.                         break;
  73.                     }
  74.                 case 3:
  75.                     {
  76.                         data.AddText("Please take this EXP Potion as a present, you will obtain a 10 mins double EXP bonus when using it.")
  77.                               .AddOption("Thank~you!", 4)
  78.                               .AddAvatar(174).FinalizeDialog();
  79.  
  80.                         break;
  81.                     }
  82.                 case 4:
  83.                     {
  84.                         if (!client.Inventory.HaveSpace(1))
  85.                         {
  86.                             data.AddText("Please make 1 more space in your inventory.")
  87.                                   .AddOption("Let me check.", 255)
  88.                                   .AddAvatar(174).FinalizeDialog();
  89.                             break;
  90.                         }
  91.                         client.Inventory.Add(stream, 722700);
  92.                         client.CreateBoxDialog("You`ve~received~an~EXP~Potion.~Right~click~it~to~use~it.");
  93.                         client.Player.QuestGUI.Accept(ActiveQuest, 0);
  94.  
  95.                         break;
  96.                     }
  97.                 case 5:
  98.                     {
  99.                         if (client.Player.QuestGUI.FinishQuest(ActiveQuest.MissionId))
  100.                         {
  101.                             client.GainExpBall(100, true, Role.Flags.ExperienceEffect.angelwing);
  102.                             client.Player.SendString(stream, MsgStringPacket.StringID.Effect, true, "recovery");
  103.                             client.CreateBoxDialog("You`ve~learned~about~CPs~and~the~Shopping~Mall,~and~received~EXP~worth~1/12~of~an~EXP~Ball!");
  104.                         }
  105.  
  106.                         break;
  107.                     }
  108.  
  109.             }
  110.         }
  111.         [NpcAttribute(NpcID.MerchantClerk)]
  112.         public static void MerchantClerk(Client.GameClient client, ServerSockets.Packet stream, byte Option, string Input, uint id)
  113.         {
  114.             Dialog data = new Dialog(client, stream);
  115.             switch (Option)
  116.             {
  117.                 case 0:
  118.                     {
  119.                         if (client.Player.Merchant == 255)
  120.                         {
  121.                             data.AddText("You have been a merchant now. All of your equipment and items are not protected by the Forbidden Sale system")
  122.                                 .AddText("~in the game, and TQ Digital is not responsible for any loss related.")
  123.                                 .AddText("Click the Cancel button to reset your merchant account to be normal. A normal account will be protected by all the")
  124.                                 .AddText("~trading protection measures in case of equipment loss resulted from accounts being hacked.")
  125.                                 .AddOption("I~want~to~cancel~my~merchant~account.", 3)
  126.                                 .AddOption("Let~me~think~it~over.", 255)
  127.                                 .AddAvatar(94).FinalizeDialog();
  128.                             //client.SendSysMesage("You have canceled merchant account.");
  129.                         }
  130.                         else if (client.Player.Merchant == 1)
  131.                         {
  132.                             data.AddText("Your merchant application is being processed. Please wait for 5 days. All of your equipment and items")
  133.                                 .AddText("~are not protected by the Forbidden Sale system in the game, and TQ Digital is not responsible for any loss related.")
  134.                                 .AddText("Click the Cancel button to reset your merchant account to be normal. A normal account will be protected by all the")
  135.                                 .AddText("~trading protection measures in case of equipment loss resulted from accounts being hacked.")
  136.                                 .AddOption("Cancel~my~application,~please.", 2)
  137.                                 .AddOption("Let~me~think~it~over.", 255)
  138.                                 .AddAvatar(94).FinalizeDialog();
  139.                             //client.SendSysMesage("You have canceled the application.");
  140.                         }
  141.                         else
  142.                         {
  143.                             data.AddText("A merchant account is for any who frequently engages in commercial activities. A merchant account is not protected")
  144.                                 .AddText("~by the virtual property protection measures. So TQ Digital will be not responsible for any loss related.")
  145.                                 .AddText("After you apply to be a merchant account, tt will take you 5 days to censor your application. You can reset it to be a normal account at any time.")
  146.                                 .AddText("Are you ready to be a merchant? i can make u merchant in instant")
  147.                                 .AddOption("I~want~to~be~a~merchant.", 1)
  148.                                 .AddOption("Let~me~think~it~over.", 255)
  149.                                 .AddAvatar(94).FinalizeDialog();
  150.                             // client.SendSysMesage("You have applied for a merchant.");
  151.                         }
  152.                         break;
  153.                     }
  154.                 case 3:
  155.                     {
  156.                         client.Player.Merchant = 0;
  157.                         client.SendSysMesage("You have canceled merchant account.");
  158.                         break;
  159.                     }
  160.                 case 2:
  161.                     {
  162.                         client.Player.Merchant = 0;
  163.                         client.SendSysMesage("You have canceled the application.");
  164.                         break;
  165.                     }
  166.                 case 1:
  167.                     {
  168.                         client.Player.Merchant = 1;
  169.                         client.Player.MerchantApplicationEnd = DateTime.Now.AddSeconds(1);
  170.                         client.SendSysMesage("You have applied for a merchant.");
  171.                         break;
  172.                     }
  173.             }
  174.         }
Tags: MS
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement