scripts.dll 1.8 progress report [message #102834] |
Tue, 20 July 2004 03:09 |
|
So far, I have implemented the following pieces of code (none of which are in any way based on anything SK has written)
1.InitEngine (this sets up the different addresses for stuff for game.exe, server.dat, RH7 FDS and RH8 FDS depending on what is needed)
2.code to detect the difference between game.exe and server.dat (it works great too)
3.As_PhysicalGameObj (will return the passed in object if it is a PhysicalGameObj, otherwise 0)
4.As_DamageableGameObj (will return the passed in object if it is a DamageableGameObj, otherwise 0)
5.As_SoldierGameObj (will return the passed in object if it is a SoldierGameObj, otherwise 0)
6.Get_Model (returns the name of the model file used for the object if it is a valud PhysicalGameObj otherwise the string "DUMMY" is returned, this is the opposite of the Set_Model script command)
7.Get_Object_Type Returns the type of an object, works for any DamageableGameObj
8.Get_Definition (returns the definition class for any GameObject)
9.Get_Phys_Definition (returns the phyics definition class for any PhysicalGameObj)
10.Get_Class_ID (returns the class ID for any DefinitionClass)
11.Get_Definition_Name (returns the Definition Name for any DefinitionClass, this matches up with the preset name for at least any DefinitionClass from a GameObject)
12.Get_Definition_ID (like Get_Definition_Name but gets the definition ID, this will match the preset ID for any DefinitionClass from a GameObject)
13.Soldier_Re_Init (this one calls SoldierGameObj::Re_Init to load in a new SoldierGameObjDef)
14.Find_Named_Definition (this one finds a valid definition such as a vechicle, soldier or whatever)
15.Post_Re_Init (this one does stuff that needs to be done after calling Soldier_Re_Init)
16.Change_Character (this one takes a GameObject and a preset name. If the preset doesnt exist or is not a SoldierGameObjDef, it returns false. It will also return false if the GameObject is not a SoldierGameObj. Otherwise, it will find the definition with Find_Named_Definition, call Soldier_Re_Init and Post_Re_Init then return true)
17.WideCharToChar (this one is a utillity function that converts a wchar_t *to a char *)
18.Get_Player_Name (this one converts a GameObject into a player name)
19.Get_Player_ID (this one converts a GameObject into a player ID)
and 20.Get_GameObj (this one converts a player ID into a GameObject)
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
|
|
|
|
scripts.dll 1.8 progress report [message #102847] |
Tue, 20 July 2004 04:16 |
Blazea58
Messages: 408 Registered: May 2003
Karma: 0
|
Commander |
|
|
i just wish i knew what all that really meant lol.
As i read it, it seems like i get a bit lost, on what they actually do . :rolleyes:
|
|
|
|
|
scripts.dll 1.8 progress report [message #103026] |
Tue, 20 July 2004 21:35 |
|
ok, more stuff that I have added:
1.As_BuildingGameObj (will return the passed in object if it is a BuildingGameObj, otherwise 0)
All of these next ones can take 2 for "team" to mean <any team> except for Find_Building_By_Team.
All of them will return the GameObject corresponding to the specified building, if no match is found, they will return 0.
2.Find_Building_By_Class_ID (finds the first building matching a class ID and a team, this is mainly for the functions below)
3.Find_Building_By_Team (finds the first building matching the specified team)
4.Find_Building_By_Name (finds the first building matching the specified team and preset name)
5.Find_Power_Plant (finds the first powerplant for the specified team)
6.Find_Refinery (finds the first refinery for the specified team)
7.Find_Repair_Bay (finds the first repair bay for the specified team)
8.Find_Soldier_Factory (finds the first soldier factory for the specified team)
9.Find_Airstrip (finds the first airstrip for the specified team)
10.Find_War_Factory (finds the first war factory for the specified team)
11.Find_Com_Center (finds the first com center for the specified team)
12.Find_Repair_Bay (finds the first repair bay for the specified team)
13.Find_Vehicle_Factory (finds the first airstrip for the specified team, if none is found, finds the first war factory for the team. Use this one to be sure you find the vehcile factory for the team in question, even if the map has e.g. a nod war factory)
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
|
|
|
|
|
scripts.dll 1.8 progress report [message #103034] |
Tue, 20 July 2004 23:18 |
|
ok, 2 more
Kill_All_Buildings_By_Team (kills all the buildings of the specified team which will end the game)
Repair_All_Buildings_By_Team (takes a team, the ID of the "construction yard" building and how much health to repair and will repair all buildings by the speicified amount except the passed in one. Can pass 0 if you want all buildings to be repaired.)
This would be called every <time> seconds inside e.g. JFW_Construction_Yard.
And Damage_Nearest_Buildings_By_Team (which will damage all buildings within a certain radius of a particular location by a certain health)
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
|
|
|
|
scripts.dll 1.8 progress report [message #103050] |
Wed, 21 July 2004 02:12 |
|
more stuff
Find_Smart_Object_By_Team (finds the first SmartGameObj of the specified team in the list)
Find_Object_By_Team (finds the first GameObject of the specified team in the list)
Damage_All_Buildings_By_Team_Nearest_Scale (like Damage_All_Buildings_By_Team_Nearest except it scales damage based on how far away from the center the building is)
Find_Object_By_Preset (this will find the first object of a given preset in the list)
Find_Non_Player_Object_By_Team (finds the first non-player SmartGameObject by team).
This last one is usefull because (I think) you can use it as a way to give or take credits from a particular team without doing it for a player, dont know for sure though.
Next up, commands of the form Is_xxx that will determine if the passed in object is <xxx>.
For example, Is_Vehicle
Is_Soldier
Is_Building
and even further, things like Is_Motorcycle, Is_VTOLVehicle (this is one that I have wanted pretty much ever since I first started scripting, now its possible), Is_TrackedVehicle and so on.
As per usual, all the code for all this stuff I am talking about will be 100% open for anyone to use for whatever they like as long as they comply with the GPL.
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
|
|
|
scripts.dll 1.8 progress report [message #103060] |
Wed, 21 July 2004 05:07 |
KIRBY098
Messages: 1546 Registered: February 2003
Karma: 0
|
General (1 Star) |
|
|
Very nice, and I appreciate the actual support to the modification community rather than the usual "It's mine, you can't have it." mentality.
This is just like the whole Linux vs Microsoft thing.
Deleted
|
|
|
|
|
scripts.dll 1.8 progress report [message #103125] |
Wed, 21 July 2004 14:57 |
|
it will be done when its done. (and tested)
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
|
|
|
|
scripts.dll 1.8 progress report [message #103155] |
Wed, 21 July 2004 18:19 |
|
ok, mroe completed stuff
Is_Soldier (is this a soldier)
Is_Vehicle (is this a vechicle)
Is_Cinematic (is this a cinematic object)
Is_ScriptZone (is this a script zone)
Is_TrackedVehicle (is this a tracked vechicle)
Is_VTOLVehicle (is this a VTOL vechicle)
Is_WheeledVehicle (is this a wheeled vehicle)
Is_Motorcycle (is this a motorcycle)
Set_Max_Health (sets the max health of an object and also sets the health to the new max)
Set_Max_Shield_Strength (sets the max shield strength of an object and also sets the shield strength to the new max)
Plus clones of the following WS scripts
M00_ArmorMedal_TextMessage_JDG
M00_C130_Explosion
M00_HealthMedal_TextMessage_JDG
M00_Ion_Cannon_Sound
M00_NukeStrike_Anim
M00_Send_Object_ID
M00_PlayAnimation_DestroyObject_DAY
More westwood script clones are in progress, including possibly:
M00_BuildingStateSoundSpeaker
M00_BuildingStateSoundControler
M00_Play_Sound_Object_Bone_DAY
M00_Soldier_Powerup_Disable
M00_Soldier_Powerup_Grant
Test_Cinematic (although cloning this will take forever so it probobly wont happen)
Test_Cinematic_Primary_Killed
M00_Cinematic_Attack_Command_DLS
Plus, some more scripts that I will write:
JFW_Create_Destroy_Object_On_Custom_Death (like JFW_Create_Destroy_Object_On_Custom but destroys the created object when the object with JFW_Create_Destroy_Object_On_Custom_Death on it dies)
JFW_Chinnook_Drop (dont know about this one, it would be for a chinnook ropedrop effect for multiplayer although I dont know if it will work or not and if so, how)
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
|
|
|
|
scripts.dll 1.8 progress report [message #103172] |
Wed, 21 July 2004 21:50 |
|
working on it.
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
|
|
|
scripts.dll 1.8 progress report [message #103179] |
Wed, 21 July 2004 23:15 |
|
ok, another thing that I may make for 1.8, new versions of the various no_aircraft/aircraft_only but using Is_VTOLVehicle instead of hard-coded presets.
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
|
|
|
scripts.dll 1.8 progress report [message #103188] |
Thu, 22 July 2004 01:32 |
Deactivated
Messages: 1503 Registered: February 2003
Karma: 0
|
General (1 Star) |
|
|
jonwil | ok, another thing that I may make for 1.8, new versions of the various no_aircraft/aircraft_only but using Is_VTOLVehicle instead of hard-coded presets.
|
Good!
The 4 presets/side are not enough when you have AI and player versions of aircraft units.
|
|
|
|
|
scripts.dll 1.8 progress report [message #103218] |
Thu, 22 July 2004 04:56 |
|
try JFW_Cinematic_Attack, if thats not what you need, let me know what you want and I can probobly do something for you.
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
|
|
|
scripts.dll 1.8 progress report [message #103224] |
Thu, 22 July 2004 05:36 |
|
ok, JFW_Cinematic_Primary_Killed is written.
JFW_Cinematic_Attack_Command, JFW_Soldier_Powerup_Disable and JFW_Soldier_Powerup_Grant may or may not be in 1.8
I have also completed JFW_Spawn_Timer, JFW_Death_Destroy_Object_Delay and JFW_Conyard.
All of this stuff is going to require a LOT of testing so if anyone has the map skills and etc to help with testing, please do let me know as I will need all the testing help I can get.
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
|
|
|