Modifié par Dago_Bert, 14 avril 2010 - 22:20.
0
(Résolu) L'Arme Est La Clé
Débuté par
Dago_Bert
, 13 mars 2010 - 23:14
6 réponses à ce sujet
#1
Posté 13 mars 2010 - 23:14
Bonjour à tous.Je travaille présentement sur Donjons5.Il y a une porte, mais je ne veux pas que la porte s'ouvre sans que le joueur ait un artefact en sa possession (c'est une arme).Si quelqu'un sait comment faire .Merci.PS: je sais déjà comment faire pour qu'une porte s'ouvre seulement si le joueur a la clé mais je crois que c'est différent puisque cette fois-ci c'est une arme.
http://img151.imageshack.us/img151/6506/wiwidoranim.gifWiwi d'or 2010 de l'avatar le plus moche. Nul ne peut battre le lama dans son domaine d'élégance
À la recherche de mods? http://lorddagobert....traducteurs.fr/
À la recherche de mods? http://lorddagobert....traducteurs.fr/
#2
Posté 13 mars 2010 - 23:28
Bonsoir Dago_Bert...
Voici un script simple, mais adapté à tes besoins, j'espère...
Il suffit de l'attribuer à la porte, et elle deviendra d'une inviolabilité garantie...
Voici un script simple, mais adapté à tes besoins, j'espère...
begin "Porte_bloquee" if ( MenuMode == 1 ) return endif if ( OnActivate == 1 ) if ( Player->GetItemCount "ID_de_ton_arme" > 0 ) Activate else MessageBox "Il vous manque un élément essentiel..." endif endif end
Il suffit de l'attribuer à la porte, et elle deviendra d'une inviolabilité garantie...
Tout n'est qu'illusion... Surtout le fait de le penser.....
(Wiwi d'or de la plus serviable et de la plus cool... Merci à vous tous...)
(Wiwi d'or de la plus serviable et de la plus cool... Merci à vous tous...)
#3
Posté 13 mars 2010 - 23:50
Merci Beaucoup Kira.
http://img151.imageshack.us/img151/6506/wiwidoranim.gifWiwi d'or 2010 de l'avatar le plus moche. Nul ne peut battre le lama dans son domaine d'élégance
À la recherche de mods? http://lorddagobert....traducteurs.fr/
À la recherche de mods? http://lorddagobert....traducteurs.fr/
#4
Posté 14 mars 2010 - 13:56
Je n'en suis pas certain, mais en ayant un script de cette forme, la porte ne vat-elle pas se rebloquer à chaque fois, obligeant le pj a garder l'arme sur lui pour la réouvrir?
Ne vaudrait 'il pas mieux rajouter une variable afin que la porte reste ouverte ?
De la forme
begin "Porte_bloquee"
short open
if (open ==1)
return
endif
if ( MenuMode == 1 )
return
endif
if ( onactivate == 1 )
if ( Player->GetItemCount "ID_de_ton_arme" > 0 )
Activate
Set open to 1
else
MessageBox "Il vous manque un élément essentiel..."
endif
endif
end
De cette manière la prote reste ouverte et en plus on ne fait pas tourner le script inutilement (même si c'est un tout petit script).
Ne vaudrait 'il pas mieux rajouter une variable afin que la porte reste ouverte ?
De la forme
begin "Porte_bloquee"
short open
if (open ==1)
return
endif
if ( MenuMode == 1 )
return
endif
if ( onactivate == 1 )
if ( Player->GetItemCount "ID_de_ton_arme" > 0 )
Activate
Set open to 1
else
MessageBox "Il vous manque un élément essentiel..."
endif
endif
end
De cette manière la prote reste ouverte et en plus on ne fait pas tourner le script inutilement (même si c'est un tout petit script).
Si l'on tue un homme, on est un meutrier. SI l'on en tue plusieurs, on est conquérant. Mais si on les tue tous on est un Dieu.
Il n'existe que deux choses infinies, l'univers et la betise humaine... mais pour l'univers je n'ai pas de certitudes absolues. Albert Enistein.
Il n'existe que deux choses infinies, l'univers et la betise humaine... mais pour l'univers je n'ai pas de certitudes absolues. Albert Enistein.
#5
Posté 15 mars 2010 - 00:18
Bonjour Big_Ben,
Tu as raison mais Kira a fait ce qui correspond à l'énoncé de Dago_Bert car il n'a pas précisé : "Uniquement pour la première ouverture" :
A propos de ton script, il est fonctionnel mais :
Attention, il manque 3 espaces dans cette syntaxe. La plupart du temps, cela va fonctionner mais les espaces en trop ou manquants sont générateurs de bugs aléatoires...
On peut optimiser ton script en supprimant 4 lignes. C'est évidemment ridicule pour un petit script comme celui-ci mais cela prend tout sons sens quand on regarde l'ensemble de tous les scripts dans une installation et surtout, quand on fait ensuite des scripts plus complexes et très longs, c'est presque indispensable d'être habitués à toujours optimiser au mieux tous les scripts.
Pour supprimer les 4 lignes tu peux faire comme ceci :
Notes :
- Il n'est pas nécessaire de mettre une instruction là où je n'en n'ai pas mis car à partir du moment où une condition est vrai, il ne testera pas les "elseif" suivants du même bloc.
- On peut de la même manière supprimer 2 lignes dans le script de Kira.
Big_Ben, le 14 mars 2010 - 13:56, dit :
Je n'en suis pas certain, mais en ayant un script de cette forme, la porte ne vat-elle pas se rebloquer à chaque fois, obligeant le pj a garder l'arme sur lui pour la réouvrir?
Dago_Bert, le 13 mars 2010 - 23:14, dit :
Il y a une porte, mais je ne veux pas que la porte s'ouvre sans que le joueur ait un artefact en sa possession...
A propos de ton script, il est fonctionnel mais :
Big_Ben, le 14 mars 2010 - 13:56, dit :
if (open ==1)
On peut optimiser ton script en supprimant 4 lignes. C'est évidemment ridicule pour un petit script comme celui-ci mais cela prend tout sons sens quand on regarde l'ensemble de tous les scripts dans une installation et surtout, quand on fait ensuite des scripts plus complexes et très longs, c'est presque indispensable d'être habitués à toujours optimiser au mieux tous les scripts.
Pour supprimer les 4 lignes tu peux faire comme ceci :
begin "Porte_bloquee" short open if ( open == 1 ) elseif ( MenuMode == 1 ) elseif ( OnActivate == 1 ) if ( Player->GetItemCount "ID_de_ton_arme" > 0 ) Activate Set open to 1 else MessageBox "Il vous manque un élément essentiel..." endif endif end
Notes :
- Il n'est pas nécessaire de mettre une instruction là où je n'en n'ai pas mis car à partir du moment où une condition est vrai, il ne testera pas les "elseif" suivants du même bloc.
- On peut de la même manière supprimer 2 lignes dans le script de Kira.
#6
Posté 15 mars 2010 - 22:03
Okay merci pour tes précisions Elendell
C'est vrai que 4 lignes sur un script de cette taille c'est assez conséquent.
C'est vrai que 4 lignes sur un script de cette taille c'est assez conséquent.
Si l'on tue un homme, on est un meutrier. SI l'on en tue plusieurs, on est conquérant. Mais si on les tue tous on est un Dieu.
Il n'existe que deux choses infinies, l'univers et la betise humaine... mais pour l'univers je n'ai pas de certitudes absolues. Albert Enistein.
Il n'existe que deux choses infinies, l'univers et la betise humaine... mais pour l'univers je n'ai pas de certitudes absolues. Albert Enistein.
#7
Posté 15 mars 2010 - 22:36
Merci à tous pour votre aide.
C'est vrai que c'est mieux avec la variable qui fait que la porte reste ouverte.
C'est vrai que c'est mieux avec la variable qui fait que la porte reste ouverte.
http://img151.imageshack.us/img151/6506/wiwidoranim.gifWiwi d'or 2010 de l'avatar le plus moche. Nul ne peut battre le lama dans son domaine d'élégance
À la recherche de mods? http://lorddagobert....traducteurs.fr/
À la recherche de mods? http://lorddagobert....traducteurs.fr/
0 utilisateur(s) li(sen)t ce sujet
0 membre(s), 0 invité(s), 0 utilisateur(s) anonyme(s)