Nous sommes le 16 Oct 2019, 02:04

Heures au format UTC + 2 heures




Poster un nouveau sujet Répondre au sujet  [ 246 messages ]  Aller à la page Précédente  1 ... 12, 13, 14, 15, 16, 17  Suivante
Auteur Message
 Sujet du message: Re: Éditer des scripts
MessagePosté: 16 Jan 2011, 19:40 
Hors ligne
Scripteur
Avatar de l’utilisateur

Inscription: 23 Aoû 2007, 21:54
Messages: 1534
Localisation: Belgique, Bruxelles
Condor, voleur de priorité ! :x


Condor a écrit:
Code:
Dim_Frm 2
Dim_Act 1

FindFrame 0, "Interro1"
FindFrame 1, "Arm2"

FindActor 0, "Norman2,0945"
Human_SetProperty 0, 500, Energy


{ Up
Enemy_PlayAnim "GestikulaceNew02.I3D"
Label Boucle
Wait 86400000
GoTo Boucle
}

Event Use_AB, 10970007
Enemy_Talk 19950003
Enemy_Wait
Enemy_Move_To_Frame 1, 0, Walk
Enemy_Move_To_Frame 0, 0, Walk
Return


Condor, tu n'as pas mis de Event_Use_CB 1 dans l'évènement avant le retour, alors qu'il y a des accolades "Up", pourquoi ? Moi je trouve qu'elles ne servent à rien dans ce cas, les accolades (et donc sans Event_Use_CB 1).


catala a écrit:
Quel est la fonction qui permet a une action de se lancer quand il détecte que le joueur est à moins de X mètres ?


Ça dépend par rapport à quoi tu mesures la distance de Tom ; à un point sur la carte ou à un ennemi ? Il faut aussi savoir si l'action doit être réalisée par l'ennemi en question ou si cette action consiste, par exemple, en l'apparition d'une voiture (un peu comme en Circulation Ultra-Libre, lorsque tu acceptes une mission et que la voiture bonus apparaît). Mais dans les deux cas, il vaut mieux utiliser un script différent.

Pour détecter la distance, il y a deux options :

  1. Si tu places un détecteur fixe, autrement dit, une armature, soit un objet de type "Other" (et avec script) dans BSV, alors la meilleure commande est : Detector_InRange Id_Flt, Distance.

    Code:
    Dim_Flt 1

    Label DetTom
    Detector_InRange 0, 15
    // Si le joueur est détecté dans un rayon de 15 mètres (Flt[0] = 1), alors le script passe à la ligne suivante :
    If Flt[0] = 1, -1, DetTom

    // Lancement de l'action (envoi d'un évènement vers un ennemi ou apparition d'une voiture, pour garder mon exemple) :
    // [...]

    Attention avec cette méthode, car comme le dit Condor ici :
    Citation:
    Arès, pour que Detector_InRange fonctionne, il lui faut un booléen d'un octet précis dans l'acteur script. En hexadécimal, c'est 18 octets après la fin du nom de l'objet, il faut foutre cet octet à 01 (qui sera alors précédé d'un autre 01).

  2. Si tu mesures la distance par rapport à un ennemi, alors c'est comme Condor a dit : GetActorsDist Act1, Act2, Flt(, Bool) ; qui peut remplacer la commande précédente.

    Code:
    Dim_Act 2

    FindActor 0, "Ennemi"
    GetActivePlayer 1

    Dim_Flt 1

    Label DetTom
    GetActorsDist 0, 1, 0
    // Si le joueur est détecté dans un rayon de moins de 15 mètres, alors le script passe à la ligne suivante :
    If Flt[0] < 15, -1, DetTom

    // Lancement de l'action (envoi d'un évènement vers un ennemi ou apparition d'une voiture, pour garder mon exemple) :
    // [...]


Dernière édition par Arès le 17 Jan 2011, 10:50, édité 1 fois.

Haut
 Profil  
 
 Sujet du message: Re: Éditer des scripts
MessagePosté: 16 Jan 2011, 20:45 
Hors ligne
Son Excellence
Avatar de l’utilisateur

Inscription: 22 Aoû 2004, 23:09
Messages: 12259
Localisation: France
C'est une question que devrait aussi se poser Catala.

Tout ce qui est entre les accolades est en mesure d'être interrompu par un évènement, donc on évite d'y mettre des choses qui doivent être impérativement enchaînées.


Je ne mets pas Event_Use_CB 1 puisque c'est déjà comme si il l'était, par défaut, le retour intervient juste après l'accolade ouvrante (quand c'est Up).

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


