عرض مشاركة واحدة
قديم 11-11-2016, 08:24 PM   #1

™ EgY_KhaN ™
عضو متألق



الصورة الرمزية ™ EgY_KhaN ™


• الانـتـسـاب » Aug 2012
• رقـم العـضـويـة » 103935
• المشـــاركـات » 1,663
• الـدولـة » Mansoura
• الـهـوايـة » Love the Destruction
• اسـم الـسـيـرفـر » Private Server
• الـجـنـس » Male
• نقـاط التقييم » 54
™ EgY_KhaN ™ جـيـد

™ EgY_KhaN ™ غير متواجد حالياً

10648  


إرسال رسالة عبر Yahoo إلى ™ EgY_KhaN ™ إرسال رسالة عبر Skype إلى ™ EgY_KhaN ™

اوسمتي

افتراضي شرح بسيط عن الاوتو ايفنتات



اساسيات اي ايفنت هيا
1- أكونت GM مفتوح كلينتليس لوجن
2- معرفة الباكتس الخاصة بالايفنت الي انت عاوز تعمله
3- لو مثلا ايفنت زي A$Q يبقي لازم اتصال SQL علشان هيقرأ الاسئلة من التاب وازاي يدي ريورد
4- معرفة ازاي تستخدم Timer علشان تعمل الايفنت اوتو في الوقت الي تحدده

قدرت تفهم الكلام دا بالتالي تقدر تعمل اي ايفنت يجي في دماغك

وعلشان نسبط الكلام دا جمعتلكو شوية Packets علي شوية Opcodes مهمين جدا
بس طبعا مش هتاخد كوبي وباست وخلاص انت هتشوف المسار عندك وتظبط الباكت عليه والكلام دا

