Jump to content

XLib and XSkills


Xandu

Recommended Posts

On 8/21/2020 at 9:05 AM, Julius van Vern said:

Hey Xandu. First, thanks for the creat Mod. On player get the following Message, after connecting to the Server (1.13). Other Member have no Problems. Have you an idea? 

Version: v1.13.0 (Stable)21.08.2020 05:54:57: Critical error occurred
System.Exception: Don't know how to instantiate block behavior of class 'XSkillsBomb' did you forget to register a mapping?
   bei Vintagestory.Common.ClassRegistry.CreateBlockBehavior(Block block, String blockClass)
   bei Vintagestory.Common.BlockTypeNet.ReadBlockTypePacket(_rSjrI0Kz7iEAAHoJZMZnxuTQu6n packet, IWorldAccessor world, ClassRegistry registry)
   bei Vintagestory.Client.NoObf.GeneralPacketHandler.HandleServerAssets(_ObsGnMJS9kYUNwzN3IhaITP3Azj packet)
   bei Vintagestory.Client.NoObf.ClientMain.ExecuteMainThreadTasks(Single deltaTime)
   bei _Tro4Pq9lzrCyqFSIQKWVxYGob6g._iwd4fs4KicCkoXdUJk8TQb6QxEE(Single )
   bei _GOvhuoHvUhV6DSqmhF1QtCbrUki._u475OTafdqfLJg04OqOzYKfDELL(Single )
   bei _GOvhuoHvUhV6DSqmhF1QtCbrUki._hdByNlLQKfOWBdLqhR3ruj4UiBf(Single )
   bei Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame(Object sender, FrameEventArgs e)
   bei System.EventHandler`1.Invoke(Object sender, TEventArgs e)
   bei OpenTK.GameWindow.RaiseRenderFrame(Double elapsed, Double& timestamp)
   bei OpenTK.GameWindow.DispatchRenderFrame()
   bei OpenTK.GameWindow.Run(Double updates_per_second, Double frames_per_second)
   bei _JQ8hJZaWfIKtgNCRVIFwsWJlGbD._PobINQXMJm1DRr8Q98KrBuOyaBI(_oOE8RvwwsA8CcfDxUcot5Tu1mbq , String[] )
   bei _E1zChrmPoD6YADl4x90dHsneZYx._PobINQXMJm1DRr8Q98KrBuOyaBI(ThreadStart )

Hey, can you give me some additional informations? Are any other mods installed on the server or the client? Make sure he is using the same versions on his client that is running on the server. It is difficult to fix something I can not reproduce.

Link to comment
Share on other sites

mod seems not working with VS-1.13.1 stable

 

Version: v1.13.1 (Stable)27.08.2020 17:39:10: Critical error occurred
System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
   bei XLeveling.XLevelingClient.MessageHandler(CommandPackage package)
   bei Vintagestory.Client.NoObf.NetworkChannel.<>c__DisplayClass12_0`1.<SetMessageHandler>b__0(_vfhtY4SEVfNZbkSuZ7aMCx25gB p)
   bei Vintagestory.Client.NoObf.NetworkAPI.HandleCustomPacket(_eWn6D9wP3GwFhkhsZpBDKFOPTli packet)
   bei Vintagestory.Client.NoObf.ClientMain.ExecuteMainThreadTasks(Single deltaTime)
   bei _xWlYI0mi012s6XVbYh4qv3UnJwE._Q7eJG4PJjIdrQF6o2HEiKvpRGUG(Single )
   bei _qjy3zfvf890vO3wXpmycZO4rYmd._3t9nsC1wk33LZun7TJ6ZiUcWUXH(Single )
   bei _qjy3zfvf890vO3wXpmycZO4rYmd._O2A5G76Bx6tOsvPPuqsEcuyBD6A(Single )
   bei Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame(Object sender, FrameEventArgs e)
   bei System.EventHandler`1.Invoke(Object sender, TEventArgs e)
   bei OpenTK.GameWindow.RaiseRenderFrame(Double elapsed, Double& timestamp)
   bei OpenTK.GameWindow.DispatchRenderFrame()
   bei OpenTK.GameWindow.Run(Double updates_per_second, Double frames_per_second)
   bei _uZ6HGHKReeiiB9LfjjkLo7ZjCzJ._xV6aEHjVQGyTKdkpWWvDkiPmtZG(_HHDDpmRo3wAcwk1CwOBy6ExXq4P , String[] )
   bei _2CycPlXbvsFGFF0F3qbUypri7GzA._xV6aEHjVQGyTKdkpWWvDkiPmtZG(ThreadStart )
-------------------------------

 

Link to comment
Share on other sites

11 minutes ago, Rhonen said:

mod seems not working with VS-1.13.1 stable

 


Version: v1.13.1 (Stable)27.08.2020 17:39:10: Critical error occurred
System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.
   bei XLeveling.XLevelingClient.MessageHandler(CommandPackage package)
   bei Vintagestory.Client.NoObf.NetworkChannel.<>c__DisplayClass12_0`1.<SetMessageHandler>b__0(_vfhtY4SEVfNZbkSuZ7aMCx25gB p)
   bei Vintagestory.Client.NoObf.NetworkAPI.HandleCustomPacket(_eWn6D9wP3GwFhkhsZpBDKFOPTli packet)
   bei Vintagestory.Client.NoObf.ClientMain.ExecuteMainThreadTasks(Single deltaTime)
   bei _xWlYI0mi012s6XVbYh4qv3UnJwE._Q7eJG4PJjIdrQF6o2HEiKvpRGUG(Single )
   bei _qjy3zfvf890vO3wXpmycZO4rYmd._3t9nsC1wk33LZun7TJ6ZiUcWUXH(Single )
   bei _qjy3zfvf890vO3wXpmycZO4rYmd._O2A5G76Bx6tOsvPPuqsEcuyBD6A(Single )
   bei Vintagestory.Client.NoObf.ClientPlatformWindows.window_RenderFrame(Object sender, FrameEventArgs e)
   bei System.EventHandler`1.Invoke(Object sender, TEventArgs e)
   bei OpenTK.GameWindow.RaiseRenderFrame(Double elapsed, Double& timestamp)
   bei OpenTK.GameWindow.DispatchRenderFrame()
   bei OpenTK.GameWindow.Run(Double updates_per_second, Double frames_per_second)
   bei _uZ6HGHKReeiiB9LfjjkLo7ZjCzJ._xV6aEHjVQGyTKdkpWWvDkiPmtZG(_HHDDpmRo3wAcwk1CwOBy6ExXq4P , String[] )
   bei _2CycPlXbvsFGFF0F3qbUypri7GzA._xV6aEHjVQGyTKdkpWWvDkiPmtZG(ThreadStart )
-------------------------------

 

Hi, thank you for your report. I am currently working on a new version. This will also include some new abilities.

  • Amazing! 2
  • Thanks 1
Link to comment
Share on other sites

Hi. Finally updated for version 1.13.2. Sorry, it took so long. 

I renamed Xleveling to Xlib cause it consists now out of two parts: the old Xleveling and a new EffectsLib that allows the addition of effects to an entity like buffs and debuffs. At the moment the XSkills mod uses this to add temporal mining speed buffs that you can get by using specific new abilities.

 

I also tried some new things with the new harmony library that was added in the 1.13 VS update. This allowed me to at the new mining speed modifiers in the first place.
 

[Offtopic]
I probably will make some changes on how the effects work in the future but it should just work for now. Additionally i tried some other things with the effects like getting wet or hypothermia. And i thought about something like illnesses. But this all would be something for another mod.

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

5 hours ago, Tarquinius753 said:

Dear Xandu we are running Xleveling xskill on our sever and it works well but the composting skill doesent seem to do anything for my terra preta fields. is it possible that there is some bug? (at the moment we are on 1.13.1)

Hi Tarquinius753, thank you for your report. 

 

The ability works as intended. But the new values of the nutrients are not send to the client by the server. So it takes an other form of nutrient value change to show the effect e.g. a natural nutrients recovery step or a plant growth step. This will be fixed in the next update.

Link to comment
Share on other sites

hi Xandu

 

7.9.2020 21:37:25 [Error] [xskills] An exception was thrown when trying to start the mod:
System.FormatException: Der Index, basierend auf 0 (null), muss größer als oder gleich Null sein, und kleiner als die Größe der Argumentenliste.
   bei System.Text.StringBuilder.AppendFormatHelper(IFormatProvider provider, String format, ParamsArray args)
   bei System.String.FormatHelper(IFormatProvider provider, String format, ParamsArray args)
   bei System.String.Format(String format, Object[] args)
   bei XLeveling.XLeveling.CreateDescriptionFile()
   bei Vintagestory.Common.ModLoader.TryStartSystem(Mod mod, ModSystem system, ICoreAPI api, ModEventPhase phase)
7.9.2020 21:37:25 [Error] Failed to start system XSkills.XSkills

this error appears on client side

Link to comment
Share on other sites

On 9/7/2020 at 10:08 PM, Rhonen said:

hi Xandu

 


7.9.2020 21:37:25 [Error] [xskills] An exception was thrown when trying to start the mod:
System.FormatException: Der Index, basierend auf 0 (null), muss größer als oder gleich Null sein, und kleiner als die Größe der Argumentenliste.
   bei System.Text.StringBuilder.AppendFormatHelper(IFormatProvider provider, String format, ParamsArray args)
   bei System.String.FormatHelper(IFormatProvider provider, String format, ParamsArray args)
   bei System.String.Format(String format, Object[] args)
   bei XLeveling.XLeveling.CreateDescriptionFile()
   bei Vintagestory.Common.ModLoader.TryStartSystem(Mod mod, ModSystem system, ICoreAPI api, ModEventPhase phase)
7.9.2020 21:37:25 [Error] Failed to start system XSkills.XSkills

this error appears on client side

Hey i uploaded a patch(0.3.1) so that this error should not crash the game anymore. But I couldn't reproduce this. Have you made any changes to the translation files or something like this?

 

Additional the patch improved the effect hud. You can now switch between 3 modes: 

  • always show the hud
  • never show the hud
  • dynamic: only shows the hud if you are affected by at least one effect

You can use the always show mode to move the hud around. You can switch the modes with the 'L' key by default. You can change this key in the ingame settings.

It was also possible that a effect can glitch and become active endlessly. I don't know exactly why this happened but it should be fixed for now.

 I hope this will fix Aledarks bug report.

As mentioned previously the patch also fixes a bug with the composting ability. The nutrients value tooltip should now update on the client.

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

On 9/11/2020 at 12:47 AM, Hexedian said:

Can we look forward to a smithing skill, or other crafting skills? Something to reward all that time spent at the forge, or make crafting chain armor less tedious would be nice.

Hi, i was thinking about this, too. But it is more complicated to influence these systems. But it has become more easy with the recent update. So i will definitely look into a smithing and maybe a pottering skill. But it will take some time to implement it. I also need enough ideas for abilities to justify a skill.

Edited by Xandu
Link to comment
Share on other sites

Some ideas, then:

Finishing touch : Chance to instantly finish a smithing work. Work must be at least 80% complete. Increase probability and decrease required completion with skill level.

Recycling : Chance to drop a nugget of the ingot's metal when using Split.

Careful hit : Heavy hit will move voxels to appropriate positions, instead of just spreading them.

Master Hammerer : Can use Upset on a voxel, even when it's not on an edge.

Link to comment
Share on other sites

  • 2 weeks later...

@Xandu, I've been playing on a server with that mod (RabbitTech) And I would like to make a suggestion:

 

- Make shears on leaves count as xp for Forestry area.

- An ability that increases the chance of having crystallized ore (Crystal Seeker).

- An endgame ability around the temporal stability that makes a sound if you enter a chunk with a broken translocator (Translocator Affinity).

Edited by Zaldaryon
Link to comment
Share on other sites

Hey, i uploaded version 0.3.2 with following changes:

  • Adopted Zaldaryon idea and implement a Crystal Seeker ability.
  • It increases the effect of the ore miner ability for crystallized ores by 100%.
  • Destroying leaves now also gives a little bit of xp for the forestry skill. This is also thanks to Zaldaryon.
  • Abilities that affected leaves work now properly again. I think something was changed in the game files with 1.13 concerning leaves and i haven't noticed it until now.
  • Bountiful ores are now affected by the mining skill abilities and you can receive experience by mining them.

 

@Zaldaryonyour last idea also sounds interesting, but this one would be some more work to implement and until now i have no other idea to implement this than scanning the whole area around the player every now and than which could result in quite some load on the performance depending on how big this area should be. I will think about this idea and maybe will implement this in one way or another.

Link to comment
Share on other sites

19 hours ago, Xandu said:

Hey, i uploaded version 0.3.2 with following changes:

  • Adopted Zaldaryon idea and implement a Crystal Seeker ability.
  • It increases the effect of the ore miner ability for crystallized ores by 100%.
  • Destroying leaves now also gives a little bit of xp for the forestry skill. This is also thanks to Zaldaryon.
  • Abilities that affected leaves work now properly again. I think something was changed in the game files with 1.13 concerning leaves and i haven't noticed it until now.
  • Bountiful ores are now affected by the mining skill abilities and you can receive experience by mining them.

 

@Zaldaryonyour last idea also sounds interesting, but this one would be some more work to implement and until now i have no other idea to implement this than scanning the whole area around the player every now and than which could result in quite some load on the performance depending on how big this area should be. I will think about this idea and maybe will implement this in one way or another.

Thanks for the update and feedback!


Oh yeah, that ability would be very costly to make, performance-wise. I know you could use some of the code or mechanics @Melchior uses in Automap mod (he registers repaired translocators in metadata), or at least mimic it. You can always save the chunk info in a table or something (encrypted, imo), so you wouldn't need to run that check every time someone is in that chunk.

Something for the future, maybe, if you want to implement. :D

Link to comment
Share on other sites

Could there be an option to increase the speed of experience gain.

I think in the code this could be done by setting xp to a variable (xpMultiplier) and modifying said variable for each iteration of xp to get the base values and allowing those of us who want faster leveling to configure the xpMultiplier  variable's value.

Edited by Sean Moore
Link to comment
Share on other sites

@Zaldaryon, yes this could be a possibility. Maybe i will look into this in the future. At the moment i am more focussed on other things.

 

@Dara Phairphire, thank you for this hint. I will fix this for the next update. 

 

@Hexedian, thank you for your suggestion. Changing the bombs behaviours with abilities is a little bit more difficult. So don´t expect this for the near future. Maybe i will implement it with an later update.

 

@Sean Moore, you can already do this indirectly. You can lower the experience  you need for every skill. The configuration files should be in your C:\Users\[User]\AppData\Roaming\VintagestoryDatafolder\ModConfig\XLeveling folder or something similar. There you can change 3 values for every skill that are used for the calculation:

expBase, expMult, expValue

The skills usually use the following quadratic calculation: (expValue * (level-2) * (level-2)) + ((level-2)* expMult) + expBase

  • Like 1
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.