Jump to content

XLib and XSkills


Xandu

Recommended Posts

On 12/26/2020 at 10:33 PM, Digitalr said:

Small suggestion for survival skills:

Ability, allowing keep on death content of "strong back" inventory.

 

Thank you for your suggestion. I have implemented it.

 

On 12/27/2020 at 8:30 AM, cuotel said:

Me and my friend consistently get a crash when we play together with this mod installed and certain conditions are met. we tested it a lot and this crash only occurs when one of us has the Metalworking ability 'Machine Learning' and places an ingot or iron bloom on an anvil with a helve hammer hitting it. It works perfectly fine in SP but it instantly crashes as soon as one of us places an ingot on an anvil with a helve hammer while we have the Machine Learning ability, however it only crashes for the person that didn't place the ingot or bloom on the anvil. here is the crash log from my end: 


Version: v1.14.2 (Stable)12/27/2020 1:45:11 AM: Critical error occurred
System.NullReferenceException: Object reference not set to an instance of an object.
   at XSkills.XSkillsBlockEntityAnvil.CheckIfFinished(IPlayer byPlayer)
   at Vintagestory.GameContent.BlockEntityAnvil.OnHelveHammerHit()
   at Vintagestory.GameContent.Mechanics.BEHelveHammer.get_Angle()
   at Vintagestory.GameContent.HelveHammerRenderer.OnRenderFrame(Single deltaTime, EnumRenderStage stage)
   at Vintagestory.Client.NoObf.ClientEventManager.TriggerRenderStage(EnumRenderStage stage, Single dt)
   at Vintagestory.Client.NoObf.ClientMain.TriggerRenderStage(EnumRenderStage stage, Single dt)
   at Vintagestory.Client.NoObf.ClientMain.MainRenderLoop(Single dt)
   at Vintagestory.Client.NoObf.ClientMain.MainGameLoop(Single deltaTime)
   at _uWwiuXC8cGTH1JnsWiUY9FUaXOo._0WtXQJqGAidcdKMfPHF0OxDIauE(Single )
   at _ydpin5JFjepNgd3JOZRb2z5I5Fg._LvRZFcsDWyPwKLB1F2UK7fQ2N6d(Single )
   at _ydpin5JFjepNgd3JOZRb2z5I5Fg._GO2qaUrk9dl0IceTLiA7P4LcpAB(Single )
   at Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame(Object sender, FrameEventArgs e)
   at System.EventHandler`1.Invoke(Object sender, TEventArgs e)
   at OpenTK.GameWindow.RaiseRenderFrame(Double elapsed, Double& timestamp)
   at OpenTK.GameWindow.DispatchRenderFrame()
   at OpenTK.GameWindow.Run(Double updates_per_second, Double frames_per_second)
   at _Ine8FeGTtDXciSIfaZMHMwCLKGBA._8puLW8J44fiq3A5hthQTfB8WNxc(_SbVlAI6dJIZ4JRt0da0lu23DF14 , String[] )
   at _lErb0L2e9E9htuT2VVnAsXIZqc7A._8puLW8J44fiq3A5hthQTfB8WNxc(ThreadStart )
-------------------------------

and here is the crash Log from my friend (I'm aware they are practically identical).


Running on 64 bit Windows with 32 GB RAM 
Version: v1.14.2 (Stable)12/27/2020 2:06:27 AM: Critical error occurred
System.NullReferenceException: Object reference not set to an instance of an object.
   at XSkills.XSkillsBlockEntityAnvil.CheckIfFinished(IPlayer byPlayer)
   at Vintagestory.GameContent.BlockEntityAnvil.OnHelveHammerHit()
   at Vintagestory.GameContent.Mechanics.BEHelveHammer.get_Angle()
   at Vintagestory.GameContent.HelveHammerRenderer.OnRenderFrame(Single deltaTime, EnumRenderStage stage)
   at Vintagestory.Client.NoObf.ClientEventManager.TriggerRenderStage(EnumRenderStage stage, Single dt)
   at Vintagestory.Client.NoObf.ClientMain.TriggerRenderStage(EnumRenderStage stage, Single dt)
   at Vintagestory.Client.NoObf.ClientMain.MainRenderLoop(Single dt)
   at Vintagestory.Client.NoObf.ClientMain.MainGameLoop(Single deltaTime)
   at _uWwiuXC8cGTH1JnsWiUY9FUaXOo._0WtXQJqGAidcdKMfPHF0OxDIauE(Single )
   at _ydpin5JFjepNgd3JOZRb2z5I5Fg._LvRZFcsDWyPwKLB1F2UK7fQ2N6d(Single )
   at _ydpin5JFjepNgd3JOZRb2z5I5Fg._GO2qaUrk9dl0IceTLiA7P4LcpAB(Single )
   at Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame(Object sender, FrameEventArgs e)
   at System.EventHandler`1.Invoke(Object sender, TEventArgs e)
   at OpenTK.GameWindow.RaiseRenderFrame(Double elapsed, Double& timestamp)
   at OpenTK.GameWindow.DispatchRenderFrame()
   at OpenTK.GameWindow.Run(Double updates_per_second, Double frames_per_second)
   at _Ine8FeGTtDXciSIfaZMHMwCLKGBA._8puLW8J44fiq3A5hthQTfB8WNxc(_SbVlAI6dJIZ4JRt0da0lu23DF14 , String[] )
   at _lErb0L2e9E9htuT2VVnAsXIZqc7A._8puLW8J44fiq3A5hthQTfB8WNxc(ThreadStart )