Haut
 Profil  
 
 Sujet du message: Re: Éditer des scripts
MessagePosté: 16 Jan 2011, 21:41 
Hors ligne
Scripteur
Avatar de l’utilisateur

Inscription: 23 Aoû 2007, 21:54
Messages: 1534
Localisation: Belgique, Bruxelles
Condor a écrit:
Je ne mets pas Event_Use_CB 1 puisque c'est déjà comme si il l'était, par défaut, le retour intervient juste après l'accolade ouvrante (quand c'est Up).

Mouais, j'ai des scrupules de ne pas le mettre quand des accolades sont présentes. Par contre, quand il n'y en a pas, je ne le mets jamais.

Ah, je n'avais pas vu la ligne « Enemy_PlayAnim "GestikulaceNew02.I3D" » avant la boucle de 24 heures, au temps pour moi alors quand je disais que les accolades étaient inutiles dans ce cas.


Haut
 Profil  
 
 Sujet du message: Re: Éditer des scripts
MessagePosté: 16 Jan 2011, 22:32 
Hors ligne
Son Excellence
Avatar de l’utilisateur

Inscription: 22 Aoû 2004, 23:09
Messages: 12259
Localisation: France
C'est surtout pour Catala ; ce principe des accolades n'est pas facile à saisir.

Je crois qu'en plus, il n'y a qu'ici (enfin toi et moi) qu'on l'utilise sciemment.

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


Haut
 Profil  
 
 Sujet du message: Re: Éditer des scripts
MessagePosté: 17 Jan 2011, 19:21 
Hors ligne
Avatar de l’utilisateur

Inscription: 31 Mai 2010, 18:49
Messages: 44
rhaaa ça marche toujours pas
Code:
Dim_Frm 2
Dim_Act 1

findactor 0, "FlicBas 1"

findframe 0, "Depart1"
findframe 1, "Arrivée1"

Human_SetProperty 0, 500, Energy


{ Up
Enemy_Wait
Enemy_Move_To_Frame 0, 1, Walk
wait 2000
enemy_playanim "Vyhlizeni201.i3d", 0
wait 2000
enemy_playanim "Vyhlizeni202.i3d", 0
wait 2000
enemy_playanim "Vyhlizeni201.i3d", 0
wait 2000
enemy_playanim "Vyhlizeni202.i3d", 0
wait 2000
enemy_playanim "Vyhlizeni202.i3d", 0
wait 2000
Enemy_Move_To_Frame 0, 1, Walk
Label Boucle
Wait 86400000
GoTo Boucle
Return
}


il tourne toujours en rond ...

_________________
usap.top-forum.net


Haut
 Profil  
 
 Sujet du message: Re: Éditer des scripts
MessagePosté: 17 Jan 2011, 21:25 
Hors ligne
Scripteur
Avatar de l’utilisateur

Inscription: 23 Aoû 2007, 21:54
Messages: 1534
Localisation: Belgique, Bruxelles
Mais là, tu as deux fois la commande "Enemy_Move_To_Frame" avec les mêmes identifiants !

Code:
Enemy_Move_To_Frame 0, 1, Walk

Et puis de nouveau

Enemy_Move_To_Frame 0, 1, Walk
Ça devrait être :
Code:
Enemy_Move_To_Frame 0, 0, Walk

Et puis

Enemy_Move_To_Frame 1, 0, Walk


La commande fonctionne comme ça :

