Nous sommes le 19 Sep 2019, 15:06

Heures au format UTC + 2 heures




Poster un nouveau sujet Répondre au sujet  [ 164 messages ]  Aller à la page Précédente  1 ... 7, 8, 9, 10, 11  Suivante
Auteur Message
 Sujet du message: Re: Scripts pour simulation de conduite
MessagePosté: 25 Avr 2009, 23:14 
Hors ligne
Avatar de l’utilisateur

Inscription: 08 Mar 2006, 17:57
Messages: 2421
Localisation: Aquitaine
La gare routière puis la station Lac puis la gare d'Hoboken et enfin le stade, pour cette version d'essai.

    FindActor 2, "Gare Routière Borne.Base borne"
    FindActor 3, "Station _Lac1"
    FindActor 4, "Gare SNCF Hoboken.Abribus[0]"
    FindActor 5, "Station _Stade Terminus"

Actuellement tous les cas merdent puisque le script est mal optimisé mais je suis sûr que tu sauras trouvé où est mon erreur ! :orange:


Haut
 Profil  
 
 Sujet du message: Re: Scripts pour simulation de conduite
MessagePosté: 25 Avr 2009, 23:26 
Hors ligne
Son Excellence
Avatar de l’utilisateur

Inscription: 22 Aoû 2004, 23:09
Messages: 12259
Localisation: France
C'est quoi comme acteurs, des scripts ?

_________________
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯


Haut
 Profil  
 
 Sujet du message: Re: Scripts pour simulation de conduite
MessagePosté: 25 Avr 2009, 23:31 
Hors ligne
Avatar de l’utilisateur

Inscription: 08 Mar 2006, 17:57
Messages: 2421
Localisation: Aquitaine
Non, des objets (« buildings ») placés dans le scene2.bin.


Haut
 Profil  
 
 Sujet du message: Re: Scripts pour simulation de conduite
MessagePosté: 25 Avr 2009, 23:44 
Hors ligne
Son Excellence
Avatar de l’utilisateur

Inscription: 22 Aoû 2004, 23:09
Messages: 12259
Localisation: France
Ça ce sont les armatures, pour que GetActorsDist marche, il faut des acteurs. Et tu déclares bien des acteurs avec FindActor...

_________________
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯


Haut
 Profil  
 
 Sujet du message: Re: Scripts pour simulation de conduite
MessagePosté: 25 Avr 2009, 23:46 
Hors ligne
Avatar de l’utilisateur

Inscription: 08 Mar 2006, 17:57
Messages: 2421
Localisation: Aquitaine
On peut pas se servir d'un objet type Building comme acteur ? :reflex:

Sinon faut coller un script sur l'objet, via DC|ED, mais c'est justement ce que je préfère éviter d'utiliser, comme logiciel ! :lol2:


Haut
 Profil  
 
 Sujet du message: Re: Scripts pour simulation de conduite
MessagePosté: 25 Avr 2009, 23:55 
Hors ligne
Son Excellence
Avatar de l’utilisateur

Inscription: 22 Aoû 2004, 23:09
Messages: 12259
Localisation: France
Alors comment ça peut marcher si ils ne sont pas des acteurs ?


Enfin, tout ça pour dire qu'il existe une technique pour mesurer la distance entre des armatures afin d'économiser des acteurs.

_________________
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯


Haut
 Profil  
 
 Sujet du message: Re: Scripts pour simulation de conduite
MessagePosté: 26 Avr 2009, 10:23 
Hors ligne
Avatar de l’utilisateur

Inscription: 08 Mar 2006, 17:57
Messages: 2421
Localisation: Aquitaine
Je les avais déclarés comme acteurs, je pensais que c'était suffisant. Quel script permet de mesurer la distance inter-armatures, Condor ?


Haut
 Profil  
 
 Sujet du message: Re: Scripts pour simulation de conduite
MessagePosté: 26 Avr 2009, 14:49 
Hors ligne
Son Excellence
Avatar de l’utilisateur

Inscription: 22 Aoû 2004, 23:09
Messages: 12259
Localisation: France
FindActor déclare, il ne crée pas. Si ça marche, c'est qu'elles ont un acteur, qu'il viennent du scene2.bin ou d'autre chose (comme une collision de tree.klz).

Pour mesurer la distance entre deux armatures :

Code:
Dim_Frm 2
FindFrame 0, "Armature_A"
FindFrame 1, "Armature_B"


Dim_Flt 7

Label Boucle
CommandBlock 1
Frm_GetPos 0, 1 // Obtient la position de l'armature 0 dans le vecteur 1
Frm_GetPos 1, 4 // Obtient la position de l'armature 1 dans le vecteur 4
Vect_Sub_Vect 1, 4 // Soustrait le vecteur 4 du vecteur 1
Vect_Magnitude 1, 0 // Obtient la distance du vecteur 1 dans le flottant 0
CommandBlock 0
If Flt[0] < 5, -1, Boucle

// Commandes à jouer si l'armature 0 est dans le rayon de l'armature 1 (ou inversement)


Le problème c'est que tu l'utilises tellement de fois que ça va te faire un script énorme, au final... :lol2:

_________________
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯


Haut
 Profil  
 
 Sujet du message: Re: Scripts pour simulation de conduite
MessagePosté: 26 Avr 2009, 14:56 
Hors ligne
Avatar de l’utilisateur

Inscription: 08 Mar 2006, 17:57
Messages: 2421
Localisation: Aquitaine
Ah oui putain, y'a pas une ligne de script du genre GeFramesDist X, Y, Z ? :lol2:

D'ailleurs ça me fait penser qu'on vient de résoudre sans le savoir le problème du feu clignotant du tram, question restée en suspens depuis la première page de ce sujet ! :orange: La détection de distance se faisait entre l'acteur du tram et un acteur nul, puisque le panneau qui était déclaré comme second acteur n'est qu'une armature. Marrant.


Haut
 Profil  
 
 Sujet du message: Re: Scripts pour simulation de conduite
MessagePosté: 27 Avr 2009, 11:13 
Hors ligne
Avatar de l’utilisateur

Inscription: 08 Mar 2006, 17:57
Messages: 2421
Localisation: Aquitaine
Code:
Dim_Act 2

GetActivePlayer 0
FindActor 1, "Bus Keolis 10"

Dim_Frm 8

GetActorsFrame 1, 0

FindFrame 1, "Gare Routière Borne.Base borne"
FindFrame 2, "Station _Lac1"
FindFrame 3, "Gare SNCF Hoboken.Abribus[0]"
FindFrame 4, "Station _Stade Terminus"

FindFrame 5, "Bus Keolis 10.Plafonnier"
FindFrame 6, "Bus Keolis 10.HPPorte"
FindFrame 7, "Bus Keolis 10.Monétique"

Label Vehicule
CompareOwnerWithEx 0, 1,  -1, Vehicule
Wait 1024
Console_AddText 99970069
PlaySound "beep50.wav", 2, 2, 0.3, -1

Dim_Flt 8

//////////////////////////////////////////////////////////////////////
////////////////////////////////////// Prochaine station : Gare urbaine

Label Prochaine_Station_1

CommandBlock 1
Frm_GetPos 0, 1 // Obtient la position de l'armature 0 dans le vecteur 1
Frm_GetPos 1, 4 // Obtient la position de l'armature 1 dans le vecteur 4
Vect_Sub_Vect 1, 4 // Soustrait le vecteur 4 du vecteur 1
Vect_Magnitude 1, 0 // Obtient la distance du vecteur 1 dans le flottant 0
CommandBlock 0

If Flt[0] < 100, -1, Prochaine_Station_1

Console_AddText 99970070
PlaySound "Saeiv_Gurb.wav", 5, 8, 1, -1

//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////// Station : Gare urbaine

Label Station_1

CommandBlock 1
Frm_GetPos 0, 1 // Obtient la position de l'armature 0 dans le vecteur 1
Frm_GetPos 1, 4 // Obtient la position de l'armature 1 dans le vecteur 4
Vect_Sub_Vect 1, 4 // Soustrait le vecteur 4 du vecteur 1
Vect_Magnitude 1, 0 // Obtient la distance du vecteur 1 dans le flottant 0
CommandBlock 0

If Flt[0] < 10, -1, Station_1

PlaySound "beep50.wav", 7, 2, 0.3, -1

Label Vitesse_1
Car_GetSpeed 1, 7
If Flt[1] < 1, -1, Vitesse_1

Wait 1024
PlaySound "Saeiv_1004.wav", 6, 3, 1, -1

//////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////// Prochaine station : Lac

Label Prochaine_Station_2

CommandBlock 1
Frm_GetPos 0, 1 // Obtient la position de l'armature 0 dans le vecteur 1
Frm_GetPos 2, 4 // Obtient la position de l'armature 2 dans le vecteur 4
Vect_Sub_Vect 1, 4 // Soustrait le vecteur 4 du vecteur 1
Vect_Magnitude 1, 0 // Obtient la distance du vecteur 1 dans le flottant 0
CommandBlock 0

If Flt[0] < 100, -1, Prochaine_Station_2

Console_AddText 99970071
PlaySound "Saeiv_Lac.wav", 5, 8, 1, -1

//////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////// Station : Lac

Label Station_2

CommandBlock 1
Frm_GetPos 0, 1 // Obtient la position de l'armature 0 dans le vecteur 1
Frm_GetPos 2, 4 // Obtient la position de l'armature 2 dans le vecteur 4
Vect_Sub_Vect 1, 4 // Soustrait le vecteur 4 du vecteur 1
Vect_Magnitude 1, 0 // Obtient la distance du vecteur 1 dans le flottant 0
CommandBlock 0

If Flt[0] < 10, -1, Station_2

PlaySound "beep50.wav", 7, 2, 0.3, -1

Label Vitesse_2
Car_GetSpeed 1, 7
If Flt[1] < 1, -1, Vitesse_2

Wait 1024
PlaySound "Saeiv_1004.wav", 6, 3, 1, -1

//////////////////////////////////////////////////////////////////////
/////////////////////////////// Prochaine station : Hoboken, Gare SNCF

Label Prochaine_Station_3

CommandBlock 1
Frm_GetPos 0, 1 // Obtient la position de l'armature 0 dans le vecteur 1
Frm_GetPos 3, 4 // Obtient la position de l'armature 3 dans le vecteur 4
Vect_Sub_Vect 1, 4 // Soustrait le vecteur 4 du vecteur 1
Vect_Magnitude 1, 0 // Obtient la distance du vecteur 1 dans le flottant 0
CommandBlock 0

If Flt[0] < 100, -1, Prochaine_Station_3

Console_AddText 99970072
PlaySound "Saeiv_HbkGare.wav", 5, 8, 1, -1

//////////////////////////////////////////////////////////////////////
//////////////////////////////////////// Station : Hoboken, Gare SNCF

Label Station_3

CommandBlock 1
Frm_GetPos 0, 1 // Obtient la position de l'armature 0 dans le vecteur 1
Frm_GetPos 3, 4 // Obtient la position de l'armature 3 dans le vecteur 4
Vect_Sub_Vect 1, 4 // Soustrait le vecteur 4 du vecteur 1
Vect_Magnitude 1, 0 // Obtient la distance du vecteur 1 dans le flottant 0
CommandBlock 0

If Flt[0] < 10, -1, Station_3

PlaySound "beep50.wav", 7, 2, 0.3, -1

Label Vitesse_3
Car_GetSpeed 1, 7
If Flt[1] < 1, -1, Vitesse_3

Wait 1024
PlaySound "Saeiv_1004.wav", 6, 3, 1, -1

//////////////////////////////////////////////////////////////////////
///////////////////////////////////////////// Prochaine station : Stade

Label Prochaine_Station_4

CommandBlock 1
Frm_GetPos 0, 1 // Obtient la position de l'armature 0 dans le vecteur 1
Frm_GetPos 4, 4 // Obtient la position de l'armature 4 dans le vecteur 4
Vect_Sub_Vect 1, 4 // Soustrait le vecteur 4 du vecteur 1
Vect_Magnitude 1, 0 // Obtient la distance du vecteur 1 dans le flottant 0
CommandBlock 0

If Flt[0] < 100, -1, Prochaine_Station_4

Console_AddText 99970073
PlaySound "Saeiv_Stade.wav", 5, 8, 1, -1

//////////////////////////////////////////////////////////////////////
//////////////////////////////////////// Station : Hoboken, Gare SNCF

Label Station_4

CommandBlock 1
Frm_GetPos 0, 1 // Obtient la position de l'armature 0 dans le vecteur 1
Frm_GetPos 4, 4 // Obtient la position de l'armature 4 dans le vecteur 4
Vect_Sub_Vect 1, 4 // Soustrait le vecteur 4 du vecteur 1
Vect_Magnitude 1, 0 // Obtient la distance du vecteur 1 dans le flottant 0
CommandBlock 0

If Flt[0] < 10, -1, Station_4

PlaySound "beep50.wav", 7, 2, 0.3, -1

Label Vitesse_4
Car_GetSpeed 1, 7
If Flt[1] < 1, -1, Vitesse_4

Wait 1024
PlaySound "Saeiv_1004.wav", 6, 3, 1, -1

//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
////////////////////////////////////////////// Réinitialisation du SAEIV
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////

GoTo Prochaine_Station_1


Lorsque je monte dans le bus au dépôt et que je valides la girouette au code 1004, J'ai le petit délai d'une seconde sans que rien ne se passe, puis le bip et le message « SAEIV Initialisé, code 1004 ». Comme prévu.

Par contre, immédiatement après, j'ai l'annonce vocale et le texte correspondants à la première station, « gare urbaine ». J'ai parcouru tout le trajet mais lorsque je passe la borne de la gare urbaine (toujours en position basse puisque tu n'as pas terminé le script ! :orange: ) je n'ai pas de bip, lorsque j'approche de la station lac je n'ai pas d'annonce..

Je pense que l'erreur vient de mon analyse de la distance, toujours. Peut être le script If Flt[0] < 100, -1, Prochaine_Station_1 ? :?


Haut
 Profil  
 
 Sujet du message: Re: Scripts pour simulation de conduite
MessagePosté: 27 Avr 2009, 20:33 
Hors ligne
Son Excellence
Avatar de l’utilisateur

Inscription: 22 Aoû 2004, 23:09
Messages: 12259
Localisation: France
Possible que ça vienne de la longueur de tes étiquettes, elles ont une limite de caractères (dans les dizaines) donc faudrait voir ce que ça donne en les allégeant.

_________________
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯


Haut
 Profil  
 
 Sujet du message: Re: Scripts pour simulation de conduite
MessagePosté: 28 Avr 2009, 11:08 
Hors ligne
Avatar de l’utilisateur

Inscription: 08 Mar 2006, 17:57
Messages: 2421
Localisation: Aquitaine
    Prochaine_Station_X devenant PrStX
    Station_X devenant StX
    Vitesse_X devenant VX

...rien ne change. Je vais tenter le coup du nouveau scene2.bin « sain » et par la même occasion rajouter un acteur pour chaque abribus que je place, aux mêmes coordonnées. Comme ça j'utiliserai le script pour avoir la distance entre deux acteurs, c'est plus propre, déjà.


Haut
 Profil  
 
 Sujet du message: Re: Scripts pour simulation de conduite
MessagePosté: 29 Avr 2009, 16:32 
Hors ligne
Avatar de l’utilisateur

Inscription: 08 Mar 2006, 17:57
Messages: 2421
Localisation: Aquitaine
J'ai refait à neuf un nouveau scene2.bin. À mon plus grand étonnement, le jeu est désormais totalement fluide. J'ai contrôlé tous mes scripts et bâtiments, j'ai fait le « transfert » correctement, rien ne manque.
J'ai trouvé très vite les occulteurs à supprimer (au nombre de trois) en chargeant simultanément le scene2.bin vierge et celui déjà modifié (des copies, pour ne pas endommager les fichiers par l'utilisation du programme) dans DC|ED et comparant les listes, pour trouver les manquants.

À chaque abribus ajouté, j'ai rajouté directement après un mannequin aux même coordonnées. Je déclare ces mannequins comme acteurs dans le script du SAEIV et me sers du script pour comparer la distance entre les acteurs. Désormais, le système fonctionne à la perfection. Le feu clignotant pour l'intersection avec le tramway fonctionne également puisque j'y ai attribué un mannequin comme pour les stations.

Le seul problème subsistant étant la descente de la borne rétractable, à voir ici.


Haut
 Profil  
 
 Sujet du message: Re: Scripts pour simulation de conduite
MessagePosté: 16 Mai 2009, 21:52 
Hors ligne
Son Excellence
Avatar de l’utilisateur

Inscription: 22 Aoû 2004, 23:09
Messages: 12259
Localisation: France
Ta borne peut interrompre son mouvement ?

_________________
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯


Haut
 Profil  
 
 Sujet du message: Re: Scripts pour simulation de conduite
MessagePosté: 20 Mai 2009, 15:01 
Hors ligne
Avatar de l’utilisateur

Inscription: 08 Mar 2006, 17:57
Messages: 2421
Localisation: Aquitaine
En cas de collision avec un véhicule, peut-être ? Mais pour le script, une borne qui se contente de descendre de haut en bas lorsqu'on le demande, puis monter de bas en haut, ça me suffit.


Haut
 Profil  
 
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 164 messages ]  Aller à la page Précédente  1 ... 7, 8, 9, 10, 11  Suivante

Heures au format UTC + 2 heures


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité


Vous ne pouvez pas poster de nouveaux sujets
Vous ne pouvez pas répondre aux sujets
Vous ne pouvez pas éditer vos messages
Vous ne pouvez pas supprimer vos messages
Vous ne pouvez pas joindre des fichiers

Rechercher:
Aller à:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Traduction par: phpBB-fr.com