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

Panneau de contrôle

Recherche | Retour aux forums

JOL Archives

Variable permanente

Par mickmils le 12/7/2002 à 15:22:35 (#1796706)

Bonjour bonjour,

Merci tout le monde pour l'invocation scriptée, c'est une aide plus que considérable :p
Mais voilà, quand on est une quiche, on en reste une, du moins même si je fais des efforts pour apprendre en attendant j'ai du mal :p

Voilà, donc juste une question pratique.

Si j'assigne une variable "Karma" au joueur, disons, 50. Comment être sur que cette variable sera stockée de maniere permanente et non pas de maniere temporaire et oubliée a la fin du script ?

Le but étant a la base de faire qu'un Karma se dégage du joueur,
Karma que certains personnages ressentiront. A chaque mauvaise
action, le Karma descend. A chaque bonne action, le Karma monte. (Il ne s'agit pas de faire ataquer ni rien, simplement d'interdire au joueur mauvais d'accéder a des "lieux saints" et des changements de dialogue") Comment réutiliser cette variable a chaque fois dans les scripts et les dialogues ?

Peut-on, en fait, tout simplement utiliser le systeme de factions pour faire cela ? Dans ce cas, comment (les factions étant toujours en rapport avec une autre faction, dois-je créer une faction "Karma" qui modifie sa réaction envers le joueur ?) ?
Quelles sont les fonctions permettant de récuperer la valeur "PC" de la fonction Karma afin de la stocker dans une variable , et d'incrémenter ou de diminuer celle-ci ? :aide:

J'espere ne pas avoir été trop incompréhensible, et me montre sincérement désolé pour ces questions eux.. conn^h^h^h idiotes.

Oh et puis tant que j'y suis, comment faire en sorte qu'u n cadavre de chien ne disaparaisse pas, afin qu'un script puisse plus tard le ramener a la vie ?

Mickmils, qui en veut, mais qui en sue :p

:cool:

Par Dzib le 12/7/2002 à 15:27:38 (#1796737)

ben, tu pourrais juste jouer un peu avec l'alignement, loi-chaos ou bien-mal. Je pense que ton idée de karma est plus ou moins similaire (ou alors j'ai rien pigé)

Par mickmils le 12/7/2002 à 15:44:23 (#1796836)

hmm non, le Karma doit s'échelonner de 0 a 100, c'est pour
ca que je pensais au systeme de faction. De plus l'alignement
n'est pas numérique (impossible d'ajouter ou de soustraire
une valeur a un alignement), or c'est une chose nécessaire pour mon module :p

Mais merci de la réponse tout de même !

Mickmils

Par Amaranthe le 12/7/2002 à 15:51:25 (#1796869)

Provient du message de mickmils
De plus l'alignement
n'est pas numérique (impossible d'ajouter ou de soustraire
une valeur a un alignement), or c'est une chose nécessaire pour mon module :p
Mickmils


Tss Tss...

L'alignement EST Numérique.

AdjustAlignment
Adjust the alignment of oSubject.

void AdjustAlignment(object oSubject, int nAlignment, int nShift)
* oSubject
* nAlignment:
- ALIGNMENT_LAW/ALIGNMENT_CHAOS/ALIGNMENT_GOOD/ALIGNMENT_EVIL: oSubject's alignment will be shifted in the direction specified
- ALIGNMENT_ALL: nShift will be added to oSubject's law/chaos and good/evil alignment values
- ALIGNMENT_NEUTRAL: nShift is applied to oSubject's law/chaos and good/evil alignment values in the direction which is towards neutrality.

e.g. If oSubject has a law/chaos value of 10 (i.e. chaotic) and a good/evil value of 80 (i.e. good) then if nShift is 15, the law/chaos value will become (10+15)=25 and the good/evil value will become (80-25)=55.

Furthermore, the shift will at most take the alignment value to 50 and not beyond. e.g. If oSubject has a law/chaos value of 40 and a good/evil value of 70, then if nShift is 15, the law/chaos value will become 50 and the good/evil value will become 55.

* nShift: this is the desired shift in alignment
* No return value

Amaranthe

Re: Variable permanente

Par Amaranthe le 12/7/2002 à 15:53:15 (#1796876)

Provient du message de mickmils
Oh et puis tant que j'y suis, comment faire en sorte qu'u n cadavre de chien ne disaparaisse pas, afin qu'un script puisse plus tard le ramener a la vie ?


SetIsDestroyable
Set the destroyable status of the caller.

void SetIsDestroyable(int bDestroyable, int bRaiseable=TRUE, int bSelectableWhenDead=FALSE)
* bDestroyable: If this is FALSE, the caller does not fade out on death, but sticks around as a corpse.
* bRaiseable: If this is TRUE, the caller can be raised via resurrection.
* bSelectableWhenDead: If this is TRUE, the caller is selectable after death.


Amaranthe

Par Dzib le 12/7/2002 à 16:05:41 (#1796936)

vi, numérique et modifiable à souhait. Jamais vu ds la campagne solo que parfois, après une action, l'alignement était modifié? "your action have shifted your alignement 3 points toward evil" :D

Par mickmils le 12/7/2002 à 16:31:00 (#1797024)

Whoooops !

Je savais pas pour l'alignement. Mais ca m'a l'air un petit peu compliqué a gérer, enfin relativement, dans la mesure ou je viens de tomber par hasard sur les fonctions GetReputation et AdjustReputation qui me semblent plus proches du résultat que je veux obtenir. Y'a moyen avec ca de créer et utiliser une faction Karma qui variera envers le joueur ? :p
Il faudrait utiliser Karma pour oSource et oPlayer pour Target non ?

Le but c'est tout simplement que je puisse ajuster cette valeur entre 1 et 100 et la stocker dans une variable pour l'utiliser dans des scripts et dialogues. Question syntaxe, par ajustement, si je mets 2 , la faction monte de 2 ou elle est fixée a 2 ?

Merci du coup de main.

-Mickmils

Par Dzib le 12/7/2002 à 16:35:46 (#1797052)

var=2 // fixé à 2
var=var+2 // incrémenté de 2 (si incrémenté de 1, var++ sufit)

Par Dilandau le 13/7/2002 à 13:14:43 (#1800229)

mouais mais comment créé un variable globale utilisable par toutes les fonction et les scripts que l'on créé. J'ai le même problème plutot que de m"ambété avec les alignement il est plus simple d'utiliser une var globale. pareille pour l'avancé dans un jeux, on incrémente a chaque avancé (parceque utiliser le journale c'est pas simple), enfin j'ai envoyer un mail sur le site de biowar j'aurais bientot la réponce.

Par mickmils le 13/7/2002 à 15:03:58 (#1800576)

Assigne une variable a oPlayer.
J'ai testé et ca marche, meme quand tu change de maps.

-Mickmils

JOL Archives 1.0.1
@ JOL / JeuxOnLine