Nous sommes le 16 Oct 2019, 19:30

Heures au format UTC + 2 heures




Poster un nouveau sujet Répondre au sujet  [ 164 messages ]  Aller à la page 1, 2, 3, 4, 5 ... 11  Suivante
Auteur Message
 Sujet du message: Scripts pour simulation de conduite
MessagePosté: 22 Sep 2007, 14:08 
Hors ligne
Avatar de l’utilisateur

Inscription: 08 Mar 2006, 17:57
Messages: 2421
Localisation: Aquitaine
Bonjour.

J'aimerais dévelloper un script personnel avec quelques *petits* détails qui améliorent la qualité de la conduite d'autocars et autre dans Mafia.

Bon, pour le moment il ne s'agira que d'autocars.

Déjà, avant de commencer un script il faudrait analyser si Tommy conduit bien le bon véhicule. C'est possible de ne déclancher le script QUE s'il conduit le car ? Je sais pas moi, par exemple en détectant un objet dans le modèle 3d...

J'aimerais qu'on puisse avoir des portes coulissantes dans le premier script, à la manière des Irisbus Récréo. Ca doit être faisable avec un .5ds déclenchable en script, par appui sur des touches, comme un script que Condor m'avait fait pour ouvrir les portes de manière traditionnelle.

Le deuxième script simulerait la limitation électronique à 100km/h. Une fois les 100km/h atteints, il faudrait que le véhicule ralentisse de lui même en émettant une alarme lorsqu'on les dépasse. Je suppose que c'est faisable. J'aimerais mettre un voyant rouge sur le compteur, pour l'illuminer je pourrais faire ça avec frm_seton.
Si possible, il faudrait pouvoir situer l'alarme sur le compteur de vitesses, mais là je doute de la possibilité de réalisation.

Le troisième script analyserais ce qui se passe derrière le car pour déclancher un radar de recul lorsque la marche arrière est enclanchée. Il faudrait avoir trois alertes différentes (bips plus ou moins espacés) selon la distance des collisions.

J'éspère que ces trois choses sont possibles, j'attends avec impatience la réponse du scripteur-en-Chef (oui oui, avec un C majuscule comme Condor :mrgreen:)

Je précise que les trois scripts sont par ordre de préférence. Une fois terminé, je mettrais sûrement ce "mini-mod" à disposition du bar.


Dernière édition par Kévin le 04 Nov 2007, 20:29, édité 1 fois.

Haut
 Profil  
 
 Sujet du message:
MessagePosté: 22 Sep 2007, 19:28 
Hors ligne
Avatar de l’utilisateur

Inscription: 22 Mai 2007, 18:34
Messages: 444
Localisation: Saturne
Ton second voeux est réalisé :wink: :

Code:
dim_act 5
dim_frm 5
dim_flt 10

label 101
getactiveplayer 0
findnearactor 0, 1, Car
getactorframe 0, 0
getactorframe 1, 1
car_getspeed 1,0
if flt[0]>100,-1,101
playsound "bip.wav", 0, 50, 1
carlight_main 1, 1
carlight_indic_r 1, 1
carlight_indic_l 1, 1
player_lockcontrols 1
car_setspeed 1, 98
wait 250
car_setspeed 1, 95
wait 250
car_setspeed 1, 92
wait 250
car_setspeed 1, 88
wait 250
car_setspeed 1, 83
wait 250
car_setspeed 1, 78
wait 250
car_setspeed 1, 73
wait 250
car_setspeed 1, 65
wait 250
car_setspeed 1, 60
carlight_main 1, 0
carlight_indic_r 1, 0
carlight_indic_l 1, 0
player_lockcontrols 0
goto 101


Mais ce n'est pas une lumière qui s'allume sur le compteur, mais ce sont tout les clignotants qui clignotent, comme lorsque l'on appuis sur le bouton "warning" d'une voiture.

_________________
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Mon site Mafia & Mafia II : http://famillemafieuse.free.fr


Haut
 Profil  
 
 Sujet du message:
MessagePosté: 22 Sep 2007, 20:53 
Hors ligne
Avatar de l’utilisateur

