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

Panneau de contrôle

Recherche | Retour aux forums

JOL Archives

J'ai besoind d'un script!!!

Par Corwin Whitehorn le 18/10/2002 à 3:17:29 (#2355362)

Bon, oui suis completement quiche....

j'ai besoin d'un script qui rendrait tous les NPC d'une zone hostile

Ces NPC ont tous le meme tag

Ce script serait déclenché au passage sur un trigger par un des PC


Merci d'avance...

Par eMRaistlin le 18/10/2002 à 10:41:17 (#2356338)

s'ils ont tous le même tag, et la même faction, utilise plusieru methode :

- 1 : Une boucle while, dans laquelle tu repere tout les NPC, et tu fais ca :

void SetIsTemporaryEnemy(
object oTarget,
object oSource = OBJECT_SELF,
int bDecays = FALSE,
float fDurationInSeconds = 180.0f
);


- 2 : Un effet plus generique, qui ne fonctionne pas toujours tres bien pour rehausser une faction, mais devrait fonction tres bien pour rendre des gens inamicaux :

void AdjustFactionReputation(
object oTargetCreature,
object oMemberOfSourceFaction,
int nAdjustment
);


Je te suggere donc un script du genre :

On enter

void main()
{
object oPC=GetEnteringObject();
object oTarget = GetNearestObjectByTag("TAG", oPC,1);
int nCurrentRep = GetFactionAverageReputation(oTarget,oPC);

AdjustFactionReputation(oPC,oTarget, -nCurrentRep);
}


PS : je suis pas devant Aurora, si ca compile mal, essaye des corrections orthographiques..

Par Daynos le 18/10/2002 à 10:56:45 (#2356413)

Rappel pour tout le monde : essayez de trouver des titres clairs pour lancer vos sujets, merci :merci:

Ne comptez pas sur moi à chaque fois

Par Corwin Whitehorn le 18/10/2002 à 11:17:46 (#2356526)

Un grand merci! J'essaye tout de suite...



Et pardon pour le titre...

Par Corwin Whitehorn le 18/10/2002 à 20:12:36 (#2359432)

Bon, ca marche, mais le temps de réponses est un peu trop long...Le trigger est devant une porte, et j'ai le temps de la passer 10 fois avant que les monstres ne m'attaque...


Sorry...une modif?

Par eMRaistlin le 18/10/2002 à 21:58:47 (#2360070)

pas besoin de modif.. ca changerait rien... ca vient de la perception de tes monstres et de leur vitesse...

Tu devrait l'augmenter a Longue, et les faire se deplacer plus vite...

Sinon, tu peut rajouter une ligne de AssignCommand(ActionAttack()); juste apres...

un truc du genre :


void main()
{
object oPC=GetEnteringObject();
object oTarget = GetNearestObjectByTag("TAG", oPC,1);
int nCurrentRep = GetFactionAverageReputation(oTarget,oPC);

AdjustFactionReputation(oPC,oTarget, -nCurrentRep);
AssignCommand(ActionAttack(oPC));
}


dans les 2 cas, tu aura la meme chose... (toujours accorder les scripts avec les creature, c'est important ^^)

Par Corwin Whitehorn le 18/10/2002 à 22:20:25 (#2360238)

Merci je teste...

JOL Archives 1.0.1
@ JOL / JeuxOnLine