Worldedit
  Worldedit
Le site sur l'éditeur de warcraft 3 !
 
  FAQFAQ   RechercherRechercher   Liste des MembresListe des Membres    Groupes d'utilisateursGroupes d'utilisateurs   medals.php?sid=73e88f38805e026d04965536fcf063b2Médailles   S'enregistrerS'enregistrer 
 ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 
  FAQFAQ World Editor   UploadUploader une map ou une image    UploadAjouter sa map à l'annuaire   UploadConsulter l'annuaire

Kick !
Aller à la page 1, 2  Suivante
 
Poster un nouveau sujet   Répondre au sujet    Worldedit Index du Forum -> Tutoriels
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 Bantas
Anomalie floodiforme


Inscrit le: 21 Aoû 2007
Messages: 1524
Sujets: 37

Médailles: 1 (En savoir plus...)
Rédacteur de tuto #3 (Quantité : 1)

MessagePosté le: 07/11/07 20:09    Sujet du message: Kick ! Citer

L'objectif de ce tuto est de présenter les différentes méthodes de kick, c'est à dire pour filtrer les joueurs de sa carte, que ce soit pendant la partie ou avant. Rolling Eyes

Il existe pour cela plusieurs méthodes.

I/ La fonction Substring

Cette fonction est bien pratique, elle permet de diviser un texte pour en isoler qu'une seule partie, mais elle est aussi un peu particulière, en réalité elle prend 3 paramètres.
Le premier est la chaine à découper.
Le deuxième est la première borne, on compte en nombre de caractères.
Et le dernier est la dernière borne (attention, les espaces comptent ! ).
EDIT (11/08/09) : En jass, le deuxieme chiffre n'est pas inclu. La fonction SubStringBJ est modifie pour arriver au resultat qu'on connait. Donc, SubString("Banzai",2,5) donne anz.

Par exemple si j'écris Banzai et que je fais substring(banzai, 2, 5) j'obtiendrais anza.

Un truc qui peut être utile à connaitre : si la borne finale et plus grande que le nombre de caractères de la chaine, alors le jeu fera comme si vous aviez mis le nombre exact de caractère.
Du coup si je fais substring(banzai, 2, 12) j'obtiendrais anzai Smile

Par contre il existe la commande "Lenght of Entered Chat string" qui compte le nombre de caractère et qui donc vous sera utile si vous voulez cibler la fin d'une phrase.

Bon je vais pas m'étendre sur cette fonction, elle nous servira pour reconnaitre quel joueur kicker.

II/ Le kick !

Voici plusieurs méthodes :

Tout d'abord le kick par numéro

On doit taper
-kick 4 pour kicker le joueur 4.

Gui:
Trigger:
kick
Collapse Evénements
Joueur - Joueur 1 (Rouge) types a chat message containing -kick as Une sous-chaîne
Conditions
Collapse Actions
Partie - Defeat (Player((Integer((Substring((Entered chat string), 7, Lenght of Entered Chat string)))))) with the message: Kické !



Ensuite le kick par pseudo

Gui:
Trigger:
kick
Collapse Evénements
Joueur - Joueur 1 (Rouge) types a chat message containing -kick as Une sous-chaîne
Conditions
Collapse Actions
Joueur - Pick every Player matching (Name of (Matching Player)) Egal Substring(Entered chat string, 7, Lenght of Entered Chat string) And do - Defeat (Picked Player) with text : Kick !


Enfin le kick par couleur


Gui:
Trigger:
Kick par couleur
Collapse Evénements
Joueur - Joueur 1 (Rouge) types a chat message containing -kick as Une sous-chaîne
Conditions
Collapse Actions
-------- Cette technique fonctionne aussi pour kicker avec le nom, en faisant quelques modifications --------
Collapse For each (Integer A) from 1 to 12, do (Actions)
Collapse Boucle - Actions
Collapse If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Collapse Si - Conditions
(Substring((Entered chat string), 7, (Length of (Entered chat string)))) Egal à  PlayerColor[(Integer A)]
Collapse Alors - Actions
Partie - Defeat (Player((Integer A))) with the message: Kické !
Collapse Sinon - Actions
Do nothing


Ce déclencheur vérifie que la couleur entrée est égale à une des "PlayerColor", et bannis le joueur concerné. PlayerColor doit être initialisé comme suis :

Gui:
Trigger:
Initialisation
Collapse Evénements
Map initialization
Conditions
Collapse Actions
Set PlayerColor[1] = rouge
Set PlayerColor[2] = bleu
Set PlayerColor[3] = cyan
Set PlayerColor[4] = violet
-------- Faire de même pour tous les joueurs --------