Enemy_Move_To_Frame Id_Armature, Distance, Mode où :

  • Id_Armature est l'identifiant de l'armature vers laquelle l'ennemi doit se déplacer.
  • Distance est la distance à laquelle l'ennemi doit s'approcher de l'armature (en mètres).
  • Mode : marcher ou courir ("Run" ou "Walk").


De plus, tu peux enlever le "Return" que tu as placé dans les accolades, il ne sert à rien.


Haut
 Profil  
 
 Sujet du message: Re: Éditer des scripts
MessagePosté: 17 Jan 2011, 23:07 
Hors ligne
Son Excellence
Avatar de l’utilisateur

Inscription: 22 Aoû 2004, 23:09
Messages: 12259
Localisation: France
Tout le script est plein d'incohérences.


Les accolades ne servent à rien puisqu'il n'y a aucun évènement plus bas.

Enemy_Wait ne fait rien puisqu'il n'y a pas de commande à attendre qui le précède, comme Enemy_Talk ou Enemy_Look, par exemple.

Le flottant à la fin de Enemy_PlayAnim ne sert à rien, il n'est ni alloué ni exploité par la suite. Il indique la durée en millisecondes de l'animation.

Code:
Dim_Flt 1

[...]

Enemy_PlayAnim "Vyhlizeni201.i3d", 0
Wait Flt[0]



Mais le problème qui le fait tourner en rond vient d'ailleurs, il faudrait nous montrer une capture du lieu, Catala.

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


Haut
 Profil  
 
 Sujet du message: Re: Éditer des scripts
MessagePosté: 18 Jan 2011, 09:43 
Hors ligne
Scripteur
Avatar de l’utilisateur

Inscription: 23 Aoû 2007, 21:54
Messages: 1534
Localisation: Belgique, Bruxelles
Condor a écrit:
Les accolades ne servent à rien puisqu'il n'y a aucun évènement plus bas.
Je me suis dit que catala avait gardé l'évènement d'utilisation du bouton d'action sur l'ennemi plus bas dans le script... Ça serait logique.


Haut
 Profil  
 
 Sujet du message: Re: Éditer des scripts
MessagePosté: 18 Jan 2011, 18:12 
Hors ligne
Avatar de l’utilisateur

Inscription: 31 Mai 2010, 18:49
Messages: 44
Deux p*tites questions :

- Connaissez vous un script d'un gars qui attend les bras croisé derrière le dos ? ou tout simplement le script d'un gars qui attend ?

- Comment faire disparaître un gars derrière une porte ou un bâtiment ( comme par exemple il passe à travers le mur ( sa suffira )) ? ....


edit :

et quel script modifier pour rendre tommy plus rapide ?

Re EDit:

Quel est le script du flic qui donne une prune et de tommy qui la reçoit ?

Rere Edit :

Que modifier pour avoir ce type de vue ( champ de vision élargi ) :

http://img413.imageshack.us/f/game2011011818131548.png/

De plus, j'aimerais ceci :

Code:
dim_flt 1
dim_act 1
dim_frm 1

getactiveplayer 0
getactorframe 0, 0

label 101
wait 500
ctrl_read 0, SNIPERMODE
if flt[0] = 1, -1, 101
human_setproperty 0, 1000, Energy
wait 2000
ctrl_read 0, SNIPERMODE
if flt[0] = 1, -1, 101
human_setproperty 0, 0, Energy
goto 101


Que quand jue reappuie sur la touche, la vie descende à zero et tue tommy ... mais que quand j'appuie A NOUVEAU sur la touche :P

C'est pour pas tenter les petits malin ....

et la voila un exemple de rapiéçage :

Code:
Dim_Frm 2
Dim_Flt 1
Dim_Act 2

findactor 0, "Cliente Chinatown 1"
GetActivePlayer 1

findframe 0, "Cliente Chinatown 1"
findframe 1, "Cliente Chinatown etape 1"

Human_SetProperty 0, 100, Energy


