Fractal Softworks Forum

Please login or register.

Login with username, password and session length

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - silentstormpt

Pages: [1] 2
1
Suggestions / Adding Starsector to Mod.io
« on: June 28, 2019, 09:56:02 AM »
Since Starsector is already on nexusmods, why not consider adding it to more mod platforms?

Actually the reason why mod.io is actually different from other mod platform options are quite a few:

  • REST API allowing a download/list/update calls (think of it as a 3rd party steamworks);
  • Search engine for mods (just like nexusmods);
  • Mod connection/requirement (Mod 1 needs Mod 2 to work);

They are also pushing hard for multiplatform integration so if Starsector releases on Steam, but also on GoG, Epic and others, once those platforms release a "steamwork like" api, it will get integrated to mod.io, meaning you can get mods on the "gogworks", steamworks and mod.io all installed in the same place.

Also very important.
You dont need to add the API into the code of Starsector, just adding the game to mod.io allows access to the search engine and api immediately.

EDIT: fixed urls...

2
General Discussion / Question about SS Shields
« on: September 21, 2016, 10:11:12 AM »
Shields from what can be seen and rad on the files, are based on a defined circle that is "projected" in a defined arc (be it 1º to 360º). My question is, if a shield were set per ship with shape coords (same as collision in ths *.ship files) instead of a circle would it require and extensive recode to make it work?

3
Suggestions / Different Icons for fleet sizes (on the Campaign starmap)
« on: November 19, 2014, 01:27:00 PM »
Im sure this will sooner or later be implemented but now that, most mod and vanilla systems are packed with "max size icons" you dont know if the fleet is just a big fleet or a HUGE fleet or a MASSIVE fleet, so, its probably the right time (before releasing the next hotfix) to add this, since "its not that hard" to include and helps the player alot when judging fleets at mid to end game.

heres a example:

Code
{
FleetIcons:[
{"name":"fleetIcon1", "imageDir":"data/graphics/icons/image1.png", "FP":50},
{"name":"fleetIcon2", "imageDir":"data/graphics/icons/image2.png", "FP":100},
{"name":"fleetIcon3", "imageDir":"data/graphics/icons/image3.png", "FP":150}
]
}

Is expandable/merge-friendly and simple to add new ones, specially for modders without messing around on the code.

EDIT:

If you want to add possible faction based ones:
Code
{
FleetIcons:[
{"FactionId":"player", "name":"fleetIcon1", "imageDir":"data/graphics/icons/image1.png", "FP":50},
{"FactionId":"independent", "name":"fleetIcon2", "imageDir":"data/graphics/icons/image2.png", "FP":100},
{"FactionId":"independent", "name":"fleetIcon3", "imageDir":"data/graphics/icons/image3.png", "FP":150}
]
}

In case its to be used by all factions (vanilla), just add a "FactionId"="all" or leave it empty or check if its not there.

Theres also the possibility of connecting a custom icon to a specific fleet (fleet id found on the factions.json). Lots of ways to go around this

4
Modding / SSWE - StarSector Weapon Editor 0.0.2
« on: June 10, 2014, 03:49:10 PM »
SSWE (StarSector Weapon Editor)

This is a tool i've been working on during these few days that makes weapon creation more organised and easy. Note that this is a very early version, this means there's quite alot of improvements that can be made on the next versions but since it already works, i'm releasing now.

For those who try it keep in mind that so far theres two problems when importing *.wpn files (are json files in reality).

The serializer that reads these json files does not accept:
  • 1)  # characters and the following comment text, example:
    Quote
    # this id must match what's in the spreadsheet
  • 2) enums, meaning any text (non numbers) that has no "" at the start and end of the word, example:
    Quote
    "renderHints":[RENDER_BARREL_BELOW,RENDER_LOADED_MISSILES],
    or
    Quote
    "textureType":ROUGH,

All weapon files that you try reading (with one or both of these problems) will result in a error telling you what cause it.


