JeuxOnLineForumsPlusConnectés : 204 (sites) | 367 (forums)Créer un compte
Forum jeux-vidéo>Neverwinter Nights
Maskado
Les forums JOL > Forum jeux-vidéo > Neverwinter Nights > NWN - Maskado > [script]Revérouillage automatique des portes RSS
   
Répondre
Partager Outils Rechercher
Avatar de Ange Musicien
JOL Ange Musicien
Alpha & Oméga
 
Avatar de Ange Musicien
 
Un conseil : fais les 6 tutoriels pour les scripts, sont super cool, t'apprendra vite. Si tu demandes ce que c'est qu'un assigne... C'est grave
Enfin on a presque tous été des quiches, avant.

AssignCommand(...) est une fonction qui demande à un npc de faire quelque chose. Par conséquent tu la mets où tu veux . Ici, dans OnOpen.
Lien direct vers le message - Vieux
Avatar de Reyan
Reyan [L.D.D]
Roi / Reine
 
Avatar de Reyan
 
Citation:
Provient du message de Master_Prince
Comment on fait un assign et c koi un assign ?
Fo le mettre sur le perso, la porte, un objet ???
limite j'en ai utilisé un dans le script
en fait, la plupart des fonction qui demande de faire qq chose, le demande a celui qui execute ce script, en l'occurence, la porte. Donc comme c'est pas tjrs dumeilleur effet, ou bien une bonne idée, on utilise les "AssignCommand" pour demander à quelqu'un d'autre de le faire ^_^
vachement util tu verras
Lien direct vers le message - Vieux
Avatar de KzimiR666
KzimiR666
Dauphin
 
Avatar de KzimiR666
 
