Aller au contenu


Déplacer Un Bâteau


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

#1 PlicPloc

PlicPloc

Posté 29 octobre 2011 - 15:31

Bonjour,
Pour une quête, j'ai besoin de déplacer un bateau pour simuler le voyage du joueur sur une île. Dès qu'il va dormir sur un des lits dans la cale, le bateau se déplace et quand le joueur se réveille, il est arrivé à destination.

J'aimerais savoir qu'elle était la solution la plus simple :
-créer deux exemplaires du bateau, un au départ, un à l'arrivée, et utiliser enable et disable.

-ou bien créer un seul bateau et utiliser PositionCell.

sachant que je dois aussi déplacer les éléments qu'il y a sur le bateau (caisses, sacs, pnj...) et que je devrais refaire le déplacement en sens inverse pour le voyage du retour.

#2 abg

abg

    L'ABG pour les civilisés


Posté 29 octobre 2011 - 16:41

Voir le messagePlicPloc, le 29 octobre 2011 - 15:31, dit :

-créer deux exemplaires du bateau, un au départ, un à l'arrivée, et utiliser enable et disable.

C'est ce que j'envisagerai en premier lieu...
Sachant que PositionCell n'est pas une fonction d'une fiabilité remarquable, notamment si tu déplaces des PNJs avec (PNJs qui freezent ou qui encaissent des dégâts de chute...)

Toutefois utiliser la solution enable/disable implique que :
- Le PJ ne peut pas déposer son barda sur le pont du navire.
- Les interactions poussées avec d'éventuels PNJs peuvent dévoiler le pot-aux-roses (techniquement pas les mêmes PNJs, qui n'auront pas forcément le même inventaire, la même disposition...etc.). Ça vaut aussi pour les conteneurs...

Par contre c'est très avantageux pour les compagnons : Comme tu utilises l'artifice de la cell "où il faut dormir", cell qui sera la même au départ et à l'arrivée (juste une permutation de portes avec disable/enable), ils peuvent participer au voyage sans scripting additionnel...
Antoninus Bibulus Glaber
Coaching de PNJs chez Morrowind Renaissance

#3 MagikMike

MagikMike

    Crétins de bugs !


Posté 29 octobre 2011 - 16:55

Et tu peut même prétendre que c'est dangereux de laisser ses objets sur le bateau car ils risquent de passer par dessus bord :D

Comme ca tu prévois des coffres dans la soute ;)
PNOG
PNOS

On a toujours besoin d'un petit PNO chez soi (merci Neluche)

#4 PlicPloc

PlicPloc

Posté 02 novembre 2011 - 17:18

Merci pour votre aide.

J'ai encore quelques petites questions :

Enable et disable utilise l'id d'un objet pour l'identifier mais comment le jeu peut-il reconnaître lequel des exemplaires de l'objet il doit activer/désactiver. Est ce que je dois créer deux bateaux différents (avec des id différentes je veux dire) ?

-Qu'est ce qui empêche le pnj de déposer quelque chose sur le navire avec enable/disable ?

Sinon pour les portes j'avais penser mettre deux portes l'une sur l'autre (à l'intérieur du bâteau) et chaque porte emmène vers un bateau différent. Et j'utilise aussi enable/disable pour les activer.

#5 abg

abg

    L'ABG pour les civilisés


Posté 02 novembre 2011 - 17:48

Voir le messagePlicPloc, le 02 novembre 2011 - 17:18, dit :

Enable et disable utilise l'id d'un objet pour l'identifier mais comment le jeu peut-il reconnaître lequel des exemplaires de l'objet il doit activer/désactiver. Est ce que je dois créer deux bateaux différents (avec des id différentes je veux dire) ?

Si tu utilises un script global, il faut obligatoirement que tu utilises un ID à usage unique (donc deux bateaux distincts). Sinon Morrowind prend le premier objet de la pile et... de toute manière c'est inexploitable.
Avec un script local on peut se payer le luxe d'un ID réutilisable mais le script va se compliquer.
A mon avis tu te simplifieras la vie avec deux ID...

