Bienvenue sur JeuxOnLine - MMO, MMORPG et MOBA !
Les sites de JeuxOnLine...
 

Panneau de contrôle

Recherche | Retour aux forums

JOL Archives

question sur les factions (peut-être)

Par Le Hamster le 16/9/2002 à 9:44:20 (#2165842)

Imaginez la situation suivante. Nous avons, dans une area (sous-sols de chateau), 3 types de personnages :

- 1 prisonnier
- des gardes qui vont et viennent (interdit de circuler dans la zone pour des pc, les gardes attaquent à vue)
- Parmi ces gardes 1 qui peut aider le pc (appelons le Ken).

Le but pour un voleur est de délivrer le prisonnier SANS être vu.
Malheureusement, il y a un garde devant la porte de la cellule, garde boosté dans la surveillance (trop difficile pour le voleur même en mode caché).

Le but est de scripter tout ça (ou paramètrer) pour que la solution soit la suivante.

Le voleur doit trouver Ken. Après un dialogue Ken offre son aide. Il se déplace vers le garde de la cellule et lui parle. Puis ils s'éloignent tous les deux, franchissent une porte laissant deux minutes de répit au voleur pour libérer le prisonnier.

J'espère que c'est solutionnable.

Bises à tous et à toutes.
Merci d'avance.

C'est faisable

Par Jedaï le 16/9/2002 à 18:33:06 (#2168786)

Un script de ce type dans le Action Taken de la dernière réponse du PC à Ken :


void main()
{

object oKen = OBJECT_SELF;
object oGuard = GetObjectByTag("ElitGuard");
object oCafe = GetWaypointByTag("SalleDeGarde");

ActionMoveToObject(oGuard);
ActionSpeakString("Allez mon vieux, il ne va pas s'envoler ce prisonnier, viens prendre une bonne bière !");
ActionDoCommand(AssignCommand(oGuard, ClearAllActions()));
ActionDoCommand(DelayCommand(1.0, AssignCommand(oGuard, ActionSpeakString("OK, t'as raison, je viens ! Mais juste deux minutes !"))));
ActionDoCommand(DelayCommand(1.5, AssignCommand(oGuard, ActionMoveToObject(oCafe))));
ActionDoCommand(DelayCommand(1.3, ActionMoveToObject(oCafe)));
ActionDoCommand(DelayCommand(122.0, ActionMoveToObject(GetWaypointByTag("POST_KEN"))));
ActionDoCommand(DelayCommand(122.5, AssignCommand(oGuard, ActionMoveToObject(GetWaypointByTag("POST_ELITGUARD")))));


}

:monstre:

Voilà, tu auras noté la création de trois waypoints : "SalleDeGarde", "POST_KEN", "POST_ELITGUARD"

J'admet qu'on pourrait faire plus simple en fractionnant le problème en plusieurs scripts mais j'aime bien me complexifier la vie ! :mdr:

Par Jedaï le 16/9/2002 à 19:04:50 (#2169047)

Pour les factions tu crée une faction pour les gardes normaux (à partir des commoners par exemple) que tu mets hostile par rapport aux PCs, tu crée une faction pour Ken ou tu l'intègre à une faction standard (commoner, merchant...).
Pour faire faire les rondes tu mets le même tag à tous les gardes tu fout plein de waypoint dans l'area et tu les sélectionne tous, clic droit , créer un set/groupe (j'sais pu), tu les appelles WP_letagdesgardes.

JOL Archives 1.0.1
@ JOL / JeuxOnLine