scripthookvdotnet / scripthookvdotnet

An ASI plugin for Grand Theft Auto V, which allows running scripts written in any .NET language on the .NET Framework runtime in-game.
https://scripthookvdotnet.github.io
zlib License
1.19k stars 631 forks source link

Please remove clutter/useless warnings from console #1469

Open IPeeDaily opened 3 months ago

IPeeDaily commented 3 months ago

Do we really need warnings about SH2 in the console cluttering relevant notifications. Do you honestly think that the authors of two of the most important mods in GTA V history can be contacted and based on your warnings they will redo their scripts? I'm talking about nativeui and ifruitaddon2. Maybe Maffins will come back too?

Please make this nonsense optional instead of a solutions looking for a problem. Nobody is going to contact the authors and they aren't around. Those who upload new scripts in SHVDN2 likely don't care or are just decompiling and using code from older scripts. Those who know what they are doing will be using SHVDN 3.x and LemonUI. As for the ifruitaddon, it's definitely still relevant and arguably in the top 5 GTA V dlls.

In summary, please don't become Big Brother like Microsoft and warn us about deprecated scripts like nativeui and ifruitaddon when they still work perfectly well. I have dozens of ifruit based menus which i wrote and maintain and have no intention of giving them up. What's next? You'll warn users not to use Windows 7?

[WARNING] Found 2 script(s) resolved to the deprecated API version 2.x (ScriptHookVDotNet2.dll). The v2 API is no longer actively supported. Please report to the authors who developed some of the deprecated scripts. The list of script names: [12:50:35] [WARNING] iFruitAddon2.dll [12:50:35] [WARNING] NativeUI.dll

justalemon commented 3 months ago

Do we really need warnings about SH2 in the console cluttering relevant notifications.

Yes.

Do you honestly think that the authors of two of the most important mods in GTA V history can be contacted and based on your warnings they will redo their scripts? I'm talking about nativeui and ifruitaddon2.

I was one of the maintainers of NativeUI before it was set into maintenance mode only. As suggested by Crosire, I built my own version called LemonUI that transpiles and/or ports the original NativeUI code, so that's 1 out of 2 mods you mentioned that have been re-done for SHVDN3.

Maybe Maffins will come back too?

Menyoo does not uses SHVDN.

There has also been an updated version of Menyoo in 5mods for a while.

Those who upload new scripts in SHVDN2 likely don't care or are just decompiling and using code from older scripts.

Not an issue of the SHVDN maintainers. It's like people still trying to use Windows 7 on 2024: they are on their own.

In summary, please don't become Big Brother like Microsoft and warn us about deprecated scripts like nativeui and ifruitaddon when they still work perfectly well.

NativeUI has heavy performance issues under specific specific circunstances. It doesn't "work[s] perfectly well".

I have dozens of ifruit based menus which i wrote and maintain and have no intention of giving them up. What's next?

The way that iFruitAddon works should have not been used in the first place, so it's up to you to do it properly or just ignore the message.

You'll warn users not to use Windows 7?

You should not be using Windows 7, if you do you are on your own.

kagikn commented 3 months ago

As for deprecated warnings in the console and log file, I would say let's see how other users and script devs respond to them, especially after v3.7.0 is released. HKH191 is one who migrated to the v3 API for his scripts after we added that warning feature. I hope deprecated warnings would make few more script devs take some time to migrate or stop using library scripts that use the v2 API, which is deprecated. Maybe majority of script devs just don't know the v2 API is deprecated yet in that bug fixes will be applied especially for game version compatibilities but new features won't be added.

Do you honestly think that the authors of two of the most important mods in GTA V history can be contacted and based on your warnings they will redo their scripts? I'm talking about nativeui and ifruitaddon2.

With regard to library scripts that are intended to be used by other scripts such as NativeUI and iFruitAddon, their authors don't have to migrate to the v3 API before deprecated warnings stop showing for them. Even if they aren't available, script authors who use such libraries could still stop using them so such warnings will stop showing. I hope some library alternative to iFruitAddon2 and that is built against the v3 API will be created, so script devs can use it instead of iFruitAddon2 without seeing deprecated warning for iFruitAddon2 .

Those who upload new scripts in SHVDN2 likely don't care or are just decompiling and using code from older scripts.

If they know the v2 API is deprecated, they are responsible for choosing the v2 API instead of the v3. It disappoints me though.

You'll warn users not to use Windows 7?

Actually I'm not doing so, since SHVDN doesn't have to do it unless it works weirdly only on Windows 7 rather than it completely refusing to work or it working as in any Windows currently supported. Well, Rockstar Games Launcher has stopped supporting Windows 7 and you can't launch GTA V without some patches such as cracks, but I guess they enable the game to work without internet connection so you won't have serious security risks.