5
Suggestions / A new type of shipsystems just for defensesystems
« on: December 20, 2013, 01:46:52 AM »
Hey there, so ive noticed there has been alot of mods who use their shipsystems as defense abilities just like shield and phase cloak, instead why not allow us to create defense systems that are pretty much a copy of the shipsystem. This would allow a more "natural" usage for both players and the AI and saves up that unique system for something more of a "extra" ability.

6
Modding / Creating a Utility mods, making full use of JSON files.
« on: December 10, 2013, 03:47:11 AM »
As the title mentioned, the sole purpose is to make a utility that can be used with any mod, its structure should be fairly simple and used as a extension for any mod, it also serves easily "teach" how to make full use of custom made JSON files to save/create new data, without resorting to create static arrays in your code.

Right now im not even home to start this, here's the general idea that ill be aiming when making this, lets start with a Blueprint mod, theres has been some development from our chinese modders but like most mods, it used static arrays to save its data.

BLUEPRINTS

Datafiles:
object.blueprint > Its a json file with a special extension just like the files already used by the game itself like, for example, *.weapon, *.ship, *.system ...
This allows any mod to add a individual blueprint that can be used by the game, just like other Json files it has multiple proprieties (might changed based on its needs) that need to be defined on the file, here a general example:

Code: json
{
  "blueprint_id": "thisid",
  "cargo_id": "op_weaponid",
  "imageURL": "graphics/blueprint/op_weapon_bp.png",
  "input" : [
    { "cargo_id" : "light_metal_id", "amount" : 35 },
    { "cargo_id" : "heavy_metal_id", "amount" : 5 }
  ],
  "output" : [
    { "object_id" : "op_weapon", "amount" : 1 }
  ],
  "buy_value": 10000,
  "sell_value": 5000,
  "must_be_found": false
}
All JSONObjects and Arrays are mostly self explanatory, to create clean Json files use these online tools:

Class:
[initBlueprints] > Should be initiated in OnEnabled(). Translate all the JSON files into data and converts that data into BlueprintAPI objects, once it completes it saves all into a ArrayList.
Spoiler
Code: java
import java.io.File;
import java.io.FilenameFilter;
import java.io.IOException;
import java.util.ArrayList;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

/**
 * Created by eXist3nZ on 15-12-2013.
 */
public class initBlueprints {

    private static ArrayList<BlueprintAPI> listBlueprints = new ArrayList<BlueprintAPI>();
    private static final String FILE_DIR = "\\data\\blueprints\\";
    private static final String FILE_TEXT_EXT = ".blueprint";

    public void loadBlueprints()
    {
        getAllBlueprints(finder(FILE_DIR));
    }

    public File[] finder(String dirName){
        File dir = new File(dirName);

        return dir.listFiles(new FilenameFilter() {
            public boolean accept(File dir, String filename)
            {
                return filename.endsWith(FILE_TEXT_EXT);
            }
        } );

    }

    public ArrayList<BlueprintAPI> getAllBlueprints(File[] files)
    {
        for(File file: files)
        {
            this.listBlueprints.add(readJSON(file));
        }

        return this.listBlueprints;
    }

