Home » Renegade Discussions » Mod Forum » scripts.dll 2.6 and beoynd
Re: scripts.dll 2.6 and beoynd [message #193497 is a reply to message #193175] |
Tue, 21 March 2006 07:47 |
|
Here is a complete list of features currently in 2.6:
Code to make "player left game", "player joined game" and "player bought vehicle" messages display always (somtimes they didnt display properly on the LFDS although they appeared in the log files)
Clone of the ICON console command that displays for the enemy instead of for your team.
Change to the SVERSION console command to work for clients too
*Console Command to change the current vehicle limit
Console Command to display the current vehicle limit
*per-player & per-team versions of Set_Obj_Radar_Blip_Shape and Set_Obj_Radar_Blip_Color
*A new engine call to display a texture same as the scope texture (size etc) and one to make the texture go away. Usefull for displaying instructions etc (especially since the texture can have alpha blending/transparency)
*A new engine call to send a message to a player such that it appears in the box where mesasges like "unit ready" appear. You also specifiy what color you want the message to be.
*Engine call to set the current vehicle limit
Engine call to get the current vehicle limit
bool Is_Scriptable(GameObject *obj); //is a ScriptableGameObj
void Set_Damage_Points(GameObject *obj,float points); //Set the damage points for an object
void Set_Death_Points(GameObject *obj,float points); //Set the death points for an object
void Repair_All_Buildings_By_Team_Radius(int Team,int ConstructionYardID,float Health,float Radius); //repairs all buildings in the specified radius around the object represented by ConstructionYardID for the team except the passed in ConstructionYardID,0 = Nod,1 = GDI
const char *Get_Translated_String(unsigned long ID); //Get a string from the translation database given its ID
const char *Get_Translated_Preset_Name(GameObject *obj); //Get the translated name for the preset of this object, if it has one
int Get_C4_Count_Proximity(int Team); //Get the proximity C4 count for a team
int Get_C4_Count_Remote(int Team); //Get the remote C4 count for a team
void Attach_Script_All_Buildings_Team(int Team,const char *Script,const char *Params,bool Once); //attach a script to all buildings by team
void Attach_Script_All_Turrets_Team(int Team,const char *Script,const char *Params,bool Once); //attach a script to all turrets by team
const char *Get_Translated_Weapon(GameObject *obj,int position); //Get the translated name of a weapon
const char *Get_Current_Translated_Weapon(GameObject *obj); //Get the translated name of the current weapon
Clones of JFW_Base_Defence_xxx that alternate between primary and secondary when sent a custom
Script called JFW_Pilot_Repair that when put on an infantry unit makes that unit repair any vehicle they are inside
Script called JFW_Conyard_Radius that repairs buildings in a certain radius
Clones of KAK_Harvester_xxx that teleport the harvester to a particular location before following the field2dock waypath
Script JFW_Suicide_Bomber which when a certain key is pressed, infantry unit with it attached blows up.
*Script JFW_Show_Info_Texture, shows the texture mentioned above for specified amonut of time then makes it go away.
per-team versions of JFW_Switch_Door and JFW_Toggle_Door
Change to the time value used by JFW_Vehicle_Block_Preset to identify how soon after recieving the "entered vehicle" event to kick the unit out.
Here is a list of features that are still to be added to 2.6:
GameObject *Get_C4_Planter(GameObject *obj); //Gets the planter of a C4GameObj
GameObject *Get_Beacon_Planter(GameObject *obj); //Gets the planter of a BeaconGameObj
GameObject *Get_C4_Attached(GameObject *obj); //Gets the object a C4GameObj is attached to (if any)
void Remove_Gun(GameObject *obj,const char *gun); //Removes a gun from an object
GameObject *Get_Owner(GameObject *obj); //Gets the owner of a vehicle
float Get_Lock_Time(GameObject *obj); //Gets the time a vehicle will remain locked to the owner
void Set_Owner(GameObject *obj,GameObject *owner,float LockTime); //Sets the owner and lock time of a vehicle
void Set_Lock_Time(GameObject *obj,float LockTime); //Sets the lock time of a vehicle
Note that entering a vehicle resets the owner, as does the expiration of the lock time (defaults to 26 seconds when you buy the vehicle)
int Get_Vehicle_Mode(GameObject *obj); //Gets the mode of a vehicle
0 = car
1 = tank
2 = bike
3 = flying
4 = turret
void Repair_All_Turrets_By_Team(int Team,float health); //repairs all vehicles that have mode = turret
Changes to the scripts with VTOL in the name to check the vehicle mode instead of the physics type
New construction yard repair script to repair only turrets
engine call to get a teams color
engine call to get a players color
engine call to get an objects color
Changes to parse hud.ini color change on the FDS (so that the get color engine calls get the right color)
void Disarm_C4(GameOBject *obj); //Disarm a C4 object
void Disarm_All_Proxy_C4(int ID); //Disarm all proximity C4 owned by a player
void Disarm_All_C4(int ID); //Disarm all C4 owned by a player
Console command to disarm all C4 owned by a player
Console command to disarm all proximity C4 owned by a player
Fixes to disarm all C4 when the team change console commands and engine calls are used
int Get_Current_Vehicle_Count(int team); //Gets the current vehicle count for a team
bool Is_Base_Powered(int team); //Is this teams base powered
bool Can_Generate_Vehicles(int team); //Can this team buy vehicles
bool Can_Generate_Soliders(int team); //Can this team buy soldiers
*engine call to send colored message (like above) to everyone
*engine call to send colored message (like above) to a team
*Console command to send colored message to player, team and everyone
And, depending on how things go time wise and such, I will also try and get these into 2.6:
Engine calls to change the ammunition for a given player and a given gun (not sure which ones, if any, yet, I have to find the place it keeps the ammunition values first)
A possible fix to make ->Created get called when a C4GameObj is created
Console command to change the player limit at runtime (if I can find all the places to change to make it work)
Console command and engine call to get the current player limit
Engine call to get the time for a player (like Player_Info) if I can figure out how
Console Command to change the time remaining/time limit for the game if I can figure out how
Console Command/engine call to get the time remaining/time limit for the game if I can figure out how
Console Command/Engine call to end the game by timing out if I can figure out how
Script to block certain presets from entering a zone
Script to allow only certain presets to enter a zone
These 2 I can do, I just have to figure out the math to move something "backwards N units"
*Changes to make "Health Is Full","Armour Is Full", "Ammunition is full" messages go over the network (I know where to change, the hard part is finding enough code to insert my hooks and making sure I get the right player ID and other information to pass though to the client)
*Changes to make various reports (e.g. harvester under attack) go over the network (if you hear the harvester under attack reports now, its probobly because you are on an SSAOW server which plays them itself). Need to figure out which sounds need to be sent over the network and where to hook to make that happen.
*these features reqire bhs.dll on the client to work
Jonathan Wilson aka Jonwil
Creator and Lead Coder of the Custom scripts.dll
Renegade Engine Guru
Creator and Lead Coder of TT.DLL
Official member of Tiberian Technologies
|
|
|
Goto Forum:
Current Time: Wed Jan 08 13:47:46 MST 2025
Total time taken to generate the page: 0.00761 seconds
|