Auto Events Packets :
كود:
     #region EgY_Auto_Evets
    public static void moveToUser(string name)
    {
      Packet packet = new Packet((ushort) 28688);
      packet.WriteInt8((object) (byte) 8);
      packet.WriteInt8((object) (byte) 0);
      packet.WriteAscii(name);
      Client.Send(packet);
      Log.normal("[MoveToUser]->[" + name + "]");
    }

    public static void recallUser(string name)
    {
      Packet packet = new Packet((ushort) 28688);
      packet.WriteInt8((object) (byte) 17);
      packet.WriteInt8((object) (byte) 0);
      packet.WriteAscii(name);
      Client.Send(packet);
      Log.normal("[RecallUser]->[" + name + "]");
    }

    public static void sendChatNotice(string msg)
    {
      Packet packet = new Packet((ushort) 28709);
      packet.WriteInt8((object) (byte) 7);
      packet.WriteInt8((object) (byte) 0);
      packet.WriteAscii(msg);
      Client.Send(packet);
      Log.normal("[Notice]->[" + msg + "]");
    }

    public static void sendChatAll(string msg)
    {
      Packet packet = new Packet((ushort) 28709);
      packet.WriteInt8((object) (byte) 3);
      packet.WriteInt8((object) (byte) 0);
      packet.WriteAscii(msg);
      Client.Send(packet);
      Log.normal("[ChatAll]->[" + msg + "]");
    }

    public static void sendChatPrivate(string name, string msg)
    {
      Packet packet = new Packet((ushort) 28709);
      packet.WriteInt8((object) (byte) 2);
      packet.WriteInt8((object) (byte) 0);
      packet.WriteAscii(name);
      packet.WriteAscii(msg);
      Client.Send(packet);
      Log.normal("[PrivateChar]->[" + name + "]->[" + msg + "]");
    }

    public static void invisible()
    {
      Packet packet = new Packet((ushort) 28688);
      packet.WriteInt8((object) (byte) 14);
      packet.WriteInt8((object) (byte) 0);
      Client.Send(packet);
      Log.normal("[Invisible]->[Changed]");
    }

    public static void gmSkill()
    {
      Packet packet = new Packet((ushort) 28788);
      packet.WriteInt8((object) (byte) 1);
      packet.WriteInt8((object) (byte) 4);
      packet.WriteInt8((object) (byte) 138);
      packet.WriteInt8((object) (byte) 15);
      packet.WriteInt8((object) (byte) 0);
      packet.WriteInt8((object) (byte) 0);
      packet.WriteInt8((object) (byte) 0);
      Client.Send(packet);
      Log.normal("[Skill]->[GMs Skill]");
    }

    public static void loadMonster(int id, int cnt)
    {
      Packet packet = new Packet((ushort) 28688);
      packet.WriteInt8((object) (byte) 6);
      packet.WriteInt8((object) (byte) 0);
      packet.WriteInt16((object) id);
      packet.WriteInt8((object) (byte) 0);
      packet.WriteInt8((object) (byte) 0);
      packet.WriteInt8((object) (byte) cnt);
      packet.WriteInt8((object) (byte) 3);
      Client.Send(packet);
      Log.normal("[LoadMonster]->[" + SQLFunct.getObjName((uint) id) + "]");
    }

    public static void teleportTo(int regionID, double x, double y, double z, int worldid)
    {
      Packet packet = new Packet((ushort) 28688);
      packet.WriteUInt8((byte) 16);
      packet.WriteUInt8((byte) 0);
      packet.WriteInt16((object) regionID);
      packet.WriteSingle((object) x);
      packet.WriteSingle((object) y);
      packet.WriteSingle((object) z);
      packet.WriteInt8((sbyte) 1);
      packet.WriteUInt8((byte) 0);
      Client.Send(packet);
      Log.normal("[Teleport]->[ " + (object) regionID + " ; " + (object) x + " ; " + (object) y + " ; " + (object) z + " ; " + (object) worldid + " ]");
      Moves.teleport = true;
      while (Moves.teleport)
        Thread.Sleep(1000);
      Log.normal("[Teleport]->[Spawned ]");
    }

    public static void openGenyo()
    {
      Packet packet1 = new Packet((ushort) 28741);
      packet1.WriteInt8((sbyte) 46);
      packet1.WriteInt8((sbyte) 0);
      packet1.WriteInt8((sbyte) 0);
      packet1.WriteInt8((sbyte) 0);
      Client.Send(packet1);
      Thread.Sleep(100);
      Packet packet2 = new Packet((ushort) 28762);
      packet2.WriteInt8((sbyte) 46);
      packet2.WriteInt8((sbyte) 0);
      packet2.WriteInt8((sbyte) 0);
      packet2.WriteInt8((sbyte) 0);
      packet2.WriteInt8((sbyte) 2);
      packet2.WriteInt8((sbyte) 25);
      packet2.WriteInt8((sbyte) 0);
      packet2.WriteInt8((sbyte) 0);
      packet2.WriteInt8((sbyte) 0);
      Client.Send(packet2);
    }

    public static void tpHelp()
    {
      Client.Send(new Packet((ushort) 13494));
    }

    public static void moveTest()
    {
      Packet packet = new Packet((ushort) 28705);
      packet.WriteInt8((sbyte) 1);
      packet.WriteInt16((short) 26266);
      packet.WriteInt16((short) 500);
      packet.WriteInt16((short) 0);
      packet.WriteInt16((short) 1700);
      Client.Send(packet);
    }

    public static void stallTitle(string stallTitle)
    {
      Packet packet = new Packet((ushort) 28849);
      packet.WriteAscii(stallTitle);
      Client.Send(packet);
      Log.normal("[Stall]->[ Title ]->[" + stallTitle + "]");
    }

    public static void StallMsg(string msg)
    {
      Packet packet = new Packet((ushort) 28858);
      packet.WriteInt8((sbyte) 6);
      packet.WriteAscii(msg);
      Client.Send(packet);
      Log.normal("[Stall]->[ Message ]->[" + msg + "]");
    }

    public static void itemToStall(int StallSlot, int CharSlot, int db, int cost)
    {
      Packet packet = new Packet((ushort) 28858);
      packet.WriteInt8((sbyte) 2);
      packet.WriteInt8((object) StallSlot);
      packet.WriteInt8((object) CharSlot);
      packet.WriteInt8((object) db);
      packet.WriteInt8((sbyte) 0);
      packet.WriteInt64((long) cost);
      packet.WriteInt8((sbyte) 0);
      packet.WriteInt32(33);
      packet.WriteInt8((sbyte) 0);
      Client.Send(packet);
      Log.normal("[Stall]->[ ItemMove ]->[" + (object) StallSlot + " ; " + (object) CharSlot + " ; " + (object) db + " ; " + (object) cost + "]");
    }

    public static void stallOpen()
    {
      Packet packet = new Packet((ushort) 28858);
      packet.WriteInt8((sbyte) 5);
      packet.WriteInt8((sbyte) 1);
      packet.WriteInt8((sbyte) 0);
      packet.WriteInt8((sbyte) 0);
      Client.Send(packet);
      Log.normal("[Stall]->[ Opened ]");
    }

    public static void stallClose()
    {
      Client.Send(new Packet((ushort) 28850));
      Log.normal("[Stall]->[ Closed ]");
    }

    public static void goTown()
    {
      Packet packet = new Packet((ushort) 28688, true);
      packet.WriteUInt8((byte) 2);
      packet.WriteUInt8((byte) 0);
      Client.Send(packet);
      Moves.teleport = true;
      Log.normal("[Teleport]->[ GoTown ]");
      while (Moves.teleport)
        Thread.Sleep(1000);
      Log.normal("[Teleport]->[ Spawned ]");
    }

    public static bool moveToNpc(int id)
    {
      Packet packet = new Packet((ushort) 28688);
      packet.WriteUInt8((byte) 31);
      packet.WriteUInt8((byte) 0);
      packet.WriteAscii(SQLFunct.getObjName((uint) id));
      Client.Send(packet);
      Log.normal("[MoveToNPC]->[ " + SQLFunct.getObjName((uint) id) + " ]");
      Moves.teleport = true;
      for (int index = 0; (index >= 2 ? 0 : (Moves.teleport ? 1 : 0)) != 0; ++index)
        Thread.Sleep(1000);
      bool flag;
      if (Moves.teleport)
      {
        Log.normal("[MoveToNPC]->[Not Teleported]");
        Moves.teleport = false;
        flag = false;
      }
      else
      {
        Log.normal("[MoveToNPC]->[Teleported]");
        flag = true;
      }
      return flag;
    }

    public static void getPartyData()
    {
      Packet packet = new Packet((ushort) 28780);
      packet.WriteUInt8((byte) 0);
      Client.Send(packet);
    }

    public static void createParty()
    {
      Packet packet = new Packet((ushort) 28777);
      packet.WriteUInt64(0UL);
      packet.WriteUInt8((byte) 5);
      packet.WriteUInt8((byte) 0);
      packet.WriteUInt8((byte) 1);
      packet.WriteUInt8((byte) 110);
      packet.WriteAscii("Event");
      Client.Send(packet);
    }

    public static void deleteParty(uint id)
    {
      Packet packet = new Packet((ushort) 28779);
      packet.WriteUInt32(id);
      Client.Send(packet);
    }

    public static void enablePvp()
    {
      Packet packet = new Packet((ushort) 29974);
      packet.WriteUInt8((byte) 5);
      Client.Send(packet);
    }
    #endregion
