Aller au contenu


Effacer Une Arme Et Invoquer


  • Veuillez vous connecter pour répondre
45 réponses à ce sujet

#26 Snaïpe

Snaïpe

    ...itset tnus otroh nI


Posté 08 mai 2009 - 17:02

Citation

Arg, Snaïpe, le cript pour l'anne n'a pas l'air de fonctionner... je place l'anneau sur moi,la message box apparait, je clique sur oui,puis rien... et apres la premiere "activation", impossible de relancer le script dans le jeu..

tu as bien remplacé X, Y, Z, Rot, et "Cell" par les coordonnées précises du lieu d'arrivée ?

tu a bien mis "Cell" entre guillemets ?

#27 twilight

twilight

Posté 10 mai 2009 - 17:08

J'ai réussit! J'ai réussit!!! j'ai réussit à faire MOI-MEME un anneau de téléportation,et le pire,c'est qu'il fonctionne! :P

Spoiler

n'empeche,j'en ai chier... :/

par contre je n'arrive toujours pas à faire de mannequins... mais un truc simple je parle, juste un mec debout avec mes armures. Pas besoin de le ranger dans l'inventaire ou quoique se soit,il a une place,et ne bouge plus. J'y arrive pas :/

Elendell,comment je gere pour l'activator? j'ai juste à le faire commencer par un "if ( variagleglobal == 1 )" ? jvois pas trop comment l'activer sinan :s

Modifié par twilight, 10 mai 2009 - 17:22.


#28 elendell

elendell

    Mécano Dell'Arte


Posté 10 mai 2009 - 17:33

Bonjour twilight,

Quand tu édites un message parce tu veux ajouter quelque chose, tu ne dois pas supprimer l'ancien texte mais ajouter ton nouveau texte à la suite en précisant qu'il s'agit d'un "Edit". Parce que sinon, on ne peut pas s'y retrouver. (Dans mon souvenir, il y avait un autre texte dans ce message).

Par ailleurs, c'est très bien que tu ais réussi à le faire par toi-même mais je te rappelle que Snaïpe a pris le temps de te faire un script. Quand tu as signalé qu'il ne fonctionnait pas, il t'a demandé des précisions, signe qu'il ne t'avait pas laissé tomber.
Donc, même si tu as réussi avec ton propre script, il me semblerait normal de lui répondre avant de poser une nouvelle question.
(Désolé si tu lui a répondu par MP mais je n'ai aucun moyen de le savoir.)

Au fait, tu en es où avec le script de l'arme (qui est la raison d'être de ce sujet) ?

Pour le mannequin, tu dois faire un autre sujet. Un sujet avec un titre explicite pour chaque demande différente est la règle et elle permet à ceux qui lisent par la suite ou qui font des recherches de pouvoir suivre et trouver l'information qu'ils cherchent.

#29 twilight

twilight

Posté 10 mai 2009 - 17:52

Ben en fait je l'ai supprimé parceque il n'était plus d'actualité : le script fonctionnait
Pis nan,je sais pas,j'ai l'impresison que y'a pleins de trucs tordus pour PositionCell. Entre les virgules,les guillemets..j'ai laissé tombé rapidement,j'avoue :/ m'enfin,je sais plus,suis passé dessus je sais pas combien de fois,alors ben j'ai ouvert le ptit manuel que tu as fourni, et puis ben j'ai fini par réussir à en faire un moi-meme :/

Quant à l'arme,je saute dessus ce soir,voire maintenant, j'ai découvert la fonction de déplacement des objets :huhu: d'ailleurs j'ia aps bien compris si on peut faire un déplacement suivant un vecteur autre que x y ou z ,faut que j'essaye

#30 elendell

elendell

    Mécano Dell'Arte


Posté 11 mai 2009 - 00:27

 twilight, le 10.05.2009 à 18:07, dit :

Elendell,comment je gere pour l'activator? j'ai juste à le faire commencer par un "if ( variagleglobal == 1 )" ? jvois pas trop comment l'activer sinan :s
Oui. Si cette variable globale est à 1 (donne-lui un nom spécifique), ça veut dire que le PJ a activé l'arme et que cette dernière est "disable".
Donc, c'est la première condition à tester dans ton script de l'activateur pour démarrer ce qu'il doit faire.

Soit tu mets tout ce qu'il doit faire (ou la première étape) dans son bloc :

if ( MenuMode == 1 );... si les menus sont ouverts, ne rien faire
	return
endif

if ( VariableGlobale == 1 ); ...si elle est à 1, fait ce qui est indiqué dans son bloc.

;...instructions

endif

soit tu la places comme condition pour continuer ou non, en tout début de script :

if ( MenuMode == 1 );... si les menus sont ouverts, ne rien faire
	return
endif

