ninjaazuma Posté(e) le 19 juillet 2006 Signaler Partager Posté(e) le 19 juillet 2006 (modifié) Ceci est une exclusivité, j'accorde mes droits d'auteur de la Faq de main.scm à ce topic Assez bavardé, tout d'abord, je vous propose d'utiliser le main.scm d'origine en y fesant quelques modifications : I/ Se préparer 1) Allez à la ligne 674 pour trouver ceci ... 01C7: spawn_object 2884?? 029B: 2880?? = init_object -14? (YT_GANGPLNK_TMP) at 1792?? 1796?? 1800?? 01C7: spawn_object 2880?? 0417: start_mission 1? 004F: create_thread ££Label010011 004F: create_thread ££Label00EE69 004F: create_thread ££Label00F207 ... Effacez tout simplement 0417: start_mission 1? 2) Ensuite un peu plus bas, vous trouverez ceci ... 8118: NOT actor $PLAYER_ACTOR dead 004D: jump_if_false ££Label00AF49 0353: refresh_actor $PLAYER_ACTOR :Label00AF49 016A: fade 1? (back) 1000& ms 004F: create_thread ££Label00B09E 00D6: if 0? 0256: player $PLAYER_CHAR defined 004D: jump_if_false ££Label00AF73 04BB: select_interiour 0? \\ select render area 01B4: set_player $PLAYER_CHAR frozen_state 1? (unfrozen) ... Voici la marche à suivre : En dessous de : 0353: refresh_actor $PLAYER_ACTOR Rajoutez 004F: create_thread ££Label00AF49 ET en dessous (2 lignes pour mieux séparer) vous pourrez mettre vos label (mettre des actor, crée une mission... etc) et apres avoir crée tous vos script, lors de votre dernier script, rajoutez ceci 004E: end_thread (sauf si votre dernier label se repete à l'infini) et encore en dessous, vous devez avoir ! :Label00AF49 016A: fade 1? (back) 1000& ms 004F: create_thread ££Label00B09E 00D6: if 0? 0256: player $PLAYER_CHAR defined 004D: jump_if_false ££Label00AF73 04BB: select_interiour 0? \\ select render area 01B4: set_player $PLAYER_CHAR frozen_state 1? (unfrozen) 3) C'est pas tres facile a comprendre, voici ce que vous devrez faire (ce qui est en rouge est "a vous", c'est vous qui crée ... 01C7: spawn_object 2884?? 029B: 2880?? = init_object -14? (YT_GANGPLNK_TMP) at 1792?? 1796?? 1800?? 01C7: spawn_object 2880?? 004F: create_thread ££Label010011 004F: create_thread ££Label00EE69 004F: create_thread ££Label00F207 ... 8118: NOT actor $PLAYER_ACTOR dead 004D: jump_if_false ££Label00AF49 0353: refresh_actor $PLAYER_ACTOR 004F: create_thread ££Label00AF49 :Label00AF4hg 0247: request_model #gdb 038B: load_requested_models 009A: 336?? = create_actor 8? #gdb at 933.5! -1091.7! 64.2! 01CA: actor 336?? kill_player $PLAYER_CHAR 03BC: 1@ = create_sphere 933.5! -1091.7! 64.2! 3! :Label0A69605 0001: wait 100? ms 00D6: if 0? 00F5: player $PLAYER_CHAR 0? ()near_point 933.5! -1091.7! 64.2! radius 3! 3! 3! 004D: jump_if_false ££Label0A69605 03BD: destroy_sphere 1@ 004E: end_thread :Label00AF49 016A: fade 1? (back) 1000& ms 004F: create_thread ££Label00B09E 00D6: if 0? 0256: player $PLAYER_CHAR defined 004D: jump_if_false ££Label00AF73 04BB: select_interiour 0? \\ select render area 01B4: set_player $PLAYER_CHAR frozen_state 1? (unfrozen) II/ Les bases Dans le main.scm, il y a beaucoups de choses, les label, les jump, les wait, des voitures, des persos, des objets... tout pleins de chose fort interessant ! Il faut savoir que les label s'enchaine, mais il y a des conditions ! 1) label qui s'enchaine : :Label00AF4hg 0247: request_model #gdb 038B: load_requested_models 009A: 336?? = create_actor 8? #gdb at 933.5! -1091.7! 64.2! 01CA: actor 336?? kill_player $PLAYER_CHAR 03BC: 1@ = create_sphere 933.5! -1091.7! 64.2! 3! :Label0A69605 0001: wait 100? ms 00D6: if 0? 00F5: player $PLAYER_CHAR 0? ()near_point 933.5! -1091.7! 64.2! radius 3! 3! 3! 004D: jump_if_false ££Label0A69605 03BD: destroy_sphere 1@ 2) label qui se repete sans cesse :Label009A52 03A4: name_thread "TIME1" 00C0: set_current_time 4? 0? 0001: wait 5000&& ms 00C0: set_current_time 4? 0? 0002: jump ££Label009A52 3) empecher un enchainement de label :Label00AF4hg 0247: request_model #gdb 038B: load_requested_models 009A: 336?? = create_actor 8? #gdb at 933.5! -1091.7! 64.2! 01CA: actor 336?? kill_player $PLAYER_CHAR 03BC: 1@ = create_sphere 933.5! -1091.7! 64.2! 3! 004E: end_thread :Label0A69605 0001: wait 100? ms 00D6: if 0? 00F5: player $PLAYER_CHAR 0? ()near_point 933.5! -1091.7! 64.2! radius 3! 3! 3! 004D: jump_if_false ££Label0A69605 03BD: destroy_sphere 1@ 4) eviter un label :Label00AF4hg 0247: request_model #gdb 038B: load_requested_models 009A: 336?? = create_actor 8? #gdb at 933.5! -1091.7! 64.2! 01CA: actor 336?? kill_player $PLAYER_CHAR 03BC: 1@ = create_sphere 933.5! -1091.7! 64.2! 3! 0002: jump ££Label00Agfx :Label0A69605 0001: wait 100? ms 00D6: if 0? 00F5: player $PLAYER_CHAR 0? ()near_point 933.5! -1091.7! 64.2! radius 3! 3! 3! 004D: jump_if_false ££Label0A69605 03BD: destroy_sphere 1@ :Label00Agfx 03BC: 1@ = create_sphere 933.5! -1091.7! 64.2! 3! 5) retourner à un label tant que l'action n'est pas effectuer :Label0A69605 0001: wait 100? ms 00D6: if 0? 00F5: player $PLAYER_CHAR 0? ()near_point 933.5! -1091.7! 64.2! radius 3! 3! 3! 004D: jump_if_false ££Label0A69605 03BD: destroy_sphere 1@ 6) activer plusieurs label en meme temps (pas besoin qu'ils se suive !, s'ils se suive, mettre end_thread, sauf s'il y a "jump...)) :Label009vfg 004F: create_thread ££Label00AF4hg 004F: create_thread ££Label0A69605 :Label009A52 03A4: name_thread "TIME1" 00C0: set_current_time 4? 0? 0001: wait 5000&& ms 00C0: set_current_time 4? 0? 0002: jump ££Label009A52 :Label00AF4hg 0247: request_model #gdb 038B: load_requested_models 009A: 336?? = create_actor 8? #gdb at 933.5! -1091.7! 64.2! 01CA: actor 336?? kill_player $PLAYER_CHAR 03BC: 1@ = create_sphere 933.5! -1091.7! 64.2! 3! 004E: end_thread :Label0A69605 0001: wait 100? ms 00D6: if 0? 00F5: player $PLAYER_CHAR 0? ()near_point 933.5! -1091.7! 64.2! radius 3! 3! 3! 004D: jump_if_false ££Label0A69605 03BD: destroy_sphere 1@ 7) arreter un label en mode repeat :Label009A52 03A4: name_thread "TIME1" 00C0: set_current_time 4? 0? 0001: wait 5000&& ms 00C0: set_current_time 4? 0? 0002: jump ££Label009A52 Pour ce label nommé time1, il faudra rajouté ca : 0459: end_thread_named "TIME1" Bien sur, des explications ! Les label qui ne se finissent pas par end, par jump à des chance de s'enchainer au label suivant !(celui en dessous) Si vous ne voulez pas que ca passe au label suivant (pour certains cas, rajouter "end_thread" a la fin du label. ou bien jump_label mais ceci actionera un autre label Si vous souhaitez qu'un label s'enchaine à l'infini, il fais donc un blocage pour que celui d'en dessous s'enchaine, donc avant le label "repeat" il faut crée un "thread_label" (ou plusieurs si vous souhaitez actionner d'autres label en meme temps). Ensuite il y a le systeme de condition avec les if 0? puis jump_if_false, le label ne poura pas continuer tant que la condition ne soit pas respecté, ca peut etre avoir une arme, etre à un endroit, tué quelqu'un ... Voila ce qui est finit pour les label, mais il n'y a pas tout !!! 7) Attendre 8 secondes 0001: wait 8000& ms 8) au début, il y aura le "MAIN", voici quelques trucs pour vous aider à déchiffer Dans ce "MAIN" beaucoup de choses ! fade = ecran noir ou normal set max wanted = nombre max d étoile de recerche set total hidden = nombre max de paquet a trouver unknown refresh = j'en sais rien (recharger le jeu, je pense) set camera = surement pour la vue player char=create player = l endroit ou vos creez votre perso player actor = juste pour dire que c aussi un "actor" select interiour = choisir les textures desinterieurs (diaz, banque ...) create forbidden for peds = j en sais rien lock actor = si c'est en 1 le perso est bloqué et ne peu plus bouger, en 0 débloqué (ou l'inverse j'sais plus) set car density = plus le nombre est elevé et plus y'a de voiture set current time = ca c'est juste pour l'heure start_mission = commencer la mission set on mission flag = j'sais pas wait 0? ms = attendre 0 miliseconde if 0? = ca c'est une condition NOT actor $PLAYER_ACTOR dead = si le perso n'est pas mort ... 5520?? = create sphere = creation d'une sphere + son emplacement et son rayon fade 1? (back) 30& ms = ecran noir put hidden package = crée un paquet caché 9212?? = init object -40? (BONUS) at = creation d'un objet (liste au dessus) set object 9212?? z_angle_to 180! = l'angle de l'objet create thread ££Label009C7A = sauter au label text highpriority "BIKE2" = rajouter un texte request_model #SWAT = rechercher le model 038B: load_requested_models = charger les models 9) Voici la liste des objets que vous pourrez mettre dans le jeu avec leur numero (leur référence)(ex : ballon, boite a pizza, grille ...), allez dans data puis "object" pour avoir la liste de tout les objets, vous pourrez meme faire des modification dedant (pensez à enlever la lecture seule ) :Label008620 0002: jump ££Label00997C DEFINE OBJECTS 206 DEFINE OBJECT (no name) \\ This is an unused object. You can put anything here. DEFINE OBJECT DTN_STADDOORA \\ Object number -1 DEFINE OBJECT DTN_STADDOORB \\ Object number -2 DEFINE OBJECT DTHOTRING_A \\ Object number -3 DEFINE OBJECT BRIBE \\ Object number -4 DEFINE OBJECT CI_GATESCLOSED \\ Object number -5 DEFINE OBJECT CI_BACKGATECLOSE \\ Object number -6 DEFINE OBJECT INFO \\ Object number -7 DEFINE OBJECT YT_MAIN_BODY \\ Object number -8 DEFINE OBJECT YT_MAIN_BODY2 \\ Object number -9 DEFINE OBJECT YT_DOORS14 \\ Object number -10 III/ Actions et autres sur notre perso Donner à notre perso + de vie, + d'arme ou meme d'autres trucs peuvent etre interessant quand on crée une mission ! 1) si le personnage est en position -1516.2! -624! 12.8 (le raduis c'est comme une marge d'erreur, car c'est casi impossible d'etre a ces trois positions en meme temps) :Label009B19 0001: wait 100? ms 00D6: if 0? 00F5: player $PLAYER_CHAR 0? ()near_point -1516.2! -624! 12.8! radius 20! 20! 10! 004D: jump_if_false ££Label009B19 2) Changer de Skin 0352: set_actor $PLAYER_ACTOR skin_to "PLAYER2" 038B: load_requested_models 0353: refresh_actor $PLAYER_ACTOR 3)Déplacer le perso (Téléportation) 0055: put_player $PLAYER_CHAR at 95.7! -1469.44! 9.6! 4)Le perso ne peux pas se deplacer (il marche dans "le vide", comme sur un tapis roulant) 04D7: lock_actor $PLAYER_ACTOR in_current_position 1? 1= bloqué 0= normal 5)Le perso "perd" toutes ses armes 03B8: clear_weapons_from_player $PLAYER_CHAR 6) Le perso a 100 de points de vie 0222: set_player $PLAYER_CHAR health_to 100& 7)Le perso est tué 0322: kill_player $PLAYER_CHAR 8) Si le player conduit un hunter? Ceci est une condition, 0001: wait 100? ms 00D6: if 0? 00DE: player $PLAYER_CHAR driving_vehicle_type #HUNTER 004D: jump_if_false ££Label... 9) Si le player est proche de l'acteur, encore une condition, procédez de la meme maniere 00FB: player $PLAYER_CHAR 0? ()near_actor 4? radius 20! 20! 10! 10) L'angle du perso ... 0171: set_player $PLAYER_CHAR z_angle_to 180! 11) Position extact du perso (pour crée quelque chose sur lui 0054: 1@ = player $PLAYER_CHAR x_pos, 2@ = player $PLAYER_CHAR y_pos, 3@ = player $PLAYER_CHAR z_pos Je vous laisse découvrir le reste ... IV/ Les autres persos A savoir, quans vous charger un actor (comme un véhicule ou arme) il faut charger le model :Label009DE3 0247: request_model #SWAT 0247: request_model #MINIGUN 038B: load_requested_models 1) Apres avoir chargé le modele swat (et pourquoi pas une arme), il faut le crée 009A: 204?? = create_actor 8? #SWAT at -136! 908! -1.2! 2) script inconnu 0291: unknown_actor 204?? unknown_behavior_flag 1? 3) Precision des tirs 02E2: set_actor 204?? weapon_accuracy_to 80? 4) Sa vie 0223: set_actor 204?? health_to 500& 5) Son arme (obligatoirement le modele chargé) 01B2: give_actor 204?? weapon 31? ammo 99999&& \\ Load the weapon model before using this 6)l'acteur va attaquer notre perso de loin, il se deplace de tres loin si possible) 01CA: actor 204?? kill_player $PLAYER_CHAR 7) l'acteur attaque notre perso uniquement si on s'approche trop pres de lui ! 01CC: actor 204?? kill_player $PLAYER_CHAR 8) Le perso peux se déplacer mais il reste sur place (pour tirer) 0350: unknown_actor 204?? not_scared_flag 1? 9) condition sur la vie du perso Label00B3C7 0001: wait 100? ms 00D6: if 0? 0118: actor 632?? dead 004D: jump_if_false ££Label00B3C7 10) Le perso parle avec moi ou parle avec le perso 200?? (les 2 persos doivent etre crée) 03F9: make_actors 644?? $PLAYER_ACTOR converse_in 5000&& ms ou 03F9: make_actors 644?? 200?? converse_in 5000& ms 11) Perso casiment invincible (sauf à l'eau) 02AB: set_actor 4380?? immunities 1? 1? 1? 1? 1? 12) il marche 0211: actor 104?? walk_to 72! -1454.7! V/ Autres 1) Créer une animation (celle de l'avion qui se pose pour cet exemple) :Label009AC5 02F3: load_object #CUTOBJ01 "AIRPLAN" 038B: load_requested_models 0569: "AIRPLAN" 02E4: load_cutscene_data "INT_M" 0244: set_cutscene_pos -1559.4! -1142.2! 13.5! 02E5: 832?? = create_cutscene_object #CUTOBJ01 02E6: set_cutscene_anim 832?? "AIRPLAN" 02E7: start_cutscene 0001: wait 4800&& ms 02EA: end_cutscene 2) 12 explosions assez differente 0565: create_temporary_explosion_fire 63.7! -1449.2! 15! 1? ..... 0565: create_temporary_explosion_fire 63.7! -1449.2! 15! 12? 3) Voila un truc pas mal: 4388?? = packages_found 2? > 4388?? veux dire que si vous avec 2 "4388??" donc 2 paquets caché, on passe au label suivant 03E1: 4388?? = packages_found 02EC: put_hidden_package_at 876! -1013! 120! 02EC: put_hidden_package_at 902! -1166.1! 104! :Label00A4F9 00D6: if 0? 001A: 2? > 4388?? \\ integer values 004D: jump_if_false ££Label00A51C 0001: wait 500& ms 03E1: 4388?? = packages_found 0002: jump ££Label00A4F9 :Label00A51C ... 4) Prendre des photos comme dans une mission Tout d'abord, vous devez crée un personnage, dans mon exemple, je vais utiliser l'actor 336??, d'ailleur je n'ai besoin juste d'un seul actor ! et apres crée l'appareil photo et je vais crée un texte, dans la 1ere partie, le texte sera sous forme de chiffre et après sous forme de barre, vous verrez certainement la difference ! :Label0A68BD 0247: request_model #gdb 038B: load_requested_models 009A: 336?? = create_actor 8? #gdb at 933.5! -1091.7! 64.2! , 032B: 400?? = create_weapon_pickup #CAMERA 15? ammo 1000& at 933! -1060! 64! 03C4: set_status_text_to 17988?? 0? (number) "POR3_24" \\ PHOTOS TAKEN: Une fois l'actor crée, l'appareil et le texte, il faut crée la condition (avec if 0?), (en fait s'il n'est pas pris en photo, ca "saute"(jump) au meme label encore et encore jusqu'a ce qui soit pris en photo, une fois qu'il est pris en photo (que l'action soit vrai et non fausse (false) ca rajoute +1(pour mon exemple) dans le texte 17988??, donc le texte des photos prisent ! :Label0A68BD1 0001: wait 100? ms 00D6: if 0? 04C5: 336?? 004D: jump_if_false ££Label0A68BD1 0008: 17988?? += 1? \\ integer values Mais à quoi bon ... prendre des photos, c'est bien ... augmenter le nombre de photo, c'est bien ... mais c'est inutile s'il n'y à pas de suite, et voici donc ce qui faut mettre apres : Encore une condition (if 0? et jump_if_false), et la condition est (encore dans mon exemple) : S'il y a + de 0 photo prises (donc 1,2,3,4... pas 0) la condition est accordé et le texte est effacé (mais ceci n'est pas obligatoire, vous pouvez prendre 300 photos de different actor si vous voulez ... :Label0A6969 0001: wait 100? ms 00D6: if 0? 0018: 17988?? > 0? \\ integer values 004D: jump_if_false ££Label0A6969 0151: remove_status_text 17988?? maintenant ce qu'il faut changer pour avoir les chiffres en barre (faut avoir 100 "points" pour que la barre soit rempli) donc dans mon exemple, je vais mettre 100 point par photo :Label0A68BD 0247: request_model #gdb 038B: load_requested_models 009A: 336?? = create_actor 8? #gdb at 933.5! -1091.7! 64.2! , 032B: 400?? = create_weapon_pickup #CAMERA 15? ammo 1000& at 933! -1060! 64! 03C4: set_status_text_to 17988?? 1? (number) "POR3_24" \\ PHOTOS TAKEN: 1? = barre 0? = chiffres :Label0A68BD1 0001: wait 100? ms 00D6: if 0? 04C5: 336?? 004D: jump_if_false ££Label0A68BD1 0008: 17988?? += 100? \\ integer values 100 points par photo (barre rempli a 100%) :Label0A6969 0001: wait 100? ms 00D6: if 0? 0018: 17988?? > 99? \\ integer values 004D: jump_if_false ££Label0A6969 0151: remove_status_text 17988?? 99?? = plus de 99 donc 100,101,102... (mais pas 99) 6) Les touches à appuyer pour créer une action (non traduit, fournit avec vice builder 0.22) 00E1: key_pressed 0? <number tested>? Nombre A pied Dans un véhicule ---------------------------------------------- 2 turn left/right Look left + turret L and Look right + turret R 3 turret up/down 4 action key Radio 5 prev. weapon look left/behind 6 aim/target handbrake 7 next weapon look right/behind 8 forward 9 backward 10 strafe left turn left 11 strafe right turn right 13 camera camera 14 jump brake/reverse 15 enter vehicle exit vehicle 16 sprint gas/forward 17 shoot/attack shoot 18 crouch horn 19 look behind sub-mission -------------------------------------------------- With classic setup Number On Foot In Car ---------------------------------------------- 3 Look left and right turret up/down Dans certains situation quand "lock_actor" est utilisé, keypress number 12 est utilisé. I don't know how to set that key up. Number On Foot In Car ---------------------------------------------- 12 Used to exit certain modes 7) Interieur/exterieur Voici la ligne à mettre (ou modifier) 04BB: select_interiour 0? \\ select render area 0 = Exterieur 1 = hotel 2 = maison 3 = banque 4 = mall 5 = Club de striptease 6 = lawyers 7 = cafe de robina 8 = concert 9 = studio 10 = shooting range 11 = apartment/bikerbar 12 = policeHQ 14 = stadium1 15 = stadium2 16 = stadium3 17 = Malibu club 18 = Print Works Tiré d'un document texte de vicebuilder 0.22 8) Les icones du radar 02A8: create_marker 236?? 28? at 396?? 400?? 404?? le 236?? est le numero du marqueur Pour changer l'icone changer le code "28" par ceux qui sont en dessous 0 – Small purple dot 1 – Large player type icon 2 – Small arrow 3 – Le ‘N’ (Au nord de la carte) 4 – Le ‘A’ 5 – Le ‘B’ 6 – Le ‘C’ 7 – Le ‘D’ 8 – Le ‘K’ 9 – Le ‘L’ 10 – Le ‘P’ 11 – The Spade Icon 12 – The Anchor Icon 13 – L'arbre (Malabu Club) 14 – A Funny sort of splat icon, not sure what it is meant to be 15 – A Clapper board (used for the film studio) 16 – The Gun Icon 17 – Le Voodoo 18 – The Hammer Icon 19 – The Tape Icon (Save Game Icon) 20 – Le‘P’ de couleur rose (Pole Position Club ) 21 – The Cherry Icon (Cherry Poppers Icon) 22 – Le‘K’ jaune (Kuffman Cabs ) 23 – The Skull Icon (Bikers Club Icon) 24 – Le dollar ‘$’ (Imprimante) 25 – Pas d'icone 26 – Le soleil (Sunshine Autos ) 27 – The Re-spray Icon 28 – The T Shirt Icon 29 – Le ‘V’ (Maison de thommy) 30 – The Phone Icon 31 – A Yellow ‘W’ Icon (I have not seen before) 32 – A Yellow Flag or Ice-cream (I have not seen before) 33 – Some Sort of Fish Icon (I have not seen before) 34 – Some sort of red symbol 35 – Red ‘V’ on a Black background 36 – Blue ‘V’ on a White background with some red @ the bottom 37 – A Simple drawing of the devil? 38 – A Red Heart Icon 39 – Red ‘W’ on a green background Tiré d'un document texte de vicebuilder 0.22 9) Les "codes" model des armes N= Numero de l'arme G= Groupe de l'arme W= Nom dans Weapon.dat #= Nom dans vicebuilder et default.ide (code model de l'arme ) N G W # 0 Poing 1 BrassKnuckle #brassknuckle 2 ScrewDriver #screwdriver 3 GolfClub #golfclub 4 NightStick #nitestick 5 Knife #knifecur 6 BaseballBat #bat 7 Hammer #hammer 8 Cleaver #cleaver 9 Machete #machete 10 Katana #katana 11 Chainsaw #chnsaw 12 2 Grenade #grenade (returns nothing) 13 2 DetonateGrenade #bomb (returns nothing) 14 2 TearGas #teargas (returns nothing) 15 2 Molotov #molotov (Molotov returns 31 if actor burns to death) 16 2 Rocket #missile (not rocketlauncher) 17 3 Colt45 #colt45 18 3 Python #python 19 4 Shotgun #chromegun 20 4 Spas12Shotgun #shotgspa 21 4 StubbyShotgun #buddyshot 22 5 Tec9 #tec9 23 5 Uzi C #uzi 24 5 SilencedIngram #ingramsl 25 5 Mp5 #mp5lng 26 6 m4 #m4 27 6 Ruger #ruger 30 7 RocketLauncher #rocketla (returns nothing) 31 7 FlameThrower #flame 32 7 M60 #M60 33 7 Minigun #minigun 35 7 HeliCannon 28 8 SniperRifle #sniper 29 8 LaserScope #laser 34 9 Detonator 36 9 Camera #camera (returns nothing) Tiré d'un document texte de vicebuilder 0.22 VI/ Exemple de créations 1) Ce Label009C7A est un systeme tres interessant, il permet de faire revenir l'heure a 23h00 toutes les 5 sec (c'est moi qui a inventé ca ) :Label009C7A 03A4: name_thread "TIME1" 00C0: set_current_time 23? 0? 0001: wait 5000&& ms 00C0: set_current_time 23? 0? 0002: jump ££Label009C7A 2) Ceci est pour éviter la triche (lol), si notre perso a l'une des trois armes, ca explose sur notre perso), il y'a pleins de trucs interessant dans ce label :Label009C9E 0001: wait 100? ms 00D6: if 22? 0490: player $PLAYER_CHAR has_weapon 30? 0490: player $PLAYER_CHAR has_weapon 19? 0490: player $PLAYER_CHAR has_weapon 20? 004D: jump_if_false ££Label009C9E 0001: wait 2000& ms 0054: 1@ = player $PLAYER_CHAR x_pos, 2@ = player $PLAYER_CHAR y_pos, 3@ = player $PLAYER_CHAR z_pos 0565: create_temporary_explosion_fire 1@ 2@ 3@ 1? 0565: create_temporary_explosion_fire 1@ 2@ 3@ 2? 0565: create_temporary_explosion_fire 1@ 2@ 3@ 4? 004E: end_thread 3) Si le perso se trouve a un emplacement precis, il y a un texte :Label009DE6 0001: wait 100? ms 00D6: if 0? 00F5: player $PLAYER_CHAR 0? ()near_point -104.5! 972.5! 10! radius 5! 5! 5! 004D: jump_if_false ££Label009DE6 00BC: text_highpriority "ASM4_8" 5000& ms 1? \\ ~r~The target heard you firing your weapon! The deal is off! 004E: end_thread 4) Déplacement du perso s'il se trouve a un endroit precis (ascenceur par exempl) :Label009EE6 0001: wait 100? ms 00D6: if 0? 00F6: player $PLAYER_CHAR 0? ()near_point_on_foot 97.3! -1471.7! 9.5! radius 2! 2! 2! 004D: jump_if_false ££Label009EE6 0055: put_player $PLAYER_CHAR at 95.7! -1469.44! 9.6! Modifié le 20 juillet 2006 par ninjaazuma Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.