Bonjour Ariya,
Il y a plusieurs problèmes dans tes scripts, dont certains ont été dits par mes prédécesseurs. Pour des statics, il faut évidemment travailler en script global. Dès lors, tu n'as pas besoin de faire 4 scripts mais un seul qui regroupe tout l'enchainement de la construction du pont.
Dans tes scripts, tu utilises la variable "PosZ" pour agir en fonction de sa valeur mais tu n'as pas fait d'instruction pour lui donner une valeur.
Par ailleurs, tu testes avec une égalité "if ( PosZ == 649.372 )". Il y a de fortes chances pour que tu n'ais jamais cette égalité mais presque égal. Il ne faut donc jamais tester ce type de valeur avec une égalité stricte.
Tu as déclaré ta variable en "short" mais à partir du moment où la valeur qu'elle peut prendre est un nombre à virgule, il faut la déclarer en "float".
L'instruction "return" ne sert à rien dans ces scripts. Elle est utile pour les scripts locaux car ils ne peuvent pas être stoppés. On met donc un "return" pour que le script ne continue pas à se dérouler une fois qu'on n'en a plus besoin. Mais les scripts globaux étant stoppés, "return" n'y est pas utilisé dans ce but.
Le "Set Doonce to 0" ne sert à rien car tant qu'on ne lui a pas donné une autre valeur, une variable locale est à 0.
Il y a un problème possible avec le premier caractère de tes IDs. Tu utilises un chiffre et je te le déconseille (en premier caractère). Tes IDs génèrent des erreurs quand je les teste avec le "
débugueur de scripts", uniquement à cause de ce "0" au début. De plus, il y des risques d'erreurs à cause de la confusion possible entre le 0 et le O.
Voici un script global à essayer. Je ne l'ai pas testé, il se peut donc qu'il faille faire quelques modifications. J'ai remplacé le zéro des débuts d'IDs par un "O" majuscule. Pour le tester, il faut donc que tu renommes tes 4 statics. Attention, j'ai également changé l'ID du script puisqu'il n'y en a plus qu'un seul pour déplacer les 4 statics :
Begin Oo_Bridge_royaume_sc
short doonce
float place
if ( doonce == 0 )
set place to ( Oo_bridge_royaume_11->GetPos Z )
if ( place < 649.372 )
Oo_bridge_royaume_11->MoveWorld, z, 200
else
set DoOnce to 1
Oo_bridge_royaume_11->SetPos, z, 649.372
endif
elseif ( doonce == 1 )
set place to ( Oo_bridge_royaume_21->GetPos z )
if ( place < 649.372 )
Oo_bridge_royaume_21->MoveWorld, z, 200
else
set DoOnce to 2
Oo_bridge_royaume_21->SetPos, z, 649.372
endif
elseif ( doonce == 2 )
set place to ( Oo_bridge_royaume_22->GetPos z )
if ( place < 649.372 )
Oo_bridge_royaume_22->MoveWorld, z, 200
else
set DoOnce to 3
Oo_bridge_royaume_22->SetPos, z, 649.372
endif
elseif ( doonce == 3 )
set place to ( Oo_bridge_royaume_12->GetPos z )
if ( place < 812.621 )
Oo_bridge_royaume_12->MoveWorld, z, 200
else
Oo_bridge_royaume_12->SetPos, z, 812.621
stopscript, Oo_Bridge_royaume_sc
endif
endif
end
Dis-moi si ça fonctionne...