Aller au contenu


[résolu]besoin D'une Ame Charitable - Construction Téléportation


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

#1 Jack Bauer

Jack Bauer

    Les paroles s'envolent, les écrits restent...


Posté 09 septembre 2008 - 21:09

Bonjour
je voudrais que quelqu'un me fasse un interieur dans le lequel je puisse me teleporter avec une bague et qu'une fois a l'interieur je puisse retourner d'ou je viens toujours avec la meme bague
je suis nul en script et je n'arrive pas a faire un interieur avec le TESCS alors si vous pouviez acceder a ma demande


bon en fait pour commencer
je veux creer ma piece en utilisant que des "RFRmFloor" en les mettant cote a cote meme pour les mur mais en vertical
quelle astuce pour les coller cote a cote sans se prendre la tete en les bougeant avec la souris ?

Modifié par Mike89, 20 septembre 2008 - 05:10.


#2 Orange

Orange

    Opérateur Historique du Flood


Posté 10 septembre 2008 - 01:21

Bonsoir! sleeping.gif

Je ne connais pas les scripts d'Oblivion, mais si je me souviens bien, dans Morrowind ce n'était pas possible. Mais on sait jamais.

Citation

bon en fait pour commencer
je veux creer ma piece en utilisant que des "RFRmFloor" en les mettant cote a cote meme pour les mur mais en vertical
quelle astuce pour les coller cote a cote sans se prendre la tete en les bougeant avec la souris ?

Déplace ton premier mur à X:0, Y:0, Z:0 (n'oublie-pas de faire la rotation de ton ''mur'' sur 90 ou 270 degrés sur l'axe Y ou X, selon la direction que tu le veux) (pas besoin de faire un dessin je crois :mrgreen: , si oui, poses ta question). Ensuite, tu n'a pas vraiment le choix d'utiliser la souris, mais fait ceçi pour faciliter la tâche: Place le deuxième morceau d'intérieur à 0 sur l'axe Z (la verticale), puis sur l'axe 0 de Y ou X, selon le coté ou ira ton morceau, puis ajuste le dernier axe avec la flèche du haut ou du bas dans la fenêtre d'édition du morceau.

Je sais, c'est dur à comprendre, mais si c'est pas top, je peux réessayer.


Bonne chance!
Immuablement FPIA

#3 Jack Bauer

Jack Bauer

    Les paroles s'envolent, les écrits restent...


Posté 10 septembre 2008 - 23:59

merci j'ai pigé
aussi ce qui est utile c'est le snap to grid et snap to angle
j'ai donc crée mon interieur mais quand je test avec la commande coc
je me trouve au dessus de la cellule et pas dedans comment y remedier ?

#4 Jack Bauer

Jack Bauer

    Les paroles s'envolent, les écrits restent...


Posté 16 septembre 2008 - 15:47

pour le script de teleportation dans ma salle j'ai pris le script du mod chateau knightstone
pour je puisse retourner d'ou je viens quand je me suis téléporter je pensais a un script qui lance un sort de marque juste avant de se teleporter aprés pour le retour suffit d'incorporer le sort de rappel dans la piece

#5 Nexus5992

Nexus5992

Posté 16 septembre 2008 - 20:23

Salut Jack Bauer,

pour le script de retour ça je sais pas, je peux pas t'aider, mais l'idée du marqueur est pas mal
enfin tant que t'utilise pas PlaceAtMe et Disable

mais pour ce qui est de la téléportation un moveto devrais aller :

tu intègre un marqueur X a ta cell que tu nommera MaMaisonXref ( tu clic sur static dans worldobject, c'est tout en bas ça s'appelle Xmarker )
ensuite voila code que tu met sur ta bague ( biensur il faut que tu crée ta propre bague sinon chague bague du même type dans le jeu
                                                                 aura aussi la possibilitée de téléporter dans ta maison )
puis pour ton code ce que je vais te donner devrais aller
Scriptname MonScriptDeTeleportation

short Notify
short Choice
Short GGo

