La Bibliothèque de Neverwinter Nights
Aide et informations diverses sur Neverwinter Nights ainsi que D&D3.
La date/heure actuelle est 09/05/2024 13:29:40


  Page 1 sur 3 ¤ Aller à la page 1, 2, 3  Suivante

Voir le sujet précédent ¤ Voir le sujet suivant 
Auteur Message
chevalier blanc
Grand Chevalier
Inscrit le: 28 Mar 2005
Messages: 117
Localisation: Sur les Côtes d'Opaline
Répondre en citant
Posté le : 03/07/2006 15:12:35 Sujet du message : [résolu !] Respiration aquatique avec casque

Bonjour bonjour Smile

Encore une fois j'ai besoin des services de talentueux scripteurs ^^
Voila mon probleme.
J'ai fait une zone sous marine (merci patch 1.67) sur laquelle les pjs pourront aller grace a un casque. Une sorte de casque de respiration aquatique en somme.

Si les joueurs ont ce casque en pénétrant dans la zone, ok pas de probleme ils vivront normalement, mais en subissant le frottement de l'eau comme s'ils étaient sous l'effet constamment du sort lenteur.
Sinon ils peuvent rester sous l'eau un temps... des messages avertissent les pjs imprudent qu'ils ne vont pas survivre très longtemps sans air sous l'eau, et au bout d'un délai lambda, ils meurent, pouf.

Pouvez vous m'aider ? J'aimerais beaucoup faire une sorte de cité engloutie... ce genre de concept de donjon est vraiment intéressant à exploiter Smile

Merci d'avance
Dernière édition par chevalier blanc le 19/07/2006 18:03:34; édité 3 fois
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Charietto
Acolyte
Inscrit le: 23 Mai 2006
Messages: 25
Répondre en citant
Posté le : 03/07/2006 22:19:56 Sujet du message :

Sur le NWN vault, cherche dans les mods : Pen and paper la reconstitution du "U3: The final ennemy" par Oraweb.
Celui-ci contient tout une variété de scripts concernant la vie sous-marine (je crois qu'il en existe une version pour NWN de base, et une version avec les extensions).
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Viduc de Papironda
Grand Chevalier
Inscrit le: 22 Mar 2006
Messages: 119
Répondre en citant
Posté le : 04/07/2006 12:16:47 Sujet du message :

Si tu trouves pas j'essairais dès que j'ai un moment, ça a pas l'air bien compliqué comme demande...^^ je pense que tu peux même déjà par toi même en faire une partie non^^....

Viduc
_________________
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Viduc de Papironda
Grand Chevalier
Inscrit le: 22 Mar 2006
Messages: 119
Répondre en citant
Posté le : 04/07/2006 21:12:42 Sujet du message :

Oki je t'ai fait un petit truc qui fonctionne:

tu mets ce script dans le onheartbeat de la zone inondée:

NWScript :
void main()
{
object oPC=GetFirstObjectInArea();


    while(oPC!=OBJECT_INVALID)
        {
        if(GetIsPC(oPC))
            {
object oCasque=GetItemInSlot(INVENTORY_SLOT_HEAD, oPC);

            if(oCasque!=OBJECT_INVALID)
                {
effect eEffect1 = EffectVisualEffect(VFX_DUR_PROTECTION_GOOD_MINOR);
effect eEffect2 = EffectVisualEffect(VFX_FNF_SMOKE_PUFF);

ApplyEffectToObject(DURATION_TYPE_PERMANENT,eEffect1,oPC);
ApplyEffectToObject(DURATION_TYPE_INSTANT,eEffect2,oCasque);
ApplyEffectToObject(DURATION_TYPE_TEMPORARY,EffectMovementSpeedDecrease(50),oPC , 6.0);//modifie la vitesse du joueur

                }
            else
                {
int nTemps=GetLocalInt(oPC,"temps");
int nCons=GetAbilityScore(oPC,ABILITY_CONSTITUTION);
int nMax=nCons+20;

                if(nTemps<nMax/4)
                    {
nTemps=nTemps+1;
AssignCommand(oPC,ActionSpeakString("vous retenez votre respiration"));
DeleteLocalInt(oPC,"temps");
SetLocalInt(oPC,"temps",nTemps);
                    }

                if((nTemps>=nMax/4)&&(nTemps<nMax/2))
                    {
nTemps=nTemps+1;
AssignCommand(oPC,ActionSpeakString("vous avez du mal a reteneir votre respiration"));
DeleteLocalInt(oPC,"temps");
SetLocalInt(oPC,"temps",nTemps);
                    }

                if((nTemps>=nMax/2)&&(nTemps<nMax))
                    {
nTemps=nTemps+1;
AssignCommand(oPC,ActionSpeakString("vous suffoquez!!"));
DeleteLocalInt(oPC,"temps");
SetLocalInt(oPC,"temps",nTemps);
                    }

                if(nTemps==nMax)
                    {
AssignCommand(oPC,ActionSpeakString("vous mourrez noye!!"));
DelayCommand(5.0,ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDeath(), oPC, 1.0));
                    }
                }
            }
oPC=GetNextObjectInArea();
        }
}
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.