    public BlueprintAPI readJSON(File file)
    {
        /*
        {
              "blueprint_id": "thisid",
              "cargo_id": "op_weaponid",
              "imageURL": "graphics/blueprint/op_weapon_bp.png",
              "input" : [
                { "cargo_id" : "light_metal_id", "amount" : 35 },
                { "cargo_id" : "heavy_metal_id", "amount" : 5 }
              ],
              "output" : {
                "object_id" : "op_weapon",
                "amount" : 1
              },
              "buy_value": 10000,
              "sell_value": 5000,
              "must_be_found": false
        }
        */

        try {
            JSONObject mainfile = new JSONObject(file.getCanonicalPath());
            JSONArray inputarray = new JSONArray(mainfile.getJSONArray("input"));
            JSONArray outputarray = new JSONArray(mainfile.getJSONArray("output"));

            //You dont need to make 4 ArrayLists, instead you can make 2 ArrayLists with type Object or with a Output Class and Input Class to save those values in.
            ArrayList<String> inputidlist = new ArrayList<String>();
            ArrayList<Integer> inputamountlist = new ArrayList<Integer>();
            ArrayList<String> outputidlist = new ArrayList<String>();
            ArrayList<Integer> outputamountlist = new ArrayList<Integer>();

            for(int a1 = 0;a1 < inputarray.length();a1++)
            {
                JSONObject inputobj = inputarray.getJSONObject(a1);
                inputidlist.add(inputobj.getString("cargo_id"));
                inputamountlist.add(inputobj.getInt("amount"));
            }

            for(int a2 = 0;a2 < outputarray.length();a2++)
            {
                JSONObject outputobj = outputarray.getJSONObject(a2);
                outputidlist.add(outputobj.getString("cargo_id"));
                outputamountlist.add(outputobj.getInt("amount"));
            }

            return new BlueprintAPI(
                     mainfile.getString("blueprint_id"),
                     mainfile.getString("cargo_id"),
                     mainfile.getString("imageURL"),
                     inputidlist,
                     inputamountlist,
                     outputidlist,
                     outputamountlist,
                     mainfile.getInt("buy_value"),
                     mainfile.getInt("sell_value"),
                     mainfile.getBoolean("must_be_found")
            );
        } catch (JSONException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }

        //should never reach here.
        return null;
    }
}
[close]
[BlueprintAPI] > Created by the init class, each object is a blueprint json file that has all its saved data. Each object have its gets/sets in case you want to change any of the proprieties used.
Spoiler
Code: java
import java.util.ArrayList;

/**
 * Created by eXist3nZ on 15-12-2013.
 */
public class BlueprintAPI {

    private String blueprint_id = "";
    private String cargo_id = "";
    private String imageURL = "";
    private ArrayList<String> inputidlist = null;
    private ArrayList<Integer> inputamountlist = null;
    private ArrayList<String> outputidlist = null;
    private ArrayList<Integer> outputamountlist = null;
    private Integer buy_value = 0;
    private Integer sell_value = 0;
    private Boolean must_be_found = false;

    public BlueprintAPI(String blueprint_id, String cargo_id,
                        String imageURL, ArrayList<String> inputidlist,
                        ArrayList<Integer> inputamountlist, ArrayList<String> outputidlist,
                        ArrayList<Integer> outputamountlist, Integer buy_value,
                        Integer sell_value, Boolean must_be_found)
    {
        this.setBlueprint_id(blueprint_id);
        this.setBuy_value(buy_value);
        this.setSell_value(sell_value);
        this.setCargo_id(cargo_id);
        this.setImageURL(imageURL);
        this.setInputidlist(inputidlist);
        this.setInputamountlist(inputamountlist);
        this.setOutputidlist(outputidlist);
        this.setOutputamountlist(outputamountlist);
        this.setMust_be_found(must_be_found);
    }

    public Integer getSell_value() {
        return sell_value;
    }

    public void setSell_value(Integer sell_value) {
        this.sell_value = sell_value;
    }

    public ArrayList<String> getOutputidlist() {
        return outputidlist;
    }

    public void setOutputidlist(ArrayList<String> outputidlist) {
        this.outputidlist = outputidlist;
    }

    public ArrayList<Integer> getInputamountlist() {
        return inputamountlist;
    }

    public void setInputamountlist(ArrayList<Integer> inputamountlist) {
        this.inputamountlist = inputamountlist;
    }

    public ArrayList<String> getInputidlist() {
        return inputidlist;
    }

    public void setInputidlist(ArrayList<String> inputidlist) {
        this.inputidlist = inputidlist;
    }

    public String getImageURL() {
        return imageURL;
    }

