Aller au contenu

Tutorial Pour Vice Builder 0.22


Messages recommandés

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 :ph34r: )

: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é par ninjaazuma
Lien vers le commentaire
Partager sur d’autres sites

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.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

Chargement
×
×
  • Créer...