Hello, firstly i appolagise for plastering the forum with this quetion. if you need to delete some of my previous post please do not delete this one. Also, i am running GOF v1.2 full patch 1.
My Goal: My aim is to duplicate a current 5/4 rate corvette or frigate. Rename it to 'The Boarding Masters Corvette/Frigate' or something to that effect. This Ship will obviously be a cheaters ship with more speed and cargo space at the expense of other stats. This ship is intended to be used by the enemy AI aswel, Not purchasable through a ship-yard. It is intended to be encountered and is intended for use with the debuger.c spawn player ship cheat.
First Problem: My first issue after i did the folowing code changes was that when i attempted to spawn it via debuger.c i would get the next ship/fort/boat down the line. In this case it is a fort. Thats right, when i activated the cheat i would get a fort.
SOLUTION: I needed to REINIT (button in the mod options via the main menu). After i pressed the reinit button and then pressed the specific cheat button i would get my boarding corvette.
Second Problem: This problem i need help with. My character is in a building. I then REINIT and then activate the cheat. i get the boarding corvette and go outside. The game crashes to desktop during the loading transition from inside to outside. I am asuming it has something to do with the models and textures of my ship being displayed in port. I am also asuming to save on hdd space the ship models refer to files outside of there ship directories rather than having all of the ship files required for each ship in each directory. How do i find out which files are related to individual ships? So i can basically lift a complete ship out of the game.
The Original Ship i chose and the Files i duplicated: I chose the 'CORVETTE51' which is the Heavy Corvette. In the text files it is listed as 'CORVETTE5'
The following files were copied from there respective folders to the duplicate folder named 'BoardingCorvette'.
The black text are the original files and the red text are the duplicated files. These files were just copied not modified internally.
RESOURCE/MODELS/SHIPS/corvette51/corvette51.gm
RESOURCE/MODELS/SHIPS/corvette51/corvette51_deadeyes.gm
RESOURCE/MODELS/SHIPS/corvette51/corvette51_deck.gm
RESOURCE/MODELS/SHIPS/corvette51/corvette51_fonar_day.gm
RESOURCE/MODELS/SHIPS/corvette51/corvette51_fonar_night.gm
RESOURCE/MODELS/SHIPS/corvette51/corvette51_mast1.gm
RESOURCE/MODELS/SHIPS/corvette51/corvette51_mast2.gm
RESOURCE/MODELS/SHIPS/corvette51/corvette51_mast3.gm
RESOURCE/MODELS/SHIPS/corvette51/corvette51_mast4.gm
RESOURCE/MODELS/SHIPS/corvette51/corvette51_mast10.gm
RESOURCE/MODELS/SHIPS/corvette51/corvette51_patch.gm
RESOURCE/MODELS/SHIPS/corvette51/corvette51_rey_a1.gm
RESOURCE/MODELS/SHIPS/corvette51/corvette51_rey_a2.gm
RESOURCE/MODELS/SHIPS/corvette51/corvette51_rey_a3.gm
RESOURCE/MODELS/SHIPS/corvette51/corvette51_rey_a4.gm
RESOURCE/MODELS/SHIPS/corvette51/corvette51_rey_b2.gm
RESOURCE/MODELS/SHIPS/corvette51/corvette51_rey_b3.gm
RESOURCE/MODELS/SHIPS/corvette51/corvette51_rey_b4.gm
RESOURCE/MODELS/SHIPS/corvette51/corvette51_rey_c2.gm
RESOURCE/MODELS/SHIPS/corvette51/corvette51_rey_c3.gm
RESOURCE/MODELS/SHIPS/corvette51/corvette51_rey_flag.gm
RESOURCE/MODELS/SHIPS/BoardingCorvette/BoardingCorvette.gm
RESOURCE/MODELS/SHIPS/BoardingCorvette/BoardingCorvette_deadeyes.gm
RESOURCE/MODELS/SHIPS/BoardingCorvette/BoardingCorvette_deck.gm
RESOURCE/MODELS/SHIPS/BoardingCorvette/BoardingCorvette_fonar_day.gm
RESOURCE/MODELS/SHIPS/BoardingCorvette/BoardingCorvette_fonar_night.gm
RESOURCE/MODELS/SHIPS/BoardingCorvette/BoardingCorvette_mast1.gm
RESOURCE/MODELS/SHIPS/BoardingCorvette/BoardingCorvette_mast2.gm
RESOURCE/MODELS/SHIPS/BoardingCorvette/BoardingCorvette_mast3.gm
RESOURCE/MODELS/SHIPS/BoardingCorvette/BoardingCorvette_mast4.gm
RESOURCE/MODELS/SHIPS/BoardingCorvette/BoardingCorvette_mast10.gm
RESOURCE/MODELS/SHIPS/BoardingCorvette/BoardingCorvette_patch.gm
RESOURCE/MODELS/SHIPS/BoardingCorvette/BoardingCorvette_rey_a1.gm
RESOURCE/MODELS/SHIPS/BoardingCorvette/BoardingCorvette_rey_a2.gm
RESOURCE/MODELS/SHIPS/BoardingCorvette/BoardingCorvette_rey_a3.gm
RESOURCE/MODELS/SHIPS/BoardingCorvette/BoardingCorvette_rey_a4.gm
RESOURCE/MODELS/SHIPS/BoardingCorvette/BoardingCorvette_rey_b2.gm
RESOURCE/MODELS/SHIPS/BoardingCorvette/BoardingCorvette_rey_b3.gm
RESOURCE/MODELS/SHIPS/BoardingCorvette/BoardingCorvette_rey_b4.gm
RESOURCE/MODELS/SHIPS/BoardingCorvette/BoardingCorvette_rey_c2.gm
RESOURCE/MODELS/SHIPS/BoardingCorvette/BoardingCorvette_rey_c3.gm
RESOURCE/MODELS/SHIPS/BoardingCorvette/BoardingCorvette_rey_flag.gm
RESOURCE/MODELS/SHIPS/SAILORSPOINTS/Corvette51.ini
RESOURCE/MODELS/SHIPS/SAILORSPOINTS/BoardingCorvette.ini
RESOURCE/TEXTURES/INTERFACES/SHIPS/corvette5.tga.tx
RESOURCE/TEXTURES/INTERFACES/SHIPS/BoardingCorvette.tga.tx
The following files were not modified, but they were duplicated
RESOURCE/TEXTURES/SHIPS/Corvette51/Hull1/bortoutcorvette1.tga.tx
RESOURCE/TEXTURES/SHIPS/Corvette51/Hull1/deck.tga.tx
RESOURCE/TEXTURES/SHIPS/Corvette51/Hull2/bortoutcorvette1.tga.tx
RESOURCE/TEXTURES/SHIPS/Corvette51/Hull2/deck.tga.tx
RESOURCE/TEXTURES/SHIPS/Corvette51/Hull3/bortoutcorvette1.tga.tx
RESOURCE/TEXTURES/SHIPS/Corvette51/Hull3/deck.tga.tx
RESOURCE/TEXTURES/SHIPS/BoardingCorvette/Hull1/bortoutcorvette1.tga.tx
RESOURCE/TEXTURES/SHIPS/BoardingCorvette/Hull1/deck.tga.tx
RESOURCE/TEXTURES/SHIPS/BoardingCorvette/Hull2/bortoutcorvette1.tga.tx
RESOURCE/TEXTURES/SHIPS/BoardingCorvette/Hull2/deck.tga.tx
RESOURCE/TEXTURES/SHIPS/BoardingCorvette/Hull3/bortoutcorvette1.tga.tx
RESOURCE/TEXTURES/SHIPS/BoardingCorvette/Hull3/deck.tga.tx
The following is a list of files and what internal code was altered.It includes extra code to show you were my changes are located within each file.
RESOURCE/INI/INTERFACES/pictures.ini
(added at the end of the list)
RESOURCE/INI/TEXTS/RUSSIAN/common.ini
(added at the end of the list)
RESOURCE/INI/TEXTS/RUSSIAN/shipdescribe.txt
(added at the end of the list)
PROGRAM/BATTLE_INTERFACE/battleInterface.c
(added at the end of the list)
PROGRAM/SCRIPTS/shipsUtilites.c
(i did nothing to this file. I dont want it sold at ship-yards)
PROGRAM/SHIPS/ships.h
(added at the end of the list)
PROGRAM/SHIPS/ships_init.c
(added at the end of the list)
Thank you for your time and patience. It is greatly appreciated.
My Goal: My aim is to duplicate a current 5/4 rate corvette or frigate. Rename it to 'The Boarding Masters Corvette/Frigate' or something to that effect. This Ship will obviously be a cheaters ship with more speed and cargo space at the expense of other stats. This ship is intended to be used by the enemy AI aswel, Not purchasable through a ship-yard. It is intended to be encountered and is intended for use with the debuger.c spawn player ship cheat.
Code:
ref mc = GetMainCharacter();
mc.Ship.Type = GenerateShip(SHIP_BOARDINGCORVETTE, true);
First Problem: My first issue after i did the folowing code changes was that when i attempted to spawn it via debuger.c i would get the next ship/fort/boat down the line. In this case it is a fort. Thats right, when i activated the cheat i would get a fort.
SOLUTION: I needed to REINIT (button in the mod options via the main menu). After i pressed the reinit button and then pressed the specific cheat button i would get my boarding corvette.
Second Problem: This problem i need help with. My character is in a building. I then REINIT and then activate the cheat. i get the boarding corvette and go outside. The game crashes to desktop during the loading transition from inside to outside. I am asuming it has something to do with the models and textures of my ship being displayed in port. I am also asuming to save on hdd space the ship models refer to files outside of there ship directories rather than having all of the ship files required for each ship in each directory. How do i find out which files are related to individual ships? So i can basically lift a complete ship out of the game.
The Original Ship i chose and the Files i duplicated: I chose the 'CORVETTE51' which is the Heavy Corvette. In the text files it is listed as 'CORVETTE5'
The following files were copied from there respective folders to the duplicate folder named 'BoardingCorvette'.
The black text are the original files and the red text are the duplicated files. These files were just copied not modified internally.
RESOURCE/MODELS/SHIPS/corvette51/corvette51.gm
RESOURCE/MODELS/SHIPS/corvette51/corvette51_deadeyes.gm
RESOURCE/MODELS/SHIPS/corvette51/corvette51_deck.gm
RESOURCE/MODELS/SHIPS/corvette51/corvette51_fonar_day.gm
RESOURCE/MODELS/SHIPS/corvette51/corvette51_fonar_night.gm
RESOURCE/MODELS/SHIPS/corvette51/corvette51_mast1.gm
RESOURCE/MODELS/SHIPS/corvette51/corvette51_mast2.gm
RESOURCE/MODELS/SHIPS/corvette51/corvette51_mast3.gm
RESOURCE/MODELS/SHIPS/corvette51/corvette51_mast4.gm
RESOURCE/MODELS/SHIPS/corvette51/corvette51_mast10.gm
RESOURCE/MODELS/SHIPS/corvette51/corvette51_patch.gm
RESOURCE/MODELS/SHIPS/corvette51/corvette51_rey_a1.gm
RESOURCE/MODELS/SHIPS/corvette51/corvette51_rey_a2.gm
RESOURCE/MODELS/SHIPS/corvette51/corvette51_rey_a3.gm
RESOURCE/MODELS/SHIPS/corvette51/corvette51_rey_a4.gm
RESOURCE/MODELS/SHIPS/corvette51/corvette51_rey_b2.gm
RESOURCE/MODELS/SHIPS/corvette51/corvette51_rey_b3.gm
RESOURCE/MODELS/SHIPS/corvette51/corvette51_rey_b4.gm
RESOURCE/MODELS/SHIPS/corvette51/corvette51_rey_c2.gm
RESOURCE/MODELS/SHIPS/corvette51/corvette51_rey_c3.gm
RESOURCE/MODELS/SHIPS/corvette51/corvette51_rey_flag.gm
RESOURCE/MODELS/SHIPS/BoardingCorvette/BoardingCorvette.gm
RESOURCE/MODELS/SHIPS/BoardingCorvette/BoardingCorvette_deadeyes.gm
RESOURCE/MODELS/SHIPS/BoardingCorvette/BoardingCorvette_deck.gm
RESOURCE/MODELS/SHIPS/BoardingCorvette/BoardingCorvette_fonar_day.gm
RESOURCE/MODELS/SHIPS/BoardingCorvette/BoardingCorvette_fonar_night.gm
RESOURCE/MODELS/SHIPS/BoardingCorvette/BoardingCorvette_mast1.gm
RESOURCE/MODELS/SHIPS/BoardingCorvette/BoardingCorvette_mast2.gm
RESOURCE/MODELS/SHIPS/BoardingCorvette/BoardingCorvette_mast3.gm
RESOURCE/MODELS/SHIPS/BoardingCorvette/BoardingCorvette_mast4.gm
RESOURCE/MODELS/SHIPS/BoardingCorvette/BoardingCorvette_mast10.gm
RESOURCE/MODELS/SHIPS/BoardingCorvette/BoardingCorvette_patch.gm
RESOURCE/MODELS/SHIPS/BoardingCorvette/BoardingCorvette_rey_a1.gm
RESOURCE/MODELS/SHIPS/BoardingCorvette/BoardingCorvette_rey_a2.gm
RESOURCE/MODELS/SHIPS/BoardingCorvette/BoardingCorvette_rey_a3.gm
RESOURCE/MODELS/SHIPS/BoardingCorvette/BoardingCorvette_rey_a4.gm
RESOURCE/MODELS/SHIPS/BoardingCorvette/BoardingCorvette_rey_b2.gm
RESOURCE/MODELS/SHIPS/BoardingCorvette/BoardingCorvette_rey_b3.gm
RESOURCE/MODELS/SHIPS/BoardingCorvette/BoardingCorvette_rey_b4.gm
RESOURCE/MODELS/SHIPS/BoardingCorvette/BoardingCorvette_rey_c2.gm
RESOURCE/MODELS/SHIPS/BoardingCorvette/BoardingCorvette_rey_c3.gm
RESOURCE/MODELS/SHIPS/BoardingCorvette/BoardingCorvette_rey_flag.gm
RESOURCE/MODELS/SHIPS/SAILORSPOINTS/Corvette51.ini
RESOURCE/MODELS/SHIPS/SAILORSPOINTS/BoardingCorvette.ini
RESOURCE/TEXTURES/INTERFACES/SHIPS/corvette5.tga.tx
RESOURCE/TEXTURES/INTERFACES/SHIPS/BoardingCorvette.tga.tx
The following files were not modified, but they were duplicated
RESOURCE/TEXTURES/SHIPS/Corvette51/Hull1/bortoutcorvette1.tga.tx
RESOURCE/TEXTURES/SHIPS/Corvette51/Hull1/deck.tga.tx
RESOURCE/TEXTURES/SHIPS/Corvette51/Hull2/bortoutcorvette1.tga.tx
RESOURCE/TEXTURES/SHIPS/Corvette51/Hull2/deck.tga.tx
RESOURCE/TEXTURES/SHIPS/Corvette51/Hull3/bortoutcorvette1.tga.tx
RESOURCE/TEXTURES/SHIPS/Corvette51/Hull3/deck.tga.tx
RESOURCE/TEXTURES/SHIPS/BoardingCorvette/Hull1/bortoutcorvette1.tga.tx
RESOURCE/TEXTURES/SHIPS/BoardingCorvette/Hull1/deck.tga.tx
RESOURCE/TEXTURES/SHIPS/BoardingCorvette/Hull2/bortoutcorvette1.tga.tx
RESOURCE/TEXTURES/SHIPS/BoardingCorvette/Hull2/deck.tga.tx
RESOURCE/TEXTURES/SHIPS/BoardingCorvette/Hull3/bortoutcorvette1.tga.tx
RESOURCE/TEXTURES/SHIPS/BoardingCorvette/Hull3/deck.tga.tx
The following is a list of files and what internal code was altered.It includes extra code to show you were my changes are located within each file.
RESOURCE/INI/INTERFACES/pictures.ini
(added at the end of the list)
Code:
[SHIPS_warship1]
sTextureName = ships\DUTCHPINNACE.tga
wTextureWidth = 128
wTextureHeight = 128
picture = ship,0,0,128,128
[SHIPS_BoardingCorvette]
sTextureName = ships\BOARDINGCORVETTE.tga
wTextureWidth = 128
wTextureHeight = 128
picture = ship,0,0,128,128
[FACE128_0]
sTextureName = portraits\128\face_0.tga
wTextureWidth = 128
wTextureHeight = 128
picture = face,0,0,128,128
RESOURCE/INI/TEXTS/RUSSIAN/common.ini
(added at the end of the list)
Code:
string = DUTCHPINNACE,"Dutch Pinnace"
string = DUTCHPINNACEGen,"Dutch Pinnace"
string = DUTCHPINNACEAcc,"Dutch Pinnace"
string = DUTCHPINNACEDat,"Dutch Pinnace"
string = Warship1,"Dutch Warship"
string = Warship1Gen,"Dutch Warship"
string = Warship1Acc,"Dutch Warship"
string = Warship1Dat,"Dutch Warship"
string = BoardingCorvette,"Boarding Corvette"
string = BoardingCorvetteGen,"Boarding Corvette"
string = BoardingCorvetteAcc,"Boarding Corvette"
string = BoardingCorvetteDat,"Boarding Corvette"
RESOURCE/INI/TEXTS/RUSSIAN/shipdescribe.txt
(added at the end of the list)
Code:
Warship1 {
A warship is a ship that is built and primarily intended for combat. Warships are usually built in a completely different way than merchant ships. As well as being armed, warships are designed to withstand damage and are usually faster and more maneuverable than merchant ships. Unlike a merchant ship, a warship typically only carries weapons, ammunition and supplies for its own crew (rather than merchant cargo). Warships usually belong to a navy, though they have sometimes been operated by individuals or companies
}
BoardingCorvette {
The boarding corvette.....
}
NoneBoat {
No ship. The hero has become a land rat, until he scrapes up a ship for himself can no longer call himself a captain.
}
PROGRAM/BATTLE_INTERFACE/battleInterface.c
(added at the end of the list)
Code:
case "ArabellaShip":
BI_intNRetValue[0] = 4+3*8;
BI_intNRetValue[1] = 4+3*8 + 1;
BI_intNRetValue[2] = BI_ICONS_TEXTURE_SHIP1;
break;
case "Flyingdutchman":
BI_intNRetValue[0] = 6+1*8;
BI_intNRetValue[1] = 6+1*8 + 1;
BI_intNRetValue[2] = BI_ICONS_TEXTURE_SHIP1;
break;
case "BoardingCorvette":
BI_intNRetValue[0] = 6+1*8;
BI_intNRetValue[1] = 6+1*8 + 1;
BI_intNRetValue[2] = BI_ICONS_TEXTURE_SHIP1;
break;
}
BI_intNRetValue[3] = false;
}
PROGRAM/SCRIPTS/shipsUtilites.c
(i did nothing to this file. I dont want it sold at ship-yards)
PROGRAM/SHIPS/ships.h
(added at the end of the list)
Code:
#define SAILS_COLOR_QUANTITY 10
#define SHIP_TYPES_QUANTITY 154 //< 1 ship added so the value was increased by one
#define SHIP_TYPES_QUANTITY_WITH_FORT 155 //< 1 ship added so the value was increased by one
Code:
//1
#define SHIP_INTREPIDE 135
#define SHIP_ENDEAVOUR 136
#define SHIP_MANOWAR_FAST 137
#define SHIP_MANOWAR 138
#define SHIP_BATTLEMANOWAR 139
#define SHIP_MANOW50_GUB 140
#define SHIP_VICTORY 141
#define SHIP_SOLEILROYAL 142
#define SHIP_SANFELIPE 143
//Quest Ships
#define SHIP_SOLEYRU 144
#define SHIP_BRIGQEEN 145
#define SHIP_BRIGSW 146
#define SHIP_XebekVML 147
#define SHIP_CORVETTE_QUEST 148
#define SHIP_ARABELLA 149
#define SHIP_FLYINGDUTCHMAN 150
#define SHIP_BOARDINGCORVETTE 151
//
#define SHIP_BOAT 152 //< Number increased changed from 151 to 152
#define SHIP_FORT 153 //< Number increased changed from 152 to 153
#define SHIP_NOTUSED 1000
#define SHIP_NOTUSED_TYPE_NAME "Not Used"
#define SHIP_NAME_NOTUSED "Noname"
PROGRAM/SHIPS/ships_init.c
(added at the end of the list)
Code:
///////////////////////////////////////////////////////////////////////////
/// Boarding Corvette
///////////////////////////////////////////////////////////////////////////
makeref(refShip,ShipsTypes[SHIP_BOARDINGCORVETTE]);
refShip.Name = "BoardingCorvette";
refship.Soundtype = "corvette";
refShip.Class = 5;
refShip.Cannon = CANNON_TYPE_CANNON_LBS8;
refShip.MaxCaliber = 16;
refShip.Weight = Tonnes2CWT(1000);
refShip.Capacity = 5000; //<---- INCREASED
refShip.CannonsQuantity = 30;
refShip.rcannon = 14;
refShip.lcannon = 14;
refShip.fcannon = 0;
refShip.bcannon = 2;
refShip.MaxCrew = 280;
refShip.MinCrew = 18;
refShip.BoardingCrew = 136;
refShip.GunnerCrew = 42;
refShip.CannonerCrew = 84;
refShip.SailorCrew = 270;
refShip.SpeedRate = 14.8;
refShip.TurnRate = 46.0;
refShip.Price = 110000;
if(!RTBL) // = If RTBL is NOT enabled
{
refShip.HP = 7500; //<---- INCREASED
}
else // = If RTBL IS enabled
{
refShip.HP = 6500;
}
refShip.SP = 300;
refShip.AbordageLocation = "Boarding Deck_01";
refship.Type.Merchant = false;
refship.Type.War = true;
refShip.fWindAgainstSpeed = 3.0;
refShip.sea_enchantment = 1.2;
refShip.lowpolycrew = 20;
refShip.buildtime = 100;
refship.Rocking.y = 0.4;
refship.Rocking.az = 0.035;
refship.WaterLine = 0.2;
refship.SpeedDependWeight = 0.3;
refship.SubSeaDependWeight = 1.0;
refship.TurnDependWeight = 0.8;
refship.WindAgainstSpeed = 4.5;//boal
refship.CabinType = "Cabin"; // boal 28.03.05
refship.DeckType = "Big";
refship.InertiaAccelerationX = 5.0; refship.InertiaBrakingX = 5.0;
refship.InertiaAccelerationY = 4; refship.InertiaBrakingY = 4;
refship.InertiaAccelerationZ = 5.0; refship.InertiaBrakingZ = 5.0;
refShip.Height.Bombs.Y = 1.0; refShip.Height.Bombs.DY = 0.5;
refShip.Height.Grapes.Y = 2.0; refShip.Height.Grapes.DY = 1.0;
refShip.Height.Knippels.Y = 10.0; refShip.Height.Knippels.DY = 8.0;
refShip.Height.Balls.Y = 1.0; refShip.Height.Balls.DY = 0.5;
refShip.GeraldSails.rey_b1 = 1;
refShip.GeraldSails.rey_b2 = 1;
refShip.GeraldSails.rey_b3 = 1;
refShip.GeraldSails.rey_b1.vscale = 0.9;
refShip.GeraldSails.rey_b2.vscale = 0.7;
refShip.GeraldSails.rey_b3.vscale = 0.7;
refship.Track.Enable = true;
refship.Track1.ZStart = 0.20;
refship.Track1.LifeTime = 14.5;
refship.Track1.Width = "3.7, 3.9";
refship.Track1.Speed = "7.0, 8.0";
refship.Track2.ZStart = -0.15;
refship.Track2.LifeTime = 8.5;
refship.Track2.Width = "8.0, 9.0";
refship.Track2.Speed = "0.15, 0.25";
//Nation
refShip.england = 1.0; //
refShip.france = 0.0; //
refShip.holland = 0.0; //
refShip.pirate = 1.0; //
refShip.spain = 0.0; //
///////////////////////////////////////////////////////////////////////////
/// FORT
///////////////////////////////////////////////////////////////////////////
makeref(refShip,ShipsTypes[SHIP_FORT]);
refShip.Name = "Fort";
refShip.isFort = true; // äëÿ óäîáñòâà ïðîâåðîê íà rRealShip
refShip.Class = 1;
refShip.Cannon = CANNON_TYPE_CANNON_LBS48;
refShip.MaxCaliber
THE FORT CODE IS CONTINUED IN THE FILE. I JUST TOOK ABIT TO SHOW WHERE MY SHIP CODE IS LOCATED.
Thank you for your time and patience. It is greatly appreciated.