المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : شرح تغير مكان التمثال لكويسته بطل السيرفر (Hero of Game)


Mero
2019-05-29, 01:51 AM
عفواً لايمكن عرض الروابط في الإرشيف


فيه ناس كلمتنى على الفيس علشان كانت محتاجه تعرف ازاى تغير مكان التمثال لكويسته بطل السيرفر (Hero of Game)
دلوقتى هنشرح ازاى تغير مكانه بطريقه بسيطه وسهله

نروح على كلاس Statue
ونبحث عن السطر ده

public Statue(byte[] array, uint uid = 105175, uint action = Enums.ConquerAction.Happy, byte facing =


هتلاقى الاحداثيات موجوده فى السطر على حسب سورسك يعنى انا عندى السطر كده


public Statue(byte[] array, uint uid = 105175, uint action = Enums.ConquerAction.Happy, byte facing = (byte)Enums.ConquerAngle.South, ushort xx = 290, ushort yy = 300, bool war = false)

شايفين ال 290 و300 دى هيا الاحداثيات غيرها بالمكان اللى انت عاوز تغيره
وبكده المكان اتغير

دي الطريقة الصحيحة لتغير مكان التمثال عشان ميحصلش اي مشكلة في السورس بتاعك


عفواً لايمكن عرض الروابط في الإرشيف

محمد ياسر
2019-05-30, 02:39 PM
هي ده الطريقه صح تسلم ايدك

Mero
2019-05-30, 03:14 PM
هي ده الطريقه صح تسلم ايدك

تسلم يابرنس البرانيس :)

Adel Abd El Hay
2019-05-31, 10:28 PM
فيه ناس كلمتنى على الفيس علشان كانت محتاجه تعرف ازاى تغير مكان التمثال لكويسته بطل السيرفر (hero of game)
دلوقتى هنشرح ازاى تغير مكانه بطريقه بسيطه وسهله

نروح على كلاس statue
ونبحث عن السطر ده

public statue(byte[] array, uint uid = 105175, uint action = enums.conqueraction.happy, byte facing =


هتلاقى الاحداثيات موجوده فى السطر على حسب سورسك يعنى انا عندى السطر كده


public statue(byte[] array, uint uid = 105175, uint action = enums.conqueraction.happy, byte facing = (byte)enums.conquerangle.south, ushort xx = 290, ushort yy = 300, bool war = false)

شايفين ال 290 و300 دى هيا الاحداثيات غيرها بالمكان اللى انت عاوز تغيره
وبكده المكان اتغير

دي الطريقة الصحيحة لتغير مكان التمثال عشان ميحصلش اي مشكلة في السورس بتاعك



تسلم ايدك ياحبي وجاري التجربه

Mero
2019-06-01, 01:22 AM
تسلم ايدك ياحبي وجاري التجربه

الله يسلمك

Users
2019-07-07, 12:19 AM
عودا حميدا يا ميرو ايه الغيبه دى كلها

Adel Abd El Hay
2019-08-09, 03:37 PM
السطر دا مش موجود عندي ف كلاس statue ولا ف السورس مع ان الحرب شغاله عادي ودا كل اللي موجود ف كلاس statue
using System;
using MoDY.Network.GamePackets;
using System.Collections.Concurrent;

namespace MoDY.Game
{
public unsafe class Statue : Network.Writer
{
public static ConcurrentDictionary<uint, Statue> Statues = new ConcurrentDictionary<uint, Statue>();
public byte[] SpawnPacket = null;
public uint UID;
public Statue(byte[] array)
{
UID = 105175;
SpawnPacket = new byte[array.Length];
for (ushort x = 0; x < array.Length; x++)
SpawnPacket[x] = array[x];
WriteByte(0, MsgPlayer.Facing, SpawnPacket);
WriteUInt32(0, MsgPlayer.Action, SpawnPacket);
WriteUInt16(1000, MsgPlayer.GuildRank, SpawnPacket);
WriteUInt32(105175, MsgPlayer.UID, SpawnPacket);
WriteUInt64(0, MsgPlayer.StatusFlag, SpawnPacket);
WriteUInt64(0, MsgPlayer.StatusFlag2, SpawnPacket);
WriteUInt64(0, MsgPlayer.StatusFlag3, SpawnPacket);
WriteUInt32(0, MsgPlayer.Hitpoints, SpawnPacket);
WriteUInt32(0, MsgPlayer.GuildID, SpawnPacket);
X = 328;
Y = 304;
if (array.Length > 200)
{
if (!Statues.ContainsKey(105175))
Statues.TryAdd(105175, this);
else
{
Statues[105175] = this;
}
}
foreach (var client in Kernel.GamePool.Values)
{
if (Kernel.GetDistance(X, Y, client.Player.X, client.Player.Y) < 16 && client.Player.MapID == 1002)
{
client.Send(this.SpawnPacket);
}
}
}
ushort _x, _y;
public ushort X
{
get { return _x; }
set
{
_x = value;
WriteUInt16(value, MsgPlayer.X, SpawnPacket);
}
}
public ushort Y
{
get { return _y; }
set
{
_y = value;
WriteUInt16(value, MsgPlayer.Y, SpawnPacket);
}
}
public static bool operator >(Statue statue, Client.GameState client)
{
if (!client.Screen.Statue.ContainsKey(statue.UID))
{
if (Kernel.GetDistance(statue.X, statue.Y, client.Player.X, client.Player.Y) < 16 && client.Player.MapID == 1002)
{
if (statue.SpawnPacket.Length > 200)
{
client.Send(statue.SpawnPacket);
return true;
}
}
}
return false;
}
public static bool operator <(Statue statue, Client.GameState client)
{
if (Kernel.GetDistance(statue.X, statue.Y, client.Player.X, client.Player.Y) >= 16 && client.Player.MapID == 1002)
{
return true;
}
return false;
}
}
}

LyokaWarior
2019-08-09, 03:41 PM
وحشـك شـغـل Copy Past :d

ahmedfarouk
2023-07-28, 04:26 AM
شكرا