Sign up Calendar Latest Topics
 
 
 


Reply
  Author   Comment  
toskp10

Registered:
Posts: 15
Reply with quote  #1 
I've been messing around with vesselData.xml a bit. When I change the torpedo_storage amount, it does what I expect. But when I try to add an extra beam port or torpedo_tube, nothing happens. Also, when I try to create a custom ship, Artemis crashes if I try to pick it. Is messing with this file a bad idea? Can all the vessel parameters be modified in the script instead?
ryleyra

Registered:
Posts: 2,872
Reply with quote  #2 
I don't know why adding an extra torpedo_tube does not work. Are you sure you changed the vesselData.xml file? If you installed Artemis in the Program Files folder, which is the default if you choose to install for All Users, you may not have permissions to edit the file. The best way around it is to copy vesselData to your user directory or onto the Desktop, edit it, and then copy it back to the game directory.

If you copied a beam definition, it's possible that the game balks at having two beams in the same location. I simply don't know for sure, I've never tested this. But if you are adding beams, it is best to use the Ship Editor tool, so you can identify the right coordinates for a point on the surface of the ship. I've found it you put a beam point inside the ship it has unpredictable results.

Crashing is a sure sign that you messed up a vessel definition. Make sure all your html tags are closed. For instance, a <vessel> tag should have a </vessel> tag and a <torpedo_tube> tag should end with />. Also check for typos.

If you post your vesselData we might be able to give you more help.
MarkBell

Avatar / Picture

Administrator
Registered:
Posts: 1,850
Reply with quote  #3 
Couple of things:

How many torpedo tubes were there before? 6 is the hard limit.

Artemis doesn't care at all if your beam ports are co located, it just goes down the list sequentially.

Make sure the unique ID is, in fact, unique, as well as sequential. If it's out of order, Artemis will crash.

I'll point you to my Mod FAQ - hopefully it'll answer some of your questions: https://artemis.forumchitchat.com/post/mod-faq-7499583?&trail=15

Also moving, since this isn't mission scripting related.

__________________
Note - this is in no way intended to be an official position of Thom or Artemis, as I am not an official representative of the creator or game.
Xavier Wise

Registered:
Posts: 1,040
Reply with quote  #4 
My money is on the unique IDs. If they are not sequential, Artemis crashes when you cycle through the ships. If you are wanting to create a player ship, scroll through the unique ids for player ships, find the highest and add 1 on. So if that is 18 for example, your new unique id must be 19.

You'll notice that enemy ships/ other vessel types start in the 1000s (jumping up from the 1- and 2- digit numbers used for player ships). Our general rule is, when adding a new type to that 'set' of ship types (kraliens for example), find the highest unique id value and add 1. So if it is 1005, your new ship needs to be 1006.

Browse through the unique ids and you'll notice how enemy and neutral types (and bases) are clustered together in terms of unique ids. I don't know them off by heart; if someone does they could post below e.g. Players - 0-17, Bases 1000-1008, Kraliens 2000-2006 etc

Hope that helps!

__________________
Fleet Captain Xavier Wise - TSN Sabre
Link to TSN RP Community website
toskp10

Registered:
Posts: 15
Reply with quote  #5 
I use Notepad++ which switches into Admin mode when it detects you trying to save a file that needs Admin permission. I've changed the uniqueID to be the next number (14), and I have managed to get the extra beam and torpedo tube to appear, sort of. If I run a client on the same machine as the server, there is no problem. If I connect from a different machine, it crashes. Does the vesselData.xml need to be updated for every client? I had assumed it was like the script file, that it only needed to be updated on the server. 
MarkBell

Avatar / Picture

Administrator
Registered:
Posts: 1,850
Reply with quote  #6 
Any modifications to any of the base game files must be mirrored to every machine that connects.  Script files are the only exception to that rule, but if you are using custom 3d meshes in your script then all the clients need those files as well.
__________________
Note - this is in no way intended to be an official position of Thom or Artemis, as I am not an official representative of the creator or game.
ryleyra

Registered:
Posts: 2,872
Reply with quote  #7 
Yeah, you need to copy your custom vesselData to every computer that wishes to run the mod. The same is true for mods, by the way. The reason scripts work like they do is that only the server ever accesses the script. Whatever events occur in the script are communicated to the clients in the same way as normal randomly generated games.

There has been some talk about developing a system by which changes to vesselData, meshes, textures or sound files can be transmitted via the network to the clients, but for right now, all of those files are read from the client's file system. If they don't match what's on the server, the game will get confused. This will happen even if you use script commands that override vessel descriptions or the like; if a console disconnects from the server and reconnects, those changes will revert back to the default.

I'll note that sound files can be used without copying them to the clients, but that's because all game sounds come out of the server speaker. If Thom ever makes it so duplicate Mainscreens implement the sound feature, he will either have to transmit the sound over the network, or the file will have to be on that client.

Finally, I will note that some vesselData parameters, like topspeed and turnrate, can be changed only on the server and there will be no side effects because the server is in charge of all movement, and the clients just echo what the server tells them. Beam arcs, on the other hand, will appear to be stock on the clients, but they will ACT as they are defined on the server. That is, they will fire at targets that are not in the visible arc, if it is wider, or won't fire at targets that seem in range if it is narrower. And if the torpedo stores disagree between the server and client, it will REALLY cause problems, as the number will get out of sync.

In short, it is best to copy vesselData to all applicable computers, but it is possible to use a special vesselData only on the server, if you want to make an upgraded version with more detailed ship meshes, or higher resolution backgrounds. All long as you limit it to just visual changes and not "real" gameplay changes it should be fine.
Previous Topic | Next Topic
Print
Reply

Quick Navigation:

Easily create a Forum Website with Website Toolbox.