Tu donnes un nom à ce script bien sure^^

Tu créés un casque nommé comme tu veux mais avec le tag "vp_casque" (ou autre mais ds ce cas n'oublie pas de le changer dans le script).

et tu testes^^...

si t'as des pbs ou autre hésites pas..

Viduc
_________________
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
-Nog-
Chevalier
Inscrit le: 25 Jan 2006
Messages: 81
Répondre en citant
Posté le : 04/07/2006 21:34:58 Sujet du message :


Viduc de Papironda a écrit :
Oki je t'ai fait un petit truc qui fonctionne:

tu mets ce script dans le onheartbeat de la zone inondée:

NWScript :
void main()
{
object oPC=GetFirstObjectInArea();


    while(oPC!=OBJECT_INVALID)
        {
        if(GetIsPC(oPC))
            {
object oCasque=GetItemInSlot(INVENTORY_SLOT_HEAD, oPC);

            if(oCasque!=OBJECT_INVALID)
                {
effect eEffect1 = EffectVisualEffect(VFX_DUR_PROTECTION_GOOD_MINOR);
effect eEffect2 = EffectVisualEffect(VFX_FNF_SMOKE_PUFF);

ApplyEffectToObject(DURATION_TYPE_PERMANENT,eEffect1,oPC);
ApplyEffectToObject(DURATION_TYPE_INSTANT,eEffect2,oCasque);
ApplyEffectToObject(DURATION_TYPE_TEMPORARY,EffectMovementSpeedDecrease(50),oPC , 6.0);//modifie la vitesse du joueur

                }
            else
                {
int nTemps=GetLocalInt(oPC,"temps");
int nCons=GetAbilityScore(oPC,ABILITY_CONSTITUTION);
int nMax=nCons+20;

                if(nTemps<nMax/4)
                    {
nTemps=nTemps+1;
AssignCommand(oPC,ActionSpeakString("vous retenez votre respiration"));
DeleteLocalInt(oPC,"temps");
SetLocalInt(oPC,"temps",nTemps);
                    }

                if((nTemps>=nMax/4)&&(nTemps<nMax/2))
                    {
nTemps=nTemps+1;
AssignCommand(oPC,ActionSpeakString("vous avez du mal a retenir votre respiration"));
DeleteLocalInt(oPC,"temps");
SetLocalInt(oPC,"temps",nTemps);
                    }

                if((nTemps>=nMax/2)&&(nTemps<nMax))
                    {
nTemps=nTemps+1;
AssignCommand(oPC,ActionSpeakString("vous suffoquez!!"));
DeleteLocalInt(oPC,"temps");
SetLocalInt(oPC,"temps",nTemps);
                    }

                if(nTemps==nMax)
                    {
AssignCommand(oPC,ActionSpeakString(""));
DelayCommand(5.0,ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDeath(), oPC, 1.0));
                    }
                }
            }
oPC=GetNextObjectInArea();
        }
}
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.


Tu donnes un nom à ce script bien sure^^

