[4THC] NoRulez

Mod Checker Updated [now with XM8 APP]

82 posts in this topic

Posted (edited)

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

IMPORTANT: IF YOU ARE UPDATING MODCHECKER, REINSTALL FROM SCRATCH AND READ ALL INSTRUCTIONS AGAIN.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

 

This script checks the mods loaded by the client. If one mod is not loaded, automate .POP UP´S let the player know about it, offering costumizable links to community guides. .
You can define each mod as “required” or “doesn’t required”.

 

If required mod is not loaded by the client, Mod Checker warns the player, and when the player closes the dialog, he is kicked from the game in a silent way.
If non required mod is not loaded, Mod Checker warns the player, but the player can still on the server.
If no errors are generated, Mod Checker runs in silent without popup

Rm17iGi.png


INSTALL INSTRUCTIONS

Download from github
https://github.com/NRZ7/modChecker---Exile-version

1- Copy addons\modChecker folder to your mission file.

2- Copy the content of initPlayerLocal.sqf at the bottom of your initPlayerLocal.sqf

3- If you are usin infistar, whitelist display 999999 in EXILE_AHAT_CONFIG.hpp under allowedIDDS

 

XM8 Mod Checker addon by @jmayr2000

Spoiler

If you will use ExAd addon merge /ExAdClient folder  with your /ExAdClient inside mission.pbo.

After merge CfgXM8 class with your CfgXM8 class on config.cpp

5GVLem4d

 

CONFIG INSTRUCTIONS

In addons\modChecker\modConfig.hpp

1.- Read carefully all addons\modChecker\modConfig.hpp and his comments
2- Moddify classes from CfgPatches. You can find under editor. ("Tools" - "Config Viewer" - "Configfile" - "CfgPatches")
3- Change mod variable names according to your mods and link to custom string depending if the mod is loaded or not.
4- Set if a mod is required (errorLevel = errorLevel + 99) or if is optional (errorlevel = errorLevel + 1)
5- Repeat steps from 2 to 4 for each mod used on your server. Modify Add your mods or delete any mod class not used.
 

if (isClass(configFile >> "CfgPatches" >> "Exile_Client")) then  {  
        checkExile =  "<t size='0.9' shadow='1' shadowColor='#000000' align='center'>Exile Mod is</t><t color='#2fd402' size='0.9' shadow='1' shadowColor='#000000' align='center'> found!</t><br/>";
    } else {
        checkExile = "<t size='0.9' shadow='1' shadowColor='#000000' align='center'>Exile Mod is</t><t color='#ff0000' size='0.9' shadow='1' shadowColor='#000000' align='center'> NOT FOUND!</t><br/>";
        errorLevel = errorLevel + 99
    };




In addons\modChecker\displayConfig.hpp

1.- Read carefully all addons\modChecker\displayConfig.hpp and his comments
2- Edit, add or delete Mod variable names according to modConfig.hpp
 

//Mod variable names
_message = _message + checkExile;
_message = _message + checkEsseker;
_message = _message + checkRyan;
_message = _message + checkWeapons;
_message = _message + checkVehicles;
_message = _message + checkUnits;
_message = _message + checkTerrain;
_message = _message + checkCBA;



3- Set custom messages to your community guides.
 

// Custom message with community links
_message = _message + "<br />";
_message = _message + "If you get any error, please, read the following links<br /><br />";
_message = _message + "Download the mods from <a href= 'http://steamcommunity.com/sharedfiles/filedetails/?id=752130537' color='#ff9900'>Steam Workshop</a> Only click on Subscribe!<br />";
_message = _message + "<a href= 'http://standarol.com/index.php/topic,674.0.html' color='#ff9900'>Guía de lanzamiento e instalación de mods [ESPAÑOL]</a> </t><br /><br />";




CREDITS

The XM8 app are ported by @jmayr2000 . This project contains code from @Repentz Advanced Server Rules and is inspired with this comment in BI official forums. Thanks to Chema, from StandaRol.com to correct my english.

 