    public void setImageURL(String imageURL) {
        this.imageURL = imageURL;
    }

    public Boolean getMust_be_found() {
        return must_be_found;
    }

    public void setMust_be_found(Boolean must_be_found) {
        this.must_be_found = must_be_found;
    }

    public ArrayList<Integer> getOutputamountlist() {
        return outputamountlist;
    }

    public void setOutputamountlist(ArrayList<Integer> outputamountlist) {
        this.outputamountlist = outputamountlist;
    }

    public Integer getBuy_value() {
        return buy_value;
    }

    public void setBuy_value(Integer buy_value) {
        this.buy_value = buy_value;
    }

    public String getCargo_id() {
        return cargo_id;
    }

    public void setCargo_id(String cargo_id) {
        this.cargo_id = cargo_id;
    }

    public String getBlueprint_id() {
        return blueprint_id;
    }

    public void setBlueprint_id(String blueprint_id) {
        this.blueprint_id = blueprint_id;
    }

}
[close]
MINING

Datafiles:
object.mining > Its a json file with a special extension just like the files already used by the game itself like, for example, *.weapon, *.ship, *.system ...
This allows any mod to identify specific weapons as mining "tools", just like other Json files it has multiple proprieties (might changed based on its needs) that need to be defined on the file, here a general example:
Code: json
{
  "mining_id": "thisid",
  "weapon_id": "mining_weapon_id",
  "effective_level": 0.5, #from 0 to 1f
  "affected_by_crew_XP": false
}
All JSONObjects and Arrays are mostly self explanatory,  each ship have x amount of weapons that allow mining, while some ships are mining ships they also possess weapons set to them removing any need to use ship_hull_id, to create clean Json files use these online tools:

Class:
[initMiningData] > Should be initiated in OnEnabled(). Translate all the JSON files into MiningAPI objects.
[MiningAPI] > Makes all the calculations using various methods, returning a specific amount of Cargo as a result. Requires a ShipAPI, FleetMemberAPI or a CampaignFleetAPI object to verify the mining effectiveness.

While i intent to use crew XP to be a real factor of how much mining resources are generated, some ships might not have crew, for these a default value of 0.5f is used. This happens when ships like "Mining Drones" come into play.

Will try to get these mods as "other mod friendly" as possible, it also lacks the interface to be used with (its not absolutely needed tho). Suggestions or help are welcome.

All code made by me is available with the following licence attached.
This work is licensed under a Creative Commons License

7
Modding / How To: use JSONArray(s)/JSONObject(s) from custom *.json files.
« on: September 16, 2013, 01:24:27 PM »
So one of the big changes we got now, is the possibility of having our own custom *.json files with all the static data we need without having to resort creating massive Arrays/ArrayLists/Hash...etc.

So how do they work?

First of all, you should check the website www.json.org it gives you a very detailed explanation of what data and format can you expect from a *.json file.

There are 2 formats that can be inside each other, a JSONObject that can have a JSONArray(s), JSONObject(s) or data inside (or even all mixed in), or a JSONArray that can have more JSONArray(s) or more JSONObject(s) (or even both mixed in). Knowing the format is extremely important to extract certain type of data in the JSONObject.

How you do know whats an JSONArray and whats a JSONObject?