I'll keep this issue opened until v3.7.0 is released, so we can see if removing deprecated warnings from the console and log file would be worth it. Maybe I can change the message of deprecated warnings, so most people would realize warned scripts may be libraries that aren't intended to use alone and instead contact script authors who created scripts that depend on such library scripts.

IPeeDaily commented 3 months ago

@justalemon I was being sarcastic about Mafins and incredibly sarcastic about Windows 7 because he is an example of a dev who is no longer around even if Menyoo only uses SH5 and not SHVDN. I'm sorry you missed that. Same goes for Windows 7. Maybe I should have written DOS on a 1981 IBM PC? Just kidding.

My point is that users and devs and hobbyists are not the SHVDN Police. We are not going to contact devs, particularly devs who may have used SHVDN2 years ago and who are no longer around.

The ifruitaddon doesn't work for you but it works amazingly well for me. What a great library. I can use it to spawn any assets and even call up LemonUI menus. Also it doesn't require key bindings which is helpful too.

I'm sorry if you took offence to a request for the optional removal of irrelevant messages when I hit F4 to open my console. I removed the stupid messages that flash in game regarding deprecation from the ini file, would request the same option to remove it from the console because I will not contact Jedi Josh or others, even though they aren't around and would likely tell me to GFY.

Well actually, I only use my own scripts, and to make you happy I don't use SHVDN2, so I don't need these annoying messages. I still have some scripts using NativeUI and may or may not eventually migrate them to LemonUI. But for now, if it ain't broke, don't fix it.

IPeeDaily commented 3 months ago

As for deprecated warnings in the console and log file, I would say let's see how other users and script devs respond to them, especially after v3.7.0 is released. HKH191 is one who migrated to the v3 API for his scripts after we added that warning feature. I hope deprecated warnings would make few more script devs take some time to migrate or stop using library scripts that use the v2 API, which is deprecated. Maybe majority of script devs just don't know the v2 API is deprecated yet in that bug fixes will be applied especially for game version compatibilities but new features won't be added.

The real question is who cares what new devs are doing? If their scripts no longer work or no longer can be updated they will see the light and will either update them to SHVDN3 or users will stop downloading them. Most new scripts today are just updates from older scripts.

As I wrote before, the only reason I can think of for new devs using SHVDN2 is that there are many old SHVDN2 scripts and snippets and code examples that they are recycling rather than writing from scratch. Either way, scripting is pretty much dead based on the garbage you see on GTA 5 mods. However scripting is very much alive for individuals like myself or script for personal use only.

In passing, the messages that flash during load, whether yours or from other devs, are really intrusive. I personally remove any script that will flash garbage on my screen and just tolerate those from Rockstar. Thankfully you allowed users to remove those in the ini file.

So just to close again, I thank you and Lemon for your terrific work but have no intentions of becoming part of the SHVDN Police force.

kagikn commented 3 months ago

I'm sure you know this, but no one has to use any scripts including ones written in C++ if they don't want to. Even if they don't use SHVDN at all, it's their choice after all. InfamousSabre, who is a moderator of 5Mods, says he doesn't use SHVDN even when he finds something cool but that uses SHVDN, too, like this;

Then I dont use it. Same when I find something cool that uses SHVDN. I dont use SHVDN at all. ASI or nothing — InfamousSabre, 5Mods Discord, in general-modding channel, in Jury 11th, 2024 UTCURL: https://discord.com/channels/318621297057988608/318628914937200641/1261090436324265984

I believe Sollumz is a great case where some motivated people could create an alternative solution to older and not very good solutions, which is ZModeler3 in this case. Well, Sollumz started to improve way faster after alexguirre practically became the project lead (because, like he knows how the game works so well) and CodeWalker community hates ZM3 so much even before he took the project wheel. But still, how Sollumz gets improved would suggest some motivated people could create their solutions on their owns when they think existing solutions too bad.

I understand that you are not thinking of asking authors who use the v2 API to migrate, but it would be great if you could realize there might be some other users who are willing to ask them to migrate. Or maybe some script devs will create scripts alternative to existing scripts built against the v2 API or that is not too good for them in like too opinionated or too performance heavy. Someone else might have a different opinion on deprecated scripts than yours.

By the way, if you don't mind doing a bit of extra work, you could clear the console of what console has printed by typing Clear() or pressing the key combination Ctrl + L while it's open. You'll have to do either of them every time you want to clear, though. SHVDN doesn't provide a way to supress deprecated warnings in the log file for now, either.