Begin OnEquip

if ( Notify == 0 )
	MessageBox "Voulez-vous vous téléporter à votre maison ?" "oui" "non"
	Set Notify to 1
endif

if ( Notify ==1 )
	Set Choice to GetButtonPressed
	Set GGo to GetButtonPressed
	if ( Choice == 0 )
		if ( GGO == 0 )
			player.moveto MaMaisonXref
			Set Notify to 0
			Set Choice to -1
			Set GGO to -1
		endif
	elseif ( Choice == 1 )
		if ( GGo == 1 )
			Set Notify to 0
			Set Choice to -1
			Set GGO to -1
		endif
	endif
endif

End OnEquip

Je ne suis pas sur du script, je débute ^^
Si ça marche pas dit le moi en attendant je vais tenter de trouver un moyen pour ton retour.

PS: le sujet est pas dans la mauvaise catégorie ? sleeping.gif

Modifié par Nexus5992, 16 septembre 2008 - 22:38.

dans le doute, reboot.

#6 Jack Bauer

Jack Bauer

    Les paroles s'envolent, les écrits restent...


Posté 17 septembre 2008 - 15:19

oui merci
pour la teleportation c'est bon pour l'aller
c'est pour le retour que ca pose probleme
pour qu'il me renvoi d'ou je suis parti
faudrais je pose une ancre avant de se teleporter

#7 Nexus5992

Nexus5992

Posté 17 septembre 2008 - 17:55

ah ben ça c'est cool que mon script marche ^^

et pour le retour, j'aurais pensé utilisé l'astuce sur le fofo pour vraiment enlever
un objet placé avec un PlaceAtMe
mais faudra faire deux bagues différentes, je m'explique :
une pour hors de ta maison qui te téléportera dedans
dans le script de téléportation faudra juste rajouter
RemoveItem nom de la bague
AddItem nom de l'autre bague

et dans le script de retour l'inverse, t'enlève l'autre bague et tu remet la première

mais pour ça il faut que ta maison ( pour plus de sureté et moin de bug, que t'as maison n'est aucune porte )

je vais te faire ça vite fait si possible d'ici ce soir
donne moi juste le nom de la première bague et celui de la deuxième



Voila ce que j'ai fait,
pour que ça marche il faut que tu crée deux bagues
utilise bsa commander pour extraire le fichier .NIF de la bague
ensuite, dans TESCS, tu va dans clothing/ring tu fait clic droit / new
t'écrit l'ID de ta Bague ( Mabague-Maison )
tu répète l'opération mettant cette fois pour ID Mabague-Retour