-------------------------------

 

 

Thank you for this detailed report. I think i found the issue and i hope i fixed it. But i can´t test this at the moment. So it would be great if somebody could tell me whether it works now.

 

On 12/27/2020 at 4:34 PM, Brent Strickland said:

How much experance do you get for combat? most of my skills are well past level 2 but combat is only just past 100 exp.

 

I made a few changes to the experience gain for this skill.

 

Here are the patch notes for 0.4.3:

API:
    -expanded the effect trigger system (which is not used currently)
    -effects can now be triggered from consuming specific items (which is not used currently)
    -effects can be cured now from consuming specific items (which is not used currently)
    -added a new secret effect type(which, who could have guessed this, is not used currently)
    -so i prepared some stuff for future stuff

Changes:
    -added Soulbound Bag ability to survival skill
    -you should now get combat experience from killing bells and corrupt sawblade locust

Balance:
    -increased experience gain for casting tool molds by 50% for the metalworking skill
    -slightly increased the experience gain for working an item on an anvil for the metalworking skill
    -slightly increased combat experience gain for killing locusts
    -slightly increased combat experience gain for killing wolfs
    -doubled combat experience gain for killing drifters
    -you do not gain combat experience anymore by killing most animals, but they are still affected by your abilities
    -migrated the remaining hard coded requirements to json files
    
Fixed:
    -hopefully fixed a crash related to the machine learning ability in multiplayer
    -Fixed an issue where locusts could be harvested with knives

  • Like 1
Link to comment
Share on other sites

45 minutes ago, Digitalr said:

Strange, but i cannot find this ability in survival branch :(

Corresponding descriptions are present in language files, so i make translation "for future use".

 

 

2020-12-31_13-09-42.png

ru.zip 9.22 kB · 0 downloads

Hi,

Apparently the game does not have a configuration for the death punishment if you do not set it explicit. I would assume that it has at least a default value. At the moment you can fix this by setting it to "drop" in your game.(command: "/worldconfig deathPunishment drop") and than reload your game.  I will fix this with the next update.

Link to comment
Share on other sites

Bug report - character tries to eat ItemStack

hi @Xandu we have problem with your mod.
while tried to place ingots or firewood with shift+ctrl the character tries to eat that items.
this "handling" is happening when your latest version (0.4.3) of skill+lib mod is active.
tried also both mods alone in singleplayer.

added a clip
 

Spoiler

 

Best regards

edit:
also chisseling ist blocked by that.

Edited by Rhonen
Link to comment
Share on other sites

On 1/1/2021 at 6:48 AM, l33tmaan said:

Are there any plans for this mod to be compatible with Metal Recovery in the future?

Until now i thought t is technically not possible or at least quite laborious. But i think i found a way to make it compatible with most anvil altering things. So i try to make it compatible.

 

3 hours ago, Rhonen said:

Bug report - character tries to eat Ingots and firewood

hi @Xandu we have problem with your mod.
while tried to place ingots or firewood with shift+ctrl the character tries to eat that items.
this "handling" is happening when your latest version (0.4.3) of skill+lib mod is active.
tried also both mods alone in singleplayer.

added a clip
 

  Reveal hidden contents

 

Best regards

Thanks for the report. It should only spawn the animations but should have no other effect. This will be patched with the next update.

Ok. Maybe it has. I will look into this.

Edited by Xandu
Link to comment
Share on other sites

Hi, i uploaded Version 0.4.4 to be compatible with the newest 1.14.3 Version of the game. I primily changed the way how the metalworking skill is implemented to be more compatible with other mods that change how anvils work (like metal recovery) and hope that everything still works. And since i was already working on the skill i also made some performance improvements to smithing.

 

    -the metalworking skill should now be compatible with other anvil altering mods
    -optimized performance of smithing on an anvil(noticed that a 'performance heavy method' was called multiple times which i thought has no performance cost at all)
    -also improved the worst case performance of this vanilla method (Previously its runtime depended on the number of rotations of the smithing work. The runtime cost should now be constant.)
    -if you have the mod metal recovery activated you should no longer be able to pick the metal recovery ability

    -fixed: some interactions with held items weren't possible

Edited by Xandu
  • Like 1
Link to comment
Share on other sites

52 minutes ago, dedok13x said:

Game v1.14.3, mod v0.4.4

Bug: Long life and Huge Stomach abilities can not be acquired - spent point returns back after reopening skill tab.

Tried reconnect to server just in case of client-server sync problems - it did not helped.

For some reason the requirements seems to be not loaded sometimes randomly. I really don´t know why this happens and at this point i am very frustrated about it.

  • Like 1
Link to comment
Share on other sites

16 minutes ago, Thomas Bork said:

Sorry if it is answered before, but what skills/recipes does "Machine Learning" teaches to the automatic hammers?

Thanks in advance

Hi, it should affect following abilities: "finishing touch", "heating hits", "duplicator" and "metal recovery".

Link to comment
Share on other sites

11 minutes ago, Thomas Bork said:

Ok, so they doesn´t learn to make for example axe head or so?

 

No, i considered to make this a separate ability. But i thought it would make the whole smithing system obsolete and therefore would be a little bit over powered. I could limit it to a few recipes. But which one should i choose? So maybe this is one thing for the future.

Link to comment
Share on other sites

1 minute ago, Xandu said:

No, i considered to make this a separate ability. But i thought it would make the whole smithing system obsolete and therefore would be a little bit over powered. I could limit it to a few recipes. But which one should i choose? So maybe this is one thing for the future.

Thanks for your quik response. Now I understand the German Translation of this skill better :)

 

