Skip to content

سجل رحلة المركبة (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_*)