Jump to content

jupiter878

Members
  • Posts

    25
  • Joined

  • Last visited

Posts posted by jupiter878

  1. I don't really need any special mentions or anything, just pay it forward. As you get better and better at scripting /programming etc you start to find that you're less often the person asking questions and more often the person answering questions. So, as you get more experience, help the people starting out where and when you can. If you do that, my job here is complete.

     

     

    Thanks batman!

    ...Or is it commissioner Gordon? Either way, thank you.

     

    Oh, and I've went ahead and made the mod here:

    https://www.avorion.net/forum/index.php/topic,3029.0.html

    Anybody who wants more detailed instructions and whatnot can go there. Future updates (hopefully?) will be posted there as well, so use only that thread from now on.

     

     

     

  2. Premise:

     

     

    In the vanilla game, the legendary turret upgrades and Xsotan artifacts are at the limit of the amount of power that a single upgrade can possess. I have been finding a way to expand beyond this since I have found this limit. A few days ago, I have succeeded in creating one myself, with the help of a fellow player, infal.

     

     

    Instructions:

     

     

    -use this link: https://www.dropbox.com/s/w1kif30xxcjgf34/data.zip?dl=0

     

    -after downloading it, right click and choose extract to data.

     

    -paste that folder inside this directory - Steam\SteamApps\common\Avorion - and merge with the previous data folder, etc.

     

    -you will find that if you combine five of any of the Xsotan artifacts at a research station, they do not simply yield another Xsotan artifact, but instead an entirely new upgrade. This upgrade, like the other Xsotan artifacts, do not consume power, but gives five times more turret slots. My (written) excuse for this is that the legendary Xsotan tech allows conservation of all power from there on out.

     

    -And by there on out, I mean there's three more levels of upgrades that I added, with each being

    obtained by combining five of the previous tier upgrade, and having five times the power of the previous

    tier upgrade as well, with no extra energy consumed. The numbers are included in the name, so it

    shouldn't be too hard to add or figure out which is which.

     

    -Five Xsotan artifacts combined yield one 2nd tier super upgrade.

    -Five 2nd tier super upgrades combined yield one 3rd tier super upgrade.

    -Five 3rd tier super upgrades combined yield one 4th tier super upgrade.

    -Five 4th tier super upgrades combined yield one 5th tier super upgrade.

     

    -It's still not infinite - and yes, I realize that there is never enough dakka - , but I think stopping at 3125 turret slots for one upgrade will be good enough for a very long time.

     

    -Five.

    -Five raised to the fifth power.

    -Jupiter, the Fifth planet.

     

    -I like matching numbers.

     

     

    Suggestions/precautions:

     

     

    -Do modify and/or reply if you see anything that can be improved, any bugs, or whatsoever. While I'm still a n00b at any kind of programming whatsoever, I'll still attempt to deal with issues and questions.

     

    -These will not protect you from dumb A.I. ships ramming or fatal, unfortunate maneuvering accidents involving asteroids. I see no reason to suspect that the tragedy of losing a capital ship to some random collision would be any less painful if one of the modules that was lost in it once enabled you to have the firepower of an entire armada. Please do take caution when dealing with those things, in the way that you would treat a precious jewel.

     

    -Stick to the recipe. Unlike the other puny upgrades, these only work when five of the ingredients are combined, and if you use four, the chance is 0% instead of 80%, and will only yield you that second Xsotan upgrade again. Be very careful not to accidentally degrade your multi-hundred turret enabling upgrade into one artifact.

     

    -As the total number of slots increase, the turrets on ship menu will become harder and harder to see, as well as increasing lag at that screen. While the recent update has allowed us to see hundreds of turret slots and set them to groups with ease, it becomes almost unrecognizable when the numbers start to reach thousands, and lag will be significant. But even then, the lag is limited to when you have opened the ship menu, so as long as you don't try too hard to assign turret groups, you'll be fine even when you have more than ten thousand turrets.

     

    -Do keep in mind that this mod edits the researchstation.lua file. Any other mods that also edit it will probably cause conflict with this one.

     

    -Build your dreams.

    -Blot out the sun, fight in the shade.

    -Pierce and darken the skies of every world with your bullets. No drills included, sadly.

    -Watch as your computer enemies groan and melt.

     

    -Do enjoy.

     

    Screenshots&Graphics

     

     

     

    kO4llr6.jpg

    MGXIV1q.jpg

    UYoVuvy.jpg

    KXwCwec.jpg

    tQP5zXT.jpg

    TXrdkOe.jpg

    Ex3vTSv.jpg

    Q4JFnp4.jpg

     

     

     

    An imaginary cookie goes for anybody who guesses all the references I've made here

  3. Here's a fun little story.

     

     

    I didn't like the names of the artifacts, so I changed them as a final touch, and then I tried to playtest to see if it still worked. I generated a new world with creative mode on and collision damage off - the very thoughts of those clumsy AI ships ramming into various parts of ships and destroying docks or that one unfortunate ship-killing type asteroid accidents make me shudder. I generated some nice hyperspace boosts in using the command pack mod to make my trip easier, and started to search for a research station.

     

    I kid you not, it took me more than fifty fucking sectors to find one of those godforsaken stations. Fifty.

     

    Z9WDLu8.jpg

    jB5DfnK.jpg

     

    Oh, and I almost forgot to tell you that I jumped halfway across the map

    Vq96zBn.jpg

    In sheer desperation.

     

    I almost thought that my mod was causing issues with the spawn chance of the research stations, but noooooooo, it was just the game screwing with me thoroughly. The recent update suddenly allowed most of those malfunctioning steam achievements to work again. The reason that I noticed this was that I unlocked three achievements while looking for that one needle in a cosmic haystack.

     

    Three.

     

    Three potentially nice moments wasted in the self-imposed search/torment. I was almost about to delete and reinstall the game as well, but I didn't, so that's maybe a plus, I guess. Probably none of this would have happened had I not deleted all my previous saves for a fresh new start. What can I say?

     

    At least no collision damage means that you can repeatedly ram your multi kilo-ton spacecraft at nearby asteroids with the speed of an ICBM, and distract yourself from the boredom of waiting for the next jump as you watch the entire ship momentarily turn as fast as a beyblade. The crew? Who cares. They're a bunch who would gladly be dismissed from the ship out in the middle of nowhere.

    Even this short joy is taken away from you at sectors that have no asteroids though. In such trying times, I have never felt a stronger desire to be able to just boost into the planet in the background and see how the ship deals with the orange-yellow plasma that'll wrap around and slowly destroy it as it reenters, and/or smack into the ground with all the power of a tactical nuclear strike.

     

     

     

     

    https://www.dropbox.com/s/w1kif30xxcjgf34/data.zip?dl=0

     

    Here is the download link.

    Unzip it and move it inside the "Steam\SteamApps\common\Avorion" folder. As with the conflict issue with the auto research mod, I'll see what I can do, but again, I can't say for sure if I'll be able to do it. And please, do enjoy.

    For my sake. And my sanity.

    And for infal as well, actually.

     

    Speaking of which, infal, if you have time, tell me what you think about this. Since you have helped me carry this idea and allowed it to be completed, if you want me to mention you or not or leave a special thanks or anything else - just anything that you want to be done to this mod, any suggestions - just leave a reply.

     

    Phew. 1:30 AM already. I should really go to sleep.

  4. Hmm, I probably should try out inertia dampeners and gyros and whatnot. I've been mostly giving dreadnoughts maneuverability by making half of their volume out of thrusters.

     

    Btw, I just figured that if the files are too big to just attach, I could just upload them to dropbox or mediafire or something and then post the download link. Do any of you fellows know if there's any restrictions to adding download links like that?

  5. Do keep in mind though that these upgrades will still not protect you from an unfortunate, insta-kill asteroid collision. I expect the pain from losing upgrades that hold hundreds of times the power of normal artifacts to be significantly greater. Also, while the game already allows you to build smaller ships with extreme firepower to some extent, this mod will outright allow you to build fighters that have the firepower of an entire armada, given that you have enough thrust to cancel out the recoil and/or generators to supply the weapons. This effectively destroys the basic meta of "big, powerful" and "small, weak", and may become a killjoy for some, though I don't suspect that it'll be soon for any of us.

  6. The mod works with all Xsotan artifacts. Five and only five of any of the 8 types of Xsotan artifacts - not just the fourth one - combined in a research station will create the first of my four types of super upgrades, the Jovian^2, and five of those will create the Jovian^3, and so on up until the last upgrade, the Jovian^5. While using the Xsotan upgrades instead of the legendary turret control slot upgrades may sound counterintuitive, remember that the Xsotan artifacts cost no energy; all of my added super upgrades cost no energy to use as well, even the last one that would give you 5^5, or 3125 upgrades.

     

    Unfortunately, since I've also included images for the new icons, the total file size goes way beyond the attachment limit of 192KB, even after compressing it to ZIP form. One solution is that I change the icons that the custom upgrades use from completely new images that I put in to the images that are already there, but this may cause confusion. Another solution is to make a crude icon myself using photoshop or mspaint or something of the like while greatly lowering the file size, but this has the danger of looking quite unprofessional, if somewhat unique, and I think I need to take a day off before doing any of that after the day-long struggle of putting this together with the help of the mighty infal.

     

    It would also take a while to ask the author of the auto research mod to get permission to meld the two mods together, and even then I don't know if I'll be able to actually manage the merging process. I am, after all, a n00b with zero programming experience and if any of the other lua&programming sorcerers would volunteer to do the merging, that would be better for all of us, but it's also a mere possibility at this point.

     

    In any case, I think it would be impolite to go ahead and properly release this before infal allows me to, the person being the sole reason that I could create this in the first place. So sorry guys, you'll have to wait for at least a day or two. Thanks for the nice words though! :)

  7. The research station still doesn't want to show me the research option. Is there anything that I did wrong? Or do I need to create a new map to make this kind of change take effect?

    local errors = {}
        errors[EntityType.Station] = "You must be docked to the station to research items."%_T
        errors[EntityType.Ship] = "You must be closer to the ship to research items."%_T
        if not CheckPlayerDocked(player, station, errors) then
            return
        end
    
        local result = transformToCustomSuperModule(items)
        if result == nil then
    result = transform(items)
    
        if result then
            for index, amount in pairs(itemIndices) do
                for i = 1, amount do
                    player:getInventory():take(index)
                end
            end
    
            player:getInventory():add(result)
    
            invokeClientFunction(player, "receiveResult", result)
        else
            print ("no result")
        end
    
    
    end
    
    function receiveResult(result)
        results:clear();
        results:addInventoryItem(result);
    
        onShowWindow()
    end
    
    function transformToCustomSuperModule(items)
    -- i is a counter to keep track of how many modules match the required input
    local i
    
    
    i = 0
    for _, item in pairs(items) do
    	if string.match(item.script, "systems/teleporterkey") then
    		-- if the input was okay, add 1 to i
    		i = i + 1
    	end
    end
    -- check if i is 5. If it is then the player put 5 of the right modules in.
    if i == 5 then
    	-- return the custom 25 module
    	return SystemUpgradeTemplate("data/scripts/systems/25.lua", Rarity(RarityType.Legendary), random():createSeed())
    end
    
    
    i = 0
    for _, item in pairs(items) do
    	if string.match(item.script, "systems/25") then
    		-- if the input was okay, add 1 to i
    		i = i + 1
    	end
    end
    -- check if i is 5. If it is then the player put 5 of the right modules in.
    if i == 5 then
    	-- return the custom 125 module
    	return SystemUpgradeTemplate("data/scripts/systems/125.lua", Rarity(RarityType.Legendary), random():createSeed())
    end
    
    
    i = 0
    for _, item in pairs(items) do
    	if string.match(item.script, "systems/125") then
    		-- if the input was okay, add 1 to i
    		i = i + 1
    	end
    end
    -- check if i is 5. If it is then the player put 5 of the right modules in.
    if i == 5 then
    	-- return the custom 625 module
    	return SystemUpgradeTemplate("data/scripts/systems/625.lua", Rarity(RarityType.Legendary), random():createSeed())
    end
    
    
    i = 0
    for _, item in pairs(items) do
    	if string.match(item.script, "systems/625") then
    		-- if the input was okay, add 1 to i
    		i = i + 1
    	end
    end
    -- check if i is 5. If it is then the player put 5 of the right modules in.
    if i == 5 then
    	-- return the custom 3125 module
    	return SystemUpgradeTemplate("data/scripts/systems/3125.lua", Rarity(RarityType.Legendary), random():createSeed())
    end
    
    
    -- the input was not valid for any of our recipes so just return nil
        return nil
    end
    
    function transform(items)
    
        local transformToKey
    
        if items[1].itemType == InventoryItemType.SystemUpgrade
            and items[2].itemType == InventoryItemType.SystemUpgrade
            and items[3].itemType == InventoryItemType.SystemUpgrade
            and items[1].rarity.value == RarityType.Legendary
            and items[2].rarity.value == RarityType.Legendary
            and items[3].rarity.value == RarityType.Legendary then
    
            local inputKeys = 0
    

    The turret files themselves are just called "25.lua", "125.lua", "625.lua", and "3125.lua"

     

    *edit: forgot to put in "end" after the check. And praise the Xsotan deities, it WORKS! Perfectly, in fact!

  8. Nice to see you again, sir!  ;D

    function receiveResult(result)
        results:clear();
        results:addInventoryItem(result);
    
        onShowWindow()
    end
    
    function
        local result = transformToCustomSuperModule(items)
        if result == nil then
    result = transform(items)
    end
    
    function transformToCustomSuperModule(items)
        -- If there are the 5 modules you need to make the super module,
        -- return the super module.
        -- Otherwise, return nil and let the default transform function
        -- handle it
    end
    
    function transformToCustomSuperModule(items)
    
        local transformto25
    
    
    end
    
    function transform(items)
    
        local transformToKey
    
        if items[1].itemType == InventoryItemType.SystemUpgrade
            and items[2].itemType == InventoryItemType.SystemUpgrade
            and items[3].itemType == InventoryItemType.SystemUpgrade
            and items[1].rarity.value == RarityType.Legendary
            and items[2].rarity.value == RarityType.Legendary
            and items[3].rarity.value == RarityType.Legendary then
    
            local inputKeys = 0
            for _, item in pairs(items) do
                if string.match(item.script, "systems/teleporterkey") then
                    inputKeys = inputKeys + 1
                end
            end
    
            if inputKeys <= 1 then
                transformToKey = true
            end
        end
    
        local result
    
        if transformToKey then
            result = SystemUpgradeTemplate("data/scripts/systems/teleporterkey2.lua", Rarity(RarityType.Legendary), random():createSeed())
    

    Where should I go from here? Am I doing this right?

    editedresearchstation_V2.zip

  9. Also, if you guys want to just finish the mod yourselves based on this proposal, then go ahead; this is just a concept at this point, and I do not claim any ownership over this, if that's even possible in the first place. If there's any mods that do similar things that I've missed, please write about them as well. And yes, I know that I can just modify the values of the existing upgrades and Xsotan artifacts, I just want to figure out a solution that would be slightly fancier and feels more "natural", i guess.

  10.     So I've been trying to get around the 90 turrets limit for a while now. First I've tried modding the number of slots available, but that turned out to be near impossible since it was hard coded. Then I've tried to create my own modules, and integrate them into the game through research - more specifically, basing it on the way how the 2nd Xsotan artifact is obtained by putting 3 or more legendary system upgrades and researching them. The full extent of my plan is to create four more modules above the Xsotan artifacts, each giving 25, 125, 625, and 3125 extra turret slots, with each of them obtained only by putting 5 of the previous level upgrade through the research station, and the first one being obtained by researching five artifacts.

        When I asked about this in the subreddit, they said that creating the upgrades would be easy enough, but the other part would be a hassle, and they were right; I have created the modules, complete with (hopefully non copyrighted) images for their icons. However, even after looking at the researchstation.lua file for hours and hours on end, I simply cannot seem to figure out how this should work; the part I feel that I should base my scripts on is this:

    function transform(items)
    
        local transformToKey
    
        if items[1].itemType == InventoryItemType.SystemUpgrade
            and items[2].itemType == InventoryItemType.SystemUpgrade
            and items[3].itemType == InventoryItemType.SystemUpgrade
            and items[1].rarity.value == RarityType.Legendary
            and items[2].rarity.value == RarityType.Legendary
            and items[3].rarity.value == RarityType.Legendary then
    
            local inputKeys = 0
            for _, item in pairs(items) do
                if string.match(item.script, "systems/teleporterkey") then
                    inputKeys = inputKeys + 1
                end
            end
    
            if inputKeys <= 1 then
                transformToKey = true
            end
        end
    
        local result
    
        if transformToKey then
            result = SystemUpgradeTemplate("data/scripts/systems/teleporterkey2.lua", Rarity(RarityType.Legendary), random():createSeed())
    

    Although it does seem to say that the three items can be any kind of legendary upgrade, when I put in three Xsotan artifacts in the research station to search for any possible conflicts, the resulting Xsotan artifact wasn't always the 2nd one, despite them all being legendary system upgrades. Does this mean that the artifacts are in a separate category from the rest of the upgrades?

        Also, despite myself having near zero programming experience whatsoever, I still tried modifying the researchstation.lua file once, with my first goal being implementing the first of the four custom upgrades, while also limiting it to one recipe - five of the 2nd Xsotan artifacts - and here is the end result:

    function transform(items)
    
        local transformTo25
    
        if items[1].itemType == InventoryItemType.SystemUpgradeTemplate("data/scripts/systems/teleporterkey2.lua")
            and items[2].itemType == InventoryItemType.SystemUpgradeTemplate("data/scripts/systems/teleporterkey2.lua")
            and items[3].itemType == InventoryItemType.SystemUpgradeTemplate("data/scripts/systems/teleporterkey2.lua")
            and items[4].itemType == InventoryItemType.SystemUpgradeTemplate("data/scripts/systems/teleporterkey2.lua")
            and items[5].itemType == InventoryItemType.SystemUpgradeTemplate("data/scripts/systems/teleporterkey2.lua") then
    
            local input25 = 0
            for _, item in pairs(items) do
                if string.match(item.script, "systems/teleporterkey") then
                    input25 = input25 + 1
                end
            end
    
            if input25 <= 1 then
                transformTo25 = true
            end
        end
    
        local transformToKey
    
        if items[1].itemType == InventoryItemType.SystemUpgrade
            and items[2].itemType == InventoryItemType.SystemUpgrade
            and items[3].itemType == InventoryItemType.SystemUpgrade
            and items[1].rarity.value == RarityType.Legendary
            and items[2].rarity.value == RarityType.Legendary
            and items[3].rarity.value == RarityType.Legendary then
    
            local inputKeys = 0
            for _, item in pairs(items) do
                if string.match(item.script, "systems/teleporterkey") then
                    inputKeys = inputKeys + 1
                end
            end
    
            if inputKeys <= 1 and not transformTo25 = true then
                transformToKey = true
            end
        end
    
        local result
    
        if transformTo25 then
            result = SystemUpgradeTemplate("data/scripts/systems/25.lua", Rarity(RarityType.Legendary), random():createSeed())
        if transformToKey then
            result = SystemUpgradeTemplate("data/scripts/systems/teleporterkey2.lua", Rarity(RarityType.Legendary), random():createSeed())
    

    And when I overwrote the original files to this and played the game, the research station flat out refused to give me the "research" option at all, so I reverted it back to the original and gave up. Is there any way to properly limit the item types from all system upgrades to just the Xsotan artifacts? How do I manage to properly separate the "conditions" of the two functions, and how could I do this for the three other custom upgrades, if this is possible at all? Am I looking at the wrong file entirely? Are the custom upgrade files themselves flawed? I would gladly accept help from any of you lua&programming wizards out there. Files for the custom upgrades and my half assed attempt at modifying the researchstation.lua file is attatched below.

    More_Turrets.zip

  11. Hmm, it might actually be the same reason; I was farming the AI boss and had a ton of turrets and system upgrades - I was THIS close to getting a legendary trading upgrade :( - before the problem happened the second time, and my player_1 file was also at 3006KB at that point. I have no idea how to remove stuff from your inventory from outside the game though.

     

    Actually, Wiawyr, could you tell me the specs of the computer you had Avorion on? I want to have a better idea on how much this was related to computer specs, if the number of upgrades and turrets was related to the issue.

  12. That's odd. I can confirm that those entries are in the "server.ini" file, at the sixth and seventh lines. Perhaps it has something to do with me using the beta branch, and the changes that would make those two entries in the files hasn't been in a proper release. Are you just normally playing without any beta programs?

  13. Hey, dunno if anyone still needs to modify the wreckage despawn time - Orlania already mentioned that the server.ini file within the folder "\Users\XXX\AppData\Roaming\Avorion\galaxies\"name of galaxy" must be edited, but when I checked today, there seems to be another section that needs to be edited:

    BigWreckageDespawnTime=1800
    SmallWreckageDespawnTime=900

    I suspect that these two determine the despawn time since 30 minutes is exactly 1800 seconds; I haven't tested it out myself - currently suffering from an error - but give it a go. Try doubling or tripling the two numbers, and see what happens.

  14. Whenever I start my computer back up, I have to reinstall the game; I've had this occur to me twice in a row now. And after reinstalling the game, whenever I try to go back into my old save file, the game would just get stuck in the "loading single player" screen. And by stuck, I mean it would still display that screen after leaving my computer alone for 4 HOURS and then coming back, with no error message whatsoever.

     

    First time this happened, I created a new save file and transferred the components of my old save file onto it until I found out what was causing the issue - "globals". Deleting that file from my original save or overwriting it with another "globals" from another save seemed to fix it, and I could play again. This time, however, neither deleting it nor overwriting it with "globals" from another save game worked, and I am completely at a loss as to why this seemingly same problem has a different solution, if any. My last serverlog is down below, and my computer specs are:

     

    OS: Windows 7 64bit

    Processor: Intel® Core i5-4269U CPU @ 1.40GHZ  2.00GHZ

    Ram: 4.00GB

     

    I was playing with steam on online mode as well.

     

    Information, requests on more details, and solutions to any of the problems are welcome. Send help :'(

    (Oh, and starting a new game works perfectly. It only stops for my old save file.)

    (Also, in the logs, "대상 컴퓨터에서 연결을 거부했으므로 연결하지 못했습니다" means something like "Failed to connect because the target computer rejected the connection".)

    serverlog_Sat_Mar_04_10-02-22_2017.txt

  15. I'm not sure, but I'm most certainly running it on my singleplayer world.

    *Edit: this is the server file.

    [Game]
    Seed=Bl5MlqBdMQ
    Difficulity=-1
    InfiniteResources=false
    CollisionDamage=0
    BigWreckageDespawnTime=1800
    SmallWreckageDespawnTime=900
    LootDiminishingFactor=0.00499999989
    ResourceDropChance=0.400000006
    TurretDropChanceFromTurret=0.0250000004
    TurretDropChanceFromCraft=0.25
    TurretDropChanceFromBlock=0.00499999989
    SystemDropChanceFromCraft=0.200000003
    SystemDropChanceFromBlock=0.00499999989
    ColorDropChanceFromCraft=0.0500000007
    ColorDropChanceFromBlock=0.00249999994
    sameStartSector=true
    startUpScript=data/scripts/server/server.lua
    startSectorScript=startsector
    [system]
    saveInterval=600
    sectorUpdateTimeLimit=300
    emptySectorUpdateInterval=0.5
    workerThreads=3
    generatorThreads=2
    weakUpdate=true
    immediateWriteout=true
    [Networking]
    port=27000
    broadcastInterval=5
    isPublic=false
    isListed=false
    isAuthenticated=false
    useSteam=true
    [Administration]
    maxPlayers=10
    name=jupiter878's Server
    description=An Avorion Server
    password=
    accessListMode=Blacklist
    

  16. All of Aki's commands seem to be working, but when I type /disttocore or /help disttocore into the console, nothing is printed out. Both disttocore.lua files are installed in their correct spots. Am I looking in the wrong place? Any help?  :(

×
×
  • Create New...