Link to comment
Share on other sites

1 minute ago, Xandu said:

No, i considered to make this a separate ability. But i thought it would make the whole smithing system obsolete and therefore would be a little bit over powered. I could limit it to a few recipes. But which one should i choose? So maybe this is one thing for the future.

You could do only 'flat' parts such as the hand tool parts like GE Helve Hammers does. (Is not compatible with XSkills.)

Link to comment
Share on other sites

29 minutes ago, Dara Phairphire said:

You could do only 'flat' parts such as the hand tool parts like GE Helve Hammers does. (Is not compatible with XSkills.)

This sounds like a good idea. I thought that XSkills would be compatible with this mod after 0.4.4 update. But i took a quick lock at his source code and noticed that it should be compatible with most abilities exept of the "Machine Learning" ability. Unfortly there is nothing i can do about it.

Link to comment
Share on other sites

32 minutes ago, Xandu said:

This sounds like a good idea. I thought that XSkills would be compatible with this mod after 0.4.4 update. But i took a quick lock at his source code and noticed that it should be compatible with most abilities exept of the "Machine Learning" ability. Unfortly there is nothing i can do about it.

Well, when I try having the mod, any time the helve hits the anvil, it causes a crash.

VS_CrashReport.txt

Edited by Dara Phairphire
Added crash report.
Link to comment
Share on other sites

It appears that Master Smith perk isnt working anymore. Tested by removing and readding as well, voxels do not move to proper place- heavy hit just works like vanilla.

On 14.5 and using 0.4.4 xlib and xskill

Edited by Mabmoro
  • Thanks 1
Link to comment
Share on other sites

Uploaded Version 0.4.5. Seems i messed up a few things with my latest smithing optimizations. This patch should fix it and a few other thngs.

 

And finally after 10.000 years i uploaded a small guide on how to create your own skills. :D

 

Changes:
    -Added xml-documentation file for IntelliSense support to xlib.
    -You can now get metalworking experience from helve hammers, but you get a 75%[configurable] penalty on the experience.
    -Items now count as helve hammered when there were hammered once with a helve hammer. This is to prevent players from letting a helve hammer do 99% of the work and then smith the last few voxels for gaining experience and other bonuses.
  -Added the automated smithing ability to metalworking.


Fixes:
    -Finally fixed the vanishing Requirements bug. Hopefully. (Apparently the compiler does something weird, while optimizations, so that the bug only appeared on the optimized release versions. So it was very difficult to track down.)
    -Helve Hammers can now profit from your Metal recovery ability, if you also have the machine learning ability. 

   -Fixed Master Smith ability not working.

  • Like 1
Link to comment
Share on other sites

I've been looking into this mod a bit and wanted to know - does it currently support the ability to check worn armor types? Digging around the XML I see options to check DamageSource as well as the amount.

Wanting to add in an armor skill (or set of skills - depending on the armor type) and perks that could be specialized to improving light/heavy armor, or even no armor, but wasn't sure if it was possible just yet.

Link to comment
Share on other sites

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.