Aller au contenu
Top-Metin2.org - Vous êtes à la recherche d'un serveur Metin 2 ? ×
×
×
  • Créer...

[Objet] Bannir depuis le jeu


Tha SmokKe

Messages recommandés

Centre de Téléchargement

Hidden Content

    Give reaction to this post to see the hidden content.
( Interne )

Salut à tous.

 

Comme j'ai vue que maintenant tous le monde pouvait utiliser MySQL dans ces quêtes grâces au partage de Roxas, je me suis dis que j'allais innoguré l'arrivé de cette nouvelle ère de quête en vous en proposant une plutôt "basique" :)

 

Le but de cette quête est tout simplement de pouvoir bannir un joueur directement dans le jeu.

Ce qui permettra aux modérateurs, comme aux administrateurs, de ne pas avoir à passer par la console MySQL pour effectuer ceci.

Utilisation

 

A la ligne 7, pensez à changer le vnum de l'item que vous voudrez utiliser pour accéder au menu de bannissement.

Citation

when VNUM.use with pc.is_gm() begin --- Pensez à modifier le vnum

 

Vous pouvez aussi remplacer l'affichage du menu via un clique sur un item par une discussion avec un PNJ

Citation

when NPCVNUM.chat."*Staff* : Bannir un joueur" with pc.is_gm() begin

 

 

Pour le reste, tout est expliqué dans la quête.

 

 

Pour ceux qui ne pourraient pas accéder au pastebin :

 

""
----------------------
--	InstantBan par SmokKe (23/07/2012) 
--		Ne pas supprimer ceci
----------------------
quest instantban begin
state start begin
	when VNUM.use with pc.is_gm() begin --- Penser à changer le VNUM de l'item à utiliser
		say_title("Bannir un joueur")
		say("")
		say("Entrer le nom du joueur à bannir:")
		local name = input()
		if name=="" or name=="0" or name=""..pc.name.."" then --- Vérifie si l'input box est correctement remplit
			chat("Nom invalide")
		return
		end
		local player_check = mysql_select("SELECT COUNT(*) from player.player WHERE name='"..name.."' LIMIT 1;") --- Vérification de la validité du nom
		if player_check[1][1] == "0" then
			chat("Ce nom n'est pas attribué")
		return
		end
		local check_acc_id = mysql_select("SELECT account_id from player.player where name='"..name.."' LIMIT 1;") --- Récupération du l'ID du compte (ex : 420)
		local acc_id = check_acc_id[1][1]+1-1
		local ban = mysql_select("SELECT login from account.account where id='"..acc_id.."' LIMIT 1;") 
		mysql_notselect("UPDATE account.account SET status='BLOCK' WHERE id='"..acc_id.."' LIMIT 1;") --- Bannissement du compte
		chat("Le joueur "..name.." (ACC ID :"..ban[1][1]..") a correctement été bannis")
		command("dc "..name) -- Déconnexion du joueur à bannir
	end
end
end
 

 

 

 

Si vous ne savez pas implanter une quête, suivez ce tutoriel : ici

 

Enjoy votre nouveau système de bannissement :)

SmokKe ~

  • Metin2 Dev 1
  • Love 1

XIII

Lien vers le commentaire
Partager sur d’autres sites

Ca fait bien longtemps que je l'ai, mais comme j'ai venais de voir que tu avais partager le système, je me suis dis que du coups ça serais intéressant de faire profiter à tous les membres de nombreuses quêtes utilisant MySQL :)

 

J'espère maintenant que je ne serais pas le seul à faire ça ^^

XIII

Lien vers le commentaire
Partager sur d’autres sites

  • 3 mois après...

Pour ma part j'ai une erreur :

 

syntax error : [string "startpc . is_gm ( )"]:5: `then' expected near `='

Ban.quest:27:Abort trap (core dumped)

 

 

J'ai vite vu le poste de Roxas, et me demandait si il n'y avais pas un rapport ?

 

Merci

Stayms

Mettez 11 imbéciles d'un coté, 10 philosophes de l'autre...
Les imbéciles l'emporteront !
C'est ca, la démocratie...

Lien vers le commentaire
Partager sur d’autres sites

  • 1 mois après...

if name=="" or name=="0" or name=""..pc.name.."" then --- Vérifie si l'input box est correctement remplit

 

 

Petit oubli d'un "=" au 3ème or

 

if name=="" or name=="0" or name==""..pc.name.."" then --- Vérifie si l'input box est correctement remplit

 

Ah oui, j'oubliais, finir un say/chat par un accent ça "masque" la quête dirons-nous ce qui veut dire que ici la quête ne se lancera pas car il y a ceci :

 chat("Ce nom n'est pas attribué")

Suffira donc juste de mettre un "e" normal sans accent pour réparer.

Lien vers le commentaire
Partager sur d’autres sites

  • 5 mois après...
  • 1 an après...


  • brilliantdiscord_widget
  • Flux d'Activité

    1. 37
    2. 21

      Metin2 en 2020 peut-on en parler?

    3. 0

      METIN2Project

    4. 3

      Ressources - UnPack - Metin2 Client - Officiel

    5. 0

      Barre des tâches d'argent étendue

    6. 16

      Redémarrage automatique des channels

    7. 16

      Multi Logo GM / SGM / GA

  • En ligne récemment

    • Aucun utilisateur enregistré regarde cette page.

Information importante

Conditions d’utilisation / Politique de confidentialité / Règles / Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.