Build une team avec Mojo

Répondre
Partager Rechercher

Bon alors comme prévu quelques explications supplémentaires sur "comment j'utilise Mojo pour faire tourner une team"

Rappel : seules les team avec des comptes abonnés sont autorisés uniquement en PVE. Toute autre utilisation peut entraîner un ban des comptes sans avertissement


Mon exemple : une team 6 archers 2 heal

Etape 1 : Créer les perso.


Pas besoin de mojo pour ça. Pensez à les connecter une fois pour qu'ils apparaissent dans le game file pour l'import sous mojo



Etape 2 : Importer les persos sous Mojo


En vidéo :


Note : Comme vous pouvez le voir dans la vidéo, j'utilise l'option de ne pas prendre le dossier de base de DAOC :
"I'll specify a folder"
Ensuite je crée un dossier DAoC virtuel (Make a virtual folder)

Intérêt : en faisant ainsi pour chaque team, vous optenez des configs DAOC personnalisées pouvant être différentes de vos config de jeu. Exemple moi je RVR en 1080p sauf que je joue la team en 800*600 pour économiser de la ressource CPU.

En créant un dossier virtuel pour la team, je ne touche pas ma config clavier de mes persos RvR et quand je modifie les config des persos de la team, cela n'affecte rien (idem si plantage)


Etape 3 : Créer la team sous MOJO


Un petit tuto vidéo


Remarque : A un moment dans la vidéo, après la premier importation des persos, vous voyez que je repasse sur chacun d'entre eux pour leur attribuer un nom de fenêtre.
Quand je vais lancer la team, Mojo va renommer la fenêtre de DAOC avec le nom spécifié ici, qui va nous servir pour la suite pour envoyer des instructions via le fichier hotkey.

Très utile pour adapter et écrire les scripts.

Vous avez aussi remarqué que dans les paramètres de la team, je précise quel fichier hotkey mojo doit utiliser pour cette team (ce qui fait gagner du temps quand vous switcher entre plusieurs team)


Etape 4 : Connecter les persos

Il suffit maintenant de se rendre dans l'onglet team de mojo et de double cliquer sur le nom de votre team, il va lancer les persos


Etape 5 : Jouer et préparer le fichier de hotkey


Le fichier de hotkey c'est en gros la liste des instructions.

Hotkey = action envoyée à un perso
Key = touche du clavier appuyée

Ce fichier vous devez l'écrire en utilisant les commandes disponibles pour mojo.

Pour l'écrire vous pouvez prendre un fichier fait et l'adapter (voir plus bas) ou partir de 0 et l'agrémenter au fur et à mesure de la progression.

Je vais vous expliquer comment moi je procède

Situation : 8 persos, 1 heal pac, 1 heal soin, 6 chasseurs identiques

Pour faire simple, je vais commencer par écrire mon fichier avec la base de la base :

- Un hotkey pour grouper les persos quand je me connecte
- Un hotkey pour attaquer
- Un hotkey pour les buff

Toutes les commandes sont expliquées sur le lien ci-dessus, je détaille en plus.
Je conseille de toujours commencer par écrire dans votre tête au moins ce que dois faire le hotkey en français avant de rush.

hotkey1 grouper

hotkey 1 : grouper les perso

En français :
Quand j'appuie sur la touche F11 de mon clavier, le lead de ma team (Driver) doit envoyer une invitation à grouper à tous les persos de ma team.
5 secondes après, les personnages de ma team doivent accepter l'invitation en cliquant (clic gauche) sur l'emplacement de la case "ACCEPT" de la fenêtre de groupe
Bonus : Après avoir accepté l'invitation, par soucis de performance sur mon PC, je demande à tous les comptes sauf le Driver de passer en clientsleep background

En langage mojo ça va devenir : //après les barres ce sont des commentaires explicatifs

