Archives des forums MMO/MMORPG > Neverwinter Nights > NWN - Maskado > Ca m interesse mais ca marche pas !
Ca m interesse mais ca marche pas !
Par ruru666 le 30/10/2002 à 11:35:59 (#2438838)
1.Créez un Garde (tag "GUARD" pour l'exemple), dans l'environnement de la zone à protéger.Il peut être en train de faire une ronde, cela n'affecte pas le script.
S'assurer qu'il est neutre au PC.
2. Dessinez une zone avec un generic trigger, définissant la zone interdite à proteger(assurez vous de la taille du trigger, car le NPC redeviendra neutre dès sorti de la zone)
3. Placer le script 1 sur le OnEnter
4. Placer le script 2 sur le OnExit
script :
////////////////////////////////////////////////////
//:de Karthal
//:Modifié et traduit par MrCocktail pour NWN-fr.com
//:Script 1 à mettre sur le OnEnter
////////////////////////////////////////////////////
void main()
{
object oPC = GetExitingObject();
if (GetIsPC(oPC))
{
object oGuard1 = GetObjectByTag("GUARD");
SetIsTemporaryEnemy(oPC, oGuard1);
SendMessageToPC(oPC, "Eh! Vous, arretez!");
}
}
////////////////////////////////////////////////////
//:de Karthal
//:Modifié et traduit par MrCocktail pour NWN-fr.com
//:Script 2 à mettre sur OnExit
////////////////////////////////////////////////////
void main()
{
object oPC = GetEnteringObject();
if (GetIsPC(oPC))
{
object oGuard1 = GetObjectByTag("GUARD");
SetIsTemporaryFriend(oPC, oGuard1, TRUE, 15.0);
SendMessageToPC(oPC, "Que je ne vous y reprenne plus!");
}
}
moi chuis nule en script (j avoue) mais deja il me semble k il sont inversé non ? ensuite et de toute facon ca a pa l air de marcher alors ?...
:confus: :confus:
Par miriandel le 30/10/2002 à 12:36:29 (#2439467)
Ca fait déjà une piste :)
Par ruru666 le 30/10/2002 à 14:27:11 (#2440587)
Par ruru666 le 30/10/2002 à 14:59:02 (#2440896)
Pourtant je suis sure ke vous pouvez m arrange cela en 2 coup de cuierre a pot !! :merci:
Par miriandel le 30/10/2002 à 15:20:48 (#2441088)
Tu n'as pas oublié les clearallactions non plus ?
Par ruru666 le 31/10/2002 à 8:35:19 (#2446395)
1- g trouve un script sur le site nwn-fr (voir adresse plus haut) DONC ce n est pas mon script je suis NUL en script, je v cherche les scripts pour MON avanture car je joue a ADD dpuis 16 ans (la je suis nettement moins nul)
2- Le script permet a un guard (ou autre), de proteger une zone et donc devenir temporairement enemi face a celui ki entre dans ladite zone (trigger)
3- voila les instructions du CREATEUR :
OBJECTIF / Commentaire : Voici un ensemble de deux petits scripts qui font qu'un garde vous chopant en train de vous évader de prison, ou de dépasser une aera interdite (l'entrée d'un discothèque en baskets par exemple), etc...., devient votre ennemi, mais se calme si vous rebroussez chemin.
1.Créez un Garde (tag "GUARD" pour l'exemple), dans l'environnement de la zone à protéger.Il peut être en train de faire une ronde, cela n'affecte pas le script.
S'assurer qu'il est neutre au PC.
2. Dessinez une zone avec un generic trigger, définissant la zone interdite à proteger(assurez vous de la taille du trigger, car le NPC redeviendra neutre dès sorti de la zone)
3. Placer le script 1 sur le OnEnter
4. Placer le script 2 sur le OnExit
script :
////////////////////////////////////////////////////
//:de Karthal
//:Modifié et traduit par MrCocktail pour NWN-fr.com
//:Script 1 à mettre sur le OnEnter
////////////////////////////////////////////////////
void main()
{
object oPC = GetExitingObject();
if (GetIsPC(oPC))
{
object oGuard1 = GetObjectByTag("GUARD");
SetIsTemporaryEnemy(oPC, oGuard1);
SendMessageToPC(oPC, "Eh! Vous, arretez!");
}
}
////////////////////////////////////////////////////
//:de Karthal
//:Modifié et traduit par MrCocktail pour NWN-fr.com
//:Script 2 à mettre sur OnExit
////////////////////////////////////////////////////
void main()
{
object oPC = GetEnteringObject();
if (GetIsPC(oPC))
{
object oGuard1 = GetObjectByTag("GUARD");
SetIsTemporaryFriend(oPC, oGuard1, TRUE, 15.0);
SendMessageToPC(oPC, "Que je ne vous y reprenne plus!");
}
}
SVP AIDEZ MOI LES EXPERT J ADORE CE TRUC !!! et en plus ca va bien m'aider car masteriser avec 5 foux du roleplay ca va etre chaud bouillant !!! vive les pauses
;)
Par Stritis le 31/10/2002 à 10:09:01 (#2446859)
////////////////////////////////////////////////////
//:de Karthal
//:Modifié et traduit par MrCocktail pour NWN-fr.com
//:Script 1 à mettre sur le OnEnter
////////////////////////////////////////////////////
void main()
{
object oPC = GetExitingObject();
if (GetIsPC(oPC))
{
object oGuard1 = GetObjectByTag("GUARD");
SetIsTemporaryEnemy(oPC, oGuard1);
SendMessageToPC(oPC, "Eh! Vous, arretez!");
}
}
////////////////////////////////////////////////////
//:de Karthal
//:Modifié et traduit par MrCocktail pour NWN-fr.com
//:Script 2 à mettre sur OnExit
////////////////////////////////////////////////////
void main()
{
object oPC = GetEnteringObject();
if (GetIsPC(oPC))
{
object oGuard1 = GetObjectByTag("GUARD");
SetIsTemporaryFriend(oPC, oGuard1, TRUE, 15.0);
SendMessageToPC(oPC, "Que je ne vous y reprenne plus!");
}
}
Voila deja c'est mieux sinon je peux pas t'aider :(
Dans le script il faut mettre le garde "neutre" envers le PJ l'a tu fais:confus:
Par ruru666 le 31/10/2002 à 19:28:32 (#2451506)
Par Stritis le 31/10/2002 à 19:46:39 (#2451619)
////////////////////////////////////////////////////
//:de Karthal
//:Modifié et traduit par MrCocktail pour NWN-fr.com
//:Script 1 à mettre sur le OnEnter
////////////////////////////////////////////////////
void main()
{
object oPC = GetEnteringObject();
if (GetIsPC(oPC))
{
object oGuard1 = GetObjectByTag("GUARD");
SetIsTemporaryFriend(oPC, oGuard1, TRUE, 15.0);
SendMessageToPC(oPC, "Que je ne vous y reprenne plus!");
}
}
////////////////////////////////////////////////////
//:de Karthal
//:Modifié et traduit par MrCocktail pour NWN-fr.com
//:Script 2 à mettre sur OnExit
////////////////////////////////////////////////////
void main()
{
object oPC = GetExitingObject();
if (GetIsPC(oPC))
{
object oGuard1 = GetObjectByTag("GUARD");
SetIsTemporaryEnemy(oPC, oGuard1);
SendMessageToPC(oPC, "Eh! Vous, arretez!");
}
}
Bon voila le script en couleur et corrige (enfin je crois :D ) et ensuite tu fais ce qu'il te dise :mdr: (je peux pas vraiment t'aider desole)
Par ruru666 le 1/11/2002 à 9:57:29 (#2454341)
Par Jedaï le 1/11/2002 à 11:14:44 (#2454649)
Alors je te propose plutôt ça :
////////////////////////////////////////////////////
//:de Karthal
//:Modifié et traduit par MrCocktail pour NWN-fr.com
//:Script 1 à mettre sur le OnEnter
////////////////////////////////////////////////////
#include "nw_i0_generic"
void main()
{
object oPC = GetEnteringObject();
if (GetIsPC(oPC))
{
object oGuard1 = GetObjectByTag("GUARD");
SetIsTemporaryEnemy(oPC, oGuard1);
AssignCommand(oGuard1, ClearAllActions());
AssignCommand(oGuard1, SpeakString("Eh! Vous, arretez!"));
AssignCommand(oGuard1, DetermineCombatRound(oPC));
}
}
////////////////////////////////////////////////////
//:de Karthal
//:Modifié et traduit par MrCocktail pour NWN-fr.com
//:Script 2 à mettre sur OnExit
////////////////////////////////////////////////////
void main()
{
object oPC = GetExitingObject();
if (GetIsPC(oPC))
{
object oGuard1 = GetObjectByTag("GUARD");
SetIsTemporaryFriend(oPC, oGuard1, TRUE, 15.0);
AssignCommand(oGuard1, ClearAllActions());
AssignCommand(oGuard1, SpeakString("Que je ne vous y reprenne plus!"));
}
}
Peut-être que ça ça marchera mieux ? (C'est pas sûr, NWN gère son IA bizarrement).;)
Et il faut bien mettre le garde dans une faction neutre vis-à-vis des PCs.
Edit : après quelques corrections, ils se compilent , reste à voir s'ils marchent !:D
Par ruru666 le 1/11/2002 à 14:20:28 (#2455721)
Par ruru666 le 3/11/2002 à 17:39:28 (#2470661)
JOL Archives 1.0.1
@ JOL / JeuxOnLine