Advertisement
Guest User

Donate[ Chi , Jiang ]

a guest
Mar 28th, 2017
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 16.80 KB | None | 0 0
  1. ---- PacketHangler , void useitem
  2.  
  3. #region Chi Item
  4. case 3001607:
  5. {
  6. Npcs dialog = new Npcs(client);
  7. if (client.ChiPowers.Count == 0)
  8. {
  9.  
  10. dialog.Text("Sorry But You Don't Have chi Yet.");
  11. dialog.Option("I'll think about it!", 255);
  12. dialog.Send();
  13. return;
  14. }
  15.  
  16. dialog.Text("Hey , Here i Can Make Your Chi Epic you have 17 Chance to use only then item will dissapeard!.");
  17. for (int i = 0; i < client.ChiPowers.Count; i++)
  18. {
  19. var stage = client.ChiPowers[i];
  20. dialog.Option(((Game.Enums.ChiPowerType)(i + 1)).ToString(), (byte)(i + 1));
  21. }
  22. dialog.Option("I'll think about it!", 255);
  23. dialog.Send();
  24. client.ActiveNpc = item.ID;
  25. break;
  26. }
  27. #endregion
  28. #region JaingHu Item
  29. case 3003650:
  30. {
  31. Npcs dialog = new Npcs(client);
  32. if (client.Entity.MyJiang == null)
  33. {
  34. dialog.Text("Sorry But You Don't Have Jiang Yet.");
  35. dialog.Option("I'll think about it!", 255);
  36. dialog.Send();
  37. return;
  38. }
  39. dialog.Text("Welcome , Here you have 10 Jaing EPIC Train To use it..");
  40. for (int i = 0; i < client.Entity.MyJiang.Stagers.Length; i++)
  41. {
  42. var stage = client.Entity.MyJiang.Stagers[i];
  43. if (stage.Activate)
  44. dialog.Option("Stage [" + (byte)(i + 1) + "]", (byte)(i + 1));
  45.  
  46. }
  47. dialog.Option("I'll think about it!", 255);
  48. dialog.Send();
  49. client.ActiveNpc = item.ID;
  50. break;
  51. }
  52. #endregion
  53.  
  54. ----------- #region NPC Dialog --------- في اخر الريجون او تحت اي ايتم شبها
  55. if (client.ActiveNpc == 3001607)
  56. {
  57. if (client.Inventory.Contains(client.ActiveNpc, 1))
  58. {
  59. Npcs dialoggt = new Npcs(client);
  60.  
  61. int mStage = req.OptionID;
  62. if (mStage >= 1 && mStage <= 4)
  63. {
  64. client.Entity.SelectedStage = mStage;
  65. dialoggt.Text("You Choose " + ((Game.Enums.ChiPowerType)mStage).ToString() + " stage. Please Chose What Attribute did You Want! ");
  66. for (int i = 0; i < 4; i++)
  67. {
  68. dialoggt.Option("Attribute [" + (byte)(i + 1) + "]", (byte)(i + 1 + 4));
  69. }
  70. dialoggt.Option("I'll think about it!", 255);
  71. dialoggt.Send();
  72. return;
  73. }
  74. if (mStage >= 4 && mStage <= 8)
  75. {
  76. client.Entity.SelectedAttribute = mStage - 4;
  77. var mychiattribute = new List<Enums.ChiAttribute>();
  78. var powers = client.ChiPowers[(int)client.Entity.SelectedStage - 1];
  79. for (int i = 0; i < powers.Attributes.Length; i++)
  80. {
  81. var Attribute = powers.Attributes[i];
  82. mychiattribute.Add(Attribute.Type);
  83. }
  84. dialoggt.Text("You Choose Attribute [" + client.Entity.SelectedAttribute + "] Please Chose What Attribute did You Want!");
  85. for (int i = 0; i < (int)Enums.ChiAttribute.MagicDamageDecrease; i++)
  86. {
  87. var type = ((Enums.ChiAttribute)(i + 1));
  88. if (!mychiattribute.Contains(type))
  89. dialoggt.Option(type.ToString(), (byte)(((i + 1) * 10)));
  90. }
  91. dialoggt.Option("Back", (byte)client.Entity.SelectedStage);
  92. dialoggt.Option("I'll think about it!", 255);
  93. dialoggt.Send();
  94. return;
  95. }
  96. if (mStage >= 8)
  97. {
  98. if (client.Entity.ChiNumbrs > 17)
  99. {
  100. dialoggt.Text("Sorry , But you use 17 of Chi train GoodLuck ");
  101. dialoggt.Option("I'll think about it!", 255);
  102. dialoggt.Send();
  103. client.Inventory.Remove(client.ActiveNpc, 1);
  104. return;
  105. }
  106.  
  107. var typex = mStage / 10;
  108. var Mode = client.Entity.SelectedStage;
  109. var pos = client.Entity.SelectedAttribute - 1;
  110. var powers = client.ChiPowers[Mode - 1];
  111. var attributes = powers.Attributes;
  112. foreach (var attr in attributes)
  113. {
  114. if (attr == null) continue;
  115. if (attr.Type == (Enums.ChiAttribute)typex)
  116. {
  117. client.MessageBox("Sorry you can't muliplay stats", null, null);
  118. return;
  119. }
  120. }
  121.  
  122. attributes[pos].Type = (Enums.ChiAttribute)typex;
  123. attributes[pos].Value = (ushort)Game.Enums.ChiMaxValues(attributes[pos].Type);
  124. powers.CalculatePoints();
  125. Database.ChiTable.Sort((Enums.ChiPowerType)Mode);
  126. powers.Power = (Enums.ChiPowerType)Mode;
  127. client.Send(new ChiPowers(true).Query(client));
  128. #region update ranking
  129. Database.ChiTable.ChiData[] array = null;
  130. switch ((Enums.ChiPowerType)Mode)
  131. {
  132. case Game.Enums.ChiPowerType.Dragon:
  133. array = Database.ChiTable.Dragon;
  134. break;
  135.  
  136. case Game.Enums.ChiPowerType.Phoenix:
  137. array = Database.ChiTable.Phoenix;
  138. break;
  139.  
  140. case Game.Enums.ChiPowerType.Tiger:
  141. array = Database.ChiTable.Tiger;
  142. break;
  143.  
  144. case Game.Enums.ChiPowerType.Turtle:
  145. array = Database.ChiTable.Turtle;
  146. break;
  147. }
  148. foreach (var chiData in array)
  149. {
  150. if (Kernel.GamePool.ContainsKey(chiData.UID))
  151. {
  152. var pClient = Kernel.GamePool[chiData.UID];
  153. if (pClient == null) continue;
  154. if (pClient.ChiData == null) continue;
  155. // make it public instead of private
  156. PacketHandler.SendRankingQuery(new GenericRanking(true) { Mode = GenericRanking.QueryCount }, pClient, GenericRanking.Chi + (uint)Mode, pClient.ChiData.SelectRank((Enums.ChiPowerType)Mode), pClient.ChiData.SelectPoints((Enums.ChiPowerType)Mode));
  157. if (pClient.Entity.UID == client.Entity.UID || pClient.ChiData.SelectRank((Enums.ChiPowerType)Mode) < 50)
  158. pClient.LoadItemStats();
  159.  
  160.  
  161.  
  162. }
  163. }
  164. #endregion
  165. client.Entity.ChiNumbrs += 1;
  166. return;
  167. }
  168. }
  169. }
  170. if (client.ActiveNpc == 3003650)
  171. {
  172. if (client.Inventory.Contains(client.ActiveNpc, 1))
  173. {
  174. Npcs Npcff = new Npcs(client);
  175. int mStage = req.OptionID;
  176. if (req.OptionID >= 1 && req.OptionID <= 9)
  177. {
  178. foreach (var item in Database.JiangHu.CultivateStatus[(byte)mStage])
  179. {
  180. Npcff.Option(((Game.JiangHu.JiangStages.AtributesType)item).ToString(), (byte)((item * 10) + mStage));
  181. }
  182. Npcff.Option("I'll think about it!", 255);
  183. Npcff.Send();
  184. return;
  185. }
  186. if (req.OptionID >= 9)
  187. {
  188. if (client.Entity.JaingNumbers > 10)
  189. {
  190.  
  191. Npcff.Text("Sorry But You Finished 10 Jaing EPIC Train.");
  192. Npcff.Option("I'll think about it!", 255);
  193. Npcff.Send();
  194. client.Inventory.Remove(client.ActiveNpc, 1);
  195. return;
  196. }
  197. var typex = mStage / 10;
  198. mStage = mStage % 10;
  199. byte stageno = (byte)Math.Min(9, mStage);
  200. byte level = 6;
  201. var type = (Game.JiangHu.JiangStages.AtributesType)Math.Min(15, typex);
  202. if (client.Entity.MyJiang.Stagers.Length >= stageno)
  203. {
  204. var stage = client.Entity.MyJiang.Stagers[(stageno - 1)];
  205. for (byte i = 1; i < stage.Stars.Length + 1; i++)
  206. {
  207. client.Entity.MyJiang.MyNewStart = new Game.JiangHu.GetNewStar();
  208. client.Entity.MyJiang.MyNewStart.PositionStar = i;
  209. client.Entity.MyJiang.MyNewStart.Stage = stageno;
  210. client.Entity.MyJiang.MyNewStart.Star = new Game.JiangHu.JiangStages.Star();
  211. client.Entity.MyJiang.MyNewStart.Star.Activate = true;
  212. client.Entity.MyJiang.MyNewStart.Star.Level = level;
  213. client.Entity.MyJiang.MyNewStart.Star.Typ = type;
  214. client.Entity.MyJiang.MyNewStart.Star.UID = client.Entity.MyJiang.ValueToRoll(client.Entity.MyJiang.MyNewStart.Star.Typ, client.Entity.MyJiang.MyNewStart.Star.Level);
  215. Network.GamePackets.JiangHuUpdate upd = new Network.GamePackets.JiangHuUpdate();
  216. upd.Atribute = client.Entity.MyJiang.MyNewStart.Star.UID;
  217. upd.FreeCourse = client.Entity.MyJiang.FreeCourse;
  218. upd.Stage = stageno;
  219. upd.Star = i;
  220. upd.FreeTimeTodeyUsed = (byte)client.Entity.MyJiang.FreeTimeTodeyUsed;
  221. upd.RoundBuyPoints = client.Entity.MyJiang.RoundBuyPoints;
  222. client.Send(upd.ToArray());
  223. client.Entity.MyJiang.ApplayNewStar(client);
  224. }
  225. client.Entity.JaingNumbers += 1;
  226. if (client.Entity.MyJiang != null)
  227. client.Entity.MyJiang.SendStatus(client, client);
  228. }
  229. return;
  230. }
  231. }
  232. }
  233.  
  234. -------- Entity ------
  235. public uint ChiNumbrs = 0, JaingNumbers;
  236. ------ EntiyTable , LoadEntity ----------
  237. client.Entity.ChiNumbrs = reader.ReadUInt32("ChiNumbrs");
  238. client.Entity.JaingNumbers = reader.ReadUInt32("JaingNumbers");
  239.  
  240. ----- public static bool SaveEntity ---
  241. .Set("ChiNumbrs", e.ChiNumbrs)
  242. .Set("JaingNumbers", e.JaingNumbers)
  243. ------- Navicat , entities --
  244. ChiNumbrs bigint
  245. JaingNumbers bigint
  246. ------------
  247. دي الايتم بقا حطها في السورس والباتش
  248. 3001607@@PowerChiPack@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@9467500@@0@@0@@0@@0@@0@@0@@0@@1@@1@@0@@0@@0@@0@@0@@0@@0@@0@@0@@1@@800@@0@@0@@1@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@Gift@@Right~click~to~activate~Use~17~EPIC~Chi~Train.@@0@@0@@0@@0@@0@@500@@0@@0@@0@@0@@0@@
  249. 3003650@@BraveJiangHuPack@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@98354500@@0@@0@@0@@0@@0@@0@@0@@1@@1@@0@@0@@0@@0@@0@@0@@0@@0@@0@@1@@800@@0@@0@@1@@2888@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@0@@Gift@@Right~click~to~activate~Use~10~EPIC~Jaing~Train@@0@@0@@0@@0@@0@@500@@0@@0@@0@@0@@0@@
  250.  
  251. ----- PacketHandler -------
  252. ابحث عن case "give":
  253. تحت switch (Data[2])
  254. ضيف دول
  255.  
  256. case "chiitem":
  257. {
  258. Client.Inventory.Add(3001607, 0, 1,true);
  259. break;
  260. }
  261. case "jiangitem":
  262. {
  263. Client.Inventory.Add(3003650, 0, 1, true);
  264. break;
  265. }
  266.  
  267. ----------
  268. لما تيجي تضديها لحد ادهالو بوند عشان مش يتردها
  269. @give name chiitem
  270. @give name jiangitem
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement