Page 2 of 5

Re: Pymods compatibility Mod

Posted: Sat Oct 06, 2018 9:46 pm
by pyanodon
Sticked it because it´s important.

Re: Pymods compatibility Mod

Posted: Sat Oct 27, 2018 8:59 am
by kingarthur
new update today. finally re-enabled the pymods difficultly adjuster setting and fixed all issues with that code. tested with plain py, and abpy. no errors. you can now adjust values as high as 50x normal values.

Re: Pymods compatibility Mod

Posted: Sat Oct 27, 2018 2:12 pm
by Chatastroph
Your last update seems to broke something with SpaceX integration. I get an error at following line: "updates/SpaceX.lua:343: attempt to index field 'results' (a nil value)
damn those nullpointer exceptions :(

Re: Pymods compatibility Mod

Posted: Sat Oct 27, 2018 10:04 pm
by kingarthur
Chatastroph wrote:
Sat Oct 27, 2018 2:12 pm
Your last update seems to broke something with SpaceX integration. I get an error at following line: "updates/SpaceX.lua:343: attempt to index field 'results' (a nil value)
damn those nullpointer exceptions :(
Can I get a list of mods your using.

Re: Pymods compatibility Mod

Posted: Sat Oct 27, 2018 10:24 pm
by Chatastroph
kingarthur wrote:
Sat Oct 27, 2018 10:04 pm
Can I get a list of mods your using.
here my list (Output from ls command and removed deactivated mods)

Code: Select all

Bio_Industries_2.6.12.zip
EvoGUI_0.4.302.zip
Laser_Beam_Turrets_0.2.0.zip
LightedPolesPlus_1.2.0.zip
LoaderRedux_1.3.1.zip
LogisticTrainNetwork_1.9.3.zip
Nuclear Fuel_0.1.3.zip
PyCoalTBaA_0.0.27.zip
ShinyAngelGFX_0.16.8.zip
ShinyBobGFX_0.16.21.zip
ShinyIcons_0.16.20.zip
SpaceMod_0.3.12.zip
Squeak Through_1.2.2.zip
StoneWaterWell_1.0.8.zip
TheFatController_3.0.4.zip
YARM_0.7.308.zip
angelsaddons-oresilos_0.4.0.zip
angelsaddons-petrotrain_0.3.3.zip
angelsaddons-pressuretanks_0.3.0.zip
angelsaddons-warehouses_0.3.0.zip
angelsbioprocessing_0.5.9.zip
angelsindustries_0.1.0.zip
angelsinfiniteores_0.7.3.zip
angelspetrochem_0.7.12.zip
angelsrefining_0.9.14.zip
angelssmelting_0.4.6.zip
auto-research_4.3.0.zip
bobassembly_0.16.1.zip
bobclasses_0.16.2.zip
bobelectronics_0.16.0.zip
bobenemies_0.16.0.zip
bobgreenhouse_0.16.0.zip
boblibrary_0.16.6.zip
boblogistics_0.16.23.zip
bobmining_0.16.0.zip
bobmodules_0.16.0.zip
bobores_0.16.2.zip
bobplates_0.16.5.zip
bobpower_0.16.8.zip
bobrevamp_0.16.3.zip
bobtech_0.16.6.zip
bobvehicleequipment_0.16.2.zip
bobwarfare_0.16.7.zip
botReplacer_0.16.0.zip
helmod_0.7.11.zip
long-reach_0.0.12.zip
omnilib_2.0.44.zip
omnimatter_2.0.26.zip
omnimatter_crystal_2.0.7.zip
omnimatter_move_0.1.0.zip
op_train_speed_1.0.9.zip
pycoalprocessing_1.0.10.zip
pyfusionenergy_1.0.7.zip
pyhightech_1.0.9.zip
pyindustry_1.0.10.zip
rso-mod_3.8.1.zip
upgrade-planner_1.5.3.zip
what-is-it-really-used-for_1.3.4.zip

Re: Pymods compatibility Mod

Posted: Sat Oct 27, 2018 10:49 pm
by Chatastroph
Assuming "if data.raw.recipe[recipe_name].results then" is the same like "if data.raw.recipe[recipe_name].results != nil then", then it's pretty obvious that this line crashes. The same with line 280. Also the var k in these both blocks seems to be from the loop in the first branch. I assume you make an copy past error. Also line 288 - 294 will never be called because it's the same condition from the first block.
I hope this helps.

Re: Pymods compatibility Mod

Posted: Sun Oct 28, 2018 12:41 am
by kingarthur
Chatastroph wrote:
Sat Oct 27, 2018 10:49 pm
Assuming "if data.raw.recipe[recipe_name].results then" is the same like "if data.raw.recipe[recipe_name].results != nil then", then it's pretty obvious that this line crashes. The same with line 280.
recipes should have some type of result is not so much checking if it exist but what type is it. given that the error is at the very last group it some how doesn't have any of those types or is empty

Also the var k in these both blocks seems to be from the loop in the first branch. I assume you make an copy past error.
the var k is from the first for loop and is intentionally used as a short cut to typing out result into each bracket pair and was slightly easier to remember where it was from. k is = to the name of a given result as it loops thru each recipes results and change the data i need to lookup the original information and look it up. given that each recipe can have between 1 and many items looking them up by name was the easiest way for me to get each one.

for example the recipe for electric engines in vanilla only gives out an electric engine, while the oil processing recipe gives three different items.
Also line 288 - 294 will never be called because it's the same condition from the first block.
I hope this helps.
actually lines 288-294 do get called. there is a difference. the first block is looking for results as a table. that second set looks for result and its just a txt string for the item name and gets result count for the amount.

Re: Pymods compatibility Mod

Posted: Sun Oct 28, 2018 12:51 am
by kingarthur
kingarthur wrote:
Sun Oct 28, 2018 12:41 am
Chatastroph wrote:
Sat Oct 27, 2018 10:49 pm
Also the var k in these both blocks seems to be from the loop in the first branch. I assume you make an copy past error.
the var k is from the first for loop and is intentionally used as a short cut to typing out result into each bracket pair and was slightly easier to remember where it was from. k is = to the name of a given result as it loops thru each recipes results and change the data i need to lookup the original information and look it up. given that each recipe can have between 1 and many items looking them up by name was the easiest way for me to get each one.

for example the recipe for electric engines in vanilla only gives out an electric engine, while the oil processing recipe gives three different items.
actually looking at it now your correct that first for loop is inside the if statement and the var k shouldn't be carried father. and yet it seems to be working anyway. i need to look to that some more

Re: Pymods compatibility Mod

Posted: Sun Oct 28, 2018 1:39 am
by kingarthur
Chatastroph wrote:
Sat Oct 27, 2018 2:12 pm
Your last update seems to broke something with SpaceX integration. I get an error at following line: "updates/SpaceX.lua:343: attempt to index field 'results' (a nil value)
damn those nullpointer exceptions :(
try this version. i made a tweak that might fix it and added some error logging. if it doesnt fix it please send me your factorio log and i can see what is breaking it

Re: Pymods compatibility Mod

Posted: Sun Oct 28, 2018 6:29 am
by kingarthur
Chatastroph wrote:
Sat Oct 27, 2018 2:12 pm
Your last update seems to broke something with SpaceX integration. I get an error at following line: "updates/SpaceX.lua:343: attempt to index field 'results' (a nil value)
damn those nullpointer exceptions :(
should be fixed now. pushed an update onto the mod portal

Re: Pymods compatibility Mod

Posted: Sun Oct 28, 2018 7:47 am
by Chatastroph
kingarthur wrote:
Sun Oct 28, 2018 6:29 am
should be fixed now. pushed an update onto the mod portal
Yep it's working now.
But I'm still not convinced that it works like it should. It just doesn't crash anymore.
According to the Lua documentation the loop variables are only local variables, so the "k" variable outside is undefined or something. And even if it would keep the value, it would be a value from a previous recipe and not the current.
But i don't want to botch any deeper in your code from a language i have maybe accumulated 2 hours experience. Unless you want me to botch deeper in. I just hope, you still know in a month what you wrote there. That is allways my problem if i leave code in a hacky way.

I see now my error with the result and the results. So yeah that third branch can be called. These two are destined for fleeting mistakes...

Thanks for your work and enjoy

Re: Pymods compatibility Mod

Posted: Sun Oct 28, 2018 8:41 am
by kingarthur
Chatastroph wrote:
Sun Oct 28, 2018 7:47 am
kingarthur wrote:
Sun Oct 28, 2018 6:29 am
should be fixed now. pushed an update onto the mod portal
Yep it's working now.
But I'm still not convinced that it works like it should. It just doesn't crash anymore.
According to the Lua documentation the loop variables are only local variables, so the "k" variable outside is undefined or something. And even if it would keep the value, it would be a value from a previous recipe and not the current.
But i don't want to botch any deeper in your code from a language i have maybe accumulated 2 hours experience. I just hope, you still know in a month what you wrote there. That is allways my problem if i leave code in a hacky way.

I see now my error with the result and the results. So yeah that third branch can be called. These two are destined for fleeting mistakes...

Thanks for your work and enjoy
ya there is results, result, main_product, expensive results, and normal results. is kind of a pain.

so i did some digging and with just the pymods and pycoaltbaa. the script is called 850 times. 849 are the for loop and 1 time to result statement. i added in the base game tank recipe that has normal and expensive results and it breaks. so its not correct i just somehow got lucky and between pycoal, pyfusion, pyhightech, and pyindustries a single recipe used a different choice from the for loop

Re: Pymods compatibility Mod

Posted: Wed Dec 12, 2018 3:01 am
by kingarthur
just wanted to let everybody know im working on bobs compatibility for pymods. after speaking with pyanodon ive decided that instead of re-adding bobs compatibility to pymods ill be transferring it to pycoaltbaa. ill get a the first of probably several updates out ether Friday or Saturday.

the first update will be a quick patch mostly reusing the previous work for the full bobs suit. after that im going to rebuild everything to properly allow usage of the different mods from the bobs set without needing the full suit.

i apologize for the delay this will cause in getting py+bobs working again.

after i get that done ill be reworking py+angel to take advantage of all the new stuff added pyro + the rest of the updates

Re: Pymods compatibility Mod

Posted: Sat Dec 15, 2018 11:41 am
by kingarthur
0.0.33 out that adds bob compatibility support. please report any issues you find

Re: Pymods compatibility Mod

Posted: Tue Jan 01, 2019 6:45 am
by kingarthur
new update out. i removed the duplicated electronic circuit recipe. fixed an error with aaii-sp0 trying to use angels subgroup without it loaded. removed the sci 1 pack from the electric-miner 1 tech so tin can be mined. fixed the issue with the vacuum tube being called a valve with bob mods installed. also removed invar from the advanced foundry as invar is in sci 2 techs and you need the foundry to make sci 2. also merged the pyro and angels smelting molten metals.

please let me know if you find any issues as i accidentally overwrote the newest fixes with some stuff i had done on my laptop. im pretty sure i redid it all but its easy to miss a thing here or there.

Re: Pymods compatibility Mod

Posted: Tue Jan 01, 2019 5:05 pm
by Ultimoos
Newest build will not work with AngelPetrochem.
There is no "compressor" object in liquid nitrogen recipe.

Re: Pymods compatibility Mod

Posted: Thu Jan 03, 2019 11:28 am
by kingarthur
Ultimoos wrote:
Tue Jan 01, 2019 5:05 pm
Newest build will not work with AngelPetrochem.
There is no "compressor" object in liquid nitrogen recipe.
i just check and for me the liquid nitrogen recipe shows up under advanced electronics and the compressor building is unlocked at the same time.

can i get a mod list or save file to check it

Re: Pymods compatibility Mod

Posted: Thu Jan 03, 2019 4:12 pm
by Ultimoos
All latest versions. Plus of course your compatibility mod.
For some reason PYcoalprocessing is not on mod list json.

"name": "base",
"name": "FARL",
"name": "PickerExtended",
"name": "StickyNotes",
"name": "what-is-it-really-used-for",
"name": "what_is_it_used_for_15",
"name": "AutoDeconstruct",
"name": "AutoTrash",
"name": "bobenemies",
"name": "bobinserters",
"name": "boblibrary",
"name": "Bottleneck",
"name": "bullet-trails",
"name": "BurnerLeech",
"name": "crafting_combinator",
"name": "Crafting_Speed_Research",
"name": "data-raw-prototypes",
"name": "Expanded_Robot_Tech",
"name": "Loader-Rotation-Fix",
"name": "Nanobots",
"name": "SmarterBotRecharge",
"name": "Squeak Through",
"name": "textplates",
"name": "upgrade-planner",
"name": "VehicleSnap",
"name": "Warehousing",
"name": "water-fix",
"name": "alien-biomes",
"name": "bobores",
"name": "bobtech",
"name": "bobvehicleequipment",
"name": "BottleneckLogistics",
"name": "bobplates",
"name": "rso-mod",
"name": "angelsrefining",
"name": "bobassembly",
"name": "bobelectronics",
"name": "bobgreenhouse",
"name": "boblogistics",
"name": "bobmining",
"name": "bobpower",
"name": "bobrevamp",
"name": "angelspetrochem",
"name": "bobmodules",
"name": "bobwarfare",
"name": "LoaderRedux",
"name": "longer-belts-redux",
"name": "angelsinfiniteores",
"name": "angelssmelting",
"name": "bobmods_gfxtweak",
"name": "Laser_Beam_Turrets",
"name": "omnimatter",
"name": "GDIW",
"name": "GDIWHotkey",

Re: Pymods compatibility Mod

Posted: Thu Jan 10, 2019 6:22 pm
by Ultimoos
https://www.dropbox.com/s/wsock5k739tym ... 8.png?dl=0
I turned off all mods except for Bob's and Angel's modules.

Re: Pymods compatibility Mod

Posted: Sat Jan 12, 2019 7:50 am
by ShadowGlass
Found a bug:
2019-01-12_1832.png
2019-01-12_1832.png (19.97 KiB) Viewed 7173 times

I don't have Bob-ores enabled. I think the error is in overrides-Fusion.lua:

Near the top, you have this:

Code: Select all

if mods["bobores"] then

		--replace result
		remove_result("cobalt-solvent", "ash")
		add_result("cobalt-solvent", {type = "item", name = "cobalt-ore", amount = 5})
...
end
But further down around line 87 you have it repeated without the condition:

Code: Select all

remove_result("cobalt-solvent", "ash")
add_result("cobalt-solvent", {type = "item", name = "cobalt-ore", amount = 5})
The other stuff in that first condition block ("calcinate-separation" changes) is also repeated further down without condition.