Code:
Hotkey ( F11 ) // J'indique ici la touche du clavier que j'appuie pour lancer les hotkey
{
	Package   // Cette fonction permet de séparer les instructions entre les fenêtres 
	{
   	Sendto (Driver) // La suite des commandes jusqu'au prochain crochet ne s'applique qu'au personnage DRIVER
	Slash ("/invite aug")
        wait (100) // Attendre 0.1s (inutile sur mon PC, je ne le remettrai pas, mais certains PC plus lents ont besoin entre chaque ligne d'un wait)
	Slash ("/invite hunt1")
        wait (100)
	Slash ("/invite hunt2")
	Slash ("/invite hunt3")
	Slash ("/invite hunt4")
	Slash ("/invite hunt5")
	Slash ("/invite hunt6")
	}  // A ce stade, les 7 persos reçoivent une invitation à grouper. 
	

	Package  // L'instruction suivante est envoyée à tout le monde car pas de précision de Sendto
	{
	Wait ( 5000 ) // Attendre 5s (le délai peut être réduit)
	ClickMouse ( Lbutton 627 432 ) // Clic gauche de la souris à l'emplacement 627 432 de l'écran (là ou se trouve le bouton ACCEPT). Les persos acceptent l'invitation
	}

	Package
   {
      Sendto ( aug hunt1 hunt2 hunt3 hunt4 hunt5 hunt6 )   // Envoi à tous les persos SAUF le conducteur 
	  Slash ("/clientsleep background")
	  }
   
	
} // ferme la commande du hotkey F11
Remarque : pour trouver les coordonnées pour savoir ou cliquer accept, vous devez vous connecter et clic droit sur l'icône de mojo bleu et cliquer sur "show cursor position". Une fenêtre apparaît vous donnant les chiffres, après vous placez la souris sur la case accept.
Il faut mettre la fenêtre d'invitation au même endroit sur TOUS les persos et ne pas la bouger


Hotkey2 attaquer

Hotkey 2 : Attaquer

Quand je vais vouloir attaquer en appuyant sur la touche V de mon clavier je vais avoir 3 choses :
- Ce que fais le driver (healer pac) : Stun la cible et après heal de groupe
- Ce que fais le heal aug : célérité et après heal de groupe
- Ce que font les hunters : flecher

Sur le heal pac (driver) le stun est en 1, le heal groupe en 2
sur le heal aug la célé est en 1, le heal groupe en 2
Sur les hunt la flèche standar est en 1

Le script va ressembler à :

Code:
hotkey ( V )   
{
   Package 
   {
      Sendto  ( driver  )   // Stun et heal de groupe
	  Key ( 1 ) // stun
	  Wait (1000) // attend 1s
	  Key ( 1 ) // re stun
	  Wait (1000) // attend 1s
	  Key ( 2 ) // heal de groupe
   }
   Package
   {
      Sendto ( aug  )  // Célérité et soin
      Key ( 1 ) 
	  Wait (1000)
	  Key ( 2 )
	  Wait (1000)
	  Key ( 2 )
   }
      Package 
   {
      Sendto  ( hunt1 hunt2 hunt3 hunt4 hunt5 hunt6 )   // tir normal
      Slash ("/assist Driver") // Les perso assistent le lead
	  wait (150) // 0.150s d'attente pour laisser le temps à l'assist de se faire
	  Key ( 1 )
	  Wait (1000)
	  Key ( 1 )
	  Wait (1000)
	  Key ( 1 )
   }

}

hotkey3 buffer

Hotkey 3 : Pour buffer en début la team

Alors les hunt n'ont pas beaucoup de buffs (on utilisera les buffs npc) mais on va préparer un script pour buff utile si jamais vous mourrez

Quand j'appuie sur F10 :
- Le driver envoie une pom sur lui + le aug + le buff respiration aquatique + le buff atlante et envoie un /gc buff xp
- Le aug envoie le speed + le chant resist + le proc heal
- Les chasseurs lancent leur série de buffs ( force, AF, d/v)

Les buffs sont placés sur la barre 3 emplacements 1 a X

