Jump to content

Search the Community

Showing results for tags 'csharp'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Categories

  • Buildings
  • Characters
  • Maps
  • Mods
  • Scripts
  • Skins and Textures
  • Vehicles
  • Weapons
  • Servers
  • Miscellaneous

Categories

  • Renegade Maps

Categories

  • Records

Forums

  • Welcome to MultiPlayerForums.com
    • Community News
    • Introductions
    • Discussions
    • Media
  • Technical Support
    • General Support
    • Community Reports
    • Dispute a Ban or Mute
  • Games
    • Games Discussion
    • C&C Renegade
    • C&C Renegade-X
    • Minecraft
    • Other Command and Conquer
  • RenHelp.net Read-Only Archives
    • Buildings
    • Characters
    • Maps
    • Mods
    • Scripts
    • Skins And Textures
    • Vehicles
    • Weapons
    • Dedicated Servers
    • Miscellaneous
  • C&C Renegade Mutant Co-Op's Discussions
  • C&C Renegade Mutant Co-Op's News
  • Tiberium Crystal War's Help
  • Tiberium Crystal War's News
  • Tiberium Crystal War's Discussions
  • BlackEagle CTF's Topics
  • BlackEagle CTF's Moderator Application
  • BlackEagle CTF's Bugs & Requests
  • Tips & Tricks To Renegade's TIPS AND TRICKS
  • Kambot NewMaps's Applications
  • Kambot NewMaps's Server Updates & News
  • Kambot NewMaps's Discussions
  • DMR Troopers's Main Forum

Categories

  • Age of Empires
    • Age of Empires 2 HD
    • Age of Empires 3
  • C&C: Renegade
    • Maps
    • Maps by MPF
    • Mappacks
    • Skins & Textures
    • Crates
    • Mapping
    • Updates
    • Server
    • Utilities
    • Westwood
    • Other
  • Other C&C
    • C&C: Generals & Zero Hour
    • C&C: Imperial Age
    • C&C: Red Alert
    • C&C: Red Alert 2 - Yuris Revenge
    • C&C: Red Alert 3
    • C&C 3: Tiberium Wars
    • C&C: Renegade-X
    • C&C: Tiberian Dawn (95)
    • C&C: Tiberian Sun
    • C&C: Tiberium Crystal War
    • C&C: 4
    • C&C: Ultimate Collection
    • C&C: The First Decade
  • Counter Strike Global Offensive
    • CS - Hostage Rescue Maps
    • DE - Bomb Defusal Maps
    • FY - Fight Yard Maps
  • Killing Floor
    • Maps
    • Server Side
  • Unreal Tournament 3
  • Unreal Tournament 4
    • CTF Maps
    • DM Maps
    • Mutators
    • Servers
  • Tiberium Crystal War's Downloads

Calendars

  • Community Calendar
  • Tiberium Crystal War's Events
  • DMR Troopers's Events

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Twitter Name


MySpace Name


Steam Name


Location


Interests


Games played


Clan or guild


Games played test


In-game name


Contributor


Donator


In-game name

