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

Panneau de contrôle

Recherche | Retour aux forums

JOL Archives

Faction Drows

Par Miragul le 26/9/2002 à 15:03:34 (#2236411)

Une question bête:

Mon module est composé essentillement de Drows, je voudrais faire en sorte que les gardes attaquent à vue les non drows (PJ) dans certaine zone.

Je sais qu'il est possible de faire réagir les PNJ face aux alignements mais y a t-il un script similaire pour les races ?

Par Tyn' le 26/9/2002 à 15:05:57 (#2236428)

Si tous tes PNJs Drows ont la sous-race "Drow", tu peux ajouter un script dans OnPerception qui test la sous-race du PJ, et si elle est différente de "Drow", lui coller un ActionAttack :)

Par Mastokk le 26/9/2002 à 15:08:58 (#2236443)

Il y a un modificateur de faction je crois. Tu crées une faction spéciale pour tes gardes. Ca devrait te donner un truc du genre:

- Faction Garde : Amie avec Faction Drows habituelle ; Ennemie avec Faction PJ.
- Faction Drows : Amie avec Faction Gardes et Faction PJ (ou neutre)

Par Miragul le 26/9/2002 à 15:17:02 (#2236496)

Mais les PJ n'ont pas de faction non ? Et même si il y en avait une, ils ne peuvent pas avoir tous la même vue que mes groupes sont mixte (Elfe noir, nain et humain)

Tyn, les PNJ Gardes ont tous Drow dans la race, tu as le script à mettre dans OnPerception ?

Par Mastokk le 26/9/2002 à 15:24:20 (#2236552)

Bhaa justement, les reactions des PNJ face aux PJ et entre eux se font par rapport aux factions de chacun. J'avais trouvé il y a 1 mois et demi où on tripatouillait tout ca. Tu peux régler l'aggressivité de chacune des factions par rapport aux autres. je vais essayer de retrouver où ca se bidouille et voir ce qu'il est possible de faire.

Par Mastokk le 26/9/2002 à 15:29:51 (#2236605)

Voila, tu vas dans "Tools", "Faction editor" et tu crées une nouvelle Faction "Garde" par exemple, et la tu la règle par rapport aux PJ.

Dans advanced, en selectionnant toutes les faction, tu peux voir leur état les unes par rapport aux autres :). Amuse toi bien :D

Par Miragul le 26/9/2002 à 15:30:17 (#2236607)

Oui, il ne permet que de les regler entre PNJ. Les PJ n'ont pas de faction.

Par Mastokk le 26/9/2002 à 15:31:34 (#2236616)

Bha si ta nouvelle faction est hostile envers les PJ elle va les attaquer et toi tu n'as plus qu'à la rendre amicale envers les autres factions.

Par Miragul le 26/9/2002 à 15:40:42 (#2236679)

Non, tu n'as pas compis ;). Je ne veux pas que mes PNJ aient une faction, je veux juste qu'ils attaquent les PJ non drows, je sais c'est :hardos:

C'est gentil de m'aider :D

je pense que Tyn' était sur la bonne voie, mais il ne repond pas :sanglote:

Par Mastokk le 26/9/2002 à 15:46:14 (#2236729)

heuu désolé j'ai mis PNJ à la place de PJ ;), me suis gouré ;), j'edit tt de suite.

Par Delis le 26/9/2002 à 16:14:12 (#2236910)

Il me semble que les PJs ont forcement une faction : la leur !

Il y a par defaut les factions : PJ, Hostile, Commoner, et Defender (de tete pour la derniere :) )

Par Miragul le 26/9/2002 à 16:31:10 (#2237015)

Oui, bien sûr mais elle n'est pas propre aux personnages, c'est une faction globale, ce qui n'a aucun rapport avec mon problème puisque je veux distingué les PJ qui se feront attaqués...

Par Tyn' le 26/9/2002 à 16:32:55 (#2237029)

Euh désolé :p

Donc ! A mettre dans OnPerception :

//::///////////////////////////////////////////////
//:: Default On Percieve
//:: NW_C2_DEFAULT2
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Checks to see if the perceived target is an
enemy and if so fires the Determine Combat
Round function
*/
//:://////////////////////////////////////////////
//:: Created By: Preston Watamaniuk
//:: Created On: Oct 16, 2001
//:: Updated By: Tynril
//:: Updated On: Sep 26, 2002
//:://////////////////////////////////////////////

#include "NW_I0_GENERIC"

void main()
{
//This is the equivalent of a force conversation bubble, should only be used if you want an NPC
//to say something while he is already engaged in combat.
if(GetSpawnInCondition(NW_FLAG_SPECIAL_COMBAT_CONVERSATION) && GetIsPC(GetLastPerceived()) && GetLastPerceptionSeen())
{
SpeakOneLinerConversation();
}
//If the last perception event was hearing based or if someone vanished then go to search mode
if ((GetLastPerceptionVanished()) && GetIsEnemy(GetLastPerceived()))
{
object oGone = GetLastPerceived();
if((GetAttemptedAttackTarget() == GetLastPerceived() ||
GetAttemptedSpellTarget() == GetLastPerceived() ||
GetAttackTarget() == GetLastPerceived()) && GetArea(GetLastPerceived()) != GetArea(OBJECT_SELF))
{
ClearAllActions();
DetermineCombatRound();
}
}
//Do not bother checking the last target seen if already fighting
else if(!GetIsObjectValid(GetAttemptedAttackTarget()) && !GetIsObjectValid(GetAttemptedSpellTarget()))
{
//Check if the last percieved creature was actually seen
if(GetLastPerceptionSeen())
{
if(GetBehaviorState(NW_FLAG_BEHAVIOR_SPECIAL))
{
DetermineSpecialBehavior();
}
else if(GetIsEnemy(GetLastPerceived()))
{
if(!GetHasEffect(EFFECT_TYPE_SLEEP))
{
SetFacingPoint(GetPosition(GetLastPerceived()));
SpeakString("NW_I_WAS_ATTACKED", TALKVOLUME_SILENT_TALK);
DetermineCombatRound();
}
}
//Linked up to the special conversation check to initiate a special one-off conversation
//to get the PCs attention
else if(GetSpawnInCondition(NW_FLAG_SPECIAL_CONVERSATION) && GetIsPC(GetLastPerceived()))
{
ActionStartConversation(OBJECT_SELF);
}
}
}
if(GetSpawnInCondition(NW_FLAG_PERCIEVE_EVENT) && GetLastPerceptionSeen())
{
SignalEvent(OBJECT_SELF, EventUserDefined(1002));
}
//:://// Debut de la modification "PNJ raciste"
string sMySubRace = GetSubRace(OBJECT_SELF);
object oLastPerceived = GetLastPerceived();
if(GetIsPC(oLastPerceived) && GetSubRace(oLastPerceived) != sMySubRace)
ActionAttack(oLastPerceived);
}
Le PNJ attaquera ainsi tous les joueurs qui ne sont pas de la même race que lui :)

Par Tyn' le 26/9/2002 à 16:41:27 (#2237067)

Je précise qu'il faut nommer le script autrement que NW_C2_DEFAULT2, pasque BioWare a mit une copie de ses scripts par défaut en override, donc si on le renomme pas il ne sera pas changé en jeu. :doute:

Par Miragul le 26/9/2002 à 16:49:47 (#2237134)

Le script de mes rêves !

Merci Tyn' ! :D

Par Tyn' le 26/9/2002 à 16:50:51 (#2237144)

C'est un plaisir :)

JOL Archives 1.0.1
@ JOL / JeuxOnLine