Inscription: 08 Mar 2006, 17:57
Messages: 2421
Localisation: Aquitaine
Wow, merci ! Mais si je comprends bien, ça ne va pas m'empêcher de dépasser les cent, mais plutôt me forcer quand j'atteinds cent de descendre cran par cran jusqu'à 60, sans que je puisse y faire quelque chose ? :lol2: Ce que j'aurais aimé c'est qu'il ralentisse simplement le car...
En tout cas merci beaucoup pour ton aide !
Je vais essayer de voir pour que ce soit activable avec un bouton, et que si j'active, un voyant ((M)) s'affiche sur le compteur. Ca, je sais faire :mrgreen:

Tu penses pouvoir m'aider pour le reste ?

EDIT : J'ai un doute, d'un coup. Comment cibler un objet du modèle 3d de la voiture que conduit tommy directement dans le script ? Je sais utiliser frm_setOn mais comment allouer à une frame un objet présent dans la voiture de Tommy ? Pour cela il faudrait pouvoir utiliser la voiture de tommy comme un élément présent dans la scène mais je doute que ce soit possible..


Haut
 Profil  
 
 Sujet du message:
MessagePosté: 22 Sep 2007, 21:42 
Hors ligne
Avatar de l’utilisateur

Inscription: 22 Mai 2007, 18:34
Messages: 444
Localisation: Saturne
Oui, agire directement sur le model en 3D, je ne sais pas faire, je ne pense pas que ce soit possible.

Pour les 5DS je n'y connais absolument rien :mrgreen: , et pour le radar arriere j'essairais mais je ne promer rien.

_________________
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Mon site Mafia & Mafia II : http://famillemafieuse.free.fr


Haut
 Profil  
 
 Sujet du message:
MessagePosté: 22 Sep 2007, 22:22 
Hors ligne
Avatar de l’utilisateur

Inscription: 08 Mar 2006, 17:57
Messages: 2421
Localisation: Aquitaine
Merci quand même pour toute ton aide :wink:

Kévin a écrit:
Mais si je comprends bien, ça ne va pas m'empêcher de dépasser les cent, mais plutôt me forcer quand j'atteinds cent de descendre cran par cran jusqu'à 60, sans que je puisse y faire quelque chose ? :lol2: Ce que j'aurais aimé c'est qu'il ralentisse simplement le car...


Haut
 Profil  
 
 Sujet du message:
MessagePosté: 24 Sep 2007, 18:51 
Hors ligne
Avatar de l’utilisateur

Inscription: 08 Mar 2006, 17:57
Messages: 2421
Localisation: Aquitaine
J'ai fait ce script pour les feux d'avertissement (warning) :


Code:
Dim_Flt 2
Dim_Act 3
Dim_Frm 1

GetActivePlayer 1
SetNullActor 2

Label Contrôle
CommandBlock 0
CommandBlock 1
Ctrl_ReadEx 0, CROUCH1
If Flt[0] = 1, -1, Contrôle
CompareOwnerWithEx 1, 2, Contrôle, -1

Human_GetOwner 1, 0
GetActorFrame 0, 0
If Flt[1] = 0, -1, Desactif

carlight_main 1, 1
carlight_indic_r 1, 1
carlight_indic_l 1, 1
Let Flt[1] = 1
GoTo Contrôle

Label Desactif
carlight_main 1, 0
carlight_indic_r 1, 0
carlight_indic_l 1, 0
Let Flt[1] = 0
GoTo Contrôle


Pourtant en jeu, il ne marche pas. Quelqu'un pourrait me corriger ? Un script (cf ci-dessous) similaire, pour activer/désactiver le limiteur de Letegre1 fonctionne pourtant très bien...

Code:
Dim_Flt 2
Dim_Act 4
Dim_Frm 1

GetActivePlayer 1
SetNullActor 2
FindActor 3, "Tegre_Limiteur"

Act_SetState 3, inactive

Label Contrôle
CommandBlock 0
CommandBlock 1
Ctrl_ReadEx 0, Crouch
If Flt[0] = 1, -1, Contrôle
CompareOwnerWithEx 1, 2, Contrôle, -1

Human_GetOwner 1, 0
GetActorFrame 0, 0
If Flt[1] = 0, -1, Desactif

Act_SetState 3, active
playsound "bip1.wav", 0, 50, 1
Let Flt[1] = 1
GoTo Contrôle

