GTAOnline.net
San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Discussion démarrée par: Hakimo_Crays le 16 Mars 2014, 16:11:54
-
Salut, aujourd'hui je viens pour vous demandez votre avis sur mon tous premier filterscript.
Ce filterscript permet d'exécuté une commande à la place d'un utilisateur depuis le web. C'est à dire que imaginons que l'administrateur "Bonobo" soit connecté IG, avec une class PHP que j'ai faites, on pourrai executé une commande comme par exemple "/kick". Je ne sais pas si je suis assez clair, n'hésitez pas à me posé des questions.
Pour l'instant, il faut que l'utilisateur soit en ligne pour pouvoir effectué une commande à sa place, mais j'ai pensé à une solution, à vous de me dire si c'est la meilleur, qui consisterai à faire spawn un bot qui prendrai le compte de la personne ciblé pour pouvoir effectué la commande que l'on souhaite depuis le web.
Je sais que je ne suis pas assez clair, je vais faire des screens pour que vous compreniez mieux.
-
C'est plutôt cool comme concept. Pourquoi ne pas créer des commandes RCON directement, besoin de personne IG puis voilà ;)
-
Parce que souvent un gamemode contient beaucoup beaucoup de commandes, je ne vois pas le scripteur adapté toutes les commandes normales en commandes rcon, c'est pour cela que je fais ce filterscript.
Ça permet d'administré son serveur à distance ou alors faire de simple action comme un virement bancaire sans avoir un système de liaison entre serveur et web.
-
Rohlala mais t'es un vrai pot de colle toi :p (c'est pas péjoratif)
Pour l'instant, il faut que l'utilisateur soit en ligne pour pouvoir effectué une commande à sa place, mais j'ai pensé à une solution, à vous de me dire si c'est la meilleur, qui consisterai à faire spawn un bot qui prendrai le compte de la personne ciblé pour pouvoir effectué la commande que l'on souhaite depuis le web.
Il y a mieux à cela: si tu connais l'ID de la personne ciblée, tu n'as qu'à appeler la callback OnPlayerCommandText (http://wiki.sa-mp.com/wiki/OnPlayerCommandText_FR) en passant l'ID de la personne et la commande à effectuer
Voilà un petit exemple:
OnPlayerCommandText(0, "/msg weak est moche");
//0 = ID du joueur
//"/msg[...]" = Commande
Après, vu que tu fais ça depuis un filterscript, il faudrait plutôt appeler CallRemoteFunction (http://wiki.sa-mp.com/wiki/CallRemoteFunction_FR), qui appellera la commande dans le gamemode qui contient lui-même les commandes
-
Je sais c'est ce que je fais, j'ai fais une fonction qui détecte si le joueur est en ligne et qui récupére son ID , et j'ai pensé aux bot pour les utilisateurs hors-ligne.
À par sa Kiloutre on se connais ? :embarrassed:
-
Bah ça dépend de quel utilisateur tu parles
Si tu parles de l'utilisateur ciblé, ah ça oui il vaudrait mieux qu'il soit connecté, aucun intérêt de simuler l'exécution d'une commande d'un joueur non-connecté
Si tu parles de la personne qui veut envoyer la commande au serveur pour qu'il fasse comme si le joueur ciblé l'exécutait, et bien vu que tu comptes faire ça depuis le web il me semble qu'il y a toujours moyen de détecter les requêtes reçues sur un serveur SA:MP mais je ne suis pas sûr (j'ai pas trouvé)
À par sa Kiloutre on se connais ? :embarrassed:
Boh, pas tellement, mais je connais certains de tes amis :p
-
Par ce que la callback "OnPlayerCommandText" a comme paramètre "playerid" donc pour moi c'est obligé que l'utilisateur qui devrait exécuté la commande soit en ligne. Je voulais juste savoir si la méthode de faire spawn un bot et le déconnecté après serai bien ou pas.
EDIT:
Quelques screens
(http://puu.sh/7xFsr.png)
(http://puu.sh/7xFhy.png)
-
Par ce que la callback "OnPlayerCommandText" a comme paramètre "playerid" donc pour moi c'est obligé que l'utilisateur qui devrait exécuté la commande soit en ligne.
J'vois pas trop en quoi, la callback OnPlayerCommandText nécessite l'ID du joueur ciblé par le cexe et non l'ID de celui qui effectue le cexe dans la console ._.
-
Je ne vois pas ce que tu veux dire ?