Lightbulb
Je sais pas pourquoi il y a tant de script sur ce topic pas simple et qui ne fonctionne pas non plus d'une manière simple...
Voilà un script qui permet de fermer ET de vérouiller une porte après 6 seconde d'ouverture :
Code PHP:
//::///////////////////////////////////////////////
//:: Fermeture automatique pares 6 secondes et reverouillage (OnOpen)
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
Un script a mettre dans TOUTES les portes de votres module ! lol
La porte se referme au bout de 6 seconde d'ouverture et surtout se reverouille
correctement (clef utilisable si la case est cochee) si le TAG de la porte est de type :
"tagdelaporte_lock"
Voila...
*/
//:://////////////////////////////////////////////
//:: Created By: Flavien Clermont (Kzimir666)
//:: Created On: 20 Octobre 2003
//:://////////////////////////////////////////////
void main()
{
DelayCommand(6.0ActionCloseDoor(OBJECT_SELF));
if(
GetStringRight(GetTag(OBJECT_SELF),5) == "_lock"ActionDoCommand(SetLocked(OBJECT_SELF,TRUE));

Voilà... C'est le script que j'utilise pour mon module persistant en cours de développement... Ultra simple et ultra fonctionnel !
Lien direct vers le message - Vieux
Avatar de Darkness Nights
Darkness Nights
Prince / Princesse
 
Avatar de Darkness Nights
 
Je sais que le topic est vieux mais voila, moi je voudrai que toute les portes de la zones ce ferme et soit verrouillé dé qu'il y a un combat dans le zone.

Quelqu'un peut me donné un coup de main ??
Lien direct vers le message - Vieux
Avatar de Morethil
Morethil
Roi
 
Avatar de Morethil
 
Citation:
Envoyé par Darkness Nigths
Je sais que le topic est vieux mais voila, moi je voudrai que toute les portes de la zones ce ferme et soit verrouillé dé qu'il y a un combat dans le zone.
Quelqu'un peut me donné un coup de main ??
Je pense qu'il faut que tu passe par un autre biais, en fonction de ta zone, et des créatures qui vont combattre.
Le plus simple a mon avis, c'est de mettre un script qui ferme toutes les portes si ta créature est attaquée.
Si tu as plusieurs créatures qui peuvent être attaquée, tu mets le script sur toutes les créatures, ou encore tu sélectionne les portes qui se ferment par leur tags. Tu peux meme faire 1 seul script qui récupère une variable locale sur la créature attaquée pour fermer telle ou telle porte.
Et si tu veux en fermer plusieurs avec une seule variable, tu utilise un GetStringLeft ou Right avec ta variable qui comporte les lettres a chercher.
Voila, bon courage. Et si tu ne vois pas la solution a partir de ce que je t'ai dit là, essaye de mieux reposer ton problème.
Lien direct vers le message - Vieux
Avatar de Darkness Nights
Darkness Nights
Prince / Princesse
 
Avatar de Darkness Nights
 
Ben en faite je veux mettre le même système que pour le repos, quand il y a un combat on peu plus se reposé. Je me demandai si on pouvait pas utilisé même principe.

Je prévient quand même que je suis une vrai bille en script.

PS: je veux pas en particulier qu'il soit en une seul variable mais c'est vrai que ça pourrai être avantageux.
Lien direct vers le message - Vieux
Avatar de Morethil
Morethil
Roi
 
Avatar de Morethil
 
Citation:
Envoyé par Darkness Nights
Ben en faite je veux mettre le même système que pour le repos, quand il y a un combat on peu plus se reposé. Je me demandai si on pouvait pas utilisé même principe.

Je prévient quand même que je suis une vrai bille en script.

PS: je veux pas en particulier qu'il soit en une seul variable mais c'est vrai que ça pourrai être avantageux.
Le truc c'est qu'on peux pas faire le script a ta place, d'autant que en fonction de la configuration de ton module il peux changer. Et meme si on te donne presque tous les elements, il vaut mieux que tu reconnaisses un peu ce qu'on te propose pour le comprendre, voir l'adapter.
Déja essaye de décrire cette configuration, c'est juste pour 1 combat contre une créature, contre plusieurs ? C'est dans plusieurs salles, dans une seule ? y'a combien de portes ?
Ce que tu veux faire ressemble a un piège, a moins que dans ton monde il soit impossible d'ouvrir une porte quand on est en combat ? Ce qui serait bizare.
Bref, donne quelque précisions, et on pourra sans doute te donner une base.
Lien direct vers le message - Vieux
Avatar de Darkness Nights
Darkness Nights
Prince / Princesse
 
Avatar de Darkness Nights
 
Ben en fait j'ai pas de module, je fait juste quelque zone pour un srv.

C'est lors d'un combat en générale, quelque soit la créature et l'endroit dans la zone ou l'on est. Un combat commence, les portes de la zone entière ce ferme...
Je doit avoir dans toute la zone environ 10 portes.

En gros si 2 PJ sont dans la zone a l'autre bout l'un de l'autre, celui en haut de la zone combat quelques créatures dû a un spawn, hop toutes les portes de la zone ce ferme et même le PJ qui est en bas et qui ne participe même pas au combat ce retrouve lui aussi enfermé.
Le seul moyen de sortir est de tué les créatures vu qu'on sais que pour réussir un bon jet de dés de déverrouillage il ne faut pas être en combat.
Donc en faite les script a mettre seront sur la zone et non le module vu qu'il n'agiront que dans cette zone.
Lien direct vers le message - Vieux
Avatar de Morethil
Morethil
Roi
 
Avatar de Morethil
 
J'ai cherché un peu, et pour le moment je propose ça, je ne sais pas si ça marche, mais tu as là dedan la plupart des fonctions utiles pour ton script.
C'est à placer dans le OnUserDefined de tes créatures attaquées car il me semble que la zone ne peux pas detecter si il y a un combat sur elle meme autrement qu'en demandant au créatures si elle sont en combat.

Code PHP:
void main()
{
int nUser GetUserDefinedEventNumber();
if (
nUser == 1005//attaquée
    
{
    
object oDoor GetFirstObjectInArea();
    while (
GetIsObjectValid(oDoor))
    {
    
int nType GetObjectType(oDoor);
    if(
nType == OBJECT_TYPE_DOOR)
        {
        
AssignCommand(oDoorActionCloseDoor(OBJECT_SELF));
        
AssignCommand(oDoorSetLocked(OBJECT_SELF,TRUE));
        }
    
GetNextObjectInArea();
    }

Lien direct vers le message - Vieux
Avatar de Darkness Nights
Darkness Nights
Prince / Princesse
 
Avatar de Darkness Nights
 
ok merci

et merci de m'avoir répondu et aidé, les forum qui on des suivit comme ici sont pas super fréquent.

Encore merci
Lien direct vers le message - Vieux
Azmathiel
Alpha & Oméga
 
Je ne vois qu'un défaut à cette technique, c'est sa redondance inutile en cas de combat de masse.
En passant par une variable locale mise à jour sur l'objet zone, on peut considérablement diminuer la charge ici. Surtout, s'il y a dix portes et trente monstres.

Citation:
Le seul moyen de sortir est de tué les créatures vu qu'on sais que pour réussir un bon jet de dés de déverrouillage il ne faut pas être en combat.
Faux. Il existe un don de roublard fait exprès pour ça. Il provoque un jet automatique de 20 au dé si le roublard a le don correspondant à la compétence utilisée.
Lien direct vers le message - Vieux
Avatar de Darkness Nights
Darkness Nights
Prince / Princesse
 
Avatar de Darkness Nights
 
hmm si tu as un meilleur script je suis preneur

Pour le jet je savai po ^^
Lien direct vers le message - Vieux
Azmathiel
Alpha & Oméga
 
Le script est bon, il fonctionne et fait son boulot. La technique est largement moins bonne. Le principe c'est de ne déclencher ce script qu'une fois par combat.
Euh, tu as le droit de t'y mettre... C'est pas interdit de faire des trucs soi-même.
Lien direct vers le message - Vieux
Avatar de Darkness Nights
Darkness Nights
Prince / Princesse
 
Avatar de Darkness Nights
 
Je sais mais je connais rien au scriptage, je fait que quelque zone comme ça pour le plaisir. Maintenant ceux qui veulent m'aidé m'aide sinon tan-pis
Lien direct vers le message - Vieux
Avatar de Morethil
Morethil
Roi
 
Avatar de Morethil
 
En meme temps on va pas tout faire pour toi, faudra que tu attende qu'un scripteur soit confronté au meme problème, ce qui peux prendre plus de temps que de travailler les tutoriels par toi meme.
Lien direct vers le message - Vieux
Répondre
Les forums JOL > Forum jeux-vidéo > Neverwinter Nights > NWN - Maskado > [script]Revérouillage automatique des portes
   

Outils Rechercher
Rechercher:

Recherche avancée

Les vidéos de Neverwinter Nights RSS
  • Aucune vidéo pour le moment...
Thème visuel : Fuseau horaire GMT +1. Il est actuellement 06h57.
   

© JeuxOnLine, le site des MMO, MMORPG et MOBA. Tous droits réservés. - Conditions générales d'utilisation - Conditions d'utilisation des forums - Traitement des données personnelles - ! Signaler un contenu illicite