if ( VariableGlobale != 1 ); ...si elle n'est pas à 1,
	return; ...ne fait pas ce qui suit ce bloc.
endif

;...instructions


#31 twilight

twilight

Posté 11 mai 2009 - 12:40

question bete: comment on déclare une "variable globale" qui puisse etre utilisé dans d'autres scritps? comme ici pour l'activateur apr exemple

#32 elendell

elendell

    Mécano Dell'Arte


Posté 11 mai 2009 - 14:16

C'est expliqué dans le MSfD.

#33 twilight

twilight

Posté 13 mai 2009 - 06:37

Oh joie,j'ai fini tout le reste,je vais pouvoir me plonger dans les 2 scripts liés à l'épée.. mais avant ça,il sert à quoi GetDisabled? j'arrive pas à comprendre son utilité :/

#34 elendell

elendell

    Mécano Dell'Arte


Posté 13 mai 2009 - 14:04

 twilight, le 13.05.2009 à 07:36, dit :

Oh joie,j'ai fini tout le reste,je vais pouvoir me plonger dans les 2 scripts liés à l'épée.. mais avant ça,il sert à quoi GetDisabled? j'arrive pas à comprendre son utilité :/
Pour supprimer un objet (avec Tribunal), on utilise "SetDelete". Mais si au moment où on applique cette fonction, l'objet est en train de faire quelque chose, cela peut occasionner un crash. Du coup, ce n'est pas toujours nécessaire (à vérifier dans ton cas) mais par sécurité on commence par faire "Disable" pour rendre l'objet inaccessible et invisible.

En début de script on vérifie si l'objet a été "Disablé" ("GetDisabled") dans la frame précédente. Si c'est le cas, un "return" empêche le script de continuer. On laisse passer quelques frames pour être sûr que l'objet "disablé" ne fait plus rien et là, on le "SetDelete" en toute sécurité.

Note : "Disable" rend l'objet inaccessible et invisible mais son script est toujours actif. "SetDelete" supprime complètement l'objet (enfin, c'est tout comme).

#35 twilight

twilight

Posté 14 mai 2009 - 08:43

D'accord :oops:

Alors, le script placé sur l'arme :

Spoiler

Nad_edge étant une variable globale.

Puis un script global :

Spoiler

Vous savez c'est quoi le pire? c'est que ça amrche :sorcerer: enfin,presque :/
Apparement,on ne peut pas cibler une arme par un sort,donc...comment faire pour avoir l'effet visuel sur l'arme? M'enfin,ça c'ets un problème mineur. Le plus génant, c'ets le "TUUUUUUUTTTT" qui se produit à l'apparition du drémora, et le fait que celui-ci soit coincé sur sa position alors qu'il coure vers moi(c'est peut etre lié au Z ça..)  J'arrive pas à régler ce probleme de tut qui ne s'arrète pas..


edit: viens de voir la fonction EXPLODESPELL : pourrait marcher,au lieu de cast? mais il faudrait avoir tribunal alors?

Modifié par twilight, 14 mai 2009 - 08:48.


#36 elendell

elendell

    Mécano Dell'Arte


Posté 14 mai 2009 - 15:29

Heu... Ces scripts n'ont plus grand chose à voir avec ce qui était prévu et ma proposition.

- Le script de l'arme met bien une variable globale à 1 mais au lieu de supprimer l'arme, il la déplace de 10 unités. Pourquoi ?
Elle est ensuite "disablée" par le script global mais pas supprimée avec "SetDelete". Est-ce pour un jeu sans Tribunal ?

- Tu as fait un script global au lieu d'un local placé sur un activateur et ça change tout.

- L'effet visuel que je te proposais était celui d'un lancement de sort. C'est à dire celui qui se produit sur le lanceur et pas sur la cible. Il ne s'agissait donc pas de cibler l'épée mais le PJ. L'effet étant visible sur l'activateur qui était le lanceur de sort. En faisant lancer le sort par un script global, qui est le lanceur ?

- La condition "NAD_edge == 1" reste valable à toutes les frames. Si tu places ce script sur un objet qui peut faire "Cast", il fera donc un lancement de sort à chaque frame.

- Ton script global n'est jamais stoppé. Il va donc faire les instructions du bloc "If ( etape == 1 )" en permanence.

- Tu as mis un timer mais il n'est jamais remis à 0. Une fois qu'il arrive à 4s, "etape" passe à 1. Tu remets bien "etape" à 0 mais à la frame suivante, "timer" est toujours >= 4. Donc, il remet "etape" à 1 et refait ce qui est indiqué quand "etape" = 1.
Donc, à chaque frame et en permanence, il rejoue le son et repositionne le dremora. Ceci explique le tuuuut et le surplace du dremora.