Label 1
wait 2000
enemy_playanim "Vyhlizeni201.i3d", 0
wait 2000
enemy_playanim "Vyhlizeni202.i3d", 0
wait 2000
enemy_playanim "Vyhlizeni201.i3d", 0
wait 2000
enemy_playanim "Vyhlizeni202.i3d", 0
wait 2000
enemy_playanim "Vyhlizeni202.i3d", 0
wait 2000
Label DetTom
GetActorsDist 0, 1, 0
If Flt[0] < 5, -1, DetTom
Enemy_Move_To_Frame 0, 1, Walk
wait 2000
enemy_playanim "Vyhlizeni201.i3d", 0
wait 2000
enemy_playanim "Vyhlizeni202.i3d", 0
wait 2000
enemy_playanim "Vyhlizeni201.i3d", 0
wait 2000
enemy_playanim "Vyhlizeni202.i3d", 0
wait 2000
enemy_playanim "Vyhlizeni202.i3d", 0
wait 2000
Enemy_Move_To_Frame 1, 0, Walk
Goto 1


ça marche pas et ça m’étonne pas ...

_________________
usap.top-forum.net


Haut
 Profil  
 
 Sujet du message: Re: Éditer des scripts
MessagePosté: 19 Jan 2011, 02:00 
Hors ligne
Son Excellence
Avatar de l’utilisateur

Inscription: 22 Aoû 2004, 23:09
Messages: 12259
Localisation: France
Il y a bien l'animation de Frank dans le bar de Salieri de la mission 7b, « T'as intérêt à t'habituer ». Mais en bonne animation d'attente debout, il y a celle du garde en veste blanche du bar de Morello, mission 3, qui croise les bras.


Pour faire traverser un mur, sans avoir accès au paramètre de la collision, il faut carrément rescripter le mouvement de marche, ce qui n'est pas facile mais pas impossible non plus.


Pour la vitesse de marche et de course :

Citation:
Human_SetProperty Act, Val, Opt

Définit la valeur Val au paramètre Opt de l'acteur humain Act.

Liste des paramètres gérés :

    Strenght = Force
    Energy = Énergie
      EnergyHandL = Capacité du bras gauche
      EnergyHandR = Capacité du bras droit
      EnergyLegL = Capacité de la jambe gauche
      EnergyLegR = Capacité de la jambe droite
    Reactions = Réactivité
    Speed = Vitesse
    Aggresivity = Agressivité
    Intelligence = Intelligence
    Shooting = Précision de tir
    Sight = Vue
    Hearing = Ouïe
    Driving = Conduite
    Mass = Poids


L'animation de la prune, je l'ignore pour l'instant, mais ça dépend de ce que tu veux faire, il existe un moyen d'arrêter vraiment un personnage.


Pour le champ visuel :

Citation:
Camera_SetFOV Val[]

Définit la valeur Val de l'ouverture du champ visuel de 0 à 180 degrés. (FOV pour Feild Of Vision - Champ visuel en anglais)



Un va-et-vient :

Code:
Dim_Act 1
GetActivePlayer 0

Dim_Flt 1

Label Santé
CommandBlock 0
CommandBlock 1
Ctrl_ReadEx 0, SniperMode
If Flt[0] = 1, -1, Santé
Human_SetProperty 0, 1000, Energy

Label Mort
CommandBlock 0
CommandBlock 1
Ctrl_ReadEx 0, SniperMode
If Flt[0] = 1, -1, Mort
Human_SetProperty 0, 0, Energy
GoTo Santé




Pour ton second script, ça serait bien que tu répondes aussi aux questions, que ça ne fonctionne pas que dans un seul sens, Catala. :o

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


Haut
 Profil  
 
 Sujet du message: Re: Éditer des scripts
MessagePosté: 19 Jan 2011, 12:09 
Hors ligne
Modérateur
Avatar de l’utilisateur

Inscription: 26 Juil 2005, 18:14
Messages: 2637
Localisation: Belgique
Condor a écrit:
Il y a bien l'animation de Frank dans le bar de Salieri de la mission 7b, « T'as intérêt à t'habituer ». Mais en bonne animation d'attente debout, il y a celle du garde en veste blanche du bar de Morello, mission 3, qui croise les bras.


