{"action":"created","issue":{"url":"https://api.github.com/repos/crosire/scripthookvdotnet/issues/78","labels_url":"https://api.github.com/repos/crosire/scripthookvdotnet/issues/78/labels{/name}","comments_url":"https://api.github.com/repos/crosire/scripthookvdotnet/issues/78/comments","events_url":"https://api.github.com/repos/crosire/scripthookvdotnet/issues/78/events","html_url":"https://github.com/crosire/scripthookvdotnet/issues/78","id":76912439,"number":78,"title":"Mod Menu for input serialization","user":{"login":"Neutrinobeam","id":9709790,"avatar_url":"https://avatars.githubusercontent.com/u/9709790?v=3","gravatar_id":"","url":"https://api.github.com/users/Neutrinobeam","html_url":"https://github.com/Neutrinobeam","followers_url":"https://api.github.com/users/Neutrinobeam/followers","following_url":"https://api.github.com/users/Neutrinobeam/following{/other_user}","gists_url":"https://api.github.com/users/Neutrinobeam/gists{/gist_id}","starred_url":"https://api.github.com/users/Neutrinobeam/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Neutrinobeam/subscriptions","organizations_url":"https://api.github.com/users/Neutrinobeam/orgs","repos_url":"https://api.github.com/users/Neutrinobeam/repos","events_url":"https://api.github.com/users/Neutrinobeam/events{/privacy}","received_events_url":"https://api.github.com/users/Neutrinobeam/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/crosire/scripthookvdotnet/labels/pending","name":"pending","color":"fbca04"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":7,"created_at":"2015-05-16T01:25:03Z","updated_at":"2015-07-09T21:48:12Z","closed_at":null,"body":"I've written Mod Menu, https://www.gta5-mods.com/scripts/mod-menu-no-more-hotkeys, to try to sidestep the issue of mods catching keyboard input in parallel, creating key conflicts and requiring configuration files to adjust keybinds. It may be a solved issue for coders better than I, but near as I can tell, scripthookvdotnet is subject to the same issue. Mod Menu also implements input through the game's natives, and includes a header modMenu.h that wraps and documents some natives I've found useful for the in game inputs. Please use that information however you see fit.\r\n\r\nI would love to support scripts loaded by ScriptHookVDotNet within Mod Menu and have extended my (rudimentary) implementation for such, but fear I am not a learned enough coder to be able to contribute here.\r\n\r\nCurrently, MM requires the target dll to have implemented two exports\r\n\r\nextern \"C\"{_declspec(dllexport) void __stdcall loadUI(LPCSTR empty){\r\n// Call your menu or toggle active / inactive for example\r\n}}\r\n\r\nextern \"C\"{_declspec(dllexport) LPCSTR __stdcall getModName(LPCSTR empty){\r\n\treturn \"Mod Name\";\r\n}}\r\n\r\nFor the purposes of ScriptHookVDotNet the \"empty\" parameters would contain the filename of the targeted script with .cs or .vb extension.\r\n\r\nIt may be inappropriate or fundamentally in conflict with the design of managed ticks and keyboard events, but I'd love to see them work together."},"comment":{"url":"https://api.github.com/repos/crosire/scripthookvdotnet/issues/comments/120153949","html_url":"https://github.com/crosire/scripthookvdotnet/issues/78#issuecomment-120153949","issue_url":"https://api.github.com/repos/crosire/scripthookvdotnet/issues/78","id":120153949,"user":{"login":"JohnnyCrazy","id":3109892,"avatar_url":"https://avatars.githubusercontent.com/u/3109892?v=3","gravatar_id":"","url":"https://api.github.com/users/JohnnyCrazy","html_url":"https://github.com/JohnnyCrazy","followers_url":"https://api.github.com/users/JohnnyCrazy/followers","following_url":"https://api.github.com/users/JohnnyCrazy/following{/other_user}","gists_url":"https://api.github.com/users/JohnnyCrazy/gists{/gist_id}","starred_url":"https://api.github.com/users/JohnnyCrazy/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/JohnnyCrazy/subscriptions","organizations_url":"https://api.github.com/users/JohnnyCrazy/orgs","repos_url":"https://api.github.com/users/JohnnyCrazy/repos","events_url":"https://api.github.com/users/JohnnyCrazy/events{/privacy}","received_events_url":"https://api.github.com/users/JohnnyCrazy/received_events","type":"User","site_admin":false},"created_at":"2015-07-09T21:48:12Z","updated_at":"2015-07-09T21:48:12Z","body":"We came to the conclusion we won't support this for various reasons. But we **may** feature something similar in the future."}}