-
Compteur de contenus
3 219 -
Inscription
-
Dernière visite
Messages posté(e)s par midtownmad
-
-
je suis assez d' accord avec ce qui c' est dit plus haut , la lourdeur du topic :/
aprés il y a d' autres solutions , comme un vampires ouvert plus tot et 24h le week end , comme ça il sera consultable une fois fermé et ne sera pas un topic à rallonge (donc lourd)
Je suis contre un autre topic façon vampires.
Pourquoi ne pas utiliser les tags dans le titre du sujet, genre : "[vidéo] Mon chien à la plage".
-
Bien que ce post soit adressé aux modérateurs, j'imagine que tout avis est le bienvenu
Je suis plutot contre le fait d'instaurer un topic officiel de videos car :
- il y a fort à parier que des topics officiels pour les images, les histoires droles, les photos de vos chiens... vont être réclamés
- il sera difficile de determiner quelle video doit rester ou non dans le sujet. Les gouts et les couleurs, surtout ceux de Badboy... :-þ
- l'interet d'un forum est de pouvoir créer des sujets autour desquels on peut débattre (bien que pour certains, débattre consiste à flooder du moment qu'on participe). Si on concentre toutes les videos sympas en un endroit, soit on interdit de faire des commentaires dans ce sujet (sinon, ça risque d'être la foire), soit il faut se taper toutes les pages pour voir les commentaires sur une video precise (les gros post, on finit toujours par s'y perdre)
- avoir un sujet pour une video ou un ensemble de videos autour d'un theme precis, ca permet via la fonction rechercher de retrouver facilement ce qu'on veut. Dans un gros sujet, c'est toujours plus difficile
Bref, à vous les studios
Il est possible de noter les sujets. Suffit d'activer l'option . Reste à savoir si c'est intéréssant, des avis sur ce sujet ?
-
Je ne suis pas contre.
Pour ce qui est de ne pas compte les posts : pas d'accord, sinon on en vient à penser à quoi ça sert et quand faut-il compter les posts ?
Pour ce qui est de virer les vidéos ou non, les goûts et les couleurs... lol c'est un grand débat lol. Je pense que les vidéos qui ne rentrent pas dans le cadre de la charte doivent être virées (normal) et que les autres doivent restées (à l'exception de vidéos vraiment inutiles).
A vous de voir. Le débat est lancé...
-
Je ne vois aucune objection à ce que ce lien soit présent dans ce topic .
Dans la mesure où nous ne sommes pas une dictature et qu'il s'agit d'un site un peu déjanté (pas une critique, bien au contraire).
-
Les boutons sont désormais en français. CTRL+F5 si vous les voyez pas .
-
Pour info donc, un nouveau skin est disponible. Il s'agit du nouveau skin des forums Invison Board.
Malheureusement, pour le moment, les boutons sont encore en anglais.
-
La mise à jour est déjà planifié depuis la sortie de la 2.3, c'est simplement mieux d'attendre le pack fr pour mettre à jour .
-
Exceptionnellement, au vu de l'évènement, nous avons créé une redirection de http://www.enattendantleoui.macreablog.com vers http://enattendantleoui.macreablog.com.
Nos félicitations et nos meilleurs voeux pour votre mariage.
-
Open.
-
2x1Go de mémoire au lieu de 2x512Mo ?
Je suis passé à 2 Go de mémoire perso, on ressent vraiment la différence. Et avec Vista... .
-
Tu peux bien entendu mettre un lien sur ton site vers Macreators.
-
Open.
-
Merci, c'est corrigé .
-
Vice Builder 1.3 pour GTA : Vice City
telecharger vice builder 1.3 ici:
http://www.home.no/bobby-stalefish/
-----------------------------------------------
avoir plus de vie et d'armure au debut du jeu:
-----------------------------------------------
aller a la ligne 27 036 ou faite "edit/find" et metter "03A4: name_thread
"INITIAL" dans recherche
entre les lignes:
0004: $DEFAULT_WAIT_TIME = 250 ;; integer values
et
0005: $5C = .0625 ;; floating-point values
insérer ceci:
055E: set_player $PLAYER_CHAR max_health += 150
055F: set_player $PLAYER_CHAR max_armour += 150
se qui donne normalement:
0004: $DEFAULT_WAIT_TIME = 250 ;; integer values
055E: set_player $PLAYER_CHAR max_health += *150*
055F: set_player $PLAYER_CHAR max_armour += *150*
0005: $5C = .0625 ;; floating-point values
maintenand il faus régler le nombre de points de vie et d'armure que vous
voulez:
remplacer les 150 entre les 2 * par le nombres de point de vie et d'armure
en plus de 100 que vous voulez
(ex: si vous mettez 150 vous orer 250 point de vie et d'armure dans le jeu)
voilà c'est fini
-------------------------------------------
pouvoir courir a l'infini au debut du jeu:
-------------------------------------------
aller a la ligne 27 036 ou faite "edit/find" et metter "03A4: name_thread
"INITIAL" dans recherche
entre les lignes:
0004: $DEFAULT_WAIT_TIME = 250 ;; integer values
et
0005: $5C = .0625 ;; floating-point values
insérer ceci:
0330: set_player $PLAYER_CHAR infinite_run_to 1 (true)
se qui donne normalement:
0004: $DEFAULT_WAIT_TIME = 250 ;; integer values
0330: set_player $PLAYER_CHAR infinite_run_to 1 (true)
0005: $5C = .0625 ;; floating-point values
voilà c'est fini maintenand le tommy cour et ne se fatigue jamais
-------------------------------
avoir du fric au debut du jeu:
-------------------------------
aller a la ligne 27 036 ou faite "edit/find" et metter "03A4: name_thread
"INITIAL" dans recherche
entre les lignes:
0004: $DEFAULT_WAIT_TIME = 250 ;; integer values
et
0005: $5C = .0625 ;; floating-point values
insérer ceci:
0109: player $PLAYER_CHAR money += 1000
se qui donne normalement:
0004: $DEFAULT_WAIT_TIME = 250 ;; integer values
0109: player $PLAYER_CHAR money += *1000*
0005: $5C = .0625 ;; floating-point values
maintenand il faus régler le nombre de sous que vous voulez:
remplacer le 1000 entre les 2 * par le nombres de sous en plus que vous
voulez
(ex: si vous mettez 1000 vous orer 1000$ au debut du jeu)
voilà c'est fini
Par =M-F= Uxybo -
Vice Builder 0.22 pour GTA : Vice City
-------------------------
créer de nouveau garage:
-------------------------
ouvrez le fichier "main.scm" a l'aide de "vice builder 0.22" et rendez vous a la ligne "591"
Là il devré y avoir des lignes dans se genre là:
"0219: 2724?? = create_garage_type 5? from -914.129! -1263.54! 10.706! to -906.3! -1266.9! 14.421! front -907.137! -1246.626!
et bien sélectionner cette ligne:
0219: 2744?? = create_garage_type 1? from -362.12! -550.214! 11.722! to -353.12! -550.214! 15.16! front -362.12! -539.484!
03BB: set_garage 2744?? door_type_to_swing_open
03DA: set_garage 2744?? camera_follows_player
057A: set_garage 2744?? max_cars_to 2?
et copier la en faisant un clik droit et après "copy"
ensuite aller a la première ligne de cette liste qui est normalement:
0219: 2724?? = create_garage_type 5? from -914.129! -1263.54! 10.706! to -906.3! -1266.9! 14.421! front -907.137! -1246.626!
et là coller votre ligne au dessus de celle là
maintenand vous devez régler les paramètres de votre garage et de son emplacement:
0219: 2744?? = create_garage_type #1#? from (-362.12! -550.214! 11.722!) to \-353.12! -550.214! 15.16!/ front +-362.12! -539.484!+
03BB: set_garage 2744?? door_type_to_swing_open
03DA: set_garage 2744?? camera_follows_player
057A: set_garage 2744?? max_cars_to *2*?
le chiffre entre les 2# est le type de garage que vous voulez voici tous les types existant (en anglais mais j'ai traduit les plus important):
1 - Placeholder, DummyID. (doesn't do anything,
initial garages get 1, and change type when
a certain asset is bought)---------------------------} ne pas mettre ce type de garage car c'est pour les garages des maisons a acheter
3 - BombShop (8ball)-------------------------------------} pour que votre garage soit un poseur de bombe pour piéger les caisses
5 - Pay and Spray----------------------------------------} pour que se soit un pay and spray
7 - Car Eater, haven't got a clue what this is
suppose to be, not sunshine autos anyways...---------} ne pas utiliser ceci
8 - Sunshines Autos Carshop, List 1----------------------} ne pas utiliser ceci seulement pour que votre garage devienne le garage ou il faut ramener la 1ère liste de caisse du sunshine
9 - Sunshines Autos Carshop, List 2----------------------} ne pas utiliser ceci seulement pour que votre garage devienne le garage ou il faut ramener la 2ème liste de caisse du sunshine
10 - Sunshines Autos Carshop, List 3
13 - DO NOT USE, CORRUPTS SAVEGAMES!---------------------} ne surtout pas pas utiliser ceci
16..18 - In use Saving Garages---------------------------} je sais pas se que c'est dsl mais ne pas utiliser
19 - Garage where you beat the cops up during------------} ne pas utiliser ceci réservé a la mission "copland"
"Copland"
22 - Sunshines Autos Carshop, List 4---------------------} ne pas utiliser ceci seulement pour que votre garage devienne le garage ou il faut ramener la 4ème liste de caisse du sunshine
23 - Garage to park the tank in during "Sir, Yes---------} ne pas utiliser ceci réservé a la mission "sir, yes sir"
Sir!"
24..31 - In use Saving Garages---------------------------} je sais pas se que c'est dsl mais ne pas utiliser
32 - Unused Saving Garage--------------------------------} autiliser pour que votre garage soit un garage gratuit donc c'est celui que je vais prendre
le chiffre entre les 2* est le nom bre de caisse max a garé dans votre garage donc pour un garage de 10 places mettre le chiffre 10 a la place etc.....
voilà la partie dificile:
les chiffre entre ( et ) sont les 1ère coordonné du garage (il y en a 3 en tout) pour savoir les coordonné de votre garage utilisé moomapper:
vous devez utiliser l'objet n°526 c'est un ballon pour repéré le coin arrière en bas a gauche de votre garage:
screen 1
donc dans mon exemple je doit remplacé les chiffres entres ( et ):
-362.12! -550.214! 11.722!
par
-1104.32! -1338.28! 10.35!
ensuite il ya la 2ème ligne de coordonnées celles entre \ et /
se sont les coordonnées du coin arrière en haut a droite a la hauteur du haut de la porte qu'il vous faut:
screen 2
pour moi la hauteur de la porte est 14.55 donc a la place de sa:
-353.12! -550.214! 15.16!
vous devrez mettre sa pour mon exemple:
-1086.03! -1345.65! 14.55!
et voilà la 3ème ligne de coordonnées c'est celle du coin en haut a droite de la porte et il n'y a pas besoin de la hauteur elle est entre + et +:
screen 3
a la place de sa:
-362.12! -539.484!
mettez sa:
-1090.75! -1311.31!
faite maintenand "run/compile & copy" ou cliquer sur la touche "F6" pour enregistré les modification
attention nouvelle partie obligatoire
et voilà c'est fini allez dans le jeu en lancant une nouvelle partie et allez devant votre garage et celui ci devré s'ouvrir
si se n'est pas le cas alors contacté moi: uxybo@hotmail.com
-----------------------------------------------
créer de nouvelle caisses garée dans vice city:
-----------------------------------------------
rendez vous a la ligne 27 860 et la il devrait y avoir quelque chose comme sa:
014B: 7968?? = init_parked_car_generator #ADMIRAL 8? 8? 0? alarm 50? door_lock 0? 0? 10000& at -401.2715! -534.6655! 11.7534! angle 149.2032!
014C: set_parked_car_generator 7968?? cars_to_generate_to 101?
se sont les lignes des caisses garée dans vice city
et bien copier cette ligne et après coller la au dessus de la 1ère ligne et cela devré donner sa:
014B: 7968?? = init_parked_car_generator #ADMIRAL 8? 8? 0? alarm 50? door_lock 0? 0? 10000& at -401.2715! -534.6655! 11.7534! angle 149.2032!
014C: set_parked_car_generator 7968?? cars_to_generate_to 101?
014B: 7964?? = init_parked_car_generator #VICECHEE -1? -1? 0? alarm 0? door_lock 0? 0? 10000& at -870.4673! -717.2427! 10.1069! angle 94.1213!
014C: set_parked_car_generator 7964?? cars_to_generate_to 101?
014B: 7960?? = init_parked_car_generator #LOVEFIST -1? -1? 0? alarm 0? door_lock 0? 0? 10000& at -865.2949! 1158.359! 9.8204! angle 2.347!
014C: set_parked_car_generator 7960?? cars_to_generate_to 0?
.......................
014B: 7968?? = init_parked_car_generator #"ADMIRAL" 8? 8? 0? µalarm 50? door_lock 0? 0?µ 10000& at +-401.2715! -534.6655! 11.7534!+ angle (149.2032!)
014C: set_parked_car_generator 7968?? cars_to_generate_to *101*?
maintenand vous allez choisir la caisse que vous voulez garée quelque part c'est le nom entre les 2"
et bien vous choisissez un nom entre toutes celle de vice city (ex:HOTRING,CHEETAH,SKIMMER,HUNTER,etc.....)
ensuite vous allez placer cette caisses dans vice city en modifiant les coordonnées entres les 2+ en vous servant de moomapper et de l'objet n°526 (le ballon)
screen 4
donc pour moi à la place de sa:
-401.2715! -534.6655! 11.7534!
j'oré sa:
-738.624! -1434.51! 11!
mettez aussi tous les chiffres entres les 2 µ a 0 pour ne pas avoir de caisse avec alarme ou fermée a clef
et assuré vous aussi que le dernier chiffre de la ligne celui entre les 2* est bien 101 sinon la modification ne marchera pas
vous pouvez aussi modifier l'angle de la voiture (sud,nord,est et ouest) en modifiant le chifre entre ( et )
et voilà c'est fini faite maintenand "run/compile & copy" ou cliquer sur la touche "F6" pour enregistré les modification
attention nouvelle partie obligatoire
-------------------------------
ajouter des armes a vice city:
-------------------------------
maintenand voici comment ajouter de nouvelles armes a vice city:
rendez vous a la ligne 28 200 et il devré y avoir ceci:
0213: 7996?? = create_pickup #§BAT§ type 2? at +206.7! -1254.4! 12!+
032B: 8000?? = create_weapon_pickup #§COLT45§ 15? ammo 34? at +-228.4! -1318.2! 9.1!+
la 1ère ligne et a copier pour de nouvelles armes blanche et la seconde pour des flingues et
la ligne copier et a rajouter au sommet de cette liste
il vous suffit juste de changer le nom de l'arme entre les 2§ par le nom de l'arme que
vous voulez (ex:MINIGUN,KATANA,etc.............)
et les coordonnées a l'aide de moomapper et de l'objet n°526 qui se troiuve entre les 2+
et nrien d'autre n'est a changé il vous suffit juste de fair"run/compile & copy" et c'est fini
---------------------------------------
ajouter de nouveaux bonus a vice city:
---------------------------------------
bonus = coeur,gilet parballe,adrenaline et paquet cachées
allez a la ligne 28 230 pour avoir en 1er les coeurs ensuite les gilet parballe puis les adrenaline puis les paquets chachées
pour commencer copier l'une des lignes:
coeur= 0213: 8148?? = create_pickup -86? (HEALTH) type 1? at -113.2! -975.7! 10.4!
gilet parballe= 0213: 8256?? = create_pickup -18? (BODYARMOUR) type 15? at 148.8! -349.9! 8.7!
adrenaline= 0213: 8336?? = create_pickup -87? (ADRENALINE) type 15? at 428.4! 947.5! 13.2!
paquets cachées= 02EC: put_hidden_package_at 479.6! -1718.5! 15.6!
et changer juste les coordonnées a l'aide de moomapper et de l'objet n°526 et rajouter la ligne modifier au sommet de sa liste
et voilà c'est deja fini plus qu'a fair "run/compile & copy" et c'est fini
bon jeu a tous et n'oubliez pas nouvelle partie obligatoire
Par =M-F= Uxybo -
Pose des textures sous Zmodeler
Ce tutorial a été créé à l'origine pour Midtown Madness 2, mais le principe est le même pour la pose de textures...
Une des questions qu'un créateur peut se poser est : maintenant que mon model 3D est fait, comment pose-t-on les textures dessus ? â€" C'est à cette question que je vais répondre dans ce tutorial sur le mapping.
http://www.grandtheftauto.fr/imgs/tutoriaux_forum/29273/zmodeler_mapping1.jpg
Alors en premier lieu, sélectionnez sur votre model 3D les faces à texturer.
http://www.grandtheftauto.fr/imgs/tutoriaux_forum/29273/zmodeler_mapping2.jpg
Après allez dans Material Editor par l'îcone dans la barre d'outils ou en préssant la touche E, une fois la boîte de dialogue lancée, ajoutez une matière en la nommant dans la zone de texte et en validant par le bouton add (dans notre exemple, on l'appelera : matajt), puis sélectionnez le deuxième nom de la liste et non le premier, cela aurrai pour conséquences de modifier la matière par défault ! â€" Cochez la case Primary texture, cliquez sur le bouton Load Map, puis ouvrez votre texure en fichier .tga/.bmp/.tif et fermez la fenêtre Material Editor en validant par OK.
http://www.grandtheftauto.fr/imgs/tutoriaux_forum/29273/zmodeler_mapping3.jpg
Maintenant on va attribuer la matière qu'on vient de créer aux faces qu'on a sélectionnée, pour cela, préssez les touches CTRL+A ou faîtes un clic droit sur le nom de votre objet dans la liste des objets et faîtes Facesâ€">Properties pour ouvrir la boîte de dialogue Attributes et dans la liste, sélectionnnez le deuxième nom (dans notre exemple, sélectionnez le second matajt) puis validez par OK.
http://www.grandtheftauto.fr/imgs/tutoriaux_forum/29273/zmodeler_mapping4.jpg
Maintenant faîtes Surfacesâ€">Mappingâ€">Assign UV dans le menu, sélectionnez le bouton SEL et cliquez dans votre vue.
http://www.grandtheftauto.fr/imgs/tutoriaux_forum/29273/zmodeler_mapping5.jpg
Vous pouvez voir dans la vue 3D votre texture posée en mosaïque. Pour rectifier cela, faîtes un clic droit sur le petit bouton en haut à gauche de votre vue et cliquez sur UVMapper â€" Là vous voyez apparaître votre texture...
http://www.grandtheftauto.fr/imgs/tutoriaux_forum/29273/zmodeler_mapping6.jpg...ainsi que les faces sélectionnées précédement (si vous ne les voyez pas, faîtes un zoom arrière).
http://www.grandtheftauto.fr/imgs/tutoriaux_forum/29273/zmodeler_mapping7.jpgCliquez sur le bouton Objects de la barre d'outils et déselectionnez le bouton SEL, faîtes Modifyâ€">Move dans le menu et là vous pouvez déplacer vos faces dans la vue UVMapper, pour les redimensionner, faîtes Modifyâ€">Scale...
http://www.grandtheftauto.fr/imgs/tutoriaux_forum/29273/zmodeler_mapping8.jpg...pour déplacer les points cliquez sur le bouton Vertices de la barre d'outils et cliquez sur les faces dans la vue UVMapper et là vous pourrez déplacer les points des faces â€" Attention : quand vous bougez les points, vous bougez les points d'une seule face à la fois, pour bouger les points normalement liés, sélectionnez le bouton MUL.
Voilà pour ce qui concerne le mapping.
Par midtownmad. -
Création d'une forme face par face sous Zmodeler
Beaucoup d'entres vous aimeraient pouvoir créer des formes sous Zmodeler, et bien c'est ce que je vais essayer de vous apprendre.
Nous allons créer une forme quelconque, histoire de vous lancer dans le monde de la 3D, mais si vous voulez savoir comment créer un véhicule en integrale, vous vous êtes trompé de chemin, voir de site. Car j'ai envis que vous découvriez vous-même toutes les autres formes de la 3D et que vous puissiez dire que c'est vous qui l'vez découvert et que vous ne l'avez pas lu quelque part.
Bien finis les discours, rangez les mouchoirs, accrochez-vous bien, c'est partit.
Tout d'abord, il faut que vous sachiez que sous Zmodeler (enfin d'après ca que je sais), il faut en premier lieu créer un rectangle (formé du nombre de polygons que vous voulez) qui nous servira de base. Pour le créer, faîtes Create-Surfaces-Flat et tracez un rectangle dans une des vues voulue (mise à part la vue 3D).
http://www.grandtheftauto.fr/imgs/tutoriaux_forum/29272/zmodeler_createface2.gif
Une fois ce rectangle tracé, une fenêtre s'ouvre, vous demandans le nombre de droites horizontales et le nombre de droites verticales à l'intérieur du rectangle précédement tracé ; pour notre exemple, nous allons donner comme valeurs : 0 horizontales et 1 verticale.
Vous devriez voir dans la vue où vous avez tracé votre rectangle, le rectangle lui-même avec plusieurs triangles à l'intérieur (des polygons dans le jargon de la 3D), leur nombres diffère celon le nombre de verticales et d'horizontales créées (dans notre exemple, il y a 4 polygons).
Maintenant que la base a été créée, nous allons nous attaquer à créer un polygons seul. Pour cela, sélectionnez l'outil Verticles, http://www.grandtheftauto.fr/imgs/tutoriaux_forum/29272/zmodeler_createface1.gif puis faîtes Create-Face-Single, allez dans la vue où la base a été créée et cliquez sur un point du contour du rectangle puis sur un autre du contour (celui à côter de préférence) et cliquez à l'extérieur de la base de façon à créer un polygon, là vous devriez voir voter base + un triangle déssinés.
Voyez le résultat dans la vue 3D.
http://www.grandtheftauto.fr/imgs/tutoriaux_forum/29272/zmodeler_createface3.gif
Remarque : les deux autres outils dans Create-Face sont concus, un pour créer plusieurs polygons autour d'un point, et l'autre pour créer plusieurs polygons à suivre.
Voilà, maintenant vous savez créer une forme face par face, biensûr dans notre exemple, nous n'avons créé qu'une seule face mais ça aurai été une perte de temps de vous expliquer la même chose que je viens de vous expliquer.
Maintenant laissez libre cours à votre imagination.
Par midtownmad.
-
Créér un saut en parachute
Ce tutoriel est à la porté d'un codeur SCM moyen, il est vivement conseillé d'avoir réalisé les tutoriels précédents.
1. Présentation et objectifs
Vous me direz, c'est plutôt simple de créer un saut en parachute, vous donner un parachute au joueur et vous le faites apparaitre en hauteur pour qu'il tombe. Et bien non, vous aurez beau essayer comme ca, ca ne marchera pas !
Voilà ce que ca donne quand on spawn en l'air le joueur et qu'on lui donne un parachute : Le joueur marche en l'air et s'écrase par terre, impossible d'ouvrir le parachute ou quoi que ce soit !
http://z.vicolaships.moi.fr/saut1.jpg
2. Donner le parachute au joueur
Ici, nous allons donner le parachute au joueur, ce qui n'est pas compliqué, mais il fallait y penser. Nous allons donner une arme nommé "GUN_PARA" (parachute arme). Pour ceci, il faut charger le modèle de l'arme puis la donner au joueur. On prend un main basic, et on rajoute un nouveau label :
:Label_2 Model.Load(#GUN_PARA) 038B: load_requested_models 01B2: give actor $PLAYER_ACTOR weapon 46 ammo 1
Mais comment fait-on pour savoir quel modèle il faut charger, et quel numéro correspond à quel arme ? On utilises tout simplement la documentation SCM et en cherchant un tout petit peu, on trouve : 46 371 #gun_para
Le numero d'arme est 46 et le modèle 3D est #gun_para
Notre joueur ne tombe plus les mains vide, mais désormais avec son parachute, dommage qu'il ne puisse pas l'ouvrir !
3. Script parachute
Dans le main original, le parachute est un script externe, nous allons intégrer à notre main basic ce script externe mais il ne sera plus externe, il sera directement dans le main. Voilà comment nous allons procéder :- Définir les deux objets qui seront utilisés dans le script.
- Créér un label pour le script
- Inserer le script
DEFINE OBJECTS 3 DEFINE OBJECT (noname) DEFINE OBJECT PARACHUTE DEFINE OBJECT PARA_COLLISION
Ensuite, il nous faut créér un label pour le script, le problème c'est qu'il faut que le script du parachute soit lu mais aussi que le script ou on donne le parachute soit lu.
On va utiliser la fonction Create_thread @Labelx qui permet de lire plusieurs labels en même temps, grâce à cette fonction vous pourrez faire lire au jeu 2 labels en même temps, le label après "Create thread" et le label indiqué dans le create thread. On placera donc cette fonction juste avant le label ou on donne le parachute
create_thread @PLCHUTE :Label_2 Model.Load(#GUN_PARA) 038B: load_requested_models 01B2: give actor $PLAYER_ACTOR weapon 46 ammo 1 fade 1 3000 004E: end_thread
On à donc le code entier suivant :
DEFINE OBJECTS 3 DEFINE OBJECT (noname) DEFINE OBJECT PARACHUTE DEFINE OBJECT PARA_COLLISION DEFINE MISSIONS 0 DEFINE EXTERNAL_SCRIPTS -1 // Use -1 in order not to compile AAA script DEFINE UNKNOWN_EMPTY_SEGMENT 0 DEFINE UNKNOWN_THREADS_MEMORY 0 //-------------MAIN--------------- 03A4: name_thread 'MAIN' 042C: set_total_missions_to 0 030D: set_total_mission_points_to 187 0997: (unknown) 1339 01F0: set_max_wanted_level_to 0 0111: set_wasted_busted_check_to 0 00C0: set_current_time 10 0 016A: fade 0 10 ms 01B6: set_weather 3 04BB: select_interior 0 04E4: unknown_refresh_game_renderer_at 0.0 0.0 300.0 03CB: set_camera 0.0 0.0 300.0 0053: $PLAYER_CHAR = create_player #NULL at 0.0 0.0 300.0 :Label_1 07AF: $PLAYER_GROUP = player $PLAYER_CHAR group 01F5: $PLAYER_ACTOR = create_emulated_actor_from_player $PLAYER_CHAR 0373: set_camera_directly_behind_player 0173: set_actor $PLAYER_ACTOR z_angle_to 262.0 0001: wait 100 087B: set_player $PLAYER_CHAR clothes "VEST" "VEST" body_part 0 087B: set_player $PLAYER_CHAR clothes "JEANSDENIM" "JEANS" body_part 2 087B: set_player $PLAYER_CHAR clothes "SNEAKERBINCBLK" "SNEAKER" body_part 3 087B: set_player $PLAYER_CHAR clothes "PLAYER_FACE" "HEAD" body_part 1 070D: build_player $PLAYER_CHAR 016C: restart_if_wasted at 2027.77 -1420.52 15.99 angle 137.0 unknown 0 016D: restart_if_busted at 1550.6801 -1675.49 14.51 angle 90.0 unknown 0 create_thread @PLCHUTE :Label_2 Model.Load(#GUN_PARA) 038B: load_requested_models wait 100 01B2: give actor $PLAYER_ACTOR weapon 46 ammo 1 fade 1 3000 004E: end_thread
Il nous suffit maintenant d'ajouter le script du parachute (dont le premier label s'apellera PLCHUTE puisque c'est le nom donné dans le create thread)
Le code est celui-ci : (il est long et compliqué, pas la peine de tout comprendre, moi même je ne comprends pas tout)
:PLCHUTE 03A4: name_thread 'PLCHUTE' 0004: $1498 = 0 0004: $1513 = 0 0004: $1497 = 0 0005: $1500 = 5.0 0005: $1501 = -5.0 0005: $1503 = -1.5 0005: $1504 = -30.0 0005: $1505 = 32.0 0005: $1506 = 0.0 0004: $1512 = 0 0004: $1513 = 0 :PLCHUTE_100 0001: wait 0 ms 0819: 7@ = actor $PLAYER_ACTOR distance_from_ground 00A0: store_actor $PLAYER_ACTOR position_to $69 $70 $71 00D6: if and 0020: 7@ > 50.0 80DF: NOT actor $PLAYER_ACTOR driving 8118: not actor $PLAYER_ACTOR dead 83EE: NOT player $PLAYER_CHAR controllable 004D: jump_if_false @PLCHUTE_100 :PLCHUTE_118 0001: wait 0 ms 00D6: if 8118: not actor $PLAYER_ACTOR dead 004D: jump_if_false @PLCHUTE_5455 00D6: if 8800: not (unknown) 004D: jump_if_false @PLCHUTE_5455 00D6: if 8038: not $1513 == 0 004D: jump_if_false @PLCHUTE_176 0992: set_player $PLAYER_CHAR weapons_scrollable 0 :PLCHUTE_176 00D6: if 0018: $1497 > 0 004D: jump_if_false @PLCHUTE_219 00D6: if 8491: not actor $PLAYER_ACTOR has_weapon 46 004D: jump_if_false @PLCHUTE_219 0002: jump @PLCHUTE_5521 :PLCHUTE_219 00D6: if 0038: $1497 == 0 004D: jump_if_false @PLCHUTE_274 00D6: if 0491: actor $PLAYER_ACTOR has_weapon 46 004D: jump_if_false @PLCHUTE_274 0247: request_model #PARACHUTE 0004: $1497 = 1 0004: $1498 = 0 :PLCHUTE_274 00D6: if 0038: $1497 == 1 004D: jump_if_false @PLCHUTE_377 00D6: if 0248: model #PARACHUTE available 004D: jump_if_false @PLCHUTE_377 0107: 17@ = create_object #PARACHUTE at $TEMPVAR_X_COORD $TEMPVAR_Y_COORD $TEMPVAR_Z_COORD 069B: attach_object 17@ to_actor $PLAYER_ACTOR at_offset 0.0 0.0 0.0 rotation 0.0 0.0 0.0 0750: (unknown) 17@ 0 0004: $1497 = 2 :PLCHUTE_377 00D6: if and 0038: $1497 == 2 0038: $1513 == 1 004D: jump_if_false @PLCHUTE_409 0004: $1497 = 3 :PLCHUTE_409 00D6: if and 0038: $1513 == 0 0018: $1497 > 0 004D: jump_if_false @PLCHUTE_565 00D6: if 0818: (unknown) $PLAYER_ACTOR 004D: jump_if_false @PLCHUTE_565 083D: (unknown) $PLAYER_ACTOR $1507 $1508 $1509 00D6: if 0022: -10.0 > $1509 004D: jump_if_false @PLCHUTE_565 0819: 7@ = actor $PLAYER_ACTOR distance_from_ground 00D6: if 0021: 7@ > 20.0 004D: jump_if_false @PLCHUTE_565 097A: (unknown) -1000.0 -1000.0 -1000.0 1037 0004: $1513 = 1 01B9: set_actor $PLAYER_ACTOR armed_weapon_to 46 0006: 0@ = 0 0005: $8268 = 0.0 :PLCHUTE_565 00D6: if 0038: $1513 == 1 004D: jump_if_false @PLCHUTE_2386 00D6: if 0039: 0@ == 0 004D: jump_if_false @PLCHUTE_608 0006: 0@ = 2 :PLCHUTE_608 00D6: if 0039: 0@ == 2 004D: jump_if_false @PLCHUTE_729 062E: (unknown) $PLAYER_ACTOR 2066 27@ 00D6: if 04A4: (unknown) 27@ 7 004D: jump_if_false @PLCHUTE_729 0812: unknown_action_sequence $PLAYER_ACTOR "FALL_SKYDIVE" "PED" 1.0 1 0 0 0 -1 04ED: load_animation "PARACHUTE" 0006: 15@ = 1 0172: 1@ = actor $PLAYER_ACTOR z_angle 0006: 0@ = 3 :PLCHUTE_729 00D6: if 0039: 0@ == 3 004D: jump_if_false @PLCHUTE_2386 062E: (unknown) $PLAYER_ACTOR 2066 27@ 00D6: if 04A4: (unknown) 27@ 7 004D: jump_if_false @PLCHUTE_815 0812: unknown_action_sequence $PLAYER_ACTOR "FALL_SKYDIVE" "PED" 1.0 1 0 0 0 -1 :PLCHUTE_815 0819: 7@ = actor $PLAYER_ACTOR distance_from_ground 00D6: if and 0023: 100.0 > 7@ 0021: 7@ > 60.0 004D: jump_if_false @PLCHUTE_912 00D6: if 04EE: animation "PARACHUTE" loaded 004D: jump_if_false @PLCHUTE_912 00D6: if 0038: $ONMISSION == 0 004D: jump_if_false @PLCHUTE_912 00BC: text_highpriority 'PARA_01' 1000 ms 1 // ~s~Open your parachute! :PLCHUTE_912 0494: get_joystick_data 0 10@ 11@ 12@ 12@ 00D6: if 0038: $1511 == 1 004D: jump_if_false @PLCHUTE_960 0006: 10@ = 0 0006: 11@ = 0 :PLCHUTE_960 0093: 21@ = integer_to_float 10@ 0017: 21@ /= 4.267 0063: 21@ -= 2@ 0017: 21@ /= 20.0 005B: 2@ += 21@ 0087: 21@ = 2@ 0017: 21@ /= 5.0 0063: 1@ -= 21@ 00D6: if 0021: 1@ > 180.0 004D: jump_if_false @PLCHUTE_1061 000F: 1@ -= 360.0 :PLCHUTE_1061 00D6: if 0023: -180.0 > 1@ 004D: jump_if_false @PLCHUTE_1092 000B: 1@ += 360.0 :PLCHUTE_1092 0093: 22@ = integer_to_float 11@ 0017: 22@ /= 4.267 0063: 22@ -= 3@ 0017: 22@ /= 20.0 005B: 3@ += 22@ 083D: (unknown) $PLAYER_ACTOR 8@ 9@ $1509 00D6: if 0024: $1504 > $1509 004D: jump_if_false @PLCHUTE_1177 0086: $1509 = $1504 :PLCHUTE_1177 00D6: if 0024: $8268 > $1509 004D: jump_if_false @PLCHUTE_1204 0086: $8268 = $1509 :PLCHUTE_1204 00D6: if 0024: $1504 > $8268 004D: jump_if_false @PLCHUTE_1231 0086: $8268 = $1504 :PLCHUTE_1231 00D6: if and 0024: $1509 > $8268 8038: not $1902 == 1 004D: jump_if_false @PLCHUTE_1407 00D6: if 84AD: not actor $PLAYER_ACTOR touching_water 004D: jump_if_false @PLCHUTE_1361 00D6: if 0022: -20.0 > $8268 004D: jump_if_false @PLCHUTE_1308 0004: $1513 = 2 0002: jump @PLCHUTE_1354 :PLCHUTE_1308 0812: unknown_action_sequence $PLAYER_ACTOR "FALL_SKYDIVE" "PED" 1.0 1 0 0 0 100 0004: $1513 = 7 :PLCHUTE_1354 0002: jump @PLCHUTE_1407 :PLCHUTE_1361 0812: unknown_action_sequence $PLAYER_ACTOR "FALL_SKYDIVE" "PED" 1.0 1 0 0 0 100 0004: $1513 = 7 :PLCHUTE_1407 0087: 4@ = 3@ 0017: 4@ /= 30.0 006F: 4@ *= $1505 02F6: $1507 = cosine 1@ // sinus swapped with cosine 02F7: $1508 = sinus 1@ // cosine swapped with sinus 006D: $1507 *= 4@ 006D: $1508 *= 4@ 0011: $1508 *= -1.0 0059: $1508 += $1506 0087: 21@ = 8@ 0065: 21@ -= $1507 0013: 21@ *= 0.01 0088: $1507 = 8@ 0067: $1507 -= 21@ 0087: 21@ = 9@ 0065: 21@ -= $1508 0013: 21@ *= 0.01 0088: $1508 = 9@ 0067: $1508 -= 21@ 0085: 12@ = 10@ and handles 0085: 13@ = 11@ and handles 0095: make 12@ absolute_integer 0095: make 13@ absolute_integer 00D6: if or 0019: 12@ > 40 0019: 13@ > 40 004D: jump_if_false @PLCHUTE_2109 00D6: if 001D: 12@ > 13@ 004D: jump_if_false @PLCHUTE_1872 00D6: if 0029: 10@ >= 0 004D: jump_if_false @PLCHUTE_1751 00D6: if 8039: not 15@ == 2 004D: jump_if_false @PLCHUTE_1751 00D6: if 04EE: animation "PARACHUTE" loaded 004D: jump_if_false @PLCHUTE_1744 0812: unknown_action_sequence $PLAYER_ACTOR "FALL_SKYDIVE_R" "PARACHUTE" 1.0 1 0 0 1 -2 :PLCHUTE_1744 0006: 15@ = 2 :PLCHUTE_1751 00D6: if 001B: 0 > 10@ 004D: jump_if_false @PLCHUTE_1865 00D6: if 8039: not 15@ == 3 004D: jump_if_false @PLCHUTE_1865 00D6: if 04EE: animation "PARACHUTE" loaded 004D: jump_if_false @PLCHUTE_1858 0812: unknown_action_sequence $PLAYER_ACTOR "FALL_SKYDIVE_L" "PARACHUTE" 1.0 1 0 0 1 -2 :PLCHUTE_1858 0006: 15@ = 3 :PLCHUTE_1865 0002: jump @PLCHUTE_2102 :PLCHUTE_1872 00D6: if 0029: 11@ >= 0 004D: jump_if_false @PLCHUTE_1984 00D6: if 8039: not 15@ == 4 004D: jump_if_false @PLCHUTE_1984 00D6: if 04EE: animation "PARACHUTE" loaded 004D: jump_if_false @PLCHUTE_1977 0812: unknown_action_sequence $PLAYER_ACTOR "FALL_SKYDIVE" "PARACHUTE" 1.0 1 0 0 1 -2 :PLCHUTE_1977 0006: 15@ = 4 :PLCHUTE_1984 00D6: if 001B: 0 > 11@ 004D: jump_if_false @PLCHUTE_2102 00D6: if 8039: not 15@ == 5 004D: jump_if_false @PLCHUTE_2102 00D6: if 04EE: animation "PARACHUTE" loaded 004D: jump_if_false @PLCHUTE_2095 0812: unknown_action_sequence $PLAYER_ACTOR "FALL_SKYDIVE_ACCEL" "PARACHUTE" 1.0 1 0 0 1 -2 :PLCHUTE_2095 0006: 15@ = 5 :PLCHUTE_2102 0002: jump @PLCHUTE_2203 :PLCHUTE_2109 00D6: if 8039: not 15@ == 1 004D: jump_if_false @PLCHUTE_2203 00D6: if 04EE: animation "PARACHUTE" loaded 004D: jump_if_false @PLCHUTE_2203 0812: unknown_action_sequence $PLAYER_ACTOR "FALL_SKYDIVE" "PARACHUTE" 1.0 1 0 0 1 -2 0006: 15@ = 1 :PLCHUTE_2203 00D6: if or 00E1: key_pressed 0 17 0038: $1512 == 1 004D: jump_if_false @PLCHUTE_2386 00D6: if 8038: not $1902 == 1 004D: jump_if_false @PLCHUTE_2386 00D6: if 04EE: animation "PARACHUTE" loaded 004D: jump_if_false @PLCHUTE_2386 00D6: if and 0038: $1497 == 3 0038: $1511 == 0 004D: jump_if_false @PLCHUTE_2386 0812: unknown_action_sequence $PLAYER_ACTOR "PARA_OPEN" "PARACHUTE" 8.0 0 0 0 1 -2 097A: (unknown) -1000.0 -1000.0 -1000.0 1038 008A: $8270 = 32@ and handles 0008: $8270 += 1100 0004: $1513 = 3 0006: 0@ = 0 :PLCHUTE_2386 00D6: if 0038: $1513 == 2 004D: jump_if_false @PLCHUTE_2504 00D6: if 04EE: animation "PARACHUTE" loaded 004D: jump_if_false @PLCHUTE_2492 0173: set_actor $PLAYER_ACTOR z_angle_to 1@ 0829: unknown_action_sequence $PLAYER_ACTOR "FALL_SKYDIVE_DIE" "PARACHUTE" 1000.0 0 09F1: (unknown) $PLAYER_ACTOR 1189 0002: jump @PLCHUTE_2497 :PLCHUTE_2492 05BE: AS_kill_actor $PLAYER_ACTOR :PLCHUTE_2497 0002: jump @PLCHUTE_5521 :PLCHUTE_2504 00D6: if 0038: $1513 == 3 004D: jump_if_false @PLCHUTE_4781 00D6: if 0018: $8270 > 0 004D: jump_if_false @PLCHUTE_2586 00D6: if 001F: 32@ > $8270 004D: jump_if_false @PLCHUTE_2586 097A: (unknown) -1000.0 -1000.0 -1000.0 1039 0004: $8270 = 0 :PLCHUTE_2586 00D6: if 0039: 0@ == 0 004D: jump_if_false @PLCHUTE_2689 0087: 25@ = 3@ 0017: 25@ /= 500.0 0087: 26@ = 2@ 0017: 26@ /= 500.0 0085: 18@ = 32@ and handles 0085: 19@ = 32@ and handles 0087: 5@ = 4@ 0013: 5@ *= -1.0 0089: 6@ = $1509 0006: 0@ = 1 :PLCHUTE_2689 00D6: if 0039: 0@ == 1 004D: jump_if_false @PLCHUTE_2856 0085: 10@ = 32@ and handles 0062: 10@ -= 19@ 00D6: if 001B: 500 > 10@ 004D: jump_if_false @PLCHUTE_2829 0085: 10@ = 32@ and handles 0062: 10@ -= 18@ 0085: 18@ = 32@ and handles 0093: 21@ = integer_to_float 10@ 0087: 22@ = 25@ 006B: 22@ *= 21@ 0087: 23@ = 26@ 006B: 23@ *= 21@ 0063: 3@ -= 22@ 0063: 2@ -= 23@ 0002: jump @PLCHUTE_2856 :PLCHUTE_2829 0007: 2@ = 0.0 0007: 3@ = 0.0 0006: 0@ = 2 :PLCHUTE_2856 00D6: if 0039: 0@ == 2 004D: jump_if_false @PLCHUTE_2964 00D6: if 03CA: object 17@ exists 004D: jump_if_false @PLCHUTE_2964 0750: (unknown) 17@ 1 08D2: object 17@ scale_model 0.0 0085: 19@ = 32@ and handles 0001: wait 0 ms 075A: (unknown) 17@ "PARA_OPEN_O" "PARACHUTE" 1000.0 0 1 0006: 0@ = 3 :PLCHUTE_2964 00D6: if 0039: 0@ == 3 004D: jump_if_false @PLCHUTE_3067 0085: 10@ = 32@ and handles 0062: 10@ -= 19@ 00D6: if 001B: 500 > 10@ 004D: jump_if_false @PLCHUTE_3050 0093: 21@ = integer_to_float 10@ 0017: 21@ /= 500.0 08D2: object 17@ scale_model 21@ 0002: jump @PLCHUTE_3067 :PLCHUTE_3050 08D2: object 17@ scale_model 1.0 0006: 0@ = 4 :PLCHUTE_3067 00D6: if 0039: 0@ == 5 004D: jump_if_false @PLCHUTE_3136 0107: 20@ = create_object #PARA_COLLISION at 0.0 0.0 0.0 0750: (unknown) 20@ 0 0392: object 20@ toggle_in_moving_list 1 04D9: object 20@ set_scripted_collision_check 1 0006: 0@ = 6 :PLCHUTE_3136 00D6: if 0039: 0@ == 6 004D: jump_if_false @PLCHUTE_4354 0494: get_joystick_data 0 10@ 11@ 12@ 12@ 00D6: if 0038: $1511 == 1 004D: jump_if_false @PLCHUTE_3202 0006: 10@ = 0 0006: 11@ = 0 :PLCHUTE_3202 0093: 21@ = integer_to_float 10@ 0017: 21@ /= 4.267 0063: 21@ -= 2@ 0017: 21@ /= 20.0 005B: 2@ += 21@ 0087: 21@ = 2@ 0017: 21@ /= 15.0 0063: 1@ -= 21@ 00D6: if 0021: 1@ > 180.0 004D: jump_if_false @PLCHUTE_3303 000F: 1@ -= 360.0 :PLCHUTE_3303 00D6: if 0023: -180.0 > 1@ 004D: jump_if_false @PLCHUTE_3334 000B: 1@ += 360.0 :PLCHUTE_3334 02F6: $1507 = cosine 1@ // sinus swapped with cosine 02F7: $1508 = sinus 1@ // cosine swapped with sinus 0069: $1507 *= $1500 0069: $1508 *= $1500 0011: $1507 *= -1.0 0085: 12@ = 10@ and handles 0085: 13@ = 11@ and handles 0095: make 12@ absolute_integer 0095: make 13@ absolute_integer 00D6: if or 0019: 12@ > 40 0019: 13@ > 40 004D: jump_if_false @PLCHUTE_4066 00D6: if 001D: 12@ > 13@ 004D: jump_if_false @PLCHUTE_3741 0089: 21@ = $1501 0065: 21@ -= $1509 0017: 21@ /= 20.0 005F: $1509 += 21@ 00D6: if 0029: 10@ >= 0 004D: jump_if_false @PLCHUTE_3607 00D6: if 8039: not 15@ == 2 004D: jump_if_false @PLCHUTE_3607 0812: unknown_action_sequence $PLAYER_ACTOR "PARA_STEERR" "PARACHUTE" 1.0 1 0 0 1 -2 075A: (unknown) 17@ "PARA_STEERR_O" "PARACHUTE" 1.0 1 1 0006: 15@ = 2 :PLCHUTE_3607 00D6: if 001B: 0 > 10@ 004D: jump_if_false @PLCHUTE_3734 00D6: if 8039: not 15@ == 3 004D: jump_if_false @PLCHUTE_3734 0812: unknown_action_sequence $PLAYER_ACTOR "PARA_STEERL" "PARACHUTE" 1.0 1 0 0 1 -2 075A: (unknown) 17@ "PARA_STEERL_O" "PARACHUTE" 1.0 1 1 0006: 15@ = 3 :PLCHUTE_3734 0002: jump @PLCHUTE_4059 :PLCHUTE_3741 00D6: if 0029: 11@ >= 0 004D: jump_if_false @PLCHUTE_3900 0089: 21@ = $1503 0065: 21@ -= $1509 0017: 21@ /= 20.0 005F: $1509 += 21@ 00D6: if 8039: not 15@ == 4 004D: jump_if_false @PLCHUTE_3900 0812: unknown_action_sequence $PLAYER_ACTOR "PARA_DECEL" "PARACHUTE" 1.0 1 0 0 1 -2 075A: (unknown) 17@ "PARA_DECEL_O" "PARACHUTE" 1.0 1 1 0006: 15@ = 4 :PLCHUTE_3900 00D6: if 001B: 0 > 11@ 004D: jump_if_false @PLCHUTE_4059 0089: 21@ = $1501 0065: 21@ -= $1509 0017: 21@ /= 20.0 005F: $1509 += 21@ 00D6: if 8039: not 15@ == 5 004D: jump_if_false @PLCHUTE_4059 0812: unknown_action_sequence $PLAYER_ACTOR "PARA_FLOAT" "PARACHUTE" 1.0 1 0 0 1 -2 075A: (unknown) 17@ "PARA_FLOAT_O" "PARACHUTE" 1.0 1 1 0006: 15@ = 5 :PLCHUTE_4059 0002: jump @PLCHUTE_4225 :PLCHUTE_4066 0089: 21@ = $1501 0065: 21@ -= $1509 0017: 21@ /= 20.0 005F: $1509 += 21@ 00D6: if 8039: not 15@ == 5 004D: jump_if_false @PLCHUTE_4225 00D6: if 8039: not 15@ == 1 004D: jump_if_false @PLCHUTE_4225 0812: unknown_action_sequence $PLAYER_ACTOR "PARA_FLOAT" "PARACHUTE" 1.0 1 0 0 1 -2 075A: (unknown) 17@ "PARA_FLOAT_O" "PARACHUTE" 1.0 1 1 0006: 15@ = 1 :PLCHUTE_4225 01BB: store_object 17@ position_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_2 0815: (unknown) 20@ $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_2 00D6: if 04DA: has_object 20@ collided 004D: jump_if_false @PLCHUTE_4318 075A: (unknown) 17@ "PARA_RIP_LOOP_O" "PARACHUTE" 8.0 1 1 0006: 0@ = 7 :PLCHUTE_4318 00D6: if 00E1: key_pressed 0 15 004D: jump_if_false @PLCHUTE_4354 0792: (unknown) $PLAYER_ACTOR 0004: $1513 = 6 0004: $1498 = 3 :PLCHUTE_4354 00D6: if 03CA: object 17@ exists 004D: jump_if_false @PLCHUTE_4593 00D6: if 0837: (unknown) 17@ "PARA_OPEN_O" 004D: jump_if_false @PLCHUTE_4593 0839: (unknown) 17@ "PARA_OPEN_O" 21@ 0087: 22@ = 6@ 0065: 22@ -= $1501 0087: 23@ = 22@ 006B: 23@ *= 21@ 0088: $1509 = 6@ 0067: $1509 -= 23@ 0087: 22@ = 5@ 0065: 22@ -= $1500 0087: 23@ = 22@ 006B: 23@ *= 21@ 0087: 4@ = 5@ 0063: 4@ -= 23@ 02F6: $1507 = cosine 1@ // sinus swapped with cosine 02F7: $1508 = sinus 1@ // cosine swapped with sinus 006D: $1507 *= 4@ 006D: $1508 *= 4@ 0011: $1507 *= -1.0 00D6: if and 0043: 21@ == 1.0 0039: 0@ == 4 004D: jump_if_false @PLCHUTE_4593 0006: 0@ = 5 :PLCHUTE_4593 00D6: if 8118: not actor $PLAYER_ACTOR dead 004D: jump_if_false @PLCHUTE_4781 00D6: if 04AD: actor $PLAYER_ACTOR touching_water 004D: jump_if_false @PLCHUTE_4732 0812: unknown_action_sequence $PLAYER_ACTOR "PARA_LAND_WATER" "PARACHUTE" 8.0 1 1 0 0 1000 075A: (unknown) 17@ "PARA_LAND_WATER_O" "PARACHUTE" 1000.0 0 1 0004: $1513 = 5 0006: 0@ = 0 :PLCHUTE_4732 083D: (unknown) $PLAYER_ACTOR 21@ 21@ 23@ 00D6: if 0021: 23@ > -0.1 004D: jump_if_false @PLCHUTE_4781 0004: $1513 = 4 0006: 0@ = 0 :PLCHUTE_4781 00D6: if 0038: $1513 == 4 004D: jump_if_false @PLCHUTE_5271 00D6: if 0039: 0@ == 0 004D: jump_if_false @PLCHUTE_5168 0004: $1498 = 1 00A0: store_actor $PLAYER_ACTOR position_to $TEMPVAR_X_COORD $TEMPVAR_Y_COORD $TEMPVAR_Z_COORD 000D: $TEMPVAR_Z_COORD -= 1.0 00A1: put_actor $PLAYER_ACTOR at $TEMPVAR_X_COORD $TEMPVAR_Y_COORD $TEMPVAR_Z_COORD 083E: (unknown) $PLAYER_ACTOR 0.0 0.0 1@ 00D6: if 0022: -10.0 > $1509 004D: jump_if_false @PLCHUTE_4922 0004: $1513 = 2 0006: 0@ = 0 0002: jump @PLCHUTE_5092 :PLCHUTE_4922 00D6: if 0022: -4.0 > $1509 004D: jump_if_false @PLCHUTE_5047 0615: define_action_sequences 14@ 0812: unknown_action_sequence -1 "FALL_FRONT" "PED" 20.0 0 0 0 1 700 0812: unknown_action_sequence -1 "GETUP_FRONT" "PED" 8.0 0 1 0 0 -2 0616: define_action_sequences_end 14@ 0618: assign_actor $PLAYER_ACTOR to_action_sequences 14@ 061B: remove_references_to_action_sequences 14@ 0002: jump @PLCHUTE_5085 :PLCHUTE_5047 0812: unknown_action_sequence $PLAYER_ACTOR "RUN_PLAYER" "PED" 8.0 1 1 0 0 1000 :PLCHUTE_5085 0006: 0@ = 1 :PLCHUTE_5092 075A: (unknown) 17@ "PARA_LAND_O" "PARACHUTE" 1000.0 0 1 0682: detach_object 17@ 0.0 0.0 0.0 collision_detection 0 0085: 18@ = 32@ and handles 000A: 18@ += 1000 :PLCHUTE_5168 00D6: if 0039: 0@ == 1 004D: jump_if_false @PLCHUTE_5271 00D6: if 0837: (unknown) 17@ "PARA_LAND_O" 004D: jump_if_false @PLCHUTE_5271 0839: (unknown) 17@ "PARA_LAND_O" 21@ 00D6: if 0043: 21@ == 1.0 004D: jump_if_false @PLCHUTE_5271 0004: $1498 = 2 0002: jump @PLCHUTE_5521 :PLCHUTE_5271 00D6: if 0038: $1513 == 5 004D: jump_if_false @PLCHUTE_5328 0004: $1498 = 1 00D6: if 0039: 0@ == 0 004D: jump_if_false @PLCHUTE_5328 0004: $1498 = 2 0002: jump @PLCHUTE_5521 :PLCHUTE_5328 00D6: if and 0018: $1513 > 0 001A: 4 > $1513 004D: jump_if_false @PLCHUTE_5405 00D6: if 8118: not actor $PLAYER_ACTOR dead 004D: jump_if_false @PLCHUTE_5405 083C: (unknown) $PLAYER_ACTOR $1507 $1508 $1509 0173: set_actor $PLAYER_ACTOR z_angle_to 1@ 083E: (unknown) $PLAYER_ACTOR 3@ 2@ 1@ :PLCHUTE_5405 00D6: if 0038: $1513 == 6 004D: jump_if_false @PLCHUTE_5430 0002: jump @PLCHUTE_5521 :PLCHUTE_5430 00D6: if 0038: $1513 == 7 004D: jump_if_false @PLCHUTE_5455 0002: jump @PLCHUTE_5462 :PLCHUTE_5455 0002: jump @PLCHUTE_118 :PLCHUTE_5462 //0004: $1513 = 0 0006: 0@ = 0 0249: release_model #PARACHUTE 04EF: release_animation "PARACHUTE" 083E: (unknown) $PLAYER_ACTOR 0.0 0.0 1@ 0992: set_player $PLAYER_CHAR weapons_scrollable 1 0002: jump @PLCHUTE_5455 :PLCHUTE_5521 0682: detach_object 17@ 0.0 0.0 0.0 collision_detection 0 09A2: (unknown) 17@ 0108: destroy_object 20@ 0555: remove_weapon 46 from_actor $PLAYER_ACTOR 0004: $1513 = 0 0004: $1497 = 0 0006: 0@ = 0 0249: release_model #PARACHUTE 04EF: release_animation "PARACHUTE" 0249: release_model #GUN_PARA 083E: (unknown) $PLAYER_ACTOR 0.0 0.0 1@ 0992: set_player $PLAYER_CHAR weapons_scrollable 1 004E: end_thread
4. Synthèse et tests
Maintenant que nous avons notre script complet il ne reste plus qu'a tester (si vous n'avez pas réussi voilà un Script complet)
Maintenant :
http://z.vicolaships.moi.fr/saut2.jpg
http://z.vicolaships.moi.fr/saut2-2.jpg
5. Modification des données
Vous pouvez aussi modifier les paramètres de parachutage, la vitesse de chute sans parachute ou encore avec parachute, combien plier les jambes vous ralentira etc... Tout se joue ici :
:PLCHUTE 03A4: name_thread 'PLCHUTE' 0004: $1498 = 0 0004: $1513 = 0 0004: $1497 = 0 0005: $1500 = 5.0 0005: $1501 = -5.0 0005: $1503 = -1.5 0005: $1504 = -30.0 0005: $1505 = 32.0 0005: $1506 = 0.0 0004: $1512 = 0 0004: $1513 = 0
0005: $1500 = 5.0 : C'est la valeur qui vous fait avancer en parachute : si vous mettez 0 vous tomberez sur place, si vous mettez 50 vous avancerez beaucoup en tombant
0005: $1501 = -5.0: C'est la valeur de chute avec votre parachute lorsque vous ne tirez pas les cordes.
0005: $1503 = -1.5: C'est la valeur de chute avec votre parachute lorsque vous tirez les cordes.
0005: $1504 = -30.0: C'est la valeur de chute sans votre parachute (quelque soit la position).
0005: $1505 = 32.0: C'est la valeur qui gère la position (sans parachute) pour aller plus vite, plus elle sera grande, plus vous irez vite en avant.
0005: $1506 = 0.0: C'est la valeur qui gère la position (sans parachute) normale, plus elle sera grande, plus vous irez vite en avant.
Je n'ai pas vu de modification avec les autres valeurs, voilà un saut en parachute qui me parait plus réaliste que le saut normal :
:PLCHUTE 03A4: name_thread 'PLCHUTE' 0004: $1498 = 0 0004: $1513 = 0 0004: $1497 = 0 0005: $1500 = 10.0 0005: $1501 = -8.0 0005: $1503 = -2.5 0005: $1504 = -35.0 0005: $1505 = 38.0 0005: $1506 = 5.0 0004: $1512 = 0 0004: $1513 = 0
Par Vicolaships -
Les différents types de texte
Ce tutorial est à la porté d'un débutant en SCM, même s'il est conseillé d'avoir réalisé les tutoriels précédents.
1. Présentation et objectifs
Dans ce tutorial nous allons essayer de tester et de voir à quoi correspondent tous les types de textes dans San Andreas à l'aide de SannyBuilder
2. Diffénrents types de textes
2.1 On créé un main basic et on insere un wait 1000 après le fade et avant le end_thread
On recherche ensuite dans les Opcodes tous les types de textes, on utilisera le mod clé "text", je n'ai retenu que les plus importants :
00BA: text_styled 'GXT' 1000 ms 2 // ...
C'est la police de texte utilisée pour les nom de missions
00BB: text_lowpriority 'GXT' 3000 ms 1 // ... 00BC: text_highpriority 'GXT' 3000 ms 1 //...
Je n'ai pas vu de différence entre ces deux textes, le texte en centré en bas de l'écran écrit en blanc comme quand les perso parlent.
033E: text_draw 320.0 180.333 'GXT' // ...
Petit texte au centre de l'écran modifiable via les paramètres
320.0 180.333 = Texte centré à l'écran
Plus la première valeur sera élevée plus le texte ira vers la droite (maximum : 500)
Plus la deuxième valeur sera élevée plus le texte ira vers le bas (maximum : 400)
03E5: text_box "GXT" // ... wait X 03E6: remove_text_box
Texte d'aide, avec fond gris en haut à gauche de l'écran
- Note: Les "//" à la fin des opcodes permettent de mettre des notes, on le place après n'importe quel opcode et ce ne sera pas lu par le jeu.
4.1 Téléchargez GXT Editor
Lancez GXT Editor et ouvre le fichier "french.gxt" situé dans le dossier "/GTA San Andreas/text/"
4.2 Vous pouvez rechercher un texte ou en ajouter un, pour rechercher un texte utilisez la fonction "Chercher une valeur" et pour chercher le nom attribué au texte utiliser "Chercher un nom"
Pour ajouter un texte faites, "Entrée" puis "Ajouter". On vous demandera alors de donner un nom à votre texte, c'est le nom que vous inserez dans le main. Dans les exemples données précédement tous les noms de textes sont "GXT", le nom du texte est entre guillemets ('nom')
Si vous appelez votre texte "texte-01" et que vous voulez l'inserez dans votre script cela donnera :
00BA: text_styled 'texte-01' 1000 ms 2 // ...
Par Vicolaships -
Aucune surcharge.
Un plantage comme il en arrive des fois à 18h (site de nouveau disponible vers 20h) et un problème d'accès au forum dans la soirée à cause d'une table vérolée.
-
La charte des forums vient d'être mise à jour. Celle-ci concerne les images sur le forum, tant dans les messages que dans la signature des membres.
Je vous invite donc à relire la charte à cette adresse : http://forum.macreators.com/index.php?act=boardrules
Partie de la charte mise à jour :
Vous vous engagez à ne pas diffuser dans tout message ou toute information quelque soit sa forme ou sa nature :- des smileys (images "émotions") autres que sur les serveurs du forum MACREATORS,- des smileys en grand nombre,- des images de plus de 200 ko ; pour les images ne respectant pas cette taille, veuillez créer un lien vers celles-ci,- des images à caractère injurieux, diffamatoire, raciste, xénophobe, homophobe, révisionniste ou portant atteinte à l'honneur ou la réputation d'autrui.Vous vous engagez à ne pas diffuser dans votre signature ou avatar :- des smileys (images "émotions") autres que sur les serveurs du forum MACREATORS,- des smileys en grand nombre,- une image de plus de 640x120 pixels et de plus de 60 ko pour la signature ; mettre plusieurs images dans la signature n'est pas autorisé,- une image de plus de 150x150 pixels et de plus de 25 ko pour l'avatar,- des images à caractère injurieux, diffamatoire, raciste, xénophobe, homophobe, révisionniste ou portant atteinte à l'honneur ou la réputation d'autrui,- tout message de publicité incitant le visiteur à cliquer sur un lien... ; vous pouvez inscrire dans votre signature l'adresse de votre site tout en respectant la charte. -
bonjour
je voudrait savoire porquoi je ne peut envoyer et reçevoir des Messages Privés ?
et quand j'essaye d'en envoyer :
quelqun peut repondre a ma question ?
D'autres personnes ont le même problème ?
Tu essai d'envoyer des messages à des membres spécifiques ? ou à n'importe qui ?
-
C'est la mise à jour de certains blogs contenant des milliers d'articles qui fait ralentir le système.
-
Essai la réparation de Windows avec le cd d'installation, si c'est pas trop tard lol vu la date du poste .
Nouveau Topic ?
dans Suggestions/Idées/Bugs
Posté(e)
Le forum n'est pas exclusivement celui de GTA Macreators, mais celui du nework Macreators.
La taverne est le coin de détente où on parle de tout. Il y a des forums pour GTA, comme il y a des forums pour Unreal, Macrea-File, MacreaBlog...