Français Not solved Ajout d'un Bouton Kick/Ban sur l'admin Menu de L'iphoneX

  • Bonjour Visiteur ! Les sujets de cette catégorie sont clos. Si vous souhaitez réouvrir, merci de nous contacter en précisant le lien du post à réouvrir !

    Hello Visiteur ! The topics in this category are closed. If you wish to reopen, please contact us with the link of the post you wish to reopen !
20/11/20
243
4
6
1 100
Bonjour, Suite à une attaque de troller sur mon serveur (qui se sont ammuser à faire spawn des bombe...) Je souhaiterais savoir si il y aurait possibiliter d'ajouter un Bouton Kick et Ban sur l'admin Menu de L'iphoneX.
 
Bonjour, Suite à une attaque de troller sur mon serveur (qui se sont ammuser à faire spawn des bombe...) Je souhaiterais savoir si il y aurait possibiliter d'ajouter un Bouton Kick et Ban sur l'admin Menu de L'iphoneX.
Oui tu peux mais avant si tu a ces soucis,occupe toi des filtres BE ect sinon tu risque de continuer à être embêter
 
Pour exécuter des commandes "admins" sur le serveur, il faut utiliser serverCommand
Et pour les commandes disponibles, tu peux regarder cette page : https://community.bistudio.com/wiki/Multiplayer_Server_Commands

Donc pour kicker, il faut faire un bouton qui va exécuter quelque chose de ce genre :
Code:
"MOT DE PASSE ADMIN" serverCommand format ['#kick "%1"',_nomDuJoueurAKick];

Et pour bannir :
Code:
"MOT DE PASSE ADMIN" serverCommand format ['#exec ban "%1"',_nomDuJoueurABan];
 
Dernière édition:
onbuttonclick = "'MOT DE PASSE ADMIN' serverCommand format ['#kick "%1"',_nomDuJoueurAKick];";
 
Dernière édition par un modérateur:
class RscButtonMenu_2409 : Life_RscButtonInvisibleIphone
{
idc = 2911;
text = "";
onbuttonclick = ""MOT DE PASSE ADMIN" serverCommand format ["#kick %1",_nomDuJoueurAKick];";
x = 0.643645333333333 * safezoneW + safezoneX;
y = 0.701565388397247 * safezoneH + safezoneY;
w = 0.061875 * safezoneW;
h = 0.022 * safezoneH;
};
 
Si tu met des " dans un string (""), ca va juste faire arrêter le string. Donc ca ne marchera pas.
Pour le script c'est comme si c'était comme ca :
""ERREUR" serverCommand format ["ERREUR",_nomDuJoueurAKick];"

Donc il faut mettre des ' comme ceci :
onbuttonclick = """MOT DE PASSE ADMIN"" serverCommand format ['#kick ""%1""',_nomDuJoueurAKick];";

En gros :
Code:
class RscButtonMenu_2409 : Life_RscButtonInvisibleIphone
{
    idc = 2911;
    text = "";
    onButtonClick = """MOT DE PASSE ADMIN"" serverCommand format ['#kick ""%1""',_nomDuJoueurAKick];";
    x = 0.643645333333333 * safezoneW + safezoneX;
    y = 0.701565388397247 * safezoneH + safezoneY;
    w = 0.061875 * safezoneW;
    h = 0.022 * safezoneH;
};
 
Dernière édition par un modérateur:
Plus précisément ça donnera un truc du genre :
Code:
onButtonClick = "_unit = lbData[2902,lbCurSel (2902)]; _unit = call compile format ['%1', _unit]; if (isNull _unit) exitWith {}; _namePlayer = name _unit; 'MOT DE PASSE ADMIN' serverCommand format ['#kick ""%1""',_namePlayer];";

Idéalement pour faire plus propre il faudrait faire une nouvelle fonction (= un nouveau fichier) pour ça, mais ça fonctionnera aussi (y)
 
Dernière édition:
Est-ce que tu peux donner + d'informations sur ce qu'il se passe ?

Il ne se passe rien ?
Est-ce qu'il y a des erreurs dans tes logs serveur ou client ?
Est-ce que le mot de passe admin est- bon ?

D'ailleurs, j'y pense, c'est un peu dangereux de mettre un mot de passe admin dans la mission, il faudrait qu'elle soit cryptée pour éviter que quelqu'un trouve le mot de passe
 
J'ai testé de mon coté, il y a plusieurs choses qui ne vont pas :
  • Le mot de passe n'est pas le mot de passe admin, mais le "serverCommandPassword" dans le config du serveur
  • Le nom du joueur doit être entre guillemets dans la commande
  • Le code doit être exécuté côté serveur, il faut donc créer un fichier dans ton life_server qui exécutera le kick. Sans oublier de définir la fonction dans le config.cpp du life_server, et d'autoriser le remoteExec dans le CfgRemoteExec.hpp. Et du coup l'action du bouton donnera quelque chose comme ça :
Code:
onButtonClick = "_unit = lbData[2902,lbCurSel (2902)]; _unit = call compile format ['%1', _unit]; if (isNull _unit) exitWith {}; _namePlayer = name _unit; [_namePlayer] remoteExec ['TON_fnc_nouvelleFonction',2];";

J'ai update mes réponses au dessus pour qu'elles soient correctes :)

1614606723453.png
 
De mon coter: le mots de passe Admin et le même que dans la commande.
Le problème si je dois mettre le nom du joueur entre les guillemets donc l’idée du (j'appuie sur le nom du joueur puis j’appuie sur le bouton Kick ou Ban) servira à rien étend donner qu'il faut redémarrer le serveur pour que la commende soit actif.
Et je dois le mettre ou précisément le fichier dans le life_server? Ps: j'aime pas tellement bidouiller le fichier sans s'avoir vraiment comment faire.
 

Fichiers joints

  • Scren.PNG
    Scren.PNG
    10.6 KB · Affichages: 96
  • Scren screept.PNG
    Scren screept.PNG
    5.5 KB · Affichages: 101