Ces trois méthodes ont exactement le même résultat, à vous de choisir votre préférée.

Tuto commencé par Vans, fini pas mes soins Wink
_________________


Dernière édition par Bantas le 11/08/09 00:16; édité 2 fois
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 DJ-JB
Membre actif


Inscrit le: 29 Oct 2007
Messages: 147
Sujets: 23



MessagePosté le: 07/11/07 20:54    Sujet du message: Citer

Une methode trés agréable de kick est celle-çi:

Le joueur 1 voit apparaître un tableau (8 joueurs) avec le pseudo de chacun d'eux. Ensuite il n'as plus qu'a cliqué sur la victime.

CONDITION:

Gui:
Trigger:
Kick Condition
Collapse Evénements
Joueur - Joueur 1 (Rouge) types a chat message containing kick as Résultat équivalent
Conditions
Collapse Actions
Dialogue - Change the title of Tableau to Quelle joueurs voul...
Collapse For each (Integer A) from 1 to 8, do (Actions)
Collapse Boucle - Actions
Dialogue - Create a dialog button for Tableau labelled (Name of (Player((Integer A))))
Set Choix[(Integer A)] = (Last created dialog Button)
Dialogue - Create a dialog button for Tableau labelled Quitter le menu
Set Choix[9] = (Last created dialog Button)
Dialogue - Montrer Tableau for Joueur 1 (Rouge)


ACTION:

Gui:
Trigger:
Kick Action
Collapse Evénements
Dialogue - A dialog button is clicked for Tableau
Conditions
Collapse Actions
Collapse For each (Integer A) from 1 to 8, do (Actions)
Collapse Boucle - Actions
Collapse If (All Conditions are True) then do (Then Actions) else do (Else Actions)
Collapse Si - Conditions
(Clicked dialog button) Egal à  Choix[(Integer A)]
Collapse Alors - Actions
Partie - Defeat (Player((Integer A))) with the message: Tu t'es fais virer ...
Sinon - Actions
Dialogue - Clear Tableau

_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail
 Bantas
Anomalie floodiforme


Inscrit le: 21 Aoû 2007
Messages: 1524
Sujets: 37

Médailles: 1 (En savoir plus...)
Rédacteur de tuto #3 (Quantité : 1)

MessagePosté le: 07/11/07 21:22    Sujet du message: Citer

A quoi ça sert de faire :
Gui:
Trigger:
Set Choix[9] = (Last created dialog Button)


A part ça ça m'a l'air très bien.
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Gevans
Back


Inscrit le: 21 Aoû 2007
Messages: 1930
Sujets: 85

Médailles: 2 (En savoir plus...)
Gevans (Quantité : 1) Rédacteur de tuto #1 (Quantité : 1)

MessagePosté le: 07/11/07 21:29    Sujet du message: Citer

C'est pour avoir un bouton annulé
_________________
Si vous recherchez quelque chose, il y a de très grandes chances que vous trouviez la réponse ici alors jetez y un oeil.
Topic indispensable
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail Visiter le site web du posteur MSN Messenger
 DJ-JB
Membre actif


Inscrit le: 29 Oct 2007
Messages: 147
Sujets: 23



MessagePosté le: 07/11/07 21:29    Sujet du message: Citer

C'est néssésaire d'avoir un code propre et un choix de sortie. Razz
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail
 Bantas
Anomalie floodiforme


Inscrit le: 21 Aoû 2007
Messages: 1524
Sujets: 37

Médailles: 1 (En savoir plus...)
Rédacteur de tuto #3 (Quantité : 1)

MessagePosté le: 08/11/07 07:36    Sujet du message: Citer

General Vans a écrit:
C'est pour avoir un bouton annulé

Pas besoin de l'associer à une variable Wink
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 kapoka
Membre a fort taux de post


Inscrit le: 21 Aoû 2007
Messages: 915
Sujets: 47
Spécialité en worldedit: Faire des maps avec 500 déclos en GUI alors que 2 en JASS suffisent
Médailles: 1 (En savoir plus...)
Rédacteur de tuto #1 (Quantité : 1)

MessagePosté le: 08/11/07 18:38    Sujet du message: Citer

Ce serais bien aussi de voir dans la boite de dialogue la couleur du joueur (genre le nom en couleur) car defois dans une partie on ne retient pas vraiment le nom mais plutot la couleur du joueur Smile
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail Visiter le site web du posteur MSN Messenger
 DJ-JB