This is my first script, please don’t blame. Apologize my english too, I know that is like a shit. If any part is wrong, please be constructive. I appreciate any feedback.

If you like or use this script, please hit LIKE button. I can be more motivated to share.

Edited by [4THC] NoRulez
Updated and XM8 full compatible
7 people like this

Share this post


Link to post
Share on other sites

Posted (edited)

The following image shows what you need change for each mod.

Check in editor - tools - config viewer - configfile - cfgPatches and search for your mods classnames (YELLOW)

Next, create a unique variable name (BLUE) and change string (PINK) for each mod.

BGDi47M.png

Mod Checker video explained with examples

 

Edited by [4THC] NoRulez

Share this post


Link to post
Share on other sites
Advertisement
Just now, GolovaRaoul said:

Doesn't verifySignatures do basically the same?

I believe that just kicks players without telling them why.

Share this post


Link to post
Share on other sites

Posted (edited)

 

19 hours ago, BetterDeadThanZed said:

Is your script any better than this?

 

 

I don't know, i made this from zero and don't know how works this other script. Probabbly makes some similar. This is an educational work for me and I don't read the iceMEd script for now.

Reading iCEtlMeds description I deduce that my display is opened in full screen and requires a player interaction to be closed. Can contains various links and the mods can be configurable as required or optional. The menu is scrollable and can contains unlimited number of lines and links.

If a mod is setted as required and this mod is not loaded on the client, the client be warned and when the player closes the display (after read and click CONTINUE) is silent kicked.

If is optional mod are only warned, but can still in the server.

This script is launched on init but only show the display screen if any error has encountred.

When the first check is passed, can execute again with [] execVM "addons\scripts\modChecker.sqf" and opens the popup although any mod fails. Contains an icon to and code to be launched wit ExAd.

iCEtiMeds also seems outdated (links and images are down) and my script is licenced under open source rights and anyone can feel free to modify or use any part of my code.

Edited by [4THC] NoRulez
1 person likes this

Share this post


Link to post
Share on other sites

Posted (edited)

This doesn't substitute verifysignatures.

With verifysignatures, Battleye checks if you are loading one mod NOT RELATED with the server (like a cheat), but doesn't kick or warn if the mod is missing.

If you enter without for example a weapons mod, with verifysignatures = 1, you cannot view or use the weapons, but you can play full of bugs. If other mods like Exile are not loaded, never loads nothing.

This is a substitute from these lines from your mission.sqm

class Mission
{
    addOns[]=
    {
        "exile_client"
        "Ryanzombies",
        "ryanzombiesfunctions",
        "Esseker"
    };
    addOnsAuto[]=
    {
        "exile_client",
        "Esseker"
    };

 

Edited by [4THC] NoRulez
1 person likes this

Share this post


Link to post
Share on other sites

No like this,

/* Use IDD White-List ? */ UDW = true;
/* allowedIDDs: Insert IDDs here to prevent them from being closed! */
allowedIDDs[] =
{
	/* default idds */
	0,4,5,6,8,12,18,24,49,54,55,70,160,174,177,999,131,63,602,301,

	/* exile idds */
	24001,24002,20023,24005,24004,24010,24025,20021,20017,24012,24027,
	20019,20016,24007,20024,20018,24008,24011,24015,24000,24006,24014,
	20020,24026,

	24033,24030,24029,24028,24031,24034,

	4004,21000,	// Bounty system and MarXet
	8457,	// http://www.exilemod.com/topic/9040-xm8-apps/
	65431,	// r3f menu fix
	6666,	// Paintshop
	0711,	// Advanced Banking
	12500,	//Killboard
	72, 	//Login Informations
	0720,	// Virtual Garage
	8458,  // Viewdistance
	999999,		//Modcherker
	5501,5502,5503,5504,5505,5506,5507,	// BRAma Cookbook
	-1339,-1340,	// custom infiSTAR dialogs (some editor & a private chat menu)

	/* main idd - never delete it */
	46
};

 

1 person likes this

Share this post


Link to post
Share on other sites
Advertisement

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.