سجل رحلة المركبة (Trip History)
مأخوذ من embeddedt/OpenTTD-modded (الدفعة الأولى من النقل)، تم تكييفه مع واجهات برمجة تطبيقات السلاسل والتواريخ الجديدة في jrpm.
الوظيفة
تتذكر كل مركبة بيانات آخر 10 رحلات، يمكن عرضها عبر زر History (السجل) الجديد في نافذة تفاصيل المركبة:
| العمود | المعنى |
|---|---|
| Received (الوصول) | تاريخ استلام البضائع لهذه الرحلة |
| Profit (الربح) | ربح هذه الرحلة (يظهر باللون الأصفر إذا كان سلبياً) |
| % Change | النسبة المئوية للتغير في الربح مقارنة بالرحلة السابقة (أخضر + / أحمر -) |
| TBT | الفاصل الزمني بين هذه الرحلة والرحلة السابقة (أيام) |
| Change | التغير في الوقت مقارنة بالرحلة السابقة (أيام) |
| Occupancy | متوسط نسبة الركاب/البضائع المحملة لهذه الرحلة (%) |
يوجد أيضاً إحصاءات ملخصة في أسفل النافذة:
- Total income for the last N trips: إجمالي ربح آخر N رحلة + متوسط الربح اليومي لكل رحلة
- Average trip length: متوسط الفاصل الزمني بين الرحلات (أيام)
- Improvement over last N trips: النسبة المئوية للتغير الإجمالي في الربح
آلية التسجيل
- AddValue: عند اكتمال رحلة مركبة (إتلاف
CargoPayment)، يتم تسجيل الربح والتاريخ ونسبة الإشغال والمسافة بين المحطات - NewRound: عند وصول المركبة إلى أول وجهة وفقاً للجدول الزمني، تبدأ رحلة جديدة
- نسبة الإشغال: تُجمع عند مغادرة المركبة للمحطة (إعادة استخدام آلية
trip_occupancyالموجودة في jrpm)
ملاحظات التنفيذ
- البيانات هي NOSAVE (زمن التشغيل فقط، لا تُكتب في الحفظ)، لذلك لا حاجة لزيادة إصدار الحفظ، الحفظ القديم متوافق تماماً
- فئة نافذة جديدة
WindowClass::VehicleTripHistory، معرف النافذة هو معرف المركبة - تمت إضافة زر History في شريط عنوان نافذة تفاصيل المركبة (قطار/غير قطار)
- عند حذف المركبة، تُغلق نافذة السجل تلقائياً
الملفات المعنية
src/triphistory.h/src/triphistory_cmd.cpp/src/triphistory_gui.cpp(جديد)src/vehicle_base.h(إضافة حقلtrip_historyإلى Vehicle)src/economy.cpp(تسجيل الرحلة عند إتلاف CargoPayment)src/timetable_cmd.cpp(بدء رحلة جديدة عند الوصول إلى أول محطة)src/vehicle_gui.cpp/src/widgets/vehicle_widget.h(زر History)src/lang/english.txt(سلاسل STR_TRIP_HISTORY_*)