Heres a example (battle_objectives.json):
{
   "nav_buoy":{
      "name":"Nav Buoy",
      "icon":"graphics/warroom/objective_nav_buoy.png",
      "sprite":"graphics/ships/nav_buoy.png",
      "spriteScale":1.5,
      "captureTime":10,
      "effectClass":"com.fs.starfarer.api.impl.combat.NavBuoyEffect",
   },
   "sensor_array":{
      "name":"Sensor Array",
      "icon":"graphics/warroom/objective_sensor_array.png",
      "sprite":"graphics/ships/sensor_array.png",
      "spriteScale":1,
      "captureTime":10,
      "effectClass":"com.fs.starfarer.api.impl.combat.SensorArrayEffect",
   },
   "comm_relay":{
      "name":"Comm Relay",
      "icon":"graphics/warroom/objective_comm_relay.png",
      "sprite":"graphics/ships/com_relay.png",
      "spriteScale":1,
      "captureTime":10,
      "effectClass":"com.fs.starfarer.api.impl.combat.CommRelayEffect",
   },
}
In red and orange, inside the {} are JSONObjects, but you can have more JSONObjects inside a JSONObject.
The main JSONObject (the one thats got everything inside the orange {}'s) has 3 JSONObjects. These have (can also not have) identifiers as a text in the green ""'s, if you only want a specific JSONObject, you get the id in the "", if you want a specific data value inside the JSONObject, you use the id in the ""'s (not the green one).

JSONArray starts with []'s instead, and are just like what you expect on a Array,

Heres a small example (sounds.json):
{
   "music":{
      # "source" can also be a directory
      "music_campaign":[
         {"file":"StianStark-Starfarer-Exploration_Alpha.ogg","source":"sounds/music/music.bin"}
      ],
      "music_title":[
         {"file":"StianStark-Starfarer-Exploration_Alpha.ogg","source":"sounds/music/music.bin"}
      ],
      "music_combat":[
         {"file":"battle_ambience_01_v02_loudest.ogg","source":"sounds/music/music.bin"}
      ],
   }
}

In this particular case we got a JSONObject thats got several (if i pasted all the sounds.json, not true on this piece of json) JSONObjects and each of these got one or more JSONArray(s) and finally we got JSONObject inside each JSONArray with no identifier. Just like on the first example you got the identifiers for each JSONObject and now on JSONArray as well.

Heres a cool way to understand the format of this example:

JSONObject
{
Spoiler
   JSONObject
   {
   
Spoiler
      JSONArray
      [
     
Spoiler
         {
         JSONObject
         }
     
[close]
      ]
   
[close]
   }
[close]
Spoiler
   JSONObject
   {
   
Spoiler
      JSONArray
      [
     
Spoiler
         {
         JSONObject
         }
     
[close]
      ]
   
[close]
   }
[close]
Spoiler
   JSONObject
   {
   
Spoiler
      JSONArray
      [
     
Spoiler
         {
         JSONObject
         }
     
[close]
      ]
   
[close]
   }
[close]
}

Now how do i use it on the game itself?

To get a json from you game folder you need something like this:
Code
JSONArray jarray = new JSONArray(JSON_FILE_URL);
or
Code
JSONObject jobject = new JSONObject(JSON_FILE_URL);

It will ask to set up a Try{}Catch{} since your asking for a file that may or may not exist in that URL/Directory

Once done, depending on how the json file format composition is, lets use the second example as the file we want the data:
Code
        try {
            JSONObject jobject = new JSONObject(JSON_FILE_URL);
        } catch (JSONException ex) {
            //set the default log message here including the ex (Exception)
            Logger.getLogger(SectorGen.class.getName()).log(Level.SEVERE, null, ex);
        }

if(jobject != null)
{
        for(int i = 0; i < jobject.length();i++)
        {
            //grab this jsonobject in the list
            JSONObject jobj = jobject.getJSONObject(i);
            for(int x = 0;x < jobj.length();x++)
            {
               JSONArray jarray = jobj.getJSONArray(x);
               for(int a = 0; a < jarray.length();a++)
               {
               JSONObject jlastobj = jarray.getJSONObject(a);
                  for(int l = 0; l < jlastobj.length();l++)
                  {
                  //get this value on this line into stringdata arraylist
                  stringdata.add(jlastobj.getString("file"));
                  stringdata.add(jlastobj.getString("source"));
                  }
               }
        }
}

This should save all the strings inside the "file":"" and "source":"".

All you do is Open the next "container" until you reach what you want.
You can also get a specific data from a JSONObject/Array with a certain ID.

8
Modding / Requesting some artwork for the modding community
« on: August 05, 2013, 07:51:56 AM »
As the majority over in the modding "scene" know, the new 0.6a will bring out ALOT more playground for a economy/trading/piracy mechanics.

While its great we have a huge lack of artwork for possible products used in trading, im sure some of you are familiar with how Freelancer's had these that only served as a income from transporting from one place to another, a few ppl knew where were the most profitable routes to get as much credits in the game, even faster then "spamming" missions on the stations.

Freelancer simple system works, on any game with trading, but its bland and anyone will get bored after a few hours for doing nothing but trading, this can be solved by adding some extra components EVE had while not going for the extreme some of the game including EVE and X3(?) went, blueprints needed specific materials that grand players/clans/guilds/factions Ships/Stations/Planetary Bases, while adding more depth to the game, extending the "late game" alot.

So my request to the ones gifted with the Capacity/Patience/Love for drawing, creating new products that can later be added to a system we coders can create would be extremely thankful, besides we got over 500~ish ships made, how about doing something different for a change.

Heres some examples:
http://wiki.eveonline.com/en/wiki/Item_Database:Trade_Goods
http://freelancer.wikia.com/wiki/Commodities

PS: Forgive my poor grammar and english...

EDIT: There's also a lack of Planet Textures!

9
Modding Resources / How to change the font used in game
« on: January 23, 2013, 01:21:34 PM »
So i just changed the font on the startreker mod, heres how you do it,

You must have noticed the *.fnt and *.png files on the folder fonts right?
Its actually all made using a convenient tool that converts *.ttf (haven't tested but other formats should work) into those 2 files used by starsector.

1 - Download this tool: http://www.angelcode.com/products/bmfont/
2 - Get a font you want and "install" (you can actually select the files on the application but it didnt work)
3 -
Spoiler
[close]
4 -
Spoiler
[close]
Select the font you installed and want on Starsector - Set the size (in px) you actually want, also depends on the actual font default size;
5 -
Spoiler
[close]
6 -
Spoiler
[close]
Make sure you set those options like i got here;
7 -
Spoiler
[close]
Select the option then save the file into the graphics\fonts\ on you mod;

Dont forget that, if you have a different name on your *.fnt to add a settings.json file, with the different name on your mod:

Example:
Code
	# main color used for menu buttons and the like
"buttonBg":[0,150,255,255],
"buttonBgDark":[0,100,150,255],
"buttonText":[255,255,255,255],
"buttonShortcut":[100,100,255,255],
"defaultFont":"graphics/fonts/startreker_font.fnt",

How it looks ingame:
Spoiler
[close]
Spoiler
[close]

note: There might be better options on this program to get better results, i didn't mess with once i liked how the font came out in the end, if you do find, please share here.

10
Modding / Creating new Decorative "Weapons"
« on: January 05, 2013, 07:27:45 AM »
heres the sensordish.wpn currently in the Vanilla:

Code
{
"specClass":"beam",
"id":"sensordish",
"type":"DECORATIVE",
"size":"SMALL",
"everyFrameEffect":"com.fs.starfarer.api.impl.combat.SensorDishRotationEffect",
"turretSprite":"graphics/weapons/decorative/sensor_array_dish.png",
"hardpointSprite":"graphics/weapons/decorative/sensor_array_dish.png",
"turretOffsets":[10, 0],
"turretAngleOffsets":[0],
"hardpointOffsets":[15, 0],
"hardpointAngleOffsets":[0],
"fringeColor":[255,255,255,255],
"coreColor":[255,255,255,255],
"glowColor":[255,255,255,255],
"width":1.0,
"textureType":ROUGH,
"textureScrollSpeed":1.0,
"pixelsPerTexel":1.0,
}

Heres the code for the effect currently used in the game:

Code
package com.fs.starfarer.api.impl.combat;

import com.fs.starfarer.api.combat.CombatEngineAPI;
import com.fs.starfarer.api.combat.EveryFrameWeaponEffectPlugin;
import com.fs.starfarer.api.combat.WeaponAPI;

public class SensorDishRotationEffect implements EveryFrameWeaponEffectPlugin {

private float currDir = Math.signum((float) Math.random() - 0.5f);

public void advance(float amount, CombatEngineAPI engine, WeaponAPI weapon) {
if (engine.isPaused()) return;

float curr = weapon.getCurrAngle();

curr += currDir * amount * 10f;
float arc = weapon.getArc();
float facing = weapon.getArcFacing() + (weapon.getShip() != null ? weapon.getShip().getFacing() : 0);
if (!isBetween(facing - arc/2, facing + arc/2, curr)) {
currDir = -currDir;
}

weapon.setCurrAngle(curr);
}

public static boolean isBetween(float one, float two, float check) {
one = normalizeAngle(one);
two = normalizeAngle(two);
check = normalizeAngle(check);

//System.out.println(one + "," + two + "," + check);
if (check >= one && check <= two) return true;

if (one > two) {
if (check <= two) return true;
if (check >= one) return true;
}
return false;
}

public static float normalizeAngle(float angleDeg) {
return (angleDeg % 360f + 360f) % 360f;
}
}

Seems like it "spins" the image, might be possible to make other effects that will make it not "spin", used for lights, so i made a plugin that "suppose" to remove the "spinning", im still need to go deeper into the code and try figure out how to make it change the image everytime the inBetween "procs"

11
Modding / Making new Shipsystems
« on: December 07, 2012, 08:54:44 AM »
Right now ive been messing around with the scripts that control what stats a shipsystem changes while active, so as the mod im developing needs new interesting shipsystems, that aren't even close to any existing system on vanilla, i've found some problems where i don't understand what im changing due to the naming leads me to one stats, but its actually another completely different or simply doesn't do anything making me go  :-\

An example:

Heal % amount of hp from total at a flux cost;

Flux cost is done inside the shipsystem.csv
the AI is responsible to make sure NOT to use it when i don't have enough flux (and other things)
and now for the script...

with the help of LazyWizard, the methods responsible in changing hp when the system is clicked are:

stats.getMaxHullRepairFraction().modifyFlat(id, 0.5f);
stats.getHullRepairRatePercentPerSecond().modifyFlat(id, 0.5f);


The first would give me the max amount of hull i want to repair
The second would give me the rate in % i want it repaired so for example
if the first i want 20% then that would be 20% from total of the amount i want repaired
the second would be how much % i want repaired per sec, if i wanted 10% that would be 10% from those 20% repaired every second (thats hull 2% repaired every second)

Now lets see what my Podship from the UQM second ability is:
From: http://wiki.uqm.stack.nl/Podship
Four Mycon are revived in an instant, but the process consumes the Podship's entire combat battery.
Converting 4 crew in hp would exactly 20% of hull hp

After setting the script, pointing the *.system file to the script and adding the cost in flux on the shipsystem.csv i gave it a try. even with my hull at around 1% the system did not heal back so... what exactly am i doing wrong...

12
Modding / Creating a Solar System
« on: November 14, 2012, 11:02:19 AM »
Yes, i mean it, i got most images with 1024x512px, not quite the resolution i wanted, but the owner of these only got the 1024 ones for free, hes charging for hes work (cant really blame him, hope the best for this project of his) on the higher resolution ones, i did manage a high res for Jupiter.



So, the challenge would be to create an actual solar system to be used on Star Farer, ill provide a zip file with all the images, if u do manage to get hands on higher quality ones, please post it.

Dont forget the place stations too.

So what do you think about this?

Heres the Download: http://www.mediafire.com/?x8di9ko16cjo4jd

13
Modding / CSV Editor - Alpha 0.2.2a
« on: November 05, 2012, 03:57:45 AM »
CSV Editor

The main objective of this tool is to "simplify" Editing on CSV files on Star Farer without the need for programs like Excel and/or OpenOffice, while adding Filters depending on the Header and Details of what it does and what can you do.

Right now it can only read  and save CSV files meaning you can use it if you want a more organized view of the CSV file while changing it, you can't move entire columns/rows yet, it can be possible if i add a few hundred lines of code, so it might take a while.

Download 0.2.2a

Change Log:
Spoiler
Updated: 0.1.1a
- Shows the full path under the DataGridView;
- The DataGridView now re-sizes depending on the current window size (before it was docked on the main Window itself);
Updated: 0.1.2a
- More Optimizations on the code;
- Added a Save Option but the code its not working, you can try it, it wont crash the program just returns a error;
- Fixed the initial size of the DataGridView not re-sizing when opened a new file;
- Fixed the double "Want to Exit?" message when you pressed the Exit on the drop File Menu;
Updated: 0.1.3a
- Added a Help Option, if you select a cell you can see what its used for;
- Fixed a few problems with the code.
Updated: 0.2.0a
- Completed the Save option;
- Goes from Pre-Alpha to Alpha.
Updated: 0.2.1a
- Changed the Save Option into two types: Save and Save As;
- Changed the Top menu, instead all Menu "buttons" are on the top directly;
- Fixed a few non intended bugs, added more Error responses;
- Fixed the "you can save even if you haven't loaded a CSV file" bug.
Updated: 0.2.2a
- Changed the Help menu to send an actual help message on the program itself;
- Added ALOT more replies on the new help, but now only works on a file called ship_data.csv, ill add more replies to the other 3 later;
- Added a Right Mouse Click Menu with a "What is this?" as the new Help option on the program.
[close]

Screenshots:
Spoiler
0.1.1a Version Screenie:


0.2.1a Version Screenie:

[close]

Like TotalBiscuit said, Alpha is Alpha, expect Errors/Bugs/Missing content. If you get a Bug/Error please post them.

14
Modding / Ship Systems - Repair ship hull instantly
« on: August 23, 2012, 08:11:38 PM »
Is there a way right now to make a ship system that recovers hull instantly on use in a battle?

If yes could you give out a small example since there's none on the shipsystems right now...

15
While ive been working on the Star Treker mod, i've gotten alot interested in a Star Control mod, Trylobot a long time ago released a version and assimilated the ships into a starsector like theme.

Personally love the mod and the way he made it work, but theres so much more that can be done, a campaign for example just to name one. Right now im using hes materials instead starting from scratch and slowly changing them into a more Star Control like build. Right now i got music in and a working shell based on hes build here and slowly been converting the ships.

DOWNLOAD (Current version 0.7.0.0).

Right now:
Playable normal Campaign with 2 factions of Star Control 2.
Quite possibly compatible with almost any other mod out there.
All 4 mission were done by Trylobot, Same with some weapons and the Stats conversion, Credits goes to him.
The stations also have the same "looks" as the old one on Star Control 2.
There's more then a dozen remixed music tracks from the original Star Control on the combat, campaign and menu screens.

A new menu title with cool Star Control 2 asteroids.
Spoiler
[close]
Star Control like engines and giant missiles with half a ship size
Spoiler
[close]
Overpowered player ship to go around in the campaign (should be compatible with almost all mods out there) Its still on the mod but not available for now.
Spoiler
[close]
More proves the Flagship is overpowered
Spoiler
[close]

EDIT: Updated Screenshots.

Known Problems:
On the second post.

Still Missing:
All ships from Star Control;
Some mechanics are still impossible on StarSector;
Star Control ships on the Campaign, select what faction will you support, or simply run wild without faction, something that never happened on the Original.;

Disclaimer: Anyone is free to use or modify any and all code used to their own mods, i do not mind sharing what i make, there's only one detail DO NOT use any materials i credit made by someone else who kindly borrowed me without thanking/asking the original owner.

Pages: [1] 2