Tu créés un casque nommé comme tu veux mais avec le tag "vp_casque" (ou autre mais ds ce cas n'oublie pas de le changer dans le script).

et tu testes^^...

si t'as des pbs ou autre hésites pas..

Viduc
Je me suis jsute permi de corriger quelques fautes Wink
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
chevalier blanc
Grand Chevalier
Inscrit le: 28 Mar 2005
Messages: 117
Localisation: Sur les Côtes d'Opaline
Répondre en citant
Posté le : 04/07/2006 21:59:21 Sujet du message :

Merci beaucoup je teste ca tout de suite Smile

EDIT : Merci merci merci et encore merci ca marche du tonnerre, avec une ou deux modif ça donnera un truc vraiment terrible ! Merci beaucoup Wink
**Va se régaler à faire des donjons sous marins**
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Viduc de Papironda
Grand Chevalier
Inscrit le: 22 Mar 2006
Messages: 119
Répondre en citant
Posté le : 05/07/2006 12:46:50 Sujet du message :

bah de rien chevalier blanc, content que ça te plaise^^ et -Nog-, t'inquiètes au contraire faut pas hésiter à corriger je suis pour!!^^

Viduc
_________________
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Enki
Légende vivante
Inscrit le: 06 Déc 2005
Messages: 432
Répondre en citant
Posté le : 06/07/2006 11:55:11 Sujet du message :

Bonjour !
Juste une suggestion mineure pour améliorer l'aspect visuel du script.

Il est étrange qu'un perso qui meurt noyé puisse "parler".
Au lieu d'utiliser :

ActionSpeakString

Je vous conseille d'utiliser

FloatingTextOnCreature()

Mais, après, c'est une question de goût ^^

A bientôt !
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Viduc de Papironda
Grand Chevalier
Inscrit le: 22 Mar 2006
Messages: 119
Répondre en citant
Posté le : 06/07/2006 12:02:28 Sujet du message :

oui tu as raison enki c'est mieu je n'y avait pas réfléchit en effet...

Viduc
_________________
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
chevalier blanc
Grand Chevalier
Inscrit le: 28 Mar 2005
Messages: 117
Localisation: Sur les Côtes d'Opaline
Répondre en citant
Posté le : 06/07/2006 14:21:52 Sujet du message :

Merci Enki pour la proposition, je vais voir ce que ça donne !
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
P.Patoche
Chevalier
Inscrit le: 14 Avr 2006
Messages: 70
Localisation: France 77
Répondre en citant
Posté le : 07/07/2006 10:46:33 Sujet du message :

Bonjour a vous toutes et tous.

Petite question; je ne voie pas ou tu designe le Tag de l'item ( ici le casque ) avec le Tag "vp_casque" , apres essais tu met n'importe quel casque et les effects sont annuler !!!! pas normal je pence.
et 2° petite chose l'effect lenteur qui est dit ici
NWScript :Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.

ne marche pas si tu es immuniser, peut on faire quelque chose pour que l'effect ce produise meme si tu es immuniser?

Patoche.
Dernière édition par P.Patoche le 07/07/2006 13:44:40; édité 1 fois
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Bhaalthedevil
Novice
Inscrit le: 05 Juil 2006
Messages: 10
Répondre en citant
Posté le : 07/07/2006 13:30:16 Sujet du message :

Oui je vois pas non plus où est la référence du tag de l'objet.
Sinon j'ai testé ce script et dans le jeux il se bloque a la premiere phrase :s
C'est normal ?
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
chevalier blanc
Grand Chevalier
Inscrit le: 28 Mar 2005
Messages: 117
Localisation: Sur les Côtes d'Opaline
Répondre en citant
Posté le : 07/07/2006 18:29:06 Sujet du message :

Et m.... je me disais c'était trop beau pour être vrai Smile
Bon le problème du script ci dessus c'est que n'importe quel casque fait l'affaire pour respirer sous l'eau (pratique non ?) et qu'en plus, ceux qui sont immunisés à la lenteur (moines et sort liberté de mouvement etc...) ne sont pas ralentis dans la zone.

Donc que faire ?
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Bhaalthedevil
Novice
Inscrit le: 05 Juil 2006
Messages: 10
Répondre en citant
Posté le : 07/07/2006 19:02:19 Sujet du message :

Dit moi est-ce que tu as le même probleme que moi ? car moi le script se bloque a la premiere phrase et ne va pas jusqu'a celle ou le joueur doit mourir Sad
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
chevalier blanc
Grand Chevalier
Inscrit le: 28 Mar 2005
Messages: 117
Localisation: Sur les Côtes d'Opaline
Répondre en citant
Posté le : 07/07/2006 20:33:49 Sujet du message :

Non en fait ca se bloque pas c'est la valeur de temps au bout duquel l'asphyxie a lieu qui est égale à 20+constitution (en clair avec une CON a 14 tu tiens 34 round)
D'où la répétition des phrases

Diminue la valeur 20 a 10 voire 5 tu verras vite la différence.

Mais ça ne résoud pas mon problème de casque et de lenteur...
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
P.Patoche
Chevalier
Inscrit le: 14 Avr 2006
Messages: 70
Localisation: France 77
Répondre en citant
Posté le : 07/07/2006 20:58:27 Sujet du message :

Tien rajoute sa ici
NWScript :
else
                {
ApplyEffectToObject(DURATION_TYPE_TEMPORARY,EffectMovementSpeedDecrease(50),oPC , 6.0); // cette ligne
int nTemps=GetLocalInt(oPC,"temps");
int nCons=GetAbilityScore(oPC,ABILITY_CONSTITUTION);
int nMax=nCons+20;

                if(nTemps<nMax/4)
/* warning: 1 unclosed block {} */
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.


sa permet d'avoir l'effets même si tu n'as pas le casque ce qui est plus logique, mais sa résous pas le problème du casque.

Patoche.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
Bhaalthedevil
Novice
Inscrit le: 05 Juil 2006
Messages: 10
Répondre en citant
Posté le : 08/07/2006 09:31:33 Sujet du message :

J'ai essayé de baisser sa fait rien , et lorsque je met la valeur 1 dans le jeux y'a marqué une erreur :

Citation :
Script "Nomduscript",OID:80000003b , Tag , ERREUR : DIVIDE BY ZERO.
Et sinon lorsque je rajoute le script de de Patoche çà change rien pour le probleme de la lenteur.
NWScript :
/* warning: 1 unclosed block {} */
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
P.Patoche
Chevalier
Inscrit le: 14 Avr 2006
Messages: 70
Localisation: France 77
Répondre en citant
Posté le : 08/07/2006 10:12:25 Sujet du message :

Bonjour, c'est pas
NWScript :
/* warning: 1 unclosed block {} */
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.


qu'il faut rajouter !!!!!!!! mais sa
NWScript :Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.

et voila ou il faut le mettre

NWScript :
void main()
{
object oPC=GetFirstObjectInArea();


    while(oPC!=OBJECT_INVALID)
        {
        if(GetIsPC(oPC))
            {

object oCasque=GetItemInSlot(INVENTORY_SLOT_HEAD, oPC);
//  vp_casque

          if(oCasque!=OBJECT_INVALID)
                {
effect eEffect1 = EffectVisualEffect(VFX_DUR_PROTECTION_GOOD_MINOR);
effect eEffect2 = EffectVisualEffect(VFX_FNF_SMOKE_PUFF);

ApplyEffectToObject(DURATION_TYPE_PERMANENT,eEffect1,oPC);
ApplyEffectToObject(DURATION_TYPE_INSTANT,eEffect2,oCasque);
ApplyEffectToObject(DURATION_TYPE_TEMPORARY,EffectMovementSpeedDecrease(50),oPC , 6.0);
                }
            else
                {
ApplyEffectToObject(DURATION_TYPE_TEMPORARY,EffectMovementSpeedDecrease(50),oPC , 6.0); // ICI
int nTemps=GetLocalInt(oPC,"temps");
int nCons=GetAbilityScore(oPC,ABILITY_CONSTITUTION);
int nMax=nCons+20;

                if(nTemps<nMax/4)
                    {
nTemps=nTemps+1;
AssignCommand(oPC,ActionSpeakString("vous retenez votre respiration"));
DeleteLocalInt(oPC,"temps");
SetLocalInt(oPC,"temps",nTemps);
                    }

                if((nTemps>=nMax/4)&&(nTemps<nMax/2))
                    {
nTemps=nTemps+1;
AssignCommand(oPC,ActionSpeakString("vous avez du mal a retenir votre respiration"));
DeleteLocalInt(oPC,"temps");
SetLocalInt(oPC,"temps",nTemps);
                    }

                if((nTemps>=nMax/2)&&(nTemps<nMax))
                    {
nTemps=nTemps+1;
AssignCommand(oPC,ActionSpeakString("vous suffoquez!!"));
DeleteLocalInt(oPC,"temps");
SetLocalInt(oPC,"temps",nTemps);
                    }

                if(nTemps==nMax)
                    {
AssignCommand(oPC,ActionSpeakString(""));
DelayCommand(5.0,ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDeath(), oPC, 1.0));
                    }
                }
            }
oPC=GetNextObjectInArea();
        }
}
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
chevalier blanc
Grand Chevalier
Inscrit le: 28 Mar 2005
Messages: 117
Localisation: Sur les Côtes d'Opaline
Répondre en citant
Posté le : 08/07/2006 12:20:20 Sujet du message :

Ok pas de problème pour moi Smile, mais ça ne résoud toujours pas le problème de casque et de déplacement réduit (voir plus haut) Surprised
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
P.Patoche
Chevalier
Inscrit le: 14 Avr 2006
Messages: 70
Localisation: France 77
Répondre en citant
Posté le : 08/07/2006 17:57:45 Sujet du message :

Bon, la je désespère je ne trouve pas du tout comment faire, j'ai voulu intégrer sa,

NWScript :
object oCasque=GetItemInSlot(INVENTORY_SLOT_HEAD, oPC);
if(GetArea(oPC) == OBJECT_SELF && GetTag(oCasque) != "vp_casque"
/* warning: 1 unclosed parenthesis () */
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.

mais rien y change, alors ci quelqu'un a une idée même minime elle serait la bienvenue !!!!

Patoche.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
chevalier blanc
Grand Chevalier
Inscrit le: 28 Mar 2005
Messages: 117
Localisation: Sur les Côtes d'Opaline
Répondre en citant
Posté le : 08/07/2006 21:24:56 Sujet du message :


P.Patoche a écrit :
Bon, la je désespère je ne trouve pas du tout comment faire, j'ai voulu intégrer sa,

NWScript :
object oCasque=GetItemInSlot(INVENTORY_SLOT_HEAD, oPC);
if(GetArea(oPC)) == OBJECT_SELF && GetTag(oCasque) != "vp_casque"
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.

mais rien y change, alors ci quelqu'un a une idée même minime elle serait la bienvenue !!!!

Patoche.
il manquait une parenthese, réessaie voir si ca marche... moi je comprend pas trop la démarche.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
P.Patoche
Chevalier
Inscrit le: 14 Avr 2006
Messages: 70
Localisation: France 77
Répondre en citant
Posté le : 08/07/2006 22:45:35 Sujet du message :

arfff non elle vas la, mais bon juste une erreur dans le copier coller ici

NWScript :
object oCasque=GetItemInSlot(INVENTORY_SLOT_HEAD, oPC);
if(GetArea(oPC) == OBJECT_SELF && GetTag(oCasque) != "vp_casque")
Note : le code affiché ci-dessus n'est pas rendu tel qu'il devrait l'être réellement, en particulier des sauts de lignes sont automatiquement insérés pour éviter de casser la mise en page. En le copiant/collant, vous résoudrez ce problème.


je cherche juste a faire comprendre a se Mad "maudittrucdem...." Mad de script quel est le "tag du casque", mais comme dab sa veux pas Embarassed.

Patoche.
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
chevalier blanc
Grand Chevalier
Inscrit le: 28 Mar 2005
Messages: 117
Localisation: Sur les Côtes d'Opaline
Répondre en citant
Posté le : 08/07/2006 23:55:00 Sujet du message :

Ok ok autant pour moi Smile

Je continue à m'arracher les cheveux de mon côté... Embarassed

Si quelqu'un d'autre a une idée qu'il n'hésite pas !!!!!! Crying or Very sad

HELP !!!! Crying or Very sadCrying or Very sadCrying or Very sadCrying or Very sad
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Seth de Sombrelune
Seigneur
Inscrit le: 10 Jan 2005
Messages: 156
Répondre en citant
Posté le : 09/07/2006 10:01:46 Sujet du message :

en fait il vous faudra plus de script...

En fait il n'existe qu'un seul casque qui permet de respirer sous l'eau, donc il faut se servir de cet élément pour construire ton intrique :

Le pj a pas le casque : il manque d'air et meure
Le pj a le casque : il a une reserve d'air limité mais ne meure pas.

Donc moi j'utiliserait les script du OnEquipeItem et du OnUnequipItem.

Le pj met le casque : Tu fixe une variable local sur le casque et sur le pj si le casque a encore une reserve d'air . La variable du casque sert à decompter la reserve d'air , celle du pj te sert à tester s'il a le casque sur la tête.

Le pj retire le casque : tu detruit la variable locale du joueur, tu change celle du casque. Lors de ton test, le pj a pas le casque, il meure, la variable du casque arrette de decompter la reserve d'air...


Edit : Pour l'effet de ralentissement, avec un spuernaturel effect ou un truc du gent=re, cela ne marche pas ? Je crois que j'avais lu quelque par qu'il y avait un moyen de passer les imunité et autre dons, mais je ne retrouve plus Sad

Pour la reserve d'air, tu fait un script sur le HB du casque, il a sa variable à 0, ça arrete le script, sa variable est à 1, le HB decrémente un valeur (1hb toute les 6 secondes), tu fait un ratio par rapport à la durée de temps de ton monde, tu definis ta reserve d'air, quand elle est à 0, le casque suprime la variable "port du casque" du pj. Ensuite tu peux même inventer des bouteiles qui, lors de leurs utilisation rajouteront une durée à ton casque...

Je doit modifier mon propre script et j'ai pas trop le temps, mais sinon je veux bien t'aider à jeter quelques bases...
_________________
De Tenebris Lumen Fulget.......
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Ignorer l'utilisateur
 
chevalier blanc
Grand Chevalier
Inscrit le: 28 Mar 2005
Messages: 117
Localisation: Sur les Côtes d'Opaline
Répondre en citant
Posté le : 09/07/2006 10:36:34 Sujet du message :

Les variables sont nos amies, hein ? Smile

C'est pour ça que j'y arrivait pas ! Parce que j'aime pas les variables et qu'elles me le rendent bien !

Non sans rire je tourne en rond de mon côté, j'arrive même pas à compiler mes essais donc je laisse tomber Crying or Very sad

Ceux qui arrivent mieux que moi lèvent la main Smile

EDIT :
Citation :
En fait il n'existe qu'un seul casque qui permet de respirer sous l'eau, donc il faut se servir de cet élément pour construire ton intrique :
en plus je l'avais décrit tout en haut, à croire qu'on s'est mal compris Surprised Very Happy
 
Revenir en haut Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur Ignorer l'utilisateur
 
Montrer les messages depuis :
Page 1 sur 3 ¤ Aller à la page 1, 2, 3  Suivante


Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Sauter vers:
FAQ | Rechercher | Liste des Membres | Groupes d'utilisateurs | S'enregistrer | Profil | Se connecter pour vérifier ses messages privés | Connexion
Powered by phpBB 2.* [m] © 2001, 2002 phpBB Group
Theme rewritten in beautiful XHTML code by Baldurien.
Thème "La Bibliothèque de Neverwinter" crée par Kruger
Traduction par : phpBB-fr.com
Page generated in 57.365ms