- Je n'ai pas le Tescs ouvert mais il me semble que "dremora" est une ID générique et ne concerne pas une créature unique. Quand tu fais "Position", il va donc positionner la première créature "dremora" qu'il va trouver. S'il n'y en pas d'active dans le jeu, il va en placer une nouvelle mais je pense qu'il y en a déjà dans le jeu.


Relis ce qui a été écrit précédemment et avant d'essayer une nouvelle fonction (EXPLODESPELL), essaye déjà de parvenir à faire la proposition d'un activateur placé au même endroit que l'épée et qui lance le sort, le son, etc. Mais en faisant en sorte que chaque évènement ne se produise qu'une seule fois.

#37 twilight

twilight

Posté 14 mai 2009 - 16:03

De quoi écoeuré du scriptage..xd
Oui,j'ia retiré le setdelete pour étendre le mod à ceux qui n'ont pas tribunal.
J'ai voulu faire en sorte que l'arme s'enfonce lentement dans le sol,jtrouvais que ça rendait pas mal..j'aurai pas du? :s

Mais quelle est la différence entre un activator et un script global?je ne saisi pas trop en quoi cela diffère, cela rievient au meme au final,nan ?

Bon bah maintenant que tu m'a montré où est le probleme je vais m'occuper de régler ça. (au fait,j'ai géré pour le forcegreeting :sorcerer: )

#38 elendell

elendell

    Mécano Dell'Arte


Posté 14 mai 2009 - 16:34

 twilight, le 14.05.2009 à 17:02, dit :

De quoi écoeuré du scriptage..xd
Au contraire, c'est un défi que tu sera fier d'avoir réussi !  :mrgreen: (en passant quand même par les différentes phases  :)  :oops:  ;)  :)  :blush:  :) , etc.)  :sorcerer:  

 twilight, le 14.05.2009 à 17:02, dit :

J'ai voulu faire en sorte que l'arme s'enfonce lentement dans le sol,jtrouvais que ça rendait pas mal..j'aurai pas du? :s
Si, pourquoi pas ! C'est bien tous ces détail que tu dois chercher et qui améliorent le résultat final.

 twilight, le 14.05.2009 à 17:02, dit :

Mais quelle est la différence entre un activator et un script global?je ne saisi pas trop en quoi cela diffère, cela rievient au meme au final,nan ?
Tu dois absolument lire ou relire la page 22 du MSfD. Cette différence est une base indispensable à assimiler avant d'aller plus loin !

#39 twilight

twilight

Posté 14 mai 2009 - 17:31

XD


AH!!! jvais me pendre!!! j'ai fini le scrip là, mais tu dis qu'il faut pas un script global!!!! pourtant maintenant il marche niquel ,juste rajouter à stopscript dans le dernier if :oops:


"Tout script qui n’est pas attaché à un quelconque objet est un script global, et par défaut n’estpas exécuté jusqu’à ce que vous l’appeliez"

En fait,si je mets un startscript dans le script de l'arme, et que je lui dis de se taire après,ça revient au meme,sauf que,en plus d'un script local,je pourrai effectuer des actions dans d'autres cellules également.. c'ets peut etre mieu nan?
Mais en fait,nan,j'arrive pas à vraiment voir de différences,à part dans l'écriture,et le fait que les actions d'un script local ne se passe que dans la cellule active,et que trop de globaux peuvent faire ramer le jeu.Bien que celui-ci me semble trop petit et sur un laps de temps trop court pour causer quoique se soit.. :sorcerer:

Plus qu'à ce que je trouve une solution pour le sort,ou sinan,pas de sort mais un son...hum,faut que je cherche ça,mais sinan,niquel :mrgreen:

Spoiler




edit: arg,risque d'etre plus dificil que prévu pour intégrer le start script..

Modifié par twilight, 14 mai 2009 - 17:49.


#40 elendell

elendell

    Mécano Dell'Arte


Posté 14 mai 2009 - 20:40

Je ne t'ai pas dit qu'on ne pouvait pas utiliser un script global mais que ce n'était pas ce qui était proposé et que ça implique de s'y prendre autrement.

Si tu démarres ton script global à partir d'un "StartScript" placé dans le script de l'arme, ton global devient un script "ciblé". Et oui, encore une autre catégorie !  :)

Pour faire simple et en ne s'occupant pas du cas particulier des scripts ciblés:

Si tu utilises par exemple "GetPos x" dans un script local attaché à un objet, tu pourras savoir la position x de cet objet sans avoir besoin de préciser de quel objet tu veux connaitre la position. C'est automatiquement celui auquel le script est attaché.
Si tu utilises "GetPos x" dans un script global (non attaché à un objet), le script ne peut pas deviner de quel objet tu veux connaitre la position x.
Donc, dans un global, il te faut préciser "IDObjet->GetPos x". Ce qui veut dire : "donne la position x de tel objet".

