-
Posts
43 -
Joined
-
Last visited
-
Days Won
1
Content Type
Profiles
Forums
Downloads
Everything posted by Lathander
-
Thanks for the color panda, that is very helpful and I appreciate your thoughtful reply. It was a little difficult for me to articulate the way to reproduce the issue, as I only discovered it because I was using the npc target logic to determine a target for a (pet)player-owned-instance of an npc. It was only by using this pet npc, and seeing that it was still casting spells into blank spaces that I realized.. oh you still have an active target on an entity I thought was dead/disposed... This raises a question for you, and perhaps for a future consideration.. but instead of disposing the entity after it is marked as dead, couldn't it be marked for respawn, instead of the respawning process creating an entirely new entity? That way, it wouldn't create garbage collection. Just teleport the entity to the spawn location once respawn timer is up, reset stats, and begin the process a new. Obviously this wouldn't work for event created npcs, but it would work for ones that are loaded to the map as spawns.
-
Glad to see my inquiry led to a fix, still in the dark about garbage collection, but based on googling guessing its .net GC. Wondering if it has been optimized for the server at all.
-
Yes there are modifications, many. I'm certain I could reproduce it on the stock intersect build. The dead npc is in fact removed from the entity list on the map as that has remained unchanged. The death code just checks isDead and returns. All entities pass through this logic for death and dispose. The only reason I discovered that the script was simply marked as disposed is because during npc movement logic for some reason the npc never clears its target, or tempTarget, I forget which. My modifications to the npc code simply allowed me to see that the npc object was still active in memory (as it was still targeted by another npc) only disposed. I am guessing there is a garbage collector that clears the disposed objects, but I just wanted to know for certain if anyone could shed light on that. The problem is not that my modifications allowed me to see it, it is more so me wanting to understand the memory allocation / disposal mechanics. But to answer your questions. No in this matter it is not a bug, and no, the death logic completed fully. Appreciate the reply otherwise
-
Hopefully this is a quick question. While working on some NPC logic, I noticed that entities (npcs) once dead are marked as dead and disposed but do not get wiped from memory.. am I seeing this wrong? I had a npc hell bent on killing an invisible entity that was already dead, and looks to be that the dead logic was still running after doing a console print check. If that is the case, how long do those objects remain around? Is there a garbage collector or some script somewhere that cleans up dead / disposed entities on the server, or am I missing something? Thanks.
-
So, it might not be as obvious with the default intersect cursor. That said, those things stick out to me. Here's before and after. The reason Math.Ceiling works, is because if your graphics are divisible by 2, I am assuming it is attempting to chose one of the two center pixels to place the cursor, and that changes because it isn't a central pixel. By using Math.Ceiling it chooses the higher of the two pixels.
-
If anyone else is as annoyed at the wobbly cursor as I was.. you can fix it inside Client Entity.cs by adding Math.Ceiling to destRectangle.X = (int)Math.Ceiling(GetCenterPos().X) destRectangle.Y = (int)Math.Ceiling(GetCenterPos().Y) under the DrawTarget function. I'd submit a fix for bugs but I am not at my normal computer and I do not have access for a while. Damn that wobbly cursor drove me nuts, surprised I took this long to finally fix it.
-
I ended up moving my install from Linux to a Windows hosted server with AWS. There was something fishy going on with mono, causing crashes (I was on Ubuntu, digitalocean). And the error report was not at all useful to me. Maybe the team would want to address it, and I am happy to share my error file as well, but after switching I haven't had any issues.
-
I am not getting line numbers reporting while running the server on a linux machine. Stack: at Intersect.Server.Core.ServerConsole.ThreadStart () [0x002da] in <6726b5c1129f4435b7ae0d82b74adc8f>:0 Anyone know how to get lines back in there?
-
Hey Joyce-- Noticed a small blip with this code. My partner has been doing some heavy spell development and I realized this tag system would be just what we needed. We added archer abilities that require you have bow equipped, and instead of listing every bow in the game, decided to use tags to check for item tagged as bow. Amazing system for sure, huge thank you to both you and Shenmue! I noticed however, that when you use the command "Change Items By Tag" that there is no passing of the current saved value for the command to the editor. This can cause an issue when first adding the command, because the user believes they are adding a give command, when really it actually defaults to take, but doesn't show that in the window. It also doesn't present the correct value when opening to edit the command. Under the function EventCommandChangeItemsBytag I just added: cmbAction.SelectedIndex = Convert.ToInt32(!mMyCommand.Add); The second thing to note is that this defaults to a false value which would be the take action. So I set: public bool Add { get; set; } = true; in the ChangeItemsByTag : EventCommand That way, it defaults to the give action when first making a command to match the combolist. Figured I'd just throw this in here for anyone working with this system.
-
Can someone explain the .resx file value for conflicts
Lathander replied to Lathander's question in Development Questions
I'm guessing even if someone goes into the forms and moves one control two pixels that it creates conflicts. The changes were inside the frmClass.resx. Basically I deleted the changes and kept my version, there weren't any other conflicts that came up that I couldn't manage. I am guessing that I could be missing out on added fields or additional controls when updates add those to forms I have already modified. I am thinking the best course of action would be for me to build out the changes on a fresh master and look at what seems different from that editor to my version, and manually add those controls if I want/need them. But I could be wrong.. -
Can someone explain the .resx file value for conflicts
Lathander posted a question in Development Questions
Recently had a major conflict with some .resx files that were in recent updates. I've made some changes to editors and I'm wondering what the hell this gobbly-gook is, and if I can keep my block and toss out the merged in junk. Example Below. -
I'll just start with my coding experience is not the greatest, and I've tried to skim over what is going on with the multi-line textbox for entry, however I can't find where it is going wrong. The Gwen framework inside intersect has been highly modified (and looks to have been improved) however it doesn't look like the multi-line textbox was given any love. I was able to add it to Json (threw in the sound fields too, but didn't connect them) so that it can be manipulated in the gui config files, but after being 50% done with coding a mailbox option, come to find out that the textbox does not recognize returns/line breaks and does not wrap words. I know that the label doesn't also do line breaks, but the RichLabel does. RichLabel has very different line breaking code from what the multi-textbox has. Additionally, I found a different version of Gwen, in which the multi-line textbox was handled very differently: Instead of going off Label as a base it goes off scrollcontrol? https://github.com/Yeyti/Gwen.CS/blob/Net-Core/GwenNet/Control/MultilineTextBox.cs I am going to throw the multiline textbox code that I modified here, but I hope someone can shed some light and help get this working. Can't do a mailbox with single-line typing. Any wisdom and assistance is highly appreciated. Adding Gif for good measure: Notice the return puts cursor on next like but text remains on first line with no break...
-
I had some weird stuff going on with NuGet packages and github at the beginning and ended up having to restart my computer for it to work. Not sure if it has any association with this issue, but hey -shrug-
-
Thanks for the reply JC, before I packed up my work for the night I remember seeing that line with a comment in the code and I did a search and found it. I tinkered a little a noticed a pretty decent result from it, I appreciate the direction! Do you feel like the movement code, especially passing between maps and smooth and clean enough to give great results or is there still optimization to be done there? Just curious because the mapping system and concept of managing the map connections was a really cool design. I recall reading a thread where everyone talked about not making the maps any larger because it will reduce the effectiveness of the system and how it works. I didn't really see anyone explain it in detail.
-
So this is the first time I am loading the server to a host for management by a team. Previously I haven't seen any jumpy behavior, but now it appears that once and a while the player will jump/lag on movement. This can either be in the middle of a map or at a map boundary. I was hosting with DigitalOcean, but also attempted to load up to amazon AWS to see if it was DigitalOcean and latency, however it appears to be happening on AWS as well. Is there a setting I missed for latency threshold with player movement? Everything else operates excellent with no lag, only movement is jumping. It isn't often, but it occurs enough to be quite noticable.
-
Hey all-- Hopefully someone can give me some insight on what is going on here. I have a system programmed that sends data from player (on server) to the player (on client) via an event occurrence. When I update the data sending from server to client with adding new data (adding a record to a dictionary on the player), the data is revealed instantly and becomes immediately available for me to see in a status window. However, when I delete a record, it takes a while for that update (almost seems as if it were a database save cycle time?). Or if I enter warp the update occurs immediately. Any clue as to where I need to point my attention to get this delete to update immediately? Thanks!
-
Story Today I did this on my project...
Lathander replied to SkywardRiver's topic in Design & Creativity
Love the slimes with sword and arrow stuck in them, so damn cute! -
Well, more or less a start. If your graphics are a different size or need adjustment you'll need to edit the .json files. resources\gui\layouts\game There are some starting tutorials on the forums here, search for gui and it walks you through the most common questions.
-
Great job on the Paperdoll pack! They look so awesome! LordFitoi does some amazing work! I commissioned him for a set of weapons (staves, swords, daggers, etc) and the results were exactly what I needed! Always make sure you have a good concept in mind to communicate to an artist if you want them to produce something for you, and be capable of paying fair price--but I couldn't have been happier with the results!
-
I'm hoping that we could do something like a combo box before going down the route of having 8 giant buttons. A combo box that has been stretched open to allow multiple selections, and a scroll bar would be ideal. I haven't yet looked at the code for how this would function within the event editor, or even if it is possible.. but allowing it to be generated based on how many "select" options are just placed into the combobox would be the goal.
-
Untested [$30] Kash Shop - Item Stack Limits
Lathander replied to Beefy Kasplant's topic in Source Modifications
Haha yes! Well I mean I'd want both features together for sure. Limit wool to stacking to 25 per stack, but max limit of 200, so a player has to go back to store their loads of wool in the bank, then go back out and sheer some more sheep. Would love that! -
Untested [$30] Kash Shop - Item Stack Limits
Lathander replied to Beefy Kasplant's topic in Source Modifications
Did you consider marrying a set item limit feature to this? I think that would be a deal breaker for me. For example it would be nice to limit the player to carrying only 10 potions at a time, that way combat can be planned around player skill, rather than their bank account and carrying 5000 potions. -
Untested Character hair customization (+ basics for expansion)
Lathander replied to Cheshire's topic in Source Modifications
I can confirm that Joyce's code is very easy to extend for the additional features that people are asking for. I was extremely happy with the forethought that went into this system and have to commend how well it was done. For example, I added an emotions extension that allows me to display an animated emote underneath the hair layer. I just added a library copying over what methods were used for hair, added the value to the array that was already built for customspritelayer and produced a few extra packets and draw criteria, and before you know it, good to go. If you don't yet understand the level of modification needed to reach the goal of what you want with this system, I urge you to try out other things within the source in small increments until you learn enough. Going through it yourself will not only allow you to learn and understand the source, but will free up developers to continue to do their work. Tutorials are nice to an extent, but sometimes you have to learn through trial and error, and maybe watch some generalized tutorials on C# and build something simple on a separate branch. It's all about the experimentation and learning. -
Why the character creation tab does not work
Lathander replied to Rales99's question in Questions & Answers
I'm just guessing, but you might only have it set to one character per account. Have to change # of characters per account. Again, just a guess. -
Untested Character hair customization (+ basics for expansion)
Lathander replied to Cheshire's topic in Source Modifications
Yeah, its weird to say the least. I also think I noticed (maybe I am wrong) but the character executes an update and also the map executes an update on the same exact principal? Which to me, didn't make sense but I guess I didn't really check if they were one way directions of data updates (like exiting player on arrival to all clients, and map only to arriving character?) I didn't really scrub that hard because I became frustrated after 5 hours of thinking my code was wonky and rewriting it over and over. -frustration- lol
