Goblin Wizard |
03-26-2010 06:53 AM |
If you want to see changes on Mastiff (or any other ship) you need to find save before you get it. In this case find save with pirate version mastiff and go to the Elio for aerogrphy quest.
I never tried missile lunchers on mothership so I don't know if they work.
Model files are here ..\Data\OBJECT\*.imd. You need a IMDeditor to change things.
-----------------------------------------------------------------------
I have another problem:
Now buying code looks like below and works ok
Quote:
function _buy_ms(nameMS)
local _tab_MS = {
{"Starhammer_0",1000},
{"Mothership_uel_pl1",2000},
{"Mothership_Lion_pl1",3000}};
local costMS = 0;
for i, sh in _tab_MS do
if (sh[1] == nameMS) then costMS=sh[2];
end;
end;
if (costMS == 0) then return FALSE;
end;
local N=GetPlayerCredits();
if (N>=costMS) then
NewFlight("myGroup_1", "nm", GetShipName(nameMS), "BasePilot", mothership:GetPosition() + Vector3(0, 0, -70), Vector3(0, 0, 1));
mothership_old = mothership;
mothership = SetPlayerMotherShip(ship_nm_1);
PortalTrigger_PORTAL_R:SetObject(mothership);
PortalTrigger_PORTAL_L:SetObject(mothership);
PortalTrigger_PORTAL_U:SetObject(mothership);
PortalTrigger_PORTAL_D:SetObject(mothership);
PortalsActivate_Action();
GetShipName(mothership);
CreateTradeStationDocking(TRADE_STATION,mothership );
CreateRepairStationDocking(STO_Station,mothership, 140,5);
SubPlayerCredits(costMS);
OutputToScreenLog("#UI_MothershipBought",7);
else
OutputToScreenLog("#UI_MothershipBoughtFail",7);
end;
end;
|
but you can buy only one mothership. If you try to buy second you get CTD. It is caused by group declaration "myGroup_1". Separate group must be attached to each mothership so I changed code slightly (added 3rd column to table) and now looks like this:
Quote:
function _buy_ms(nameMS)
local _tab_MS = {
{"Starhammer_0",1000,"myGroup_1"},
{"Mothership_uel_pl1",2000,"myGroup_2"},
{"Mothership_Lion_pl1",3000,"myGroup_3"}};
local costMS = 0;
for i, sh in _tab_MS do
if (sh[1] == nameMS) then costMS=sh[2];
end;
if (sh[1] == nameMS) then nameG=sh[3];
end;
end;
if (costMS == 0) then return FALSE;
end;
local N=GetPlayerCredits();
if (N>=costMS) then
NewFlight( GetGroupName(nameG), "nm", GetShipName(nameMS), "BasePilot", mothership:GetPosition() + Vector3(0, 0, -70), Vector3(0, 0, 1));
mothership_old = mothership;
mothership = SetPlayerMotherShip(ship_nm_1);
PortalTrigger_PORTAL_R:SetObject(mothership);
PortalTrigger_PORTAL_L:SetObject(mothership);
PortalTrigger_PORTAL_U:SetObject(mothership);
PortalTrigger_PORTAL_D:SetObject(mothership);
PortalsActivate_Action();
GetShipName(mothership);
CreateTradeStationDocking(TRADE_STATION,mothership );
CreateRepairStationDocking(STO_Station,mothership, 140,5);
SubPlayerCredits(costMS);
OutputToScreenLog("#UI_MothershipBought",7);
else
OutputToScreenLog("#UI_MothershipBoughtFail",7);
end;
end;
|
but unfortunately it doesn't work. No errors and no visible effects. Maybe someone could check the code and find out what's wrong?
|