Found 2 results

  1. Version 1.5

    77 downloads

    Are you struggling with your everyday development in C++? Do you suck with memory management or just the general hassle to get third party libraries for your custom Dragonade plugin? Well, no more! Introducing RenSharp for Dragonade This framework I created lets you make plugins for your FDS in .NET 4.7.2. You're probably wondering: will this need a heavily modified scripts.dll? I hear you and that's why I made sure it is bootstrapped by a regular Dragonade plugin. "Are there any other limitations?", is probably your next question. Very few, here they are: - You can only create custom classes (i.e. specialization of classes) for the classes I made support for. However the reach of this support is the same as you'd use in any normal Dragonade plugin (event classes, console functions, player observer, object observer, etc). - I only made support for the template classes that are used throughout scripts.dll. Any customizations on this are not supported. - Even though I added in some more safety nets to check for nulls etc. You can still fuck this up and make it crash horribly. Although the checks in place will also throw a managed exception and if not catched and handled will gracefully shutdown the FDS. - Some design choices removed some support. For example there is no 'const' concept. But these choices shouldn't really limit your imagination. - That's about it of what I can come up with on top of my head right now. With any plugin interface there are a few 'gotchas' and for RenSharp those are: - Inheritance is pretty much the same as you would in Dragonade. Except static initialization (using macros to register stuff) will not work in C#. Further explanation how this is handled is discussed in the example plugin. - All managed classes are basically handles to their C++ variants. You can bind the C++ pointer using the appropiate constructor which takes an IntPtr as an argument. These handle classes are not inheriting from IDisposable and assume they are not in charge of cleaning up that handle. If one of these handle classes is wrapped around an IUmanagedContainer<T> class that means that you MUST dispose them when you're done with them. As these containers indicate that you are indeed in charge of cleanup. - If you pass ownership of an unmanaged pointer to the C++ side (which does the memory management) you should make sure to release the pointer on the managed side. To make sure the garbage collector never disposes it. Likewise, when you keep ownership on the managed side, you should keep a reference to the object for as long as you want to keep it alive. - Don't call any methods or use properties of which you don't really know what they do. You can screw it up. Otherwise, if you consider yourself well versed in this stuff, go right ahead. - Any more gotchas or usage are pretty much discussed in the example plugin. How to get started? The only config this adds to da.ini is 'RenSharpPlugins'. You name managed plugin .dlls the same way as you would under 'Plugins'. To start RenSharp you also need to add 'da_RenSharp.dll' under 'Plugins'. Preferably on position 1. But that is up to you. Then follow one of the instructions below: The quickest way to get started is to just use any Visual Studio version that can handle .NET 4.7.2. (for VS2019 you can just use the Visual Studio Installer to install .NET 4.7.2.). Create a new .NET 4.7.2. C# class library and search for the NuGet package 'Neijwiert.RenSharp' (right-mouse click on your project and click Manage NuGet Packages...) and click Install. All Renegade stuff is placed under the RenSharp namespace. When the NuGet package is installed it shows a readme.txt on how to properly set your target platform. You then have to place YourPlugin.dll, da_RenSharp.dll, ManagedRenSharp.dll and ManagedScripts.dll in your FDS folder. You can find these .dlls in 'YourPlugin\packages\Neijwiert.RenSharp.1.0.0\content' and 'YourPlugin\packages\Neijwiert.RenSharp.1.0.0\lib'. The slow way is to compile it yourself. You can download the ZIP file with the source, or from GitHub. Compilation requires you to have C++/CLI build tools installed (use Visual Studio Installer) and .NET 4.7.2. (also use Visual Studio Installer). You can use a newer Visual Studio version as long as you have Visual Studio 2012 installed on your computer, with latest updates (whenever it prompts you to update the projects when you open the solution, you need to hit cancel). For the C++ stuff you need the same requirements as you would when you build Dragonade. Then you can just add a .NET 4.7.2. class library project and add a reference to 'ManagedScripts'. Make sure you configurate the class library to build as x86. Then you're ready to build and use everything. I pretty much made all this without drawing out a plan. I made some design mistakes and I also couldn't test everything due to the size of it. If you find anything broken/not working or stupidly designed message met and I see if I can get it fixed. This also applies for new feature requests. The best way to approach me would be via GitHub probably or a PM here. This cost me a lot of time and effort to make and I hope you guys are going to enjoy it and hopefully open up modding to some more less experienced coders. Everything is licensed under the Apache 2.0 license, which means you can do everything, but you must mention my name and include a copy of the license. I'm wide open to responses to this negative and positive, feel free to reply to this post. GitHub: https://github.com/Neijwiert/RenSharp NuGet: https://www.nuget.org/packages/Neijwiert.RenSharp
  2. Version 1.1

    51 downloads

    Basic Renegade GSA API made by C# Language. Originally by Iran (if I don't remember wrong), but modified. Have 4 functions; GetAllRenServersIPByGSA() - Returns IPEndPoint[] : Gets all servers IP GetGSData(IPEndPoint server) - Returns Dictionary<string, string> : Gets server data by server IP. Here's a basic code for lazy. //Shorter version Dictionary<string, string> mpf_server_data = new Dictionary<string, string>(); IPEndPoint mpf_ip = new IPEndPoint(); foreach(IPEndPoint ip in GetAllRenServersIPByGSA()) { if(GetGSData(ip)["hostname"].Contains("MPF")) { mpf_server_data = GetGSData(ip); mpf_ip = ip; } } You can get all servers data with this code too. If you want shorter way, here's a basic code. Dictionary<string, string> mpf_server_data = GetServerDataByKeyValue("hostname", "MPF"); It returns the same mpf_server_data value as the top. For the IP, you can write this code. IPEndPoint mpf_ip = GetServerIPByKeyValue("hostname", "MPF"); It also returns the same mpf_ip value as the top. Comment bugs, glitches and ideas about new functions.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.