Voir le messagePlicPloc, le 02 novembre 2011 - 17:18, dit :

-Qu'est ce qui empêche le pnj de déposer quelque chose sur le navire avec enable/disable ?

Simplement le fait que les objets ne se téléporteront pas tout seuls (quelque soit la méthode). Ils resteront sur le pont du bateau de départ (voir en suspension dans l'air après le disable :huhu: ). La suggestion de MagicMike te donne un prétexte RP à exposer au PJ (via dialogue ou autre) pour prévenir.

Voir le messagePlicPloc, le 02 novembre 2011 - 17:18, dit :

Sinon pour les portes j'avais penser mettre deux portes l'une sur l'autre (à l'intérieur du bâteau) et chaque porte emmène vers un bateau différent. Et j'utilise aussi enable/disable pour les activer.

Oui. C'est la méthode.
Pour un exemple tu peux examiner comment fonctionne la maison du Sangskaal (Bloodmoon). C'est le même principe.
Antoninus Bibulus Glaber
Coaching de PNJs chez Morrowind Renaissance

#6 papill6n

papill6n

    RatZaïïïïï !!!


Posté 03 novembre 2011 - 03:15

Abot qui est très connu pour ses mods très scriptés et complexe (il a notamment crée les mods Vie Aquatique, Où vont les Oiseaux et plus récemment transport à dos d'échassier des Marais en temps réel!!! (sublime!)) est en train de créer un mod qui nous permettra de voyager en temps réel en bateau d'un endroit à un autre ^^. En fait il va relier réellement les endroits où on peut actuellement y aller en bateau dans Morrowind.

Donc si tu veux créer un voyage scénique où le joueur peut profiter du voyage en temps réel tu peux demander à Abot quelque conseil ou bien attendre qu'il sorte son mod pour étudier ses scripts.

#7 PlicPloc

PlicPloc

Posté 03 novembre 2011 - 15:48

Ca avance pas trop mal grâce à vos conseils, mais je me retrouve face à un autre problème.

J'ai crée mes deux bateaux mais au début de la partie, le deuxième (le bateau du point d'arrivée) doit être disable. Je ne vois pas comment faire. J'ai vu que les développeurs avaient fait cela avec le script Startup (qui est lancé par le script main). Le problème, c'est que le script main est lancé uniquement au début d'une nouvelle partie donc le joueur devra recommencer une nouvelle partie à chaque fois si il veut jouer à mon mod.

Pour déplacer mon bateau (disable du premier et enable du deuxième), le script se lance au moment où le joueur va dormir dans un des lits du bateau mais je ne vois quelle condition utiliser pour disable le deuxième bateau au début de la partie.

#8 abg

abg

    L'ABG pour les civilisés


Posté 03 novembre 2011 - 16:32

Voir le messagePlicPloc, le 03 novembre 2011 - 15:48, dit :

J'ai crée mes deux bateaux mais au début de la partie, le deuxième (le bateau du point d'arrivée) doit être disable. Je ne vois pas comment faire. J'ai vu que les développeurs avaient fait cela avec le script Startup (qui est lancé par le script main). Le problème, c'est que le script main est lancé uniquement au début d'une nouvelle partie donc le joueur devra recommencer une nouvelle partie à chaque fois si il veut jouer à mon mod.

Déjà, pour une question de compatibilité mieux vaut oublier l'idée de modifier les scripts originaux tels que startup et main ;) (A n'envisager qu'avec une vraie, solide, bonne raison du genre mod de Total Conversion, réécriture de l'intro du jeu...etc.)

Le plus simple serait que tu acceptes l'idée d'avoir un mod Tribunal requis (à mon avis les avantages l'emportent largement sur les inconvénients).
Dés lors tu peux créer ton propre script d'initialisation du mod : Menu Gameplay -> Edit Start Scripts -> Add Script...
Et tu ajoutes dans le biniou un script dont la principale mission sera de disabler ce que tu veux, avant de s'éteindre lui-même.
Quelque chose comme :
Begin MonMod_Initialisation_Script

If ( QueteCommencée == 0 )	; variable globale ou entrée journal...
	If ( ID_Bateau2->GetDisabled == 0 )
		ID_Bateau2->Disable
	EndIf
EndIf

StopScript, "MonMod_Initialisation_Script"

MonMod_Initialisation_Script

Citation

Pour déplacer mon bateau (disable du premier et enable du deuxième), le script se lance au moment où le joueur va dormir dans un des lits du bateau mais je ne vois quelle condition utiliser pour disable le deuxième bateau au début de la partie.

Selon les circonstances, tu peux ignorer le problème. Si par exemple le PJ n'a aucune chance de faire le voyage par ses propres moyens (cas d'un faux worldspace à la Tribunal/Longsanglot ou encore d'une île située vraiment à perpette comme Pertevue)
Sinon le script d'initialisation proposé ci-dessus est l'endroit pour régler ce genre de problème.

Si vraiment tu ne veux pas être dépendant de Tribunal, il y a des solutions alternatives un peu plus tordues. On verra alors...
Antoninus Bibulus Glaber
Coaching de PNJs chez Morrowind Renaissance

#9 Korfandar

Korfandar

    Ch'ti dragon normand...dans son trou


Posté 03 novembre 2011 - 17:02

Une autre solution est de créer les bateaux non comme des statics mais comme des activator, chacun peut alors porter le script de abg plutôt que de faire un script global. Bien sur nommer les 2 activator du même libellé à savoir celui du bateau.
C'est comme ça que j'ai fait si je me souviens bien pour le fulgurant dans mon mod, l'aéronef qui permet d'aller de ruine en ruine dwemer.

L'abus de SMS est dangereux pour l'élocution mentale

Le mod qui révèle (presque) tout sur les dwemers : Dwarmor

Fervent Partisan de l'Instabilité Avatarienne
Quart du quarteron des VGM...


#10 Confridín

Confridín

    Daddy ! je VEUX un nouveau sous-nom!!!


Posté 09 novembre 2011 - 15:29

Si mes souvenirs sont bons, on avait dans la dernière version du mod Stargate un bateau pilotable en temps réel pour le joueur. Et on était en train de l'améliorer pour qu'il soit beaucoup plus réaliste avec l'aide d'un autre membre, mais on n'a jamais terminé la bête par manque de temps et de motivation.
Ancien modérateur de Wiwiland à la retraite.

Ancien créateur et fan du mod Morrowind Stargate.

Et depuis, je suis devenu consultant SEO sur SeoMix et game addict sur Play-Mod

#11 papill6n

papill6n

    RatZaïïïïï !!!


Posté 09 novembre 2011 - 18:40

Abot a juste sorti une vidéo de l'avancement de son mod de voyage en bateau => http://www.youtube.com/user/a01oftaste

Apparemment pour être tranquille et évité les problèmes de changement de cellules, il a passé le bateau en créature.

Citation

Still at rotation center, can look around freely in both 1st and 3rd person view. Apart script complexity that would be needed (managing above 1000 waypoints is complicated enough), I'm using a creature as boat to avoid cellchange problems completely, but I have no working GetAngle Z that would be needed for trigonometry involved.


#12 PlicPloc

PlicPloc

Posté 09 novembre 2011 - 22:08

Mon but était juste de pouvoir téléporter le bateau (pour simuler le déplacement). Je ne pense pas avoir le niveau suffisant encore pour faire ce qu'a fait Abot. J'ai regardé les vidéos (et aussi celles avec l'échassier des marais), c'est vraiment bien fait. J'espère pouvoir faire ce genre de chose quand je maîtriserais un peu mieux le tescs.
En tout cas, j'ai réussi à déplacer mon bateau. Je pense que je vais laisser le deuxième bateau enable au début. En fait, le joueur ne pourra le voir que si il chercher vraiment à trouver une incohérence dans mon mod. Il doit vraiment le faire exprès.




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

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