Un local n'est actif que lorsque le PJ est dans la même cellule que l'objet qui le porte alors qu'un global est actif partout.

Il y a également d'autres différences qui nous font choisir l'un ou l'autre suivant ce que l'on cherche à faire.


Pour le sort, la réponse est dans mon message 36, que je t'invite à relire. Tu lui dis qu'il faut lancer un sort (cast) mais tu ne lui dis pas qui doit lancer le sort. En plus, tu lui dis de lancer le sort sur une arme alors qu'il faut le lancer sur le PJ ou un PNJ ou une créature (mais pas sur une arme).

Il me semble que tu n'as pas tenu compte non plus de ce que je t'ai écrit à propos du dremora. Il sort d'où le dremora que tu positionnes ? Il y en a 11 déjà placés dans Morrowind. Dans la mesure où tu n'en a pas fait un propre à ton "mod", il va prendre le premier qu'il trouve dans le jeu pour le positionner où tu lui a dit. Ça marche mais du coup, il ne sera plus là où il devrait être à l'origine.

Il faut donc que tu fasse ton propre dremora en copiant celui du jeu et en lui donnant une ID unique. Par exemple "NAD_Dremora".

Ton script a quand même bien avancé.  :)

#41 twilight

twilight

Posté 15 mai 2009 - 23:21

Rho,voyons,comment ais-je pu te laisser penser que je me farcisser toutes ses prises de tetes pour un simple drémora? Il est là juste pour le test,tout comme son invo dans le temple de balmora. ( "balmora, temple" est plus simple à écrire qu'un nom de ruine daedrique xd)

Bon, maintenant, fini de jouer,je passe aux choses sérieuses:

Spoiler


Plus qu'à greffer le sort et quelques petites autres choses. Une carcasse qui tient debout, c'ets un organisme en constante évolution..

Et merde..j'ai fussionné les 2 fichiers, et me revoila avec mes messages d'erreurs sur le script de l'épée, jsais plus quoi faire :/

#42 elendell

elendell

    Mécano Dell'Arte


Posté 16 mai 2009 - 00:04

Tu changes trop souvent de direction et de système pour que je puisse t'aider plus.

Au fait, il manque un "=" là : "If ( temps = 0 )"

#43 twilight

twilight

Posté 22 juin 2009 - 10:34

L'anneau bug bizarre,pourtant j'ai pris le model du gros tutorial. Quand je sauvegarde en ayant l'anneau dans l'inventaire, ça me renvoi à la demeure..:s  sinan le script de l'arme à l'air de se porter mieu

#44 lnari

lnari

    Chocapic Cortexicus


Posté 22 juin 2009 - 12:30

Faut penser à utiliser les ressources du jeu desfois, personnellement je m'appuie souvent dessus, et pour un anneau qui peut te téléporter à un endroit précis, rien de tel qu'adapter celui d'une amulette vampire :

Citation

Begin amuletAundaeScript

short button
short messageOn
short reset
short OnPcEquip

;if ( MenuMode == 1 )
; Return
;endif

if ( OnPCEquip == 0 )
set reset to 0
endif

if ( reset == 1 )
return
endif

if ( OnPCEquip == 1 )
if ( reset == 0 )
if ( VampClan == 1 )
if ( PCVampire == 1 )

Set OnPCEquip to 0
MessageBox "Souhaitez-vous retourner à Cendremelech ?" "Oui." "Non."
set messageOn to 1
endif
endif

endif
endif

if ( messageOn == 1)

set button to GetButtonPressed

if ( button >= 0 )
set messageOn to 0
endif

if ( button == 0 )
Player->PositionCell, 2816.406, 7016.756, 4306.963, 180, "Cendremelech"
set reset to 1

elseif ( button == 1 )
set reset to 1
return
endif
endif

End

En rouge ce que tu modifies/retires : le nom du script, les conditions pour que le personnage soit vampire Aundae qui ne te concernent pas, le texte de la localisation d'arrivée, les coordonnées d'arrivée.

Modifié par Souris Cornue, 22 juin 2009 - 15:02.


#45 twilight

twilight

Posté 23 juin 2009 - 23:47

eheh,j'avais cherché ce script dans le tescs :banderilles:  mais jvoyais pas trop comment retirer les conditions de vampirosité... merci :)

#46 Kiitiara

Kiitiara

Posté 24 décembre 2009 - 09:52

Citation

edit: eurk, ils sont où les effets visuels dans le tescs?

ils sont dans la partie "activator" mais ils n'ont pas de nom. pour un super effet voir l'apparition d' Almalexia




0 utilisateur(s) li(sen)t ce sujet

0 membre(s), 0 invité(s), 0 utilisateur(s) anonyme(s)