IPeeDaily commented 3 months ago

I'm sure you know this, but no one has to use any scripts including ones written in C++ if they don't want to. Even if they don't use SHVDN at all, it's their choice after all. InfamousSabre, who is a moderator of 5Mods, says he doesn't use SHVDN even when he finds something cool but that uses SHVDN, too, like this;

Then I dont use it. Same when I find something cool that uses SHVDN. I dont use SHVDN at all. ASI or nothing — InfamousSabre, 5Mods Discord, in general-modding channel, in Jury 11th, 2024 UTC

5Mods. The most toxic GTA V community? I do exactly the opposite of this moderator. For safety reasons I don't use any ASI scripts because I don't have the skills necessary to decompile them. Only exceptions are the essential ones (Open 4, Menyoo, SHVDN, Heap, etc) and your own bypass against RGL (I revert to 2372 for most of the time). Actually, I don't use 3rd party scripts either, but I do decompile them to learn.

Most noobs and even the mods on 5Mods don't understand that malicious code can't always be detected by an AV - so I stay away from ASIs. Or if they do get a virus warning, they just brush it off as a false positive. Ive seen this stupidity on 5Mods countless times. Sure there are false positives, but you verify rather than just dismiss it. I remember someone even created a fake SHVDN on Github.

I understand that you are not thinking of asking authors who use the v2 API to migrate, but it would be great if you could realize there might be some other users who are willing to ask them to migrate. Or maybe some script devs will create scripts alternative to existing scripts built against the v2 API or that is not too good for them in like too opinionated or too performance heavy. Someone else might have a different opinion on deprecated scripts than yours.

The issue here is not about contacting authors, it's about authors who are no longer active. Yes there is a fork for the ifruitaddon but the original Bob is no longer around. Same with NativeUI, it is no longer supported but is still valid.

By the way, if you don't mind doing a bit of extra work, you could clear the console of what console has printed by typing Clear() or pressing the key combination Ctrl + L while it's open. You'll have to do either of them every time you want to clear, though. SHVDN doesn't provide a way to supress deprecated warnings in the log file for now, either.

Ofc I know how to use Clear() and other console commands. It's not a major issue but when I do look at the console I'd like to see it without Warnings that aren't relevant. As for the log file, I really don't care about it because 99% of errors will be exception handling errors without further details. VS gives me 95% of errors at compilation. The 5% others are logic errors or because assets aren't installed as an example.

I think you're also ignoring or neglecting something very basic here. I guarantee you that all the devs, without exception, who are writing scripts using SHVDN2 are aware that SHVDN3 is the Updated version. Whatever their reasons for deciding not to use SHVDN3, they are fully cognizant of the fact that V2 is deprecated and it is highly unlikely they will take advice from myself or even yourself.

I remember a 5Mods comment on an HKH script from one of the Forum regulars, asking him why he was still writing in SHVDN2 and his response was basically to mind your own business. You, yourself, then commented that indeed he should move to SHVDN3. That's when he agreed to migrate, not before.

IPeeDaily commented 3 months ago

Here is an example of a newcomer writing scripts and encouraging users to install "ScriptHookV2", causing confusion amongst noobs with SH5 vs SHVDN, and using deprecated V2. You think this guy doesn't realize he's using V2 instead of V3? Warn him yourself, I don't post on that site, and hopefully he'll agree with you. I'm sure he saw the warnings when he tested his script.

https://www.gta5-mods.com/scripts/usable-roller-blades-and-ice-skates#description_tab

kagikn commented 3 months ago

Wasn't aware before but asked the newcomer what made him choose the v2 API instead of the v3, in another mod page. https://www.gta5-mods.com/scripts/spawn-landing-helicopter-in-the-sky#comments_tab His scripts are built against 2.11.6.0, which comes from the archive of v3.6.0, that made me I think the decision is probably not about compatibility issues.

IPeeDaily commented 3 months ago

Wasn't aware before but asked the newcomer what made him choose the v2 API instead of the v3, in another mod page. https://www.gta5-mods.com/scripts/spawn-landing-helicopter-in-the-sky#comments_tab His scripts are built against 2.11.6.0, which comes from the archive of v3.6.0, that made me I think the decision is probably not about compatibility issues.

I just decompiled his helicopter code and it's actually sad he didn't make the effort. Aside from quick search and replace to bring his UI.Showsubtitle references to SHVDN 3 and one or two native functions (eg. SET_VEHICLE_LANDING_GEAR instead of CONTROL_LANDING_GEAR) this shouldn't take more than 15 minutes to convert from 2 to 3. I don't see any compatibility issues do you?

