![]() |
|
#1
|
|||
|
|||
|
I wrote a small c# script to display an IL2-style 'speed bar' in CoD. It's not great, but was fun to do. It's in this thread here:
http://simhq.com/forum/ubbthreads.ph...e_airspee.html Since a few google searches led me to the people helping to explore scripting here, it seems proper to post back in-case it helps others. Code:
using System;
using maddox.game;
using maddox.game.world;
using maddox.GP;
using System.Collections.Generic;
public class Mission : AMission
{
private double nextMsgTime = 0;
public override void OnTickGame()
{
{
base.OnTickGame();
if (Time.current() > nextMsgTime)
{
nextMsgTime = Time.current() + 3.0; // 3 ish seconds to next message
// Leave this in if you want to test a timer
//GamePlay.gpHUDLogCenter("Time elapsed (in seconds) = " + Time.current() +
// ", next message will be at " + nextMsgTime);
if (GamePlay.gpPlayer() != null) // check if we have a player.
{
if (GamePlay.gpPlayer().Place() != null)
{
Player me = GamePlay.gpPlayer();
Player[] all = { me };
AiActor where = me.Place();
Point3d pos = me.Place().Pos();
double height = ((pos.z + 62.5) / 306.5) * 1000;
AiAircraft aircraft = (GamePlay.gpPlayer().Place() as AiAircraft);
double ias = aircraft.getParameter(part.ParameterTypes.I_VelocityIAS, 0);
double altitude = aircraft.getParameter(part.ParameterTypes.I_Altitude, 0);
double mag_compass = aircraft.getParameter(part.ParameterTypes.I_MagneticCompass, 0);
double rep_compass = aircraft.getParameter(part.ParameterTypes.I_RepeaterCompass, 0);
double z_altitude = aircraft.getParameter(part.ParameterTypes.Z_AltitudeMSL, 0);
double z_ias = aircraft.getParameter(part.ParameterTypes.Z_VelocityTAS, 0);
double z_orientation = aircraft.getParameter(part.ParameterTypes.Z_Coordinates, 0);
GamePlay.gpLogServer(all,
"Frogbar v0.1: HDG: " +
mag_compass.ToString("0") +
" ALT: " +
height.ToString("0") +
" SPD: " +
ias.ToString("0"), null);
}
}
}
}
}
}
Last edited by fearlessfrog; 07-22-2011 at 07:28 AM. |
|
#2
|
|||
|
|||
|
Thank you for posting.
It is server side script for online players I assume. But for offline players it could be useful to know how to install it. |
|
#3
|
|||
|
|||
|
Hi Ataros,
Actually I've only ever tried it single player. To use it then take the script text and make a 'same-name-as-mission-file.cs' and place it next to the existing .mis file - if you then configure a small window (i.e. 1 line, vertically wide) then you can 'simulate' the speedbar as in IL2. To try it quickly you can use the Extras / Full Mission Builder and save a mission, i.e. 'test1.mis' and then take the above script and save it as a file called 'test1.cs' and put it next to the .mis file in the /missions directory. It was just a quick thing to try out, and not a proper speedbar to always play with, but it's great that so much is accessible via the API. Cheers Last edited by fearlessfrog; 07-22-2011 at 07:04 PM. |
![]() |
|
|