Code:
   Hotkey ( F10 ) // buff the team
{
	Package
	{
   	Sendto  ( hunt1 hunt2 hunt3 hunt4 hunt5 hunt6  ) // buffs hunter
		Slash ("/qbar 3") // je passe sur la barre 3
		wait (200)
		Key ( 1 ) // buff 1
		wait (2000)
		Key ( 2 ) // buff 2
		wait (2000)
		Key ( 3 ) // buff 3
		wait(200)
		Slash ("/qbar 1") // je repasse sur la barre 1
		}
	Package
	{
	Sendto (aug )  //buff du aug
		Slash ("/qbar 2")
		wait (200)
		Key ( 1 ) // speed
		wait (2000)
		Key ( 2 ) // resist
		wait (2000)
		Key ( 3 ) // proc heal
		wait (200)
		Slash ("/qbar 1") // je repasse barre 1
	}
	Package
	{
	Sendto (Driver)  //
		Slash ("/qbar 2")
		wait (200)
		Slash ("/target aug")
		wait (250)
		Key ( 1  ) // pom
		wait (3000)
		Slash ("/target Driver")
		wait (250)
		Key (1) // pom
		wait (3000)
		Key ( 2 ) // water buff
		wait (200) 
		Key ( 3 ) // atlantean resist
		Slash ("/qbar 1")
		Slash ("/gc buff xp")
	}
}

Utiliser le script