Membre actif


Inscrit le: 29 Oct 2007
Messages: 147
Sujets: 23



MessagePosté le: 08/11/07 21:10    Sujet du message: Citer

Pas faux mais le code ici est facile à reproduire et il n'existe pas à ma connaissance de fonction qui permette de convertir une suite de couleur(string ou integer) comme '|cffffcc00X|r' en la couleur du joueur associé il faut donc le faire manuellement. Deplus on se souvient plus du pseudo du gas à kicker en général que sa couleur et même si c'est le cas ne perd que 5 seconde à le savoir.
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail
 kapoka
Membre a fort taux de post


Inscrit le: 21 Aoû 2007
Messages: 915
Sujets: 47
Spécialité en worldedit: Faire des maps avec 500 déclos en GUI alors que 2 en JASS suffisent
Médailles: 1 (En savoir plus...)
Rédacteur de tuto #1 (Quantité : 1)

MessagePosté le: 09/11/07 19:50    Sujet du message: Citer

Ui tant que le bouton annuler exesite Smile
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail Visiter le site web du posteur MSN Messenger
 Gevans
Back


Inscrit le: 21 Aoû 2007
Messages: 1930
Sujets: 85

Médailles: 2 (En savoir plus...)
Rédacteur de tuto #1 (Quantité : 1) Gevans (Quantité : 1)

MessagePosté le: 09/11/07 20:10    Sujet du message: Citer

DJ-JB a écrit:
Pas faux mais le code ici est facile à reproduire et il n'existe pas à ma connaissance de fonction qui permette de convertir une suite de couleur(string ou integer) comme '|cffffcc00X|r' en la couleur du joueur associé il faut donc le faire manuellement. De plus on se souvient plus du pseudo du gas à kicker en général que sa couleur et même si c'est le cas ne perd que 5 seconde à le savoir.


Nan mais tu peux utiliser des variables de type chaine de caractère.
Couleur[1] = 'Code pour le rouge'
etc...

et du coup tu récupères la couleur avec le numéro du joueur
_________________
Si vous recherchez quelque chose, il y a de très grandes chances que vous trouviez la réponse ici alors jetez y un oeil.
Topic indispensable
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail Visiter le site web du posteur MSN Messenger
 moimoimoi
Ptit Nouveau


Inscrit le: 11 Nov 2007
Messages: 35
Sujets: 8



MessagePosté le: 07/12/07 03:12    Sujet du message: Citer

Merci bcp pour ce tutorial, mais serait il possible que seul le joueur host de la partie puisse kicker, car en effet le joueur host de la partie n'est pa obligé d'être le joueur 1, mais joueur 2, 3, 4 ... !! Merci bcp pour votre précieux réponse!!
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Bantas
Anomalie floodiforme


Inscrit le: 21 Aoû 2007
Messages: 1524
Sujets: 37

Médailles: 1 (En savoir plus...)
Rédacteur de tuto #3 (Quantité : 1)

MessagePosté le: 07/12/07 10:16    Sujet du message: Citer

J'ai posté une réponse sur le topic dédié.
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 kangoo13
Membre récent


Inscrit le: 07 Jan 2008
Messages: 61
Sujets: 12



MessagePosté le: 07/02/08 18:55    Sujet du message: Citer

Joueur - Pick every Player matching (Name of (Matching Player)) Egal Substring(Entered chat string, 7, Lenght of Entered Chat string) And do - Defeat (Picked Player) with text : Kick !

J'arrive pas a faire ça !!
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 kapoka
Membre a fort taux de post


Inscrit le: 21 Aoû 2007
Messages: 915
Sujets: 47
Spécialité en worldedit: Faire des maps avec 500 déclos en GUI alors que 2 en JASS suffisent
Médailles: 1 (En savoir plus...)
Rédacteur de tuto #1 (Quantité : 1)

MessagePosté le: 07/02/08 20:02    Sujet du message: Citer

Pourquoi ?
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé Envoyer l'e-mail Visiter le site web du posteur MSN Messenger
 kangoo13
Membre récent


Inscrit le: 07 Jan 2008
Messages: 61
Sujets: 12



MessagePosté le: 07/02/08 20:16    Sujet du message: Citer

je ne trouve pas la commande!

ps : peut tu aller sur msn ?je dois te parler ^^
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Worldedit Index du Forum -> Tutoriels Toutes les heures sont au format GMT + 1 Heure
Aller à la page 1, 2  Suivante
Page 1 sur 2

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com