Français Blacklist de joueurs

  • Auteur de la discussion Auteur de la discussion Mathis
  • Date de début Date de début

Mathis

Admin
Membre du personnel
29/12/19
503
16
48
1 100
vdgrg-ConvertImage.png

Bonjour à toutes et à tous,
Aujourd'hui, on se retrouve pour un tutoriel en rapport avec Altis-Life. Ce tutoriel consiste, comme l'indique son nom à rendre la possibilité de bannir des joueurs par BDD.
Si vous avez un soucis, n'hésitez pas à ouvrir un topic sur le forum plutôt que répondre en demandant de l'aide sous le tutoriel.

Maintenant, place à l'installation.

1. Ajouter la table suivante dans la base de données :
Code:
Développer Réduire Copier
CREATE TABLE `joueurs_bannis` (
    `id` INT(6) NOT NULL,
    `player_id` VARCHAR(17) NOT NULL,
    `banned_on` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
    `banned_until` TIMESTAMP NOT NULL
) ENGINE = InnoDB;

2. Ensuite, il faut vérifier quand le joueur se connecte s'il est banni ou pas.
Dans le fn_queryRequest.sqf, ajoutez les ligne suivante pour kick le joueur :
Code:
Développer Réduire Copier
_queryBanned = format ["SELECT id FROM joueurs_bannis WHERE player_id='%1' AND CURRENT_TIMESTAMP < banned_until",_uid];
_isBanned = [_queryBanned,2] call DB_fnc_asyncCall;

if ((count _isBanned) > 0) exitWith {
    ["Notwhitelisted",false,true] remoteExec ["BIS_fnc_endMission",_ownerID];
};

3. Pour pouvoir kick, il faudra également autoriser la fonction dans le CfgRemoteExec.hpp :
Code:
Développer Réduire Copier
F(BIS_fnc_endMission,CLIENT)
(Si la ligne est déjà mise, veillez à ne pas la remettre)

Merci à vous d'avoir lu et suivi ce tutoriel, à bientôt ;)
 
Dernière édition par un modérateur:
Bonjour,
je voulais installer ton script mais voici ce que j'obtiens comme erreur :


#1067 - Valeur par défaut invalide pour 'banned_until' Capture d'écran 2023-03-13 105203.png
 
Hello W Westcoast, est-ce que tu peux essayer d’exécuter ce code dans ta base de données sinon ?
Code:
Développer Réduire Copier
CREATE TABLE `joueurs_bannis` (
    `id` INT(6) NOT NULL,
    `player_id` VARCHAR(17) NOT NULL,
    `banned_on` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,
    `banned_until` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP
) ENGINE = InnoDB;
 
How would I add someone thru code say they got flagged by spyglass.
I would like to add here:
clientValidator.sqf:
Développer Réduire Copier
#include "..\script_macros.hpp"

/*
    File: clientValidator.sqf
    Author:

    Description:
    Loops through a list of variables and checks whether
    or not they are defined, if they are defined then trigger
    spyglass and kick the client to the lobby.
*/

private _vars = [
    "life_revive_fee", "life_gangPrice", "life_gangUpgradeBase", "life_enableFatigue", "life_paycheck_period", "life_vShop_rentalOnly", "life_weapon_shop_array",
    "life_garage_prices", "life_garage_sell", "life_houseLimit", "life_gangUpgradeMultipler", "life_impound_car", "life_impound_boat", "life_impound_air"
];

{
    if (!isNil {(missionNamespace getVariable _x)}) exitWith {
        [profileName, getPlayerUID player, format ["VariableSetBeforeInitialized_%1", _x]] remoteExecCall ["SPY_fnc_cookieJar", RSERV];
        [profileName, format [localize "STR_SpyDetect_VariableSetBeforeClientInitialized", _x]] remoteExecCall ["SPY_fnc_notifyAdmins", RCLIENT];
        sleep 0.5;
        //Add To DB Here <---
        failMission "Cheating";
    };
} forEach _vars;
 
Dernière édition:
Activité
Pour l'instant, il n'y a personne ici