زي ماحنا شايفين مثلا
Packet packet = new Packet يعني انت كدا اديت امر للبرنامج انك هتستخدم الباكت الي اسمها ------
packet.WriteAscii(name) يعني هتكتب ال name الي الشخصية هتروحله
Client.Send(packet); يعني نفذ الامر
وطبعا Log.normal("[MoveToUser]->[" + name + "]"); علشان يظهرلك في اللوج

اعتقد الدنيا وضحت دلوقت ؟؟؟؟

طب ازاي بقا هنستخدم الكلام دا
ولنفرض مثلا ان الكلاس دا انا مسميه Script

هنعمل كلاس تاني
وليكن مثلا عاوزين نبعت نوتيك الي هيا اسكربت محفوظ في كلاس Script
هنعمل امر جديد في الكلاس التاني الي عملناه
وهنعمل مثلا Object فيه الاوقات الي فيها مواعيد الايفنتات دا تمام ؟؟؟
بالتالي الامر بتاعنا هيكون كدا
كود:
 Script.sendChatNotice("Hide and Seek event will start about " + (object) num + " second(s).");
اعتقد كدا معاك الاسكربتات والاوامر يعني حبة مجهود قليلين وتعمل اي ايفنت بدماغك انت بقا

بعض ال Opcode المهمين جدا
World Server Opcodes
كود:
 public enum SERVER_OPCODES
    {
      SERVER_CHARDATA = 12307,
      SERVER_SINGLESPAWN = 12309,
      SERVER_SINGLEDESPAWN = 12310,
      SERVER_GROUPSPAWNB = 12311,
      SERVER_GROUPSPAWNEND = 12312,
      SERVER_GROUPESPAWN = 12313,
      SERVER_CONFIRMSPAWN = 12320,
      SERVER_CHAT = 12326,
      SERVER_CHARACTERINFO = 12349,
      SERVER_STORAGEGOLD = 12359,
      SERVER_STORAGEOK = 12360,
      SERVER_STORAGEITEMS = 12361,
      SERVER_STUFFUPDATE = 12366,
      SERVER_DURABILITYCHANGE = 12370,
      SERVER_LVLUP = 12372,
      SERVER_EXPSPUPDATE = 12374,
      SERVER_HPMPUPDATE = 12375,
      SERVER_PARTYINVITATION = 12416,
      SERVER_OBJECTDIE = 12479,
      SERVER_PETINFO = 12488,
      SERVER_PETSTATS = 12489,
      SERVER_SPEEDUPDATE = 12496,
      SERVER_GUILDINFO = 12545,
      SERVER_CHARACTERLISTING = 45063,
      SERVER_MOVE = 45089,
      SERVER_STUCK = 45091,
      SERVER_ANGLECHANGE = 45092,
      SERVER_CHATCOUNT = 45093,
      SERVER_INVENTORYMOVEMENT = 45108,
      SERVER_ITEMFIXED = 45118,
      SERVER_OBJECTSELECT = 45125,
      SERVER_NPCSELECT = 45126,
      SERVER_NPCDESELECT = 45131,
      SERVER_INVENTORYUSE = 45132,
      SERVER_PARTYMATCHING = 45164,
      SERVER_SKILLADD = 45168,
      SERVER_SKILLCASTED = 45169,
      SERVER_BUFFDELL = 45170,
      SERVER_OBJECTACTION = 45172,
      SERVER_SKILLUPDATE = 45217,
      SERVER_BUFFINFO = 45245,
      SERVER_HORSEACTION = 45259,
    }

    public enum CLIENT_OPCODES
    {
      CLIENT_ACCEPTDEAD = 12371,
      CLIENT_PARTY = 12416,
      CLIENT_CONFIRMSPAWN = 13509,
      CLIENT_SELECTCHARACTER = 28673,
      CLIENT_DISCONNECT = 28677,
      CLIENT_CHARACTERLISTING = 28679,
      CLIENT_MOVEMENT = 28705,
      CLIENT_CHAT = 28709,
      CLIENT_DROPGOLD = 28724,
      CLIENT_INVENTORYMOVEMENT = 28724,
      CLIENT_GETSTORAGEITEMS = 28732,
      CLIENT_REPAIR = 28734,
      CLIENT_OBJECTSELECT = 28741,
      CLIENT_NPCSELECT = 28742,
      CLIENT_NPCDESELECT = 28747,
      CLIENT_INVENTORYUSE = 28748,
      CLIENT_SITDOWN = 28751,
      CLIENT_TELEPORT = 28762,
      CLIENT_PARTYLEAVE = 28769,
      CLIENT_JOINPARTY = 28781,
      CLIENT_OBJECTACTION = 28788,
      CLIENT_ZERK = 28839,
      CLIENT_PETACTION = 28869,
     

 CLIENT_KILLHORSE = 28870,
يلا ورونا ابداعتكو والي هيقف معاه حاجه هتابع معاه

للي معندهوش برنامج Clientless login ممكن يستخدم السورس دا

عفوا ,,, لايمكنك مشاهده الروابط لانك غير مسجل لدينا [ للتسجيل اضغط هنا ]



توقيع ™ EgY_KhaN ™ :

EgY_KhaN is There !


التعديل الأخير تم بواسطة ™ EgY_KhaN ™ ; 18-02-2017 الساعة 10:11 PM السبب: تم تحديث رابط التحميل

رد مع اقتباس
إعلانات google