Archives des forums MMO/MMORPG > Neverwinter Nights > NWN - Maskado > Requete (en deux temps)
Requete (en deux temps)
Par Blam le 12/8/2002 à 12:16:26 (#1950119)
je suis totalement nul en script.
J'ai besoin de deux ou trois personnes sachant "scripter" pour l'élaboration de cette campagne car la majorité des scripts doivent etre faits sur mesure.
Ceux qui sont interressé, sont priés de me contacter sur ce forum.
Mais attention c'est du boulot et cela va prendre beaucoup de temps vu que c'est un boulot de longue haleine (bien 3 a 6 mois de boulot intensif).
2) J'ai besoin actuellement d'un petit script que je n'arrive pas a bien mettre au point en modifiant des scripts existants.
Il me faut pour un NPC assassin (voleur) que des l'entrée d'un personnage joueur d'une certaine classe, il se dirige vers lui sans rien dire et sans etre agressif (donc pas en rouge) puis l'attaque sans rien dire( la il devient hostile).
Meme script mais le tri se fait en fonction de l'alignement (meme effets)
Merci d'avance...............(je sais j'ai l'air de passer une commande au père noel ! :) )
à essayer
Par folrith le 12/8/2002 à 15:33:16 (#1951113)
Je viens d'aller sur les vault et j'ai trouver un scripte qui pourrait repondre à ta question : en fait l'assassin attaque lorsque le pj entre dans un trigger ...
J'ai pas eu le tps de le tester ...
Tu me diras quoi
//::///////////////////////////////////////////////
//:: FileName at_029
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 7/17/2002 5:38:18 PM
//:://////////////////////////////////////////////
#include "nw_i0_generic"
void main()
{
// Set the faction to hate the player, then attack the player
// this next statement is because after the attack, I want the attacker to hate the PCs, he is attacking the PCs friend and guide.
AdjustReputation(GetEnteringObject(), GetObjectByTag("BadGuy"), -100);
// this statement makes the assassin, or oAttacker hate the oTarget or the PCs guide.
AdjustReputation(GetObjectByTag("Target"),GetObjectByTag("BadGuy"),-100);
object oAttacker = GetObjectByTag ("BadGuy");
object oTarget = GetObjectByTag ("Target");
// these two following statements didnt work for me, I had to use the adjustrep statements above.
//SetIsTemporaryEnemy (oTarget, oAttacker, FALSE);
//SetIsTemporaryEnemy (oAttacker, oTarget, FALSE);
AssignCommand (oAttacker, DetermineCombatRound(oTarget));
AssignCommand (oAttacker, ActionAttack (oTarget));
}
(me demande pas la traduction ... pfff ... je suis une veritable quiche) ...
@ +
voila pourquoi je demande du sur mesure
Par Blam le 13/8/2002 à 12:34:56 (#1955606)
C'est vraiment délicat a faire ce script !
merci tout de meme
Par tonton le grognon le 13/8/2002 à 13:05:24 (#1955784)
un exemple ce script que j'utilise sur une conversation sur le "action taken" qui provoque l'attaque du NPC et des ses amis (de la meme faction) sur le pj (ou le groupe de pj) avec lequel il parle...
#include "nw_i0_generic"
//void main()
//{
// Set the faction to hate the player, then attack the player
// AdjustReputation(GetPCSpeaker(), OBJECT_SELF, -100);
// DetermineCombatRound(GetPCSpeaker());
//}
void main()
{
// Define variables
object oPC = GetPCSpeaker();
object oAssassin;
int nNth = 1;
string sTag;
// Get the tag of the speaking NPC and find the next person with the same tag.
sTag = GetTag(OBJECT_SELF);
oAssassin = GetNearestObjectByTag(sTag,OBJECT_SELF, nNth);
// Change the Reputation of the NPCs faction to 0 and tell the speaking NPC to attack.
//AdjustReputation(oPC, OBJECT_SELF, -100);
//ActionAttack(oPC, FALSE);
AdjustReputation(GetPCSpeaker(), OBJECT_SELF, -100);
DetermineCombatRound(GetPCSpeaker());
// Find all the NPC's friends and systematically tell them to attack the PC.
while(GetIsObjectValid(oAssassin) == TRUE)
{
nNth++;
AssignCommand(oAssassin, ActionAttack(oPC,FALSE));
oAssassin = GetNearestObjectByTag(sTag,OBJECT_SELF, nNth);
}
}
tres bon mais...
Par Blam le 13/8/2002 à 13:12:12 (#1955819)
Pour etre plus precis, je voudrais que l'assassin s'approche comme pour parler au joueur, sans etre hostile, et que arrivé a coté de lui il le devienne et attaque par surprise. Il n'est pas important que les autres pnj l'attaque a ce moment la, puisque des qu'il lui reste 10% de ses points de vies l'assassin va disparaitre (script en cours)
:)
M'ci Tonton.............heuuu dis tonton pourquoi tu tousses ?
Bon, mon projet avance
Par Blam le 16/8/2002 à 8:20:10 (#1968838)
Je n'y connais rien, quel language est ce que je puisse acheter un bouquin ou deux et m'y mettre sérieusement ?
merci a tous
Par Kemay le 16/8/2002 à 9:59:19 (#1969064)
void main()
{
object oPC = GetEnteringObject();
object oAssassin = GetObjectByTag("Tag_Assassin");
if(GetIsPC(oPC) )
{
SendMessageToPC(oPC,"Assassin: "+GetName(oAssassin));
AssignCommand(oAssassin,ActionSpeakString(GetName(oPC)+"! Un instant, j'ai une information importante vous communiquer !"));
AssignCommand(oAssassin,ActionMoveToObject(oPC));
AssignCommand(oAssassin,ActionSpeakString("On m'a chargé de vous dire que..."));
AssignCommand(oAssassin,ActionDoCommand(AdjustReputation(oPC,oAssassin,-100)));
AssignCommand(oAssassin,ActionAttack(oPC));
AssignCommand(oAssassin,ActionSpeakString("L'heure de votre mort a sonné!"));
}
}
Voilà tu places ce script dans l'event onEnter d'une area ou d'un trigger selon ce que tu veux exactement. Tu changes "Tag_Assassin" par le tag de ton NPC assassin et ça devrait marcher. n'oublie pas de créer une faction à ton assassin si tu ne veux pas que tous les commoners/marchands/defenders deviennent hostiles au PC. ;)
Impeccable
Par Blam le 17/8/2002 à 9:09:30 (#1973791)
ca devient impeccable tout ca et mes scénarii s'enrichissent de petites choses qui ont l'air de rien mais qui donnent une toute autre impression .
Encore merci.
JOL Archives 1.0.1
@ JOL / JeuxOnLine