示例#1
0
void cCorpse::save( cBufferedWriter& writer, unsigned int version )
{
	cItem::save( writer, version );
	writer.writeShort( bodyId_ );
	writer.writeShort( hairStyle_ );
	writer.writeShort( hairColor_ );
	writer.writeShort( beardStyle_ );
	writer.writeShort( beardColor_ );
	writer.writeByte( direction_ );
	writer.writeAscii( charbaseid_ );
	writer.writeInt( murderer_ );
	writer.writeInt( murdertime_ );

	// Write a serial for every possible layer (fixed block size)
	unsigned char layer;
	for ( layer = cBaseChar::SingleHandedWeapon; layer <= cBaseChar::Mount; ++layer )
	{
		if ( equipment_.contains( layer ) )
		{
			writer.writeInt( equipment_[layer] );
		}
		else
		{
			writer.writeInt( INVALID_SERIAL );
		}
	}
}
示例#2
0
void cUObject::save( cBufferedWriter& writer, unsigned int /*version*/ )
{
	writer.writeUtf8( name_ );
	writer.writeInt( serial_ );
	writer.writeInt( multi_ ? multi_->serial() : INVALID_SERIAL );
	writer.writeShort( pos_.x );
	writer.writeShort( pos_.y );
	writer.writeByte( pos_.z );
	writer.writeByte( pos_.map );
	writer.writeAscii( scriptList() );
}
示例#3
0
void cNPC::save( cBufferedWriter& writer, unsigned int version )
{
	cBaseChar::save( writer, version );

	writer.writeInt( summonTime_ ? summonTime_ - Server::instance()->time() : 0 );
	writer.writeInt( additionalFlags_ );
	writer.writeInt( owner_ ? owner_->serial() : INVALID_SERIAL );
	writer.writeInt( stablemasterSerial_ );
	writer.writeAscii( aiid_.latin1() );
	writer.writeByte( ( unsigned char ) wanderType() );
	writer.writeShort( wanderX1() );
	writer.writeShort( wanderY1() );
	writer.writeShort( wanderX2() );
	writer.writeShort( wanderY2() );
	writer.writeShort( wanderRadius() );
}
示例#4
0
void cNPC::save( cBufferedWriter& writer, unsigned int version )
{
	if ( free )
	{
		Console::instance()->log( LOG_WARNING, tr( "Skipping npc 0x%1 during save process because it's already freed.\n" ).arg( serial_, 0, 16 ) );
	}
	else
	{
		cBaseChar::save( writer, version );

		writer.writeInt( summonTime_ ? summonTime_ - Server::instance()->time() : 0 );
		writer.writeInt( additionalFlags_ );
		writer.writeInt( owner_ ? owner_->serial() : INVALID_SERIAL );
		writer.writeInt( stablemasterSerial_ );
		writer.writeAscii( aiid_.toLatin1() );
		writer.writeByte( ( unsigned char ) wanderType() );
		writer.writeShort( wanderX1() );
		writer.writeShort( wanderY1() );
		writer.writeShort( wanderX2() );
		writer.writeShort( wanderY2() );
		writer.writeShort( wanderRadius() );
	}
}