Quand vous faites des modifs (je conseille notepad++ d'ailleurs, car si vous avez une erreur, mojo vous indiquera la ligne et vous pourrez la trouver facilement) sur le fichier texte, vous devez :
1/ sauvegarder (disquette)
2/ sur mojo vous devez aller dans l'onglet hotkeys et cliquer sur load pour prendre en compte les dernières modifs


Etape6 : aller plus loin


D'autres fonctions

Bien sûr ce script ne va pas vous permettre d'aller très loin il faudra peut être ajouter d'autres fonctions :

- rezz
- remettre les buffs
- d'autres hotkey d'attaque selon les situations
- peut être prévoir de gérer l'eau (monter, descendre)
- sticker votre lead
- couper les hotkey quand vous tapez dans le chat
- etc etc etc
Du coup chaque besoin un hotkey et une manière de le programmer

exemple pour stick le lead :

Code:
Hotkey ( F4 ) //stick driver
{
   	Sendto ( hunt1 hunt2 hunt3 hunt4 hunt5 hunt6 aug )
	Slash ("/target Driver")
	wait (100)
	Slash ("/stick") // stick
    Wait ( 50 )
    Slash ( "/stick" )  
    Wait ( 50 )
    Slash ( "/stick" )  
    Wait ( 50 )
    Slash ( "/stick" )  
    Wait ( 50 )
    Slash ( "/stick" ) 
}
Ou pour couper les hotkey pendant que vous tapez sur le chat :

Code:
Hotkey ( Enter Passthrough )
{
    
   ToggleHotkeys ()
}
Celui là est un peu spécial, à chaque fois que vous appuyez sur Entrer, il active ou desactive les hotkey
Les hotkey sont activés
Vous appuyez sur entrer, le chat s'ouvre, les hotkey se coupent
Vous tapez votre message, appuyez sur entrer, le message s'envoie, les hotkey se réactivent

Un hotkey pour écrire quelque chose pour tous les persos (par exemple pour TP ou faire une quête en /s )

Code:
Hotkey ( F12 ) // ECHO
{
   Echo (  )
}

Structure de hotkey exemple

Et en cadeau la structure de ce que j'ai présenté ici :

Fichier macro mid hunter (pas fini ma team est level 1)

Code:
#include "D:\Documents\mojo scripts\communs.txt"

Hotkey ( F11 ) 
{
	Package
	{
   	Sendto (Driver)
	Slash ("/invite hunt1")
	Slash ("/invite hunt2")
	Slash ("/invite hunt3")
	Slash ("/invite hunt4")
	Slash ("/invite hunt5")
	Slash ("/invite hunt6")
	Slash ("/invite aug")
	}
	
	Package
	{
	Wait ( 5000 )
	ClickMouse ( Lbutton 627 432 ) // accept invitation
	}
	Package
   {
      Sendto ( hunt1 hunt2 hunt3 hunt4 hunt5 hunt6 aug )   // clientsleep background
	  Slash ("/clientsleep background")
	  }
   
	
}
Hotkey ( T ) //BG invite
{
   	Package
	{
	Sendto (Driver)
	Slash ("/bg invite hunt1")
	Slash ("/bg invite hunt2")
	Slash ("/bg invite hunt3")
	Slash ("/bg invite hunt4")
	Slash ("/bg invite hunt5")
	Slash ("/bg invite hunt6")
	Slash ("/bg invite aug")
	}
	Package
	{
	Wait ( 4000 )
	ClickMouse ( Lbutton 627 432 ) // accept invitation
	}
	Package
	{
	Sendto (Driver)
	Slash ("/bg loot treasurer")
	Slash ("/bg lootlevel 35")
	Slash ("/bg treasurer nomdudriver")
	}
	
}
Hotkey ( F4 ) //stick driver
{
   	Sendto ( hunt1 hunt2 hunt3 hunt4 hunt5 hunt6 aug )
	Slash ("/target Driver")
	wait (100)
	Slash ("/stick") // stick
    Wait ( 50 )
    Slash ( "/stick" )  
    Wait ( 50 )
    Slash ( "/stick" )  
    Wait ( 50 )
    Slash ( "/stick" )  
    Wait ( 50 )
    Slash ( "/stick" ) 
}

Hotkey ( F3 ) //stick driver's target
{
   	Sendto ( hunt1 hunt2 hunt3 hunt4 hunt5 hunt6 aug )
	Slash ("/assist Driver")
	wait (100)
	Slash ("/stick") // stick
    Wait ( 50 )
    Slash ( "/stick" )  
    Wait ( 50 )
    Slash ( "/stick" )  
    Wait ( 50 )
    Slash ( "/stick" )  
    Wait ( 50 )
    Slash ( "/stick" ) 
}


hotkey ( C )  //  face
{
	Sendto  ( hunt1 hunt2 hunt3 hunt4 hunt5 hunt6 )   
    Slash ("/assist Driver")
	wait (200)
    Slash ("/face") 
   
}
hotkey ( V )   
{
   Package 
   {
      Sendto  ( driver  )   // Stun et heal de groupe
	  Key ( 1 ) // stun
	  Wait (1000) // attend 1s
	  Key ( 1 ) // re stun
	  Wait (1000) // attend 1s
	  Key ( 2 ) // heal de groupe
   }
   Package
   {
      Sendto ( aug  )  // Célérité et soin
      Key ( 1 ) 
	  Wait (1000)
	  Key ( 2 )
	  Wait (1000)
	  Key ( 2 )
   }
      Package 
   {
      Sendto  ( hunt1 hunt2 hunt3 hunt4 hunt5 hunt6 )   // tir normal
      Slash ("/assist Driver") // Les perso assistent le lead
	  wait (150) // 0.150s d'attente pour laisser le temps à l'assist de se faire
	  Key ( 1 )
	  Wait (1000)
	  Key ( 1 )
	  Wait (1000)
	  Key ( 1 )
   }

}

   Hotkey ( F10 ) // buff the team
{
	Package
	{
   	Sendto  ( hunt1 hunt2 hunt3 hunt4 hunt5 hunt6  ) // buffs hunter
		Slash ("/qbar 3") // je passe sur la barre 3
		wait (200)
		Key ( 1 ) // buff 1
		wait (2000)
		Key ( 2 ) // buff 2
		wait (2000)
		Key ( 3 ) // buff 3
		wait(200)
		Slash ("/qbar 1") // je repasse sur la barre 1
		}
	Package
	{
	Sendto (aug )  //buff du aug
		Slash ("/qbar 2")
		wait (200)
		Key ( 1 ) // speed
		wait (2000)
		Key ( 2 ) // resist
		wait (2000)
		Key ( 3 ) // proc heal
		wait (200)
		Slash ("/qbar 1") // je repasse barre 1
	}
	Package
	{
	Sendto (Driver)  //
		Slash ("/qbar 2")
		wait (200)
		Slash ("/target aug")
		wait (250)
		Key ( 1  ) // pom
		wait (3000)
		Slash ("/target Driver")
		wait (250)
		Key (1) // pom
		wait (3000)
		Key ( 2 ) // water buff
		wait (200) 
		Key ( 3 ) // atlantean resist
		Slash ("/qbar 1")
		Slash ("/gc buff xp")
	}
}
Hotkey (F8) // Rezz a dead
{
	Package
	{
	Sendto (aug) //Rezz
		Slash ("/assist driver") 
		Wait (200)
		Key (0) // rezz placé sur la touche 0
	}
	Package
	{
	Wait ( 2000 )
	ClickMouse ( Lbutton 597 428 ) // accept rezz
	}
}

Hotkey (F5) // Rebuff a dead
{
	Package
	{
	Sendto (aug) // rebuff  aug
		Slash ("/assist Driver") 
		Wait (200)
		Slash ("/qbar 2")
		wait (200)
		Key ( 1 ) // buff dext
		wait (2000)
		Key ( 2 ) // buff santé
		wait (2000)
		Slash ("/qbar 1")
	}
		
}

   Hotkey ( F9 ) // refreshing selfs
{
		Package
	{
   	Sendto  ( hunt1 hunt2 hunt3 hunt4 hunt5 hunt6  ) // buffs hunter
		Slash ("/qbar 3") // je passe sur la barre 3
		wait (200)
		Key ( 1 ) // buff 1
		wait (2000)
		Key ( 2 ) // buff 2
		wait (2000)
		Key ( 3 ) // buff 3
		wait(200)
		Slash ("/qbar 1") // je repasse sur la barre 1
		}
	Package
		{
	Sendto (driver)  //refreshing
		Slash ("/qbar 2")
		wait (200)
		Key ( 2 ) // water buff
		wait (200)
		Key ( 3 ) // Atlante
		Slash ("/qbar 1")
		}
	Package
		{
	Sendto (aug)  //refreshing
		Slash ("/qbar 2")
		wait (200)
		Key ( 3) // heal proc
		Slash ("/qbar 1")
		}

}
Pour les plus fins vous remarquez cette ligne :

#include "D:\Documents\mojo scripts\communs.txt"

Qui est présente dans tous mes scripts : elle appelle un fichier nommé communs.txt qui regroupe toutes les fonctions de base base comme par exemple cliquer sur F1 sprint etc

Code:
Defaults { foreground(daoc) }
Hotkey ( Enter Passthrough )
{
    
   ToggleHotkeys ()
}

Hotkey ( NumpadEnter Passthrough )
{
    
   ToggleHotkeys ()
}

Hotkey ( divide Passthrough )
{
    
   ToggleHotkeys ()
}


Hotkey (LShift R passthrough )
{
   ToggleHotkeys ()
}
Hotkey ( M )
{
   PortTeam (  )
}

Hotkey (F1) //sprint
{
    Key (Space)
}

Hotkey ( Y ) //eau up
{
   Key ( Q )
}

Hotkey ( U ) //eau down
{
   Key ( w )
}


Hotkey ( F12 ) // ECHO
{
   Echo (  )
}


Hotkey ( Ctrl LButton press passthrough )
{
   Sendto ( local_background remote )
   ClickMouse ( press )
}

Hotkey ( Ctrl LButton release passthrough )
{
   Sendto ( local_background remote )
   ClickMouse ( release )
}



Hotkey ( Alt RButton press passthrough )
{
   Sendto ( local_background remote )
   ClickMouse ( press )
}

Hotkey ( Alt RButton release passthrough )
{
   Sendto ( local_background remote )
   ClickMouse ( release )
}





Hotkey ( Plus ) // accept invitations
{
ClickMouse ( Lbutton  620 433 ) // accept windows
}
Salut Fugo,

Pour le moment, je n'arrive pas à utiliser les touches suivantes:


Hotkey (F1) //sprint
{
Key (Space)
}

Hotkey ( Y ) //eau up
{
Key ( Q )
}

Hotkey ( U ) //eau down
{
Key ( w )
}


J'avais certains raccourcis utilisés dans mon script, j'ai tout modifié donc le U ou le Y ne sont pas utilisés. Mais, impossible d'entrer tous ensemble dans l'eau ou de sprint.
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés