Aller au contenu


Positioncell, Personnage "figé"


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

#1 Deratiseur

Deratiseur

Posté 16 avril 2008 - 20:05

Bonjour :)

Avec l'instruction de code toute bête comme ceci :

Der_Rhagosil"->PositionCell, -52634, 28079, 200, 228, "Région de la côte de mélancolie" ; Gnaar Mok

Je trouve le personnage lévitant à 30 cm au dessus du sol et "figé". Il peut dialoguer mais il ne bouge absolument pas. Il est bien dans la région et à l'endroit où je voudrais qu'il soit, mais il lévite. (j'ai pourtant bien pris le positionnement en le plaçant avec "Z" pour être sûr qu'il soit au niveau du sol -> +5 pour qu'il soit légèrement au dessus)

Qué pasa ? :umnik:

Modifié par Deratiseur, 17 avril 2008 - 07:27.


#2 elendell

elendell

    Mécano Dell'Arte


Posté 17 avril 2008 - 02:44

Hello,

Ton instruction est bonne. Vérifie le reste de ton script ainsi que les autres scripts, instructions dans dialogues, etc. qui agissent sur Der_Rhagosil. Même sans le guillemet d'ouverture, elle fonctionne.

Pour t'en assurer, il te suffit de faire ce script global et de le lancer avec la console :

begin Der_Test

"Der_Rhagosil"->PositionCell, -52634, 28079, 200, 228, "Région de la côte de mélancolie" ; Gnaar Mok
player->PositionCell, -52634, 28079, 200, 228, "Région de la côte de mélancolie"

stopscript, "Der_Test"

end

PS: Curieux ce "Nio Julien" dans le titre de ton sujet.  :umnik:

#3 sucresalesucre

sucresalesucre

    En fait y'a des accents cachés


Posté 17 avril 2008 - 08:09

Essaie de rajouter une ligne Aiwander après la ligne positioncell, et vérifie sur le script de Der_Rhagosil qu'aucun package AI n'est exécuté s'il ne devrait pas.

Le chat CROIT appartenir à une race supérieure évoluée. Mais ce n'est qu'un rebut pervers avec des yeux belzebuth et des griffes.


------

Moddeur de Blye Citadelle du Chaos pour Morrowind et Vault panic pour Fallout3


#4 Cogite Stibon

Cogite Stibon

    Théoriquement moddeur


Posté 17 avril 2008 - 10:39

Un truc tout bête :
Est-ce que tu es sûr que ton script ne s'exécute qu'une seule fois (avec une variable Doonce, par exemple, ou avec un stopscript comme dans l'exemple d'Elendell).
Parce que, s'il s'exécute a chaque frame, le PNJ va être en permanence repositionné à la même position, ce qui le "fige".

Cogite.

Tout droit vers le non-linéaire !
It's not the engine, it's the writing.
HERMA MORA ALTADOON AE


#5 Deratiseur

Deratiseur

Posté 19 avril 2008 - 21:00

Aux nouvelles :

Alors, pour une raison qui m'est complètement inconnue, ce "bug" est aléatoire.
Du moins il ne se présente pas toujours.

J'ai refais 2 fois le tour (ingame) des 31 points où le personnage doit se positionner.
Il n'était plus figé à Gnaar mok, mais l'était à Gnisis au 2eme tour....

#6 sucresalesucre

sucresalesucre

    En fait y'a des accents cachés


Posté 19 avril 2008 - 22:06

C'est un script attaché à Rhagosil qui gère ses 31 déplacements ? Si oui c'est peut-être lié à la structure des boucles du script, ou à la mise à jour des variables.

Pour gérer les déplacements d'un NPC, soit tu peux faire un script qui gère tout attaché au NPC, soit... plusieurs scripts qui détectent les conditions et déclenchent le PositionCell. Sur mon mod, j'ai procédé de la 2ème manière, car j'avais peur pour l'éxécution du script dès lors que le NPC a fait son Positioncell, et donc que le script n'est plus actif là où est le joueur. Ton problème vient peut-être de là.

Le chat CROIT appartenir à une race supérieure évoluée. Mais ce n'est qu'un rebut pervers avec des yeux belzebuth et des griffes.


------

Moddeur de Blye Citadelle du Chaos pour Morrowind et Vault panic pour Fallout3


#7 Deratiseur

Deratiseur

Posté 20 avril 2008 - 07:03

En fait non, j'ai privilégié le scrip global, ça s'imposait. Le voilà dans son ensemble (les lignes Aiwander ont été rajouté depuis le début du post, ça n'a "rien" changé ni en bien ni en mal, mais elles vont y rester parce que c'est bien pratique pour déclarer s'il bouge ou non) :

Begin DerRhagosilGlobal

Short Derday


if ( MenuMode == 1 )
	Return
endif


if ( Derday == Day )
	Return
endif



if ( Day == 1 )
	"Der_Rhagosil"->PositionCell, -70743, 137430, 648, 143, "Khuul"
	"Der_Rhagosil"->AIWander, 0, 5, 0, 40, 30, 10, 20, 0, 0, 0, 0, 0
	"Der_Coffre_Rhagosil"->PositionCell, -70743, 137430, 248, 0, "Khuul"


elseif ( Day == 2 )
	"Der_Rhagosil"->PositionCell, 4138, 4344, 13733, 149, "Khuul, auberge de Thongar"
	"Der_Rhagosil"->AIWander, 5, 5, 0, 40, 30, 10, 20, 0, 0, 0, 0, 0
	"Der_Coffre_Rhagosil"->PositionCell, 4313, 4665, 13750, 0, "Khuul, auberge de Thongar"


elseif ( Day == 3 )
	"Der_Rhagosil"->PositionCell, -75289, 96001, 1254, 182, "Gnisis"
	"Der_Rhagosil"->AIWander, 0, 5, 0, 40, 30, 10, 20, 0, 0, 0, 0, 0
	"Der_Coffre_Rhagosil"->PositionCell, -75289, 96001, 1054, 0, "Gnisis"


elseif (Day == 4 )
	"Der_Rhagosil"->PositionCell, -85683, 85976, 764, 0, "Gnisis"
	"Der_Coffre_Rhagosil"->PositionCell, -85683, 85976, 564, 0, "Gnisis"


elseif ( Day == 5 )
	"Der_Rhagosil"->PositionCell, -62827, 65630, 1459, 240, "Région de la faille de l'Ouest" ; Andasreth, entre Gnisis et Gnaar Mok
	"Der_Rhagosil"->AIWander, 32, 5, 0, 40, 30, 10, 20, 0, 0, 0, 0, 0
	"Der_Coffre_Rhagosil"->PositionCell,  -62827, 65630, 1259, 0, "Région de la faille de l'Ouest"


elseif ( Day == 6 )
	"Der_Rhagosil"->PositionCell, -52634, 28079, 200, 228, "Région de la côte de mélancolie" ; Gnaar Mok
	"Der_Rhagosil"->AIWander, 8, 2, 0, 40, 30, 10, 20, 0, 0, 0, 0, 0
	"Der_Coffre_Rhagosil"->PositionCell, -52634, 28079, 0, 0, "Région de la côte de mélancolie"


elseif ( Day == 7 )
	"Der_Rhagosil"->PositionCell, -23407, 24422, 1573, 0, "Région de la faille de l'Ouest" ; Caldéra
	"Der_Rhagosil"->AIWander, 2, 5, 0, 40, 30, 10, 20, 0, 0, 0, 0, 0
	"Der_Coffre_Rhagosil"->PositionCell, -23407, 24422, 1373, 0, "Région de la faille de l'Ouest"


elseif ( Day == 8 )
	"Der_Rhagosil"->PositionCell, 223, -64, 22, 180, "Balmora, Ra'Virr, marchand"
	"Der_Rhagosil"->AIWander, 0, 5, 0, 40, 30, 10, 20, 0, 0, 0, 0, 0
	"Der_Coffre_Rhagosil"->PositionCell, 459, 378, -10, 0, "Balmora, Ra'Virr, marchand"


elseif ( Day == 9 )
	"Der_Rhagosil"->PositionCell, 791, 762, -231, 217, "Balmora, Cercle du Mur du Sud"
	"Der_Coffre_Rhagosil"->PositionCell, 399, 669,-233, 0, "Balmora, Cercle du Mur du Sud"


elseif ( Day == 10 )
	"Der_Rhagosil"->PositionCell, -40709, -30889, 469, 223, "Région de la côte de mélancolie" ; Hla oad
	"Der_Coffre_Rhagosil"->PositionCell, -40709, -30889, 269, 0, "Région de la côte de mélancolie"


elseif ( Day == 11 )
	"Der_Rhagosil"->PositionCell, -1568, -70603, 758, 310, "Région de la Côte de Mélancolie" ; Seyda neen
	"Der_Rhagosil"->AIWander, 52, 5, 0, 40, 30, 10, 20, 0, 0, 0, 0, 10
	"Der_Coffre_Rhagosil"->PositionCell, -1568, -70603, 558, 0, "Région de la Côte de Mélancolie"


elseif ( Day == 12 )
	"Der_Rhagosil"->PositionCell, 18832, -85085, 778, 291, "Région des îles ascadiennes" ; Vivec (Pont du quartier Hlaalu)
	"Der_Rhagosil"->AIWander, 30, 5, 0, 40, 30, 10, 20, 0, 0, 0, 0, 15
	"Der_Coffre_Rhagosil"->PositionCell, 17609, -85153, 362, 0, "Région des îles ascadiennes"


elseif ( Day == 13 )
	"Der_Rhagosil"->PositionCell, 36505, -67394, 753, 244, "Région des îles ascadiennes" ; Vivec
	"Der_Rhagosil"->AddItem, "steel longbow", 1
	"Der_Rhagosil"->AddItem, "viper arrow", 213
	"Der_Rhagosil"->RemoveItem, "steel jinkblade of the aegis", 1
	"Der_Rhagosil"->AIWander, 56, 5, 0, 40, 30, 10, 20, 0, 0, 0, 0, 0
	"Der_Coffre_Rhagosil"->PositionCell, 36505, -67394, 553, 0, "Région des îles ascadiennes"


elseif ( Day == 14 )
	"Der_Rhagosil"->PositionCell, 45060, -59608, 552, 23, "Région des îles ascadiennes" ; Suran
	"Der_Rhagosil"->AIWander, 20, 5, 0, 40, 30, 10, 20, 0, 0, 0, 0, 0
	"Der_Coffre_Rhagosil"->PositionCell, 45060, -59608, 352, 0, "Région des îles ascadiennes"


elseif ( Day == 15 )
	"Der_Rhagosil"->PositionCell, 54862, -43873, 1819, 180, "Suran"
	"Der_Rhagosil"->AddItem, "steel jinkblade of the aegis", 1
	"Der_Rhagosil"->RemoveItem, "steel longbow", 1
	"Der_Rhagosil"->RemoveItem, "viper arrow", 213
	"Der_Rhagosil"->AIWander, 0, 5, 0, 40, 30, 10, 20, 0, 0, 0, 0, 10
	"Der_Coffre_Rhagosil"->PositionCell, 54862, -43873, 1619, 0, "Suran"


elseif ( Day == 16 )
	"Der_Rhagosil"->PositionCell, 82842, -57529, 404, 206, "Région de la Côte d'Azura" ; Entre Suran et Molag Mar ; Telasero
	"Der_Rhagosil"->AIWander, 128, 5, 0, 40, 30, 10, 20, 0, 0, 0, 0, 0
	"Der_Coffre_Rhagosil"->PositionCell, 45462, -60149, 355, 0, "Région de la Côte d'Azura"


elseif ( Day == 17 )
	"Der_Rhagosil"->PositionCell, 107925, -59380, 580, 320, "Molag Mar"
	"Der_Rhagosil"->AIWander, 62, 5, 0, 40, 30, 10, 20, 0, 0, 0, 0, 0
	"Der_Coffre_Rhagosil"->PositionCell, 107925, -59380, 380, 0, "Molag Mar"


elseif ( Day == 18 )
	"Der_Rhagosil"->PositionCell, 112453, -51224, 1398, 331, "Région de Molag Amur" ; Molag Mar
	"Der_Rhagosil"->AIWander, 64, 5, 0, 40, 30, 10, 20, 0, 0, 0, 0, 0
	"Der_Coffre_Rhagosil"->PositionCell, 112453, -51224, 1198, 0, "Région de Molag Amur"


elseif ( Day == 19 ) 
	"Der_Rhagosil"->PositionCell, 86888, -27820, 2345, 222, "Région de Molag Amur" ; Entre Molag mar et le camp des Erabenimsu (sud de Nchuleftingth)
	"Der_Rhagosil"->AIWander, 56, 5, 0, 40, 30, 10, 20, 0, 0, 0, 0, 0
	"Der_Coffre_Rhagosil"->PositionCell, 86888, -27820, 2145, 0, "Région de Molag Amur"


elseif ( Day == 20 )
	"Der_Rhagosil"->PositionCell, 119553, 1835, 300, 0, "Région de Molag Amur" ; Camp des Erabenimsu
	"Der_Rhagosil"->AIWander, 128, 5, 0, 40, 30, 10, 20, 0, 0, 0, 0, 0
	"Der_Coffre_Rhagosil"->PositionCell, 119553, 1835, 100, 0, "Région de Molag Amur"


elseif ( Day == 21 )
	"Der_Rhagosil"->PositionCell, -71, 295, 390, 222, "Sadrith Mora, Cercle de Muriel la Fripouille"
	"Der_Rhagosil"->AIWander, 0, 5, 0, 40, 30, 10, 20, 0, 0, 0, 0, 5
	"Der_Coffre_Rhagosil"->PositionCell, -110, 121, 439, 0, "Sadrith Mora, Cercle de Muriel la Fripouille"


elseif ( Day == 22 )
	"Der_Rhagosil"->PositionCell, 157251, 30842, 1583, 234, "Région de la côte d'Azura" ; Sadrith Mora
	"Der_Coffre_Rhagosil"->PositionCell, 157251, 30842, 1383, 0, "Région de la côte d'Azura"


elseif ( Day == 23 )
	"Der_Rhagosil"->PositionCell, 124445, 52179, 473, 314, "Région de la Côte d'Azura" ; Tel Aruhn
	"Der_Coffre_Rhagosil"->PositionCell, 124445, 52179, 273, 0, "Région de la Côte d'Azura"


elseif ( Day == 24 )
	"Der_Rhagosil"->PositionCell, 123009, 72229, 139, 149, "Région de la Côte d'Azura" ; Indoranyon
	"Der_Rhagosil"->AIWander, 40, 5, 0, 40, 30, 10, 20, 0, 0, 0, 0, 0
	"Der_Coffre_Rhagosil"->PositionCell, 123009, 72229, 0, 0, "Région de la Côte d'Azura"


elseif ( Day == 25 )
	"Der_Rhagosil"->PositionCell, 86473, 92367, 1319, 251, "Région des Grandes Pâtures" ; Camp des Zanaïbs
	"Der_Rhagosil"->AddItem, "Der_Rhagosil_Chapeau", 1
	"Der_Rhagosil"->AIWander, 0, 5, 0, 40, 30, 10, 20, 0, 0, 0, 0, 0
	"Der_Coffre_Rhagosil"->PositionCell, 86473, 92367, 1119, 0, "Région des Grandes Pâtures"


elseif ( Day == 26 )
	"Der_Rhagosil"->PositionCell, 100389, 103996, 816,0, "Région des Grandes Pâtures" ; Vos
	"Der_Rhagosil"->AIWander, 56, 5, 0, 40, 30, 10, 20, 0, 0, 0, 0, 0
	"Der_Coffre_Rhagosil"->PositionCell, 100389, 103996, 616,0, "Région des Grandes Pâtures"


elseif ( Day == 27 )
	"Der_Rhagosil"->PositionCell, 99843, 137936, 1430, 29, "Région de la côte d'Azura" ; Camp des Ahemmusa
	"Der_Rhagosil"->AIWander, 0, 5, 0, 40, 30, 10, 20, 0, 0, 0, 0, 0
	"Der_Coffre_Rhagosil"->PositionCell, 99843, 137936, 1230, 0, "Région de la côte d'Azura"


elseif ( Day == 28 )
	"Der_Rhagosil"->PositionCell, 66515, 188309, 847, 189, "Région de Shéogorad" ; Dagon Fel
	"Der_Rhagosil"->RemoveItem, "Der_Rhagosil_Chapeau", 1
	"Der_Coffre_Rhagosil"->PositionCell, 66515, 188309, 647, 0, "Région de Shéogorad"


elseif ( Day == 29 )
	"Der_Rhagosil"->PositionCell, 61807, 194294, 787, 0, "Région de Shéogorad" ; Dagon Fel
	"Der_Coffre_Rhagosil"->PositionCell, 61807, 194294, 587, 0, "Région de Shéogorad"


elseif ( Day == 30 )
	"Der_Rhagosil"->PositionCell, 22516, 160306, 586, 228, "Région de Shéogorad" ; Entre Dagon Fel et le camp des Urshilaku
	"Der_Rhagosil"->AIWander, 32, 5, 0, 40, 30, 10, 20, 0, 0, 0, 0, 0
	"Der_Coffre_Rhagosil"->PositionCell, 22516, 160306, 486, 0, "Région de Shéogorad"


elseif ( Day == 31 )
	"Der_Rhagosil"->PositionCell, -17817, 144827, 1088, 211, "Région des Terres-Cendres" ; Camp des Urshilaku
	"Der_Rhagosil"->AIWander, 0, 5, 0, 40, 30, 10, 20, 0, 0, 0, 0, 0
	"Der_Coffre_Rhagosil"->PositionCell, -17817, 144827, 888, 0, "Région des Terres-Cendres"

endif


set Derday to Day

end

Modifié par Deratiseur, 20 avril 2008 - 07:04.


#8 sucresalesucre

sucresalesucre

    En fait y'a des accents cachés


Posté 20 avril 2008 - 07:15

Et si DerDay était une variable globale, et non une varible locale ? car la variable locale peut se réinistialiser au bout d'un certain temps. Dans un script global qui s'utilise régulièrement tout le long du mod, j'utiliserais une variable globale... mais je me trompe peut-être ! Enfin à mon avis, c'est la gestion de la variable derday qui pose problème.

Le chat CROIT appartenir à une race supérieure évoluée. Mais ce n'est qu'un rebut pervers avec des yeux belzebuth et des griffes.


------

Moddeur de Blye Citadelle du Chaos pour Morrowind et Vault panic pour Fallout3





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

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