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

Panneau de contrôle

Recherche | Retour aux forums

JOL Archives

Ca m interesse mais ca marche pas !

Par ruru666 le 30/10/2002 à 11:35:59 (#2438838)

g trouve un script sur http://www.hellfire.firstream.net/ mais ca fonctionne pas alors des experts dans le coin ?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!");
}
}

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)

Tu as mis GetEnteringObject sur la sortie et GetExitingObject sur l'entrée.

Ca fait déjà une piste :)

Par ruru666 le 30/10/2002 à 14:27:11 (#2440587)

en effet ca j avais trouve tout seul, mais ca marche pa ken meme alors ?.............

Par ruru666 le 30/10/2002 à 14:59:02 (#2440896)

On dirait ke mes experts ne sont pa la pour me sauver aujourd hui... :sanglote:

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)

Ben corrige ton script, formatte-le en PHP pour le rendre lisible et puis décris ce qui ne marche pas, ça aidera, non ?

Tu n'as pas oublié les clearallactions non plus ?

Par ruru666 le 31/10/2002 à 8:35:19 (#2446395)

Je reprends depuis le debut :

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)

C'est a dire le garde neutre ?? ou ca ?? et ton script ca serais pa le meme ke celui ke g pomper avec des couleurs ?? non franchement personne ne veux m aider alors ??? personne n a la solution ??

Par Stritis le 31/10/2002 à 19:46:39 (#2451619)

Oui c'est le meme . Bein en faites pour le mettre neutre il faut (enfin je crois) se servir des factions mais bon je dis ça au pif


////////////////////////////////////////////////////
//: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)

bien je te remercie de ton aide je v essayer si d otres expert lise le post AIDER MOI SVP !!!

Par Jedaï le 1/11/2002 à 11:14:44 (#2454649)

Aucune chance que ça marche comme ça : SetIsTemporaryFriend() doit être dans le OnExit pas dans le OnEnter:o

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)

ha ok je v tester ca plus tard car la boulo (oui un jour ferrier :hardos: )

Par ruru666 le 3/11/2002 à 17:39:28 (#2470661)

Bravo ca marche a merveille sans changer koi ke ce soit au guarde !!! merci a toi !!!

JOL Archives 1.0.1
@ JOL / JeuxOnLine