Code:
public void PetMove(PtCtlPacket ptCtlPacket) {
string[] packetsplit = ptCtlPacket.PacketEnd.Split(' ');
for (int i = 0; i < ptCtlPacket.Amount * 3; i += 3) {
if (packetsplit.Length >= ptCtlPacket.Amount * 3 && int.TryParse(packetsplit[i], out int petId) && short.TryParse(packetsplit[i + 1], out short positionX) && short.TryParse(packetsplit[i + 2], out short positionY))
{
Mate mate = Session.Character?.Mates.Find(s => s.MateTransportId == petId);
if (mate != null) {
mate.PositionX = positionX;
mate.PositionY = positionY;
Session.CurrentMapInstance?.Broadcast(StaticPacketHelper.Move(UserType.Npc, petId, positionX, positionY, mate.Monster.Speed));
}
}
}
}
Code:
public void PetMove(PtCtlPacket ptCtlPacket) {
if(ptCtlPacket.PacketEnd != null) {
string[] packetsplit = ptCtlPacket.PacketEnd.Split(' ');
for (int i = 0; i < ptCtlPacket.Amount * 3; i += 3) {
if (packetsplit.Length >= ptCtlPacket.Amount * 3 && int.TryParse(packetsplit[i], out int petId) && short.TryParse(packetsplit[i + 1], out short positionX) && short.TryParse(packetsplit[i + 2], out short positionY))
{
Mate mate = Session.Character?.Mates.Find(s => s.MateTransportId == petId);
if (mate != null) {
mate.PositionX = positionX;
mate.PositionY = positionY;
Session.CurrentMapInstance?.Broadcast(StaticPacketHelper.Move(UserType.Npc, petId, positionX, positionY, mate.Monster.Speed));
}
}
}
}
}
Hf ^^
Maybe it works if u put an '?' to 'string[] packetsplit = ptCtlPacket.PacketEnd.Split(' ');'
Also 'string[] packetsplit = ptCtlPacket.PacketEnd?.Split(' ');'
But I'm not sure.
Edit: Löschen bitte hab nen neuen offen wo ich die dinger mit der Zeit sammel ^^






Thanx to you too for the help!
