· 7 years ago · Nov 02, 2018, 12:34 PM
1السلام عليكم ورØÙ…Ù‡ الله وبركاته
2
3
4
5اللهم صل علي سيدنا Ù…ØÙ…د وعلي أله ÙˆØµØØ¨Ù‡ اجمعين.
6
7
8
9دلوقتي معانه موضوع VIPDays كامل من سورسى الشخصى او بالمعنى Ø§Ù„Ø§ØµØ ÙƒÙ†Øª لقيه على النت من زمان وكنت عملوا ولما لقيت الناس بتدور عليه كتير Ø±ÙˆØØª مطلعوا ونشروا لاجل الناس الغلابه ♥
10
11السيستم عباره Ùكره بسيطه,
12ان هيا ايتم بتاخدها من كويسته او اي ان كان هيا وممكن تبيعها Ø¨Ø±ØØªÙƒ
13الايتم دي مثلا بتدي ÙÙŠ اي بي 4 لمده اسبوع ولو انت ÙÙŠ اي بي اكبر من 4 الايتم مش هتتضرب طبعا.
14ولو انت ÙÙŠ اي بي 3 مثلا او اقل , الايتم هتتضرب عادي وهتاخد ÙÙŠ اي بي 4 لمده الاسبوع وبعد ما الاسبوع يخلص الÙÙŠ اي بي بتاعك القديم يرجعلك تاني
15
16
17
18نخش ع الاضاÙÙ‡.
19
20هتعمل Class ÙÙŠ Ùولدر Game وتسميه VIPDays
21
22using System;
23using System.Collections.Generic;
24using System.Linq;
25using System.Text;
26using ConquerUnion.Database;
27
28namespace ConquerUnion.Game
29{
30public class VIPDays
31{
32/*
33* All Rights Reserved © Mostafa Desha
34*/
35public DateTime VIPStartON, VIPEndAt;
36public byte VIPLevelDays, OldVIPLevel;
37public int VIPLogMessage;
38
39public VIPDays()
40{
41foreach (Client.GameState client in Program.GamePool)
42{
43this.VIPLevelDays = 0;
44this.OldVIPLevel = client.Player.VIPLevel;
45}
46}
47public static void read(Client.GameState client)
48{
49using (var cmd = new MySqlCommand(MySqlCommandType.SELECT).Select("vipdays").Where("UID", client.Player.UID))
50using (var reader = new MySqlReader(cmd))
51{
52if (reader.Read())
53{
54client.VIPDays.VIPLevelDays = reader.ReadByte("VIPLevelDays");
55client.VIPDays.OldVIPLevel = reader.ReadByte("OldVIPLevel");
56client.VIPDays.VIPStartON = DateTime.FromBinary(reader.ReadInt64("VIPStartON"));
57client.VIPDays.VIPEndAt = DateTime.FromBinary(reader.ReadInt64("VIPEndAt"));
58}
59else
60{
61using (var cmds = new MySqlCommand(MySqlCommandType.INSERT))
62cmds.Insert("vipdays").Insert("Name", client.Player.Name).Insert("UID", client.Player.UID).Execute();
63}
64}
65}
66public static void Save(Client.GameState client)
67{
68Database.MySqlCommand cmd = new Database.MySqlCommand(Database.MySqlCommandType.UPDATE);
69cmd.Update("vipdays")
70.Set("VIPLevelDays", client.VIPDays.VIPLevelDays)
71.Set("OldVIPLevel", client.VIPDays.OldVIPLevel)
72.Set("VIPStartON", client.VIPDays.VIPStartON)
73.Set("VIPEndAt", client.VIPDays.VIPEndAt);
74cmd.Where("UID", client.Player.UID);
75cmd.Execute();
76}
77
78}
79}
80
81وتخش علي GameState او GameClient ÙˆØªØØ· الكود دا
82
83
84 public VIPDays VIPDays = new VIPDays();
85
86
87
88وتخش علي World او Thread على ØØ³Ø¨ سورسك
89
90
91Ù‡ØªØ¨ØØ« عن
92
93
94CharactersCallback
95
96
97ÙˆØªØØ· الكود ده
98
99
100
101#region VIPDays Check
102
103/*
104* All Rights Reserved © Mostafa Desha
105*/
106if (client.VIPDays.VIPLevelDays > 0 && DateTime.Now >= client.VIPDays.VIPEndAt)
107{
108client.Player.VIPLevel = client.VIPDays.OldVIPLevel;
109client.VIPDays.VIPLevelDays = 0;
110client.VIPDays.VIPStartON = Convert.ToDateTime(0);
111client.VIPDays.VIPEndAt = Convert.ToDateTime(0);
112VIPDays.Save(client);
113client.Send("Your VIP is end, Try to get other item and unlock it.");
114}
115#endregion
116
117
118
119وتخش علي PacketHandler او MsgTaskDialog ÙˆØªØ¨ØØ« علي
120
121
122public static void Process(Byte[] packet, Client.GameState client)
123
124او
125
126case 2032:
127
128ØªØØª الكود ده
129
130
131 Npcs dialog = new Npcs(client);
132
133او
134
135public static void Process(Byte[] packet, Client.GameState client)
136
137
138هتضي٠دول
139
140
141
142
143#region VIIPDays
144#region VIIPDays 1.
145/*
146* All Rights Reserved © Mostafa Desha
147*/
148Npcs VIIPDays = new Npcs(client);
149if (client.ActiveNpc == 3004118)
150{
151if (client.Inventory.Contains(client.ActiveNpc, 1))
152{
153if (req.OptionID == 1)
154{
155if (client.Player.VIPLevel > 2)
156{
157VIIPDays.Text("You are VIPLevel " + client.Player.VIPLevel + ", So you can't unlock this item.");
158VIIPDays.Option("Ohh, Sorry.", 255);
159VIIPDays.Send();
160}
161else
162{
163if (client.Player.VIPLevel < 1)
164{
165VIIPDays.Text("Are you sure you want to unlock this item.");
166VIIPDays.Option("Yes I'm sure.", 2);
167VIIPDays.Send();
168}
169}
170}
171if (req.OptionID == 2)
172{
173if (client.Player.VIPLevel < 1)
174{
175client.VIPDays.OldVIPLevel = client.Player.VIPLevel;//هنا بيØÙظ الÙÙŠ اي بي القديم بتاعك علشان بعد الاسبوع يرجعهولك تاني
176client.VIPDays.VIPLevelDays = 1;//هنا بيديلك الÙÙŠ اي بي الي موجود ÙÙŠ الشنه والي انت Ù‡ØªØªØØ¯Ùˆ
177client.VIPDays.VIPStartON = DateTime.Now;//هنا بيسجل بدايه الاسبوع بتاعك من وقت ÙØªØ الشنطه
178client.VIPDays.VIPEndAt = DateTime.Now.AddDays(3);//هنا Ø¨ÙŠØØ¯Ø¯ الوقت الي هيخلص Ùيه الÙÙŠ اي بي ويرجعلك الÙÙŠ اي بي القديم
179client.Player.VIPLevel = client.VIPDays.VIPLevelDays;//هنا بيديلك الÙÙŠ اي بي
180client.Inventory.Remove(client.ActiveNpc, 1);
181client.Send("Congratulations " + client.Player.Name + ", You have got VIPLevel " + client.VIPDays.VIPLevelDays + " to " + client.VIPDays.VIPEndAt + ".");
182VIPDays.Save(client);
183}
184}
185}
186}
187#endregion
188#region VIIPDays 2.
189/*
190* All Rights Reserved © Mostafa Desha
191*/
192if (client.ActiveNpc == 3004119)
193{
194if (client.Inventory.Contains(client.ActiveNpc, 1))
195{
196if (req.OptionID == 1)
197{
198if (client.Player.VIPLevel > 1)
199{
200VIIPDays.Text("You are VIPLevel " + client.Player.VIPLevel + ", So you can't unlock this item.");
201VIIPDays.Option("Ohh, Sorry.", 255);
202VIIPDays.Send();
203}
204else
205{
206if (client.Player.VIPLevel < 2)
207{
208VIIPDays.Text("Are you sure you want to unlock this item.");
209VIIPDays.Option("Yes I'm sure.", 2);
210VIIPDays.Send();
211}
212}
213}
214if (req.OptionID == 2)
215{
216if (client.Player.VIPLevel < 2)
217{
218client.VIPDays.OldVIPLevel = client.Player.VIPLevel;//هنا بيØÙظ الÙÙŠ اي بي القديم بتاعك علشان بعد الاسبوع يرجعهولك تاني
219client.VIPDays.VIPLevelDays = 2;//هنا بيديلك الÙÙŠ اي بي الي موجود ÙÙŠ الشنه والي انت Ù‡ØªØªØØ¯Ùˆ
220client.VIPDays.VIPStartON = DateTime.Now;//هنا بيسجل بدايه الاسبوع بتاعك من وقت ÙØªØ الشنطه
221client.VIPDays.VIPEndAt = DateTime.Now.AddDays(4);//هنا Ø¨ÙŠØØ¯Ø¯ الوقت الي هيخلص Ùيه الÙÙŠ اي بي ويرجعلك الÙÙŠ اي بي القديم
222client.Player.VIPLevel = client.VIPDays.VIPLevelDays;//هنا بيديلك الÙÙŠ اي بي
223client.Inventory.Remove(client.ActiveNpc, 1);
224client.Send("Congratulations " + client.Player.Name + ", You have got VIPLevel " + client.VIPDays.VIPLevelDays + " to " + client.VIPDays.VIPEndAt + ".");
225VIPDays.Save(client);
226}
227}
228}
229}
230#endregion
231#region VIIPDays 3.
232/*
233* All Rights Reserved © Mostafa Desha
234*/
235if (client.ActiveNpc == 3004120)
236{
237if (client.Inventory.Contains(client.ActiveNpc, 1))
238{
239if (req.OptionID == 1)
240{
241if (client.Player.VIPLevel > 2)
242{
243VIIPDays.Text("You are VIPLevel " + client.Player.VIPLevel + ", So you can't unlock this item.");
244VIIPDays.Option("Ohh, Sorry.", 255);
245VIIPDays.Send();
246}
247else
248{
249if (client.Player.VIPLevel < 3)
250{
251VIIPDays.Text("Are you sure you want to unlock this item.");
252VIIPDays.Option("Yes I'm sure.", 2);
253VIIPDays.Send();
254}
255}
256}
257if (req.OptionID == 2)
258{
259if (client.Player.VIPLevel < 3)
260{
261client.VIPDays.OldVIPLevel = client.Player.VIPLevel;//هنا بيØÙظ الÙÙŠ اي بي القديم بتاعك علشان بعد الاسبوع يرجعهولك تاني
262client.VIPDays.VIPLevelDays = 3;//هنا بيديلك الÙÙŠ اي بي الي موجود ÙÙŠ الشنه والي انت Ù‡ØªØªØØ¯Ùˆ
263client.VIPDays.VIPStartON = DateTime.Now;//هنا بيسجل بدايه الاسبوع بتاعك من وقت ÙØªØ الشنطه
264client.VIPDays.VIPEndAt = DateTime.Now.AddDays(5);//هنا Ø¨ÙŠØØ¯Ø¯ الوقت الي هيخلص Ùيه الÙÙŠ اي بي ويرجعلك الÙÙŠ اي بي القديم
265client.Player.VIPLevel = client.VIPDays.VIPLevelDays;//هنا بيديلك الÙÙŠ اي بي
266client.Inventory.Remove(client.ActiveNpc, 1);
267client.Send("Congratulations " + client.Player.Name + ", You have got VIPLevel " + client.VIPDays.VIPLevelDays + " to " + client.VIPDays.VIPEndAt + ".");
268VIPDays.Save(client);
269}
270}
271}
272}
273#endregion
274#region VIIPDays 4.
275/*
276* All Rights Reserved © Mostafa Desha
277*/
278if (client.ActiveNpc == 3004121)
279{
280if (client.Inventory.Contains(client.ActiveNpc, 1))
281{
282if (req.OptionID == 1)
283{
284if (client.Player.VIPLevel > 3)
285{
286VIIPDays.Text("You are VIPLevel " + client.Player.VIPLevel + ", So you can't unlock this item.");
287VIIPDays.Option("Ohh, Sorry.", 255);
288VIIPDays.Send();
289}
290else
291{
292if (client.Player.VIPLevel < 4)
293{
294VIIPDays.Text("Are you sure you want to unlock this item.");
295VIIPDays.Option("Yes I'm sure.", 2);
296VIIPDays.Send();
297}
298}
299}
300if (req.OptionID == 2)
301{
302if (client.Player.VIPLevel < 4)
303{
304client.VIPDays.OldVIPLevel = client.Player.VIPLevel;//هنا بيØÙظ الÙÙŠ اي بي القديم بتاعك علشان بعد الاسبوع يرجعهولك تاني
305client.VIPDays.VIPLevelDays = 4;//هنا بيديلك الÙÙŠ اي بي الي موجود ÙÙŠ الشنه والي انت Ù‡ØªØªØØ¯Ùˆ
306client.VIPDays.VIPStartON = DateTime.Now;//هنا بيسجل بدايه الاسبوع بتاعك من وقت ÙØªØ الشنطه
307client.VIPDays.VIPEndAt = DateTime.Now.AddDays(10);//هنا Ø¨ÙŠØØ¯Ø¯ الوقت الي هيخلص Ùيه الÙÙŠ اي بي ويرجعلك الÙÙŠ اي بي القديم
308client.Player.VIPLevel = client.VIPDays.VIPLevelDays;//هنا بيديلك الÙÙŠ اي بي
309client.Inventory.Remove(client.ActiveNpc, 1);
310client.Send("Congratulations " + client.Player.Name + ", You have got VIPLevel " + client.VIPDays.VIPLevelDays + " to " + client.VIPDays.VIPEndAt + ".");
311VIPDays.Save(client);
312}
313}
314}
315}
316#endregion
317#region VIIPDays 5.
318/*
319* All Rights Reserved © Mostafa Desha
320*/
321if (client.ActiveNpc == 3004122)
322{
323if (client.Inventory.Contains(client.ActiveNpc, 1))
324{
325if (req.OptionID == 1)
326{
327if (client.Player.VIPLevel > 4)
328{
329VIIPDays.Text("You are VIPLevel " + client.Player.VIPLevel + ", So you can't unlock this item.");
330VIIPDays.Option("Ohh, Sorry.", 255);
331VIIPDays.Send();
332}
333else
334{
335if (client.Player.VIPLevel < 5)
336{
337VIIPDays.Text("Are you sure you want to unlock this item.");
338VIIPDays.Option("Yes I'm sure.", 2);
339VIIPDays.Send();
340}
341}
342}
343if (req.OptionID == 2)
344{
345if (client.Player.VIPLevel < 5)
346{
347client.VIPDays.OldVIPLevel = client.Player.VIPLevel;//هنا بيØÙظ الÙÙŠ اي بي القديم بتاعك علشان بعد الاسبوع يرجعهولك تاني
348client.VIPDays.VIPLevelDays = 5;//هنا بيديلك الÙÙŠ اي بي الي موجود ÙÙŠ الشنه والي انت Ù‡ØªØªØØ¯Ùˆ
349client.VIPDays.VIPStartON = DateTime.Now;//هنا بيسجل بدايه الاسبوع بتاعك من وقت ÙØªØ الشنطه
350client.VIPDays.VIPEndAt = DateTime.Now.AddDays(15);//هنا Ø¨ÙŠØØ¯Ø¯ الوقت الي هيخلص Ùيه الÙÙŠ اي بي ويرجعلك الÙÙŠ اي بي القديم
351client.Player.VIPLevel = client.VIPDays.VIPLevelDays;//هنا بيديلك الÙÙŠ اي بي
352client.Inventory.Remove(client.ActiveNpc, 1);
353client.Send("Congratulations " + client.Player.Name + ", You have got VIPLevel " + client.VIPDays.VIPLevelDays + " to " + client.VIPDays.VIPEndAt + ".");
354VIPDays.Save(client);
355}
356}
357}
358}
359#endregion
360#region VIIPDays 6.
361/*
362* All Rights Reserved © Mostafa Desha
363*/
364if (client.ActiveNpc == 3004123)
365{
366if (client.Inventory.Contains(client.ActiveNpc, 1))
367{
368if (req.OptionID == 1)
369{
370if (client.Player.VIPLevel > 5)
371{
372VIIPDays.Text("You are VIPLevel " + client.Player.VIPLevel + ", So you can't unlock this item.");
373VIIPDays.Option("Ohh, Sorry.", 255);
374VIIPDays.Send();
375}
376else
377{
378if (client.Player.VIPLevel < 6)
379{
380VIIPDays.Text("Are you sure you want to unlock this item.");
381VIIPDays.Option("Yes I'm sure.", 2);
382VIIPDays.Send();
383}
384}
385}
386if (req.OptionID == 2)
387{
388if (client.Player.VIPLevel < 6)
389{
390client.VIPDays.OldVIPLevel = client.Player.VIPLevel;//هنا بيØÙظ الÙÙŠ اي بي القديم بتاعك علشان بعد الاسبوع يرجعهولك تاني
391client.VIPDays.VIPLevelDays = 6;//هنا بيديلك الÙÙŠ اي بي الي موجود ÙÙŠ الشنه والي انت Ù‡ØªØªØØ¯Ùˆ
392client.VIPDays.VIPStartON = DateTime.Now;//هنا بيسجل بدايه الاسبوع بتاعك من وقت ÙØªØ الشنطه
393client.VIPDays.VIPEndAt = DateTime.Now.AddDays(20);//هنا Ø¨ÙŠØØ¯Ø¯ الوقت الي هيخلص Ùيه الÙÙŠ اي بي ويرجعلك الÙÙŠ اي بي القديم
394client.Player.VIPLevel = client.VIPDays.VIPLevelDays;//هنا بيديلك الÙÙŠ اي بي
395client.Inventory.Remove(client.ActiveNpc, 1);
396client.Send("Congratulations " + client.Player.Name + ", You have got VIPLevel " + client.VIPDays.VIPLevelDays + " to " + client.VIPDays.VIPEndAt + ".");
397VIPDays.Save(client);
398}
399}
400}
401}
402#endregion
403#region VIIPDays 7.
404/*
405* All Rights Reserved © Mostafa Desha
406*/
407if (client.ActiveNpc == 3004127)
408{
409if (client.Inventory.Contains(client.ActiveNpc, 1))
410{
411if (req.OptionID == 1)
412{
413if (client.Player.VIPLevel > 6)
414{
415VIIPDays.Text("You are VIPLevel " + client.Player.VIPLevel + ", So you can't unlock this item.");
416VIIPDays.Option("Ohh, Sorry.", 255);
417VIIPDays.Send();
418}
419else
420{
421if (client.Player.VIPLevel < 7)
422{
423VIIPDays.Text("Are you sure you want to unlock this item.");
424VIIPDays.Option("Yes I'm sure.", 2);
425VIIPDays.Send();
426}
427}
428}
429if (req.OptionID == 2)
430{
431if (client.Player.VIPLevel < 7)
432{
433client.VIPDays.OldVIPLevel = client.Player.VIPLevel;//هنا بيØÙظ الÙÙŠ اي بي القديم بتاعك علشان بعد الاسبوع يرجعهولك تاني
434client.VIPDays.VIPLevelDays = 7;//هنا بيديلك الÙÙŠ اي بي الي موجود ÙÙŠ الشنه والي انت Ù‡ØªØªØØ¯Ùˆ
435client.VIPDays.VIPStartON = DateTime.Now;//هنا بيسجل بدايه الاسبوع بتاعك من وقت ÙØªØ الشنطه
436client.VIPDays.VIPEndAt = DateTime.Now.AddDays(25);//هنا Ø¨ÙŠØØ¯Ø¯ الوقت الي هيخلص Ùيه الÙÙŠ اي بي ويرجعلك الÙÙŠ اي بي القديم
437client.Player.VIPLevel = client.VIPDays.VIPLevelDays;//هنا بيديلك الÙÙŠ اي بي
438client.Inventory.Remove(client.ActiveNpc, 1);
439client.Send("Congratulations " + client.Player.Name + ", You have got VIPLevel " + client.VIPDays.VIPLevelDays + " to " + client.VIPDays.VIPEndAt + ".");
440VIPDays.Save(client);
441}
442}
443}
444}
445#endregion
446#endregion
447
448وتخش علي ItemHandler ÙˆØªØ¨ØØ« علي
449
450
451ÙÙ‰ Ùويد
452
453
454 public static void UseItem(MsgItemInfo item, GameState client, bool bypass2 = false)
455
456ØØ· دول ØªØØª اى شنطه
457
458
459 #region VIP7Days
460 case 3004121:
461 {
462 Npcs dialog = new Npcs(client);
463 dialog.Text("Hello " + client.Entity.Name + ", There is VIPLevel 4 For 7 Days. If you want to get it just confirm.");
464 dialog.Option("Confirm.", 1);
465 dialog.Option("Cancel.", 255);
466 dialog.Avatar(318);
467 dialog.Send();
468 client.ActiveNpc = item.ID;
469 break;
470 }
471 #endregion
472
473ÙÙŠ EntityTable ÙÙŠ الاخر خالص ØªØØª الكود دا
474
475
476SetFlowers(client);
477
478
479تضي٠ده
480
481
482Game.VIPDays.read(client);
483
484
485
486ÙÙŠ GameState او GameClient
487
488Ù‡ØªØ¨ØØ« عن
489
490
491rivate void ShutDown()
492
493ØªØØ· الكود ده
494
495
496Kernel.GamePool.Remove(Entity.UID);
497
498ضيÙ
499
500
501 VIPDays.Save(this);
502
503
504Ø§Ø±ÙØ¹ دا علي القاعده
505
506
507
508-- ----------------------------
509-- Table structure for vipdays
510-- ----------------------------
511DROP TABLE IF EXISTS `vipdays`;
512CREATE TABLE `vipdays` (
513`Name` varchar(16) NOT NULL DEFAULT '',
514`UID` bigint(18) unsigned NOT NULL DEFAULT '0',
515`VIPLevelDays` tinyint(5) unsigned DEFAULT '0',
516`OldVIPLevel` tinyint(5) unsigned DEFAULT '0',
517`VIPStartON` bigint(16) DEFAULT '0',
518`VIPEndAt` bigint(16) DEFAULT '0',
519PRIMARY KEY (`UID`)
520) ENGINE=MyISAM DEFAULT CHARSET=utf8;
521
522-- ----------------------------
523-- Records of vipdays
524-- ----------------------------
525
526
527
528
529
530
531..............................................................................................
532
533
534
535Name= VIPDays
536Map=1002
537X=290
538Y=295
539Body=1006
540Face=139
541Haire=530
542Action=190
543Facing=6
544Hawk= Welcome I'm here to serve you I can make you the high place and make you VIP owners #10#10#10#10
545WeaponRight=36
546WeaponLeft=36
547Armor=184305
548ArmorColor=2
549Head=0
550Garment=0
551WeaponArtefactRight=0
552WeaponArtefactLeft=0
553ArmorArtefact=0
554HeadArtefact=0
555Mount=0
556Potency=400
557Item=7
5582,200000,3004118,0,0,0,0,0,0,0,0,0,0,0
5593,300000,3004119,0,0,0,0,0,0,0,0,0,0,0
5603,800000,3004120,0,0,0,0,0,0,0,0,0,0,0
5613,1000000,3004121,0,0,0,0,0,0,0,0,0,0,0
5623,2000000,3004122,0,0,0,0,0,0,0,0,0,0,0
5633,3000000,3004123,0,0,0,0,0,0,0,0,0,0,0
5643,4000000,3004124,0,0,0,0,0,0,0,0,0,0,0