Pour faire traverser un mur, sans avoir accès au paramètre de la collision, il faut carrément rescripter le mouvement de marche, ce qui n'est pas facile mais pas impossible non plus.


Pour la vitesse de marche et de course :

Citation:
Human_SetProperty Act, Val, Opt

Définit la valeur Val au paramètre Opt de l'acteur humain Act.

Liste des paramètres gérés :

    Strenght = Force
    Energy = Énergie
      EnergyHandL = Capacité du bras gauche
      EnergyHandR = Capacité du bras droit
      EnergyLegL = Capacité de la jambe gauche
      EnergyLegR = Capacité de la jambe droite
    Reactions = Réactivité
    Speed = Vitesse
    Aggresivity = Agressivité
    Intelligence = Intelligence
    Shooting = Précision de tir
    Sight = Vue
    Hearing = Ouïe
    Driving = Conduite
    Mass = Poids
Je m'excuse de m'incruster dans ce sujet mais est-ce que les informations ci-dessus signifient que l'on peut faire marcher la jambe droite d'un type plus vite que sa jambe gauche (et inversément) ? Est-ce le moyen utilisé par les développeurs pour faire boiter Paulie ?

_________________
Si vous aimez la photo artistique amateur, vous aimerez peut-être aussi mon site.


Haut
 Profil  
 
 Sujet du message: Re: Éditer des scripts
MessagePosté: 19 Jan 2011, 14:28 
Hors ligne
Son Excellence
Avatar de l’utilisateur

Inscription: 22 Aoû 2004, 23:09
Messages: 12259
Localisation: France
Pour faire boiter un personnage, c'est une simple animation.

La capacité des membres, c'est leur niveau de blessure par rapport au total de la santé (c'est pour ça qu'il est indenté dans ma liste).


Mais je ne vois pas dans quel niveau Paulie boite... :reflex:

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


Haut
 Profil  
 
 Sujet du message: Re: Éditer des scripts
MessagePosté: 19 Jan 2011, 14:31 
Hors ligne
Avatar de l’utilisateur

Inscription: 31 Mai 2010, 18:49
Messages: 44
eh bien en fait c’était dans la prison, du mod citybars .... mais j'ai laisser tomber et je m'amuse à essayer d'animer un peu la ville ... pour l'instant ça va!

je vous montrerais un peu ce que ça donne si vous voulez .


En tous cas: Merci pour l'aide ;)

Par contre pour ma cliente :

Code:
Dim_Frm 2
Dim_Flt 1
Dim_Act 2

findactor 0, "Cliente Chinatown 1"
GetActivePlayer 1

findframe 0, "Cliente Chinatown 1"
findframe 1, "Cliente Chinatown etape 1"

Human_SetProperty 0, 100, Energy


Label 1
wait 2000
enemy_playanim "Vyhlizeni201.i3d", 0
wait 2000
enemy_playanim "Vyhlizeni202.i3d", 0
wait 2000
enemy_playanim "Vyhlizeni201.i3d", 0
wait 2000
enemy_playanim "Vyhlizeni202.i3d", 0
wait 2000
enemy_playanim "Vyhlizeni202.i3d", 0
wait 2000
Label DetTom
GetActorsDist 0, 1, 0
If Flt[0] < 5, -1, DetTom
Enemy_Move_To_Frame 0, 1, Walk
wait 2000
enemy_playanim "Vyhlizeni201.i3d", 0
wait 2000
enemy_playanim "Vyhlizeni202.i3d", 0
wait 2000
enemy_playanim "Vyhlizeni201.i3d", 0
wait 2000
enemy_playanim "Vyhlizeni202.i3d", 0
wait 2000
enemy_playanim "Vyhlizeni202.i3d", 0
wait 2000
Enemy_Move_To_Frame 1, 0, Walk
Goto 1