ensuite tu double clic sur Mabague-Maison tu t'assure que "playable" est coché
ensuite met ce script dessus ( après l'avoir copier/coller dans ta base de donnée script )

Scriptname MonScriptDeTeleportation

short Notify
short Choice
Short GGo

Begin OnEquip

if ( Notify == 0 )
	MessageBox "Voulez-vous vous téléporter à votre maison ?" "oui" "non"
	Set Notify to 1
endif

if ( Notify ==1 )
	Set Choice to GetButtonPressed
	Set GGo to GetButtonPressed
	if ( Choice == 0 )
		if ( GGO == 0 )
			RetourMarker.moveto player
			player.moveto MaMaisonXref
			RemoveItem Mabague-Maison
			AddItem Mabague-Retour
			Set Notify to 0
			Set Choice to -1
			Set GGO to -1
		endif
	elseif ( Choice == 1 )
		if ( GGo == 1 )
			Set Notify to 0
			Set Choice to -1
			Set GGO to -1
		endif
	endif
endif

End OnEquip

ensuite tu double clic sur Mabague-Retour et tu lui met ce script
verifie aussi pour le playable

ScriptName Monscriptdeteleportationretour

short Notify
short Choice
short GGo

Begin OnEquip

if ( Notify ==0 )
	MessageBox "Voulre-vous partir de votre maison ?" "oui" "non"
	Set Notify to 1
endif

if ( Notify == 1 )
	Set Choice to GetButtonPressed
	Set GGo to GetButtonPressed
	if ( Choice == 0 )
		if ( GGo == 0 )		
			player.moveto RetourMaker
			RetourMarker.Moveto MaMaisonXref
			RemoveItem Mabague-Retour
			AddItem Mabague-Maison
			Set Notify to 0
			Set Choice to -1
			Set GGo to -1
		endif
	elseif ( Choice == 1 )
		if ( GGo == 1 )
			Set Notify to 0
			Set Choice to -1
			Set GGo to -1
		endif
	endif
endif

End OnEquip

et pour finir tu place un Xmarker que tu renomera RetourMarker dans ta maison

t'as plus qu'a tester et me dire ce que ça donne ^^
( si je me trompe pas ce sera cool ^^ )

Modifié par Nexus5992, 17 septembre 2008 - 17:55.

dans le doute, reboot.

#8 Mike89

Mike89

    Encyclopedia Univerwikissssss


Posté 17 septembre 2008 - 20:19

Voir le messageJack Bauer, le 17.09.2008 à 16:18, dit :

oui merci
pour la teleportation c'est bon pour l'aller
c'est pour le retour que ca pose probleme
pour qu'il me renvoi d'ou je suis parti
faudrais je pose une ancre avant de se teleporter


Salut à tous !

Oui, il faut que tu places dans le monde un xmarker qui ne servira qu'à mémoriser l'endroit où était le PJ avant de se téléporter. Placé n'importe où avec le tescs, pas avec un PlaceAtme.

Avant la téléportation, dans ton script de téléportation, il suffit de : (tu as donné un nom à ce Xmarker : monXMarkerRef, ou ce que tu veux...)

Définir X1 Y1 Z1 comme float !!!!

Set X1 to player.GetPos X
Set Y1 to player.GetPos X
Set Z1 to player.GetPos X
monXMarkerRef.SetPos X X1
monXMarkerRef.SetPos Y Y1
monXMarkerRef.SetPos Z Z1

Et pour le retour...

player.MoveToMarker monXMarkerRef.


Est-ce une réponse... ou je n'ai pas compris ton problème ?

A+

Pour le script :


Item dans un inventaire : attention ! Variables de script très volatiles !!!

En plus de l'astuce du Xmarker de retour mobile, voici une autre explication concernant les scripts sur les Items...

Un Item quand il est dans le monde (jeté, posé) a un identifiant... pas de problème (FormId de référence, éventuellement editorId de référence).
Mais quand il est dans un inventaire, il perd son ID... il n'a qu'un numéro de case dans l'inventaire (exploitable avec OBSE) et un identifiant d'objet de base... mais l'item a perdu son identité...
Dans le monde, il y aura par exemple deux pommes,  la pomme n°1  avec ses valeurs de variables de script, et la pomme n°2 avec ses variables, chacune avec son ID1 et son ID2. Mais, si on les ramasse dans l'inventaire, il y aura 2 pommes indifférenciées dans l'inventaire qui auront perdu la mémoire.

D'ou le pb avec les scripts sur les items lorsqu'ils sont dans l'inventaire. On peut utiliser des variables dans le script, mais ce n'est utile que dans le temps de la frame ou il s'exécute. A la frame suivante, les variables sont perdues.

Cependant, pour les objets uniques comme par exemple LA bague Machin, il est possible d'utiliser des variables en dehors du script.... stocker les valeurs dans soit une variable globale, soit dans un script de quête... un script de quête peut très bien servir de réservoir de variables pour d'autres scripts !

D'où l'idée : une seule bague, mais une variable A dans le script de la quête MaQuete. (ou A variable globale, le principe est le même...)

Les règles :

Variables globales AnneauMaison ; AnneauEquipe

AnneauMaison = 0 : je suis dans le monde
AnneauMaison = 1 : je suis dans la maison

AnneauEquipe = 0 : non équipé de l'anneau (quest ou globale aussi)
AnneauEquipe = 1 : équipé de l'anneau

Ici, j'ai choisi des variables globales. Si variable de quête il faudrait les préfixer avec le nom de la quête dans le script :
MaQuete.AnneauMaison...

arciHbAnneauMaison est l'ID de base de l'anneau
arcWsmHuinNW est la ref du Xmarker dans la maison
MarkerRetour est la ref du Xmarker mobile.

X1, Y1, Z1 sont des float pour calculer la position du joueur. Pas besoin de globals, puisque sortis de la frame on s'en fiche des X1 Y1 Z1, le marker garde la position, lui ! Bien sûr à la frame suivante c'est zero... n'essayez pas d'améliore et de compter dessus, sauf si dans le monde... or là on est dans l'inventaire !!!


Mode d'emploi :
J'équipe l'anneau dans le jeu puis sors de l'inventaire... départ pour la maison !
J'équipe l'anneau dans le jeu puis sors de l'inventaire... retour au départ !

Scn AnneauMaisonScript
Float X1
Float Y1
Float Z1

Begin OnEquip player
	Set AnneauEquipe to 1
End

Begin GameMode; marche dès que sors de l'inventaire...
	If AnneauEquipe == 1
		player.UnEquipItem arciHbAnneauMaison
		Set AnneauEquipe to 0
		If AnneauMaison == 0
			Set X1 to player.GetPos X
			Set Y1 to player.GetPos Y
			Set Z1 to player.GetPos Z
			MarkerRetour.SetPos X, X1
			MarkerRetour.SetPos Y, Y1
			MarkerRetour.SetPos Z, Z1
			Set AnneauMaison to 1
			player.MovetoMarker arcWsmHuinNW
		Else
			Set AnneauMaison to 0
			player.MovetoMarker MarkerRetour
		EndIf
	EndIf 
End

Un mod en construction pour Oblivion : L'archipel d'Angamandon !   (mais il est un peu en sommeil)...
On en parle aussi sur ce forum de  Wiwiland  : [mod complet] Archipel d'Angamandon

#9 Jack Bauer

Jack Bauer

    Les paroles s'envolent, les écrits restent...


Posté 17 septembre 2008 - 22:08

non non ya méprise c'est hyper sympa ton script mais pour l'aller j'ai utiliser le script de téléportation du mod chateau knightstone
j'ai un parchemin que j'ai mis sur les marches de mageguilde de bruma qui m'apprend un sort qui me teleporte dans ma "salle interdimentionnel"

voici ces script :
    
           - script du parchemin :

Citation

scn 0CDRTeleportScrollScript

begin OnActivate
if ( IsActionRef player == 1 )
player.AddSpell 0TELEPORTATIONCHEZMOI
Activate
endif
end



non non ya méprise c'est hyper sympa ton script mais pour l'aller j'ai utiliser le script de téléportation du mod chateau knightstone
j'ai un parchemin que j'ai mis sur les marches de mageguilde de bruma qui m'apprend un sort qui me teleporte dans ma "salle interdimentionnel"

voici ces script :
      - script du sort de teleportation  :

Citation

scn 0CDRTeleportScript

Begin ScriptEffectStart

if ( player.IsInCombat == 1 )
message "Vous ne pouvez pas utiliser ce sort durant un combat."
else
player.PositionCell -1547, -2046, 1740, 0, "MonInterieur"

endif

End

En fait je voudrais juste un système pour me reteleportez d'ou je viens par rapport a ce que j'ai fait
c'est peut etre plus simple comme ca ?

voici le mod sur nexus pour ceux que ca interesse : http://www.tesnexus....le.php?id=19856
http://www.tesnexus....ad.php?id=30976

Modifié par Jack Bauer, 17 septembre 2008 - 22:13.


#10 AshKhan

AshKhan

    Cryptologue Ra'jiskanien


Posté 18 septembre 2008 - 08:17

Juste une idée non testée:  tu places un marqueur près du joueur avant de te téléporter

XmarkerTeleport.moveto player


Et pour revenir

player.moveto XmarkerTeleport
  Si tu es prêt à sacrifier un peu de liberté pour te sentir en sécurité, tu ne mérites ni l'une ni l'autre.. --- Thomas Jefferson ---

#11 Jack Bauer

Jack Bauer

    Les paroles s'envolent, les écrits restent...


Posté 18 septembre 2008 - 15:40

mais je met pas ces commandes dans le meme script ?

#12 AshKhan

AshKhan

    Cryptologue Ra'jiskanien


Posté 18 septembre 2008 - 16:25

Voir le messageJack Bauer, le 18.09.2008 à 16:39, dit :

mais je met pas ces commandes dans le meme script ?
la première dans le script pour te téléporter chez toi et la deuxième dans le script du téléport retour.
  Si tu es prêt à sacrifier un peu de liberté pour te sentir en sécurité, tu ne mérites ni l'une ni l'autre.. --- Thomas Jefferson ---

#13 Jack Bauer

Jack Bauer

    Les paroles s'envolent, les écrits restent...


Posté 18 septembre 2008 - 21:57

ca met des erreurs quand j'essaye d'inserer la commande dans le script

l'erreur : http://img393.imageshack.us/img393/6158/erreurtescsbd5.jpg

Citation

scn 0CDRTeleportScript

Begin ScriptEffectStart

if ( player.IsInCombat == 1 )
message "Vous ne pouvez pas utiliser ce sort durant un combat."
else
XmarkerTeleport.moveto player
player.PositionCell -1547, -2046, 1740, 0, "MonInterieur"

endif

End

Modifié par Jack Bauer, 18 septembre 2008 - 23:40.


#14 AshKhan

AshKhan

    Cryptologue Ra'jiskanien


Posté 19 septembre 2008 - 18:31

Il faut créer un objet Type Xmarker et lui assigné un nom unique du genre "XmarkerTeleport" que tu réutilises dans le script. Ainsi le script saura quel objet téléporté près du joueur et où renvoyer le joueur.
  Si tu es prêt à sacrifier un peu de liberté pour te sentir en sécurité, tu ne mérites ni l'une ni l'autre.. --- Thomas Jefferson ---

#15 Jack Bauer

Jack Bauer

    Les paroles s'envolent, les écrits restent...


Posté 19 septembre 2008 - 23:03

ca marche
le mod est finalisé
téléchargeable toujours à l'adresse suivante :
http://www.tesnexus....le.php?id=19856

est ce que les moderateurs peuvent modifier le titre pour mettre que c'est résolu

merci à tous..

Modifié par Jack Bauer, 19 septembre 2008 - 23:04.


#16 Mike89

Mike89

    Encyclopedia Univerwikissssss


Posté 20 septembre 2008 - 05:00

Voir le messageJack Bauer, le 20.09.2008 à 00:02, dit :

ca marche
le mod est finalisé
téléchargeable toujours à l'adresse suivante :
http://www.tesnexus....le.php?id=19856

est ce que les moderateurs peuvent modifier le titre pour mettre que c'est résolu

merci à tous..
Bonjour,
Changement de titre fait.
Pour le futur, il vaut mieux poser autant de questions que de problèmes.
Tu avais un problème de placement d'éléments de construction : c'est plutôt de l'utilisation du TESCS donc dans "TESCS 2".
Pour la partie script, c'était plutot à mettre dans "Les Scripts me crispent"
Un bon classement, et un titre précis expliquant le problème, est utile pour que d'autres trouvent facilement des solutions, sans être obligés d'attendre pendant des jours une réponse à leurs questions.

Je n'ai pas trop voulu changer ton titre, mais j'y ai ajouté les mots construction et téléportation et aussi dans le sous-titre "m'aide" plutôt que "me fasse".
sleeping.gif
Un mod en construction pour Oblivion : L'archipel d'Angamandon !   (mais il est un peu en sommeil)...
On en parle aussi sur ce forum de  Wiwiland  : [mod complet] Archipel d'Angamandon




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

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