Jump to content

Neijwiert

Members
  • Posts

    139
  • Joined

  • Last visited

  • Days Won

    11
  • Donations

    0.00 USD 

Neijwiert last won the day on September 5 2020

Neijwiert had the most liked content!

About Neijwiert

  • Birthday 06/06/1994

Contact Methods

  • AIM
    use IRC
  • MSN
    use IRC
  • Website URL
    http://use IRC
  • ICQ
    use IRC
  • Yahoo
    use IRC
  • Jabber
    use IRC
  • Skype
    use IRC

Profile Information

  • Gender
    Male
  • Location
    Netherlands
  • Interests
    Coding

Gaming Profile

  • Games played
    Renegade / W3d
  • Games played test
    game1

Recent Profile Visitors

3625 profile views

Neijwiert's Achievements

Newbie

Newbie (1/14)

135

Reputation

  1. Version 1.0

    55 downloads

    Requires RenSharp v1.3 This plugin will embed a TTFS server inside your Renegade FDS. Pretty much the only thing you need to do is add the .DLL to your FDS and the config file. This plugin does NOT require administrator privileges, however for it to work for external people you would probably need to forward the specified port in your router/network. You may set other settings in the config file, but the only settings required in the config file are the port and the external IP checking websites. All others can have defaults and are probably better than what you would configure them to. PackageServer.ini: ; This settings file is for the Package Server [General] ; IPFetchSecondsInterval defines the interval in seconds when to check for the external IP of the Server ; Default is 5 ;IPFetchSecondsInterval = 5 ; TTFSPath override the TTFS path where the package server gets its packages from ; Default is 'Engine.AppDataPath/ttfs' ;TTFSPath = MyPath ; MaxClientConnections specifies the max clients can connect from a single IP address ; <= 0 means no limit, this is discouraged ; Default is 10 ;MaxClientConnections = 10 ; ClientTimeout specifies how long a client may take to download everything in whole minutes ; <= 0 means no limit, this is discouraged ; Default is 60 ;ClientTimeout = 60 ; LocalIPAddress specifies the local IP to bind the package server to ; Default is any network interface ;LocalIPAddress = 192.168.0.1 ; Port specifies the local port to bind the package server to ; There is no default, this must be defined Port = 23445 ; This section is dedicated to the servers that will provide the 'raw' extneral IP address ; These servers MUST return an IPv4 address, since the Renegade client can't handle IPv6 [IPFetchURLs] 0=http://ipv4.icanhazip.com/ 1=http://ipv4bot.whatismyipaddress.com
  2. Version 1.0

    16 downloads

    Add this plugin to your RenSharp enabled server and it will enable you to put funding (credits) towards restoring dead buildings. For functionality, see the INI spoiler below. To enable: Add the DLL and INI file to your server directory. RenSharpBuildingRestoreFunding.ini: ; This plugin adds the following chat commands: ; - !fund <acronym> [<amount>] ; Funds a building <amount> credits with <acronym>. If <amount> is not specified it takes all the player's money. ; - !totalfund <acronym> ; Outputs the current total funds for a given building with <acronym>. Also displays how many credits you have put towards the funding ; - !refund [<acronym>] ; Refunds your credits that have been put towards building with <acronym>. If no <acronym> is specified it will refund funds on all dead buildings ; Global settings for the plugin ; All these global settings can be overridden on a per-map basis [RenSharpBuildingRestoreFunding] ; BRFEnabled ; Boolean value to specify if building funding is enabled. BRFEnabled = 1 ; BRFScaleWithPlayerCount ; Boolean value to specify if the cost of the building restore should go up based on the team's player count ; It uses the following formula: BRFRestoreCost * team player count * BRFScale BRFScaleWithPlayerCount = 1 ; BRFScale ; Float value for the scale to multiply the team player count by BRFScale = 1.0 ; BRFMaxRestoreCount ; Integer value to specify the maximum restore count for buildings, this is the default if none is specified for that particular building ; Declare a value < 0 for infinite restores BRFMaxRestoreCount = 2 ; BRFRestoreCost ; Integer value to specify the base restore costs for restoring a building. When BRFEnabled is enabled it uses the formula declared above. ; When disabled the absolute costs for the building is the same as BRFRestoreCost BRFRestoreCost = 2000 ; BRFAllowRefund ; Boolean value to allow refunds on funding of dead buildings BRFAllowRefund = 1 ; Example per map basis settings for the map C&C_Field.mix [C&C_Field.mix_RenSharpBuildingRestoreFunding] ; All below settings do the same as in the global settings, but they are only applied to the building presets that correspond with the acronym 'agt' ; The acroynms per building presets are declared below BRFMaxRestoreCount_agt = 1 BRFRestoreCost_agt = 1500 BRFScaleWithPlayerCount_agt = 1 BRFScale_agt = 0.9 ; Declare your building presets -> acronyms mappings ; Separate them by a '|'. Building preset names are case-sensitive. Acronym's are not. [RenSharpBuildingRestoreFundingDefs] SP_Comm_Center_Nod|mp_GDI_Com_Center|mp_Nod_Com_Center = com|comm|commcenter|comcenter|communicationcenter SP_Hand_Of_Nod_Nod|mp_Hand_of_Nod = hon|hand|handofnod Tut_Infantry_Barracks_GDI|mp_GDI_Barracks = bar|barracks|infantrybarracks|inf SP_Refinery_Nod|Tut_Tiberium_Refinery_GDI|Test_nod_refinery|mp_GDI_Refinery|mp_N od_Refinery = ref|refinery|refine SP_Power_Plant_Nod|SP_Power_Plant_GDI|Tut_Power_Plant_GDI|mp_GDI_Power_Plant|mp_ Nod_Power_Plant = pp|powerplant|power|plant SP_Con_Yard_GDI|SP_Con_Yard_Nod = cyard|conyard|constructionyard|cy SP_Obelisk_Nod|mp_Nod_Obelisk = ob|obby|obelisk|obl|obi Tut_Advanced_Guard_Tower_GDI|mp_GDI_Advanced_Guard_Tower = agt|gt|advanced|advancedguardtower SP_Weapons_Factory_GDI|Tut_Weapons_Factory_GDI|mp_GDI_War_Factory = wf|factory|weapons|weaponsfactory|weps|wepfac SP_Nod_Air_Tower|test_nod_airtower|mp_Nod_Airstrip = air|strip|airstrip|airtower SP_Silo_Nod = silo|tibsilo|tiberiumsilo mp_GDI_Helipad|mp_Nod_Helipad|SP_Helipad_Nod = helipad|heli|pad mp_Mutant_Lab = lab|mutantlab|mutant mp_GDI_Repair_Bay|mp_Nod_Repair_Bay = rep|repairbay|bay|repbay Source code: https://github.com/Neijwiert/RenSharpBuildingRestoreFunding
  3. 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
  4. Very sad news to hear. He was there for me to introduce Renegade modding almost 10 years ago. Was literally playing a ren game with him this week. RIP community man, coffee man and repair whore
  5. This also happens very often with the gdi daimler. If you get airborne and land on a flat surface like the images above you get stuck for no reason aswell. Getting airborne is quiete often since this thing is so fast that even wheb youre just normally driving over a hill and get to the top its already enough to get you stuck
  6. Wont be able to make it. There's a so called 'kermis' at my town. Dutchies will know what i mean
  7. Yeah sometimes usb3 ports like to screw around. I had a similar problem with my laptop (also windows 8.1). I tried reinstalling drivers aswell but it didnt work. The only thing rhat resolved my problem was complete reinstallation of the os.
  8. Puh if it was up to me i'd ban every custom skin even your spongebob c4 > so cheaty
  9. Hehe I could make them so good that they make you cry.. Just give them a ramjet and they will own your ass. Some examples: calculate heading of object, looking on what floor the bot is standing (so it doesn't walk on tiberium), max damage output calculation based on it's weapon bag and it's opponents bones.
  10. Yeah lol, that skin contrast is much higher than the original one. I say advantage skin aswell.
×
×
  • Create New...

Important Information

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