en fait je voulais faire un lien ou on la voit devant un marchand, qui lui donne un paquet ( on verra quoi ) et elle qui le prend ... l'anim de tommy et du flic me parait pas mal !

sinon le script de Tommy dans BSV, celui qui permet de modifier les caractéristiques ( comme la vitesse, les armes qu'il porte ...) c'est lequel ?

Edit :

Par contre la commande :

Camera_SetFOV Val []

je met combien pour un champ de vision comme sur la photo ? quand je met une valeur, j'ai un sacré zoom ...

et je viens de remarquer quelque chose :

en Freeride, quand une voiture tape un gangster, le gangster s'en prend pas au chauffeur mais à vous ...

_________________
usap.top-forum.net


Haut
 Profil  
 
 Sujet du message: Re: Éditer des scripts
MessagePosté: 19 Jan 2011, 15:56 
Hors ligne
Son Excellence
Avatar de l’utilisateur

Inscription: 22 Aoû 2004, 23:09
Messages: 12259
Localisation: France
Tu peux connaître la valeur avec Camera_GetFov. C'est 70 par défaut en jeu mais c'est souvent 50, 60 dans les cinématiques, sauf quand ils font des plans grand angle, on tombe sur des 90.

Ce sont des degrés, donc plus le chiffre est grand, plus le champ visuel « absorbe les côtés » comme une fleur qui s'ouvre.



Pour ton script, il en faut deux, puisqu'il y a une animation.

Un script à part (other) qui détecte la position de Tommy par rapport au personnage.
Code:
Dim_Act 2
GetActivePlayer 0
FindActor 1, "Cliente Chinatown 1"


Dim_Flt 1

Label DetTom
GetActorsDist 0, 1, 0, 1
If Flt[0] < 0, Fin, -1
If Flt[0] < 3, -1, DetTom
SetEvent 1, 1, -1
GoTo DetTom

Label Fin
End
Tu remarques qu'à la mort du personnage, ce script s'autodétruit avec End pour libérer la mémoire.



Et le script du personnage :
Code:
Dim_Frm 2
FindFrame 0, "Cliente Chinatown 1"
FindFrame 1, "Cliente Chinatown etape 1"


Dim_Flt 1

{ Up
Label Anim
Rnd 0, 1 // Définit dans Flt[0] une valeur au hasard
GoTo Flt[0] // Va à l'étiquette correspondant à la valeur choisie par hasard
Label 0
Enemy_PlayAnim "Vyhlizeni201.i3d", 0
Let Flt[0] = Flt[0] - 240
Wait Flt[0]
Goto Anim
Label 1
Enemy_PlayAnim "Vyhlizeni202.i3d", 0
Let Flt[0] = Flt[0] - 240
Wait Flt[0]
Goto Anim
}

Event 1
Enemy_Move_To_Frame 0, 1.2, Walk
Enemy_Move_To_Frame 1, 1.2, Walk
Return

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


Haut
 Profil  
 
 Sujet du message: Re: Éditer des scripts
MessagePosté: 19 Jan 2011, 18:19 
Hors ligne
Avatar de l’utilisateur

Inscription: 31 Mai 2010, 18:49
Messages: 44
Ok merci !

si j'ai compris, les accolades avec le script definnisent ce qui se passe tant que la cliente n'a pas détecté Tommy ... quand elle le détecte, ça passe à l'action ... c'est ça ?

au fait, comment fait t on pour créer un nouveau points de chargement, dans le menu freeride ( comme un point de chargement classique ( little italy, hoboken .... ))

et je n'arrive pas à faire un script pour changer et la vitesse et la caméra ( FOV ). Pouvez-vous m'aider ?

_________________
usap.top-forum.net


Haut
 Profil  
 
Afficher les messages postés depuis:  Trier par  
Poster un nouveau sujet Répondre au sujet  [ 246 messages ]  Aller à la page Précédente  1 ... 12, 13, 14, 15, 16, 17  Suivante

Heures au format UTC + 2 heures


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités


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