IPeeDaily commented 3 months ago

I just realized, looking at his decompiled code, another reason devs might be hesitant to switch to V3. It could be because they are too lazy to update deprecated native functions such as SET_VEHICLE_LANDING_GEAR .

But this is way off topic. Original request was simply to make these warnings optional, as they are in the ini file, for the console. Once more I don't care about the log file. Take good care.

AliciaWindsor commented 3 months ago

I have to agree with the OP (or IP lol). The dev community may have 1,000 active members, or more, but the broader user community must have 100,000,000 users. The devs are aware that V2 is deprecated, they will ignore the warning.

The users however don't know what deprecated means. They think it means depreciation . If they are smart enough to open the console (or figure out .log files can be opened as text) they will see a warning, panic, and remove all offending scripts out of fear of damaging their precious modded games. So, all in all, I agree. Remove warnings that nobody cares about.

nomakewan commented 3 months ago

Hard disagree with OP, and shocked this "issue" is still open.

kagikn commented 3 months ago

I keep this open only because I'm not sure much if few number of users would suggest script authors who use the v2 API upgrade and one of script devs think they should migrate their scripts to v3 by seeing users complaining about the warning message. But without a detailed upgrade guide and a large number of users who use SHVDN versions where the deprecated script warning system exist, I don't think I can guess accurately enough why some active script devs don't bother to migrate or some novice ones would end up using the v2 API. I don't think I can guess how many people are there who don't bother to search for scripts that are built against the v3 API and that don't depend on any library scripts built against the v2 API without them, either.

IPeeDaily commented 3 months ago

@[nomakewan] Obviously this "feature" is dear to your heart since you're adamant about keeping it. Just curious, how many developers still using SVHDN 2 have you contacted and what was their response. When you warned veteran devs like JediJosh, what was his response?????.

What about the other 5,000 SHVDN 2 scripts out there. Did you warn all of them?. Get my point? What is the purpose of warnings when they will be ignored or it will be "return to sender". Again, I could be wrong, perhaps you are actually out there sending emails and DMs etc to all these criminals who are too stupid or lazy or ignorant to migrate their scripts from 2016. So, who gives AF if something deprecated works fine like the ifruitaddon or nativeui.dll? You, obviously.

On one final note. I keep the exe's for all R updates but 99% of the time I'm on the deprecated/outdated 2372 version. Strangely enough I'm one of the few modders who never has any issues modding the game. Should I update and let R break the game? I don't think so.

@kagikn Just to clarify the OP position, this was a request which can be taken or dismissed. I'm just passing on a personal and subjective opinion. I only use my own scripts so I have nobody to warn since I'm 100% SHVDN 3. I prefer a clean console, without irrelevant errors or warnings, but again, no big deal, and greatly appreciate SHVDN allowing hobbyists like myself (and programmers) to write in C#. Just in passing, I still use native functions most of the time, but that's just me.

nomakewan commented 3 months ago

@IPeeDaily I'm a script developer. If my scripts had some sort of issue, I would want people to contact me about it.

Thanks for playing, though! EDIT: And in case it wasn't clear, I'm also not a fan of your attitude throughout this "issue". There are ways to ask a dev for changes, and then there's just being a dick. Your attitude is distinctly on the latter end of the scale.

IPeeDaily commented 3 months ago

Well, if you had actually read my OP you would have noticed i highlighted ifruitaddon and nativeui, neither of which is active or maintained. Consequently a notification of deprecation would not have been of any use. If you worked for a AAA gaming studio or a major I.T. consulting firm, you would indeed have been notified...but you're a "script dev".

Your first comment was implicitly insulting - no arguments given, just dismissal of the posting - not a exactly cogent or intelligent response.

Your second comment, calling me a dick, was an explicit insult - no comment on my part.

If you don't want feedback, don't offer the forum for it.

Next time, well there won't be a next time thankfully for all of us, I'll let someone else write my message, like this:

"Hey there, I wanted to talk to you about the warning message in your software. I really appreciate all the hard work you've put into creating this tool, and I'm grateful for its existence.

I've noticed that this particular warning doesn't seem to serve any purpose, as it doesn't provide any actionable information or help users understand what's going on. It's causing me to pause and question whether I should proceed.

Would it be possible to remove this warning or replace it with a more informative message that helps users understand what's happening? This would make the software more user-friendly and efficient.

I understand that you might have included this warning for a reason, but I think it's worth considering whether it's truly necessary. Your feedback is valuable, and I appreciate your dedication to creating high-quality tools."