Label Desactif
Act_SetState 3, inactive
playsound "bip2.wav", 0, 50, 1
Let Flt[1] = 0
GoTo Contrôle


Haut
 Profil  
 
 Sujet du message:
MessagePosté: 24 Sep 2007, 19:32 
Hors ligne
Avatar de l’utilisateur

Inscription: 22 Mai 2007, 18:34
Messages: 444
Localisation: Saturne
Voici la correction :

Code:
Dim_Flt 10
Dim_Act 5
Dim_Frm 5

Label Controle
GetActivePlayer 0
Getactorframe 0, 0
Findnearactor 0, 1, Car
Getactorframe 1, 1
Ctrl_Read 0, CROUCH1
If Flt[0] = 1, -1, Controle
CompareOwnerWithEx 0, 1, -1, Controle

label on
carlight_main 1, 1
carlight_indic_r 1, 1
carlight_indic_l 1, 1
Label OnWait
Ctrl_Read 1, CROUCH1
If Flt[1] = 1, -1, OnWait
CompareOwnerWithEx 0, 1, -1, off

Label off
carlight_main 1, 0
carlight_indic_r 1, 0
carlight_indic_l 1, 0
GoTo Controle

_________________
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Mon site Mafia & Mafia II : http://famillemafieuse.free.fr


Haut
 Profil  
 
 Sujet du message:
MessagePosté: 24 Sep 2007, 20:05 
Hors ligne
Avatar de l’utilisateur

Inscription: 08 Mar 2006, 17:57
Messages: 2421
Localisation: Aquitaine
J'ai pas tout compris ce que tu avais modifié, mais l'essentiel est que ça marche :mrgreen:


Haut
 Profil  
 
 Sujet du message:
MessagePosté: 24 Sep 2007, 20:13 
Hors ligne
Avatar de l’utilisateur

Inscription: 22 Mai 2007, 18:34
Messages: 444
Localisation: Saturne
J'ai essayé de corriger, ça ne marchait toujours pas alors j'ai effacé tout ce qui pouvait potentiellement être faux et j'ai refais.

_________________
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Mon site Mafia & Mafia II : http://famillemafieuse.free.fr


Haut
 Profil  
 
 Sujet du message:
MessagePosté: 25 Sep 2007, 20:19 
Hors ligne
Avatar de l’utilisateur

Inscription: 08 Mar 2006, 17:57
Messages: 2421
Localisation: Aquitaine
Plus compliqué, j'éspère que tu y arriveras : Pourrais-tu "mêler" au script des warnings un script pour faire fonctionner les clignotants ?
(Jump = Clignotants gauches, Jump1 = Clignotants droits)

Ce serait super sympa :mrgreen: 8)


Haut
 Profil  
 
 Sujet du message:
MessagePosté: 25 Sep 2007, 20:48 
Hors ligne
Avatar de l’utilisateur

Inscription: 22 Mai 2007, 18:34
Messages: 444
Localisation: Saturne
Voyons, je suis un Tègre :

Code:
Dim_Flt 10
Dim_Act 5
Dim_Frm 5

Label Controle
GetActivePlayer 0
Getactorframe 0, 0
Findnearactor 0, 1, Car
Getactorframe 1, 1
Ctrl_Read 0, CROUCH1
If Flt[0] = 1, 101, -1
Ctrl_Read 1, JUMP1
If Flt[1] = 1, ClinD, -1
Ctrl_Read 2, JUMP
If Flt[2] = 1, ClinG, Controle
Label 101
CompareOwnerWithEx 0, 1, -1, Controle

label on
carlight_main 1, 1
carlight_indic_r 1, 1
carlight_indic_l 1, 1
Label OnWait
Ctrl_Read 0, CROUCH1
If Flt[0] = 1, -1, OnWait
CompareOwnerWithEx 0, 1, -1, off

Label off
carlight_main 1, 0
carlight_indic_r 1, 0
carlight_indic_l 1, 0
GoTo Controle

Label ClinD
CompareOwnerWithEx 0, 1, -1, ClinDoff
carlight_main 1, 1
carlight_indic_r 1, 1
Label OnWaitClinD
Ctrl_Read 1, JUMP1
If Flt[1] = 1, ClinDoff, OnWaitClinD
GoTo OnWaitClinD

Label ClinDoff
carlight_main 1, 0
carlight_indic_r 1, 0
GoTo Controle

Label ClinG
CompareOwnerWithEx 0, 1, -1, ClinGoff
carlight_main 1, 1
carlight_indic_l 1, 1
Label OnWaitClinG
Ctrl_Read 2, JUMP
If Flt[2] = 1, ClinGoff, OnWaitClinG
GoTo OnWaitClinG

Label ClinGoff
carlight_main 1, 0
carlight_indic_l 1, 0
GoTo Controle


Par contre il faut appuyer ni trop longtemps ni pas assez longtemps.

_________________
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Mon site Mafia & Mafia II : http://famillemafieuse.free.fr


Haut
 Profil  
 
 Sujet du message:
MessagePosté: 04 Nov 2007, 20:32 
Hors ligne
Avatar de l’utilisateur

Inscription: 08 Mar 2006, 17:57
Messages: 2421
Localisation: Aquitaine
Ca marche bien, merci.

J'ai inséré des panneaux "Attention au tramway" avec un feu clignotant en dessous. Je me sers de ce script pour détecter la présence d'un tramway 50mètres autour du panneau, et déclencher le script adéquat :

Code:
[b]Dim_Act 2
Dim_Frm 1
Dim_Flt 1

Findactor 0, "FeuTramTunnel"
Findframe 0, "FeuTramTunnel.ORANGE"

Findnearactor 0, 1, Railway
Getactorsdist 0, 1, 1

Frm_seton 0, 0[/b]

Label Analyse
If flt[1] < 50, -1, Analyse

Label Clign
Frm_seton 0, 1
wait 500
Frm_seton 0, 0
wait 500
If flt[1] < 50, Clign, Analyse


Sauf erreur de ma part, ce script est correct..
La partie en gras du script est lue de sûr car l'objet "ORANGE" représentant le feu allumé est déjà invisible. En revanche, même avec un tram sur la route d'en face il ne clignote pas. Possible de m'éclaircir ? :mrgreen:


Haut
 Profil  
 
 Sujet du message:
MessagePosté: 04 Nov 2007, 22:21 
Hors ligne
Son Excellence
Avatar de l’utilisateur

Inscription: 22 Aoû 2004, 23:09
Messages: 12259
Localisation: France
Ils sont sympa vos scripts, à part l'anglais inutile dans les scripts de Tègre, mais sinon c 'est bien aéré et organisé.


Par contre, Kévin, les balises ne peuvent pas marcher entre les balises [code].

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


Haut
 Profil  
 
 Sujet du message:
MessagePosté: 05 Nov 2007, 11:07 
Hors ligne
Avatar de l’utilisateur

Inscription: 08 Mar 2006, 17:57
Messages: 2421
Localisation: Aquitaine
Effectivement, je corrige ça tout de suite, j'avais même pas remarqué.

Condor, une idée de "pourquoi-ça-marche-pas" ?


Haut
 Profil  
 
 Sujet du message:
MessagePosté: 05 Nov 2007, 13:47 
Hors ligne
Son Excellence
Avatar de l’utilisateur

Inscription: 22 Aoû 2004, 23:09
Messages: 12259
Localisation: France
Déjà, ton détecteur de distance et declarateur de tram ne se trouvent pas dans la boucle, donc ton script n'interroge qu'une seule fois la distance entre le panneau et le tram.

Ensuite t'as oublié que la règle des allocateurs comprend le zéro. Si t'as Flt[1], tu dois avoir Dim_Flt 2 qui l'englobe, mais le mieux serait de rendre utile ton 0 actuellement superflu et de virer le 1 puis de normaliser en conséquence, donc Dim_Flt 1.


Celui-ci devrait marcher :

Code:
Dim_Frm 1
FindFrame 0, "FeuTramTunnel.ORANGE"
Frm_SetOn 0, 0

Dim_Act 2
FindActor 0, "FeuTramTunnel"


Dim_Flt 1

Label Analyse
FindNearActor 0, 1, Railway
GetActorsDist 0, 1, 0
If Flt[0] < 50, -1, Analyse

Frm_SetOn 0, 1
Wait 500
Frm_SetOn 0, 0
Wait 380
GoTo Analyse

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


Haut
 Profil  
 
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 164 messages ]  Aller à la page 1, 2, 3, 4, 5 ... 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