forked from mirror/openmw-tes3mp
Send item count ID_WORLD_OBJECT_PLACE
This commit is contained in:
parent
1f982e4dc7
commit
180aa3f2f3
5 changed files with 20 additions and 8 deletions
|
@ -61,11 +61,13 @@ namespace MWGui
|
||||||
event->cellRef.mRefID = dropped.getCellRef().getRefId();
|
event->cellRef.mRefID = dropped.getCellRef().getRefId();
|
||||||
event->cellRef.mRefNum = dropped.getCellRef().getRefNum();
|
event->cellRef.mRefNum = dropped.getCellRef().getRefNum();
|
||||||
event->cellRef.mPos = dropped.getCellRef().getPosition();
|
event->cellRef.mPos = dropped.getCellRef().getPosition();
|
||||||
|
event->count = count;
|
||||||
mwmp::Main::get().getNetworking()->GetWorldPacket(ID_OBJECT_PLACE)->Send(event);
|
mwmp::Main::get().getNetworking()->GetWorldPacket(ID_OBJECT_PLACE)->Send(event);
|
||||||
|
|
||||||
printf("Sending ID_OBJECT_PLACE about %s\n%i\n",
|
printf("Sending ID_OBJECT_PLACE\n- cellRef: %s, %i\n- count: %i\n",
|
||||||
event->cellRef.mRefID.c_str(),
|
event->cellRef.mRefID.c_str(),
|
||||||
event->cellRef.mRefNum.mIndex);
|
event->cellRef.mRefNum.mIndex,
|
||||||
|
event->count);
|
||||||
|
|
||||||
return dropped;
|
return dropped;
|
||||||
}
|
}
|
||||||
|
|
|
@ -705,13 +705,19 @@ void Networking::ProcessWorldPacket(RakNet::Packet *packet)
|
||||||
case ID_OBJECT_PLACE:
|
case ID_OBJECT_PLACE:
|
||||||
{
|
{
|
||||||
LOG_MESSAGE_SIMPLE(Log::LOG_WARN, "%s", "Received ID_OBJECT_PLACE");
|
LOG_MESSAGE_SIMPLE(Log::LOG_WARN, "%s", "Received ID_OBJECT_PLACE");
|
||||||
LOG_APPEND(Log::LOG_WARN, "- cellRef: %s, %i\n- cell: %s",
|
LOG_APPEND(Log::LOG_WARN, "- cellRef: %s, %i\n- cell: %s\n- count: %i",
|
||||||
event->cellRef.mRefID.c_str(),
|
event->cellRef.mRefID.c_str(),
|
||||||
event->cellRef.mRefNum.mIndex,
|
event->cellRef.mRefNum.mIndex,
|
||||||
event->cell.getDescription().c_str());
|
event->cell.getDescription().c_str(),
|
||||||
|
event->count);
|
||||||
|
|
||||||
MWWorld::ManualRef ref(MWBase::Environment::get().getWorld()->getStore(), event->cellRef.mRefID, 1);
|
MWWorld::ManualRef ref(MWBase::Environment::get().getWorld()->getStore(), event->cellRef.mRefID, 1);
|
||||||
MWBase::Environment::get().getWorld()->placeObject(ref.getPtr(), ptrCellStore, event->cellRef.mPos);
|
MWWorld::Ptr newPtr = ref.getPtr();
|
||||||
|
|
||||||
|
if (event->count > 1)
|
||||||
|
newPtr.getRefData().setCount(event->count);
|
||||||
|
|
||||||
|
MWBase::Environment::get().getWorld()->placeObject(newPtr, ptrCellStore, event->cellRef.mPos);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -542,11 +542,13 @@ namespace MWScript
|
||||||
event->cellRef.mRefID = ptr.getCellRef().getRefId();
|
event->cellRef.mRefID = ptr.getCellRef().getRefId();
|
||||||
event->cellRef.mRefNum = ptr.getCellRef().getRefNum();
|
event->cellRef.mRefNum = ptr.getCellRef().getRefNum();
|
||||||
event->cellRef.mPos = ptr.getCellRef().getPosition();
|
event->cellRef.mPos = ptr.getCellRef().getPosition();
|
||||||
|
event->count = 1;
|
||||||
mwmp::Main::get().getNetworking()->GetWorldPacket(ID_OBJECT_PLACE)->Send(event);
|
mwmp::Main::get().getNetworking()->GetWorldPacket(ID_OBJECT_PLACE)->Send(event);
|
||||||
|
|
||||||
printf("Sending ID_OBJECT_PLACE about %s\n%i\n",
|
printf("Sending ID_OBJECT_PLACE\n- cellRef: %s, %i\n- count: %i\n",
|
||||||
event->cellRef.mRefID.c_str(),
|
event->cellRef.mRefID.c_str(),
|
||||||
event->cellRef.mRefNum.mIndex);
|
event->cellRef.mRefNum.mIndex,
|
||||||
|
event->count);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
|
@ -25,9 +25,9 @@ namespace mwmp
|
||||||
|
|
||||||
ESM::Cell cell;
|
ESM::Cell cell;
|
||||||
ESM::CellRef cellRef;
|
ESM::CellRef cellRef;
|
||||||
|
|
||||||
ESM::Position pos;
|
ESM::Position pos;
|
||||||
|
|
||||||
|
int count;
|
||||||
int state;
|
int state;
|
||||||
int lockLevel;
|
int lockLevel;
|
||||||
float scale;
|
float scale;
|
||||||
|
|
|
@ -20,4 +20,6 @@ void PacketObjectPlace::Packet(RakNet::BitStream *bs, WorldEvent *event, bool se
|
||||||
RW(event->cell.mData.mX, send);
|
RW(event->cell.mData.mX, send);
|
||||||
RW(event->cell.mData.mY, send);
|
RW(event->cell.mData.mY, send);
|
||||||
RW(event->cell.mName, send);
|
RW(event->cell.mName, send);
|
||||||
|
|
||||||
|
RW(event->count, send);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue