Tutorial Pickups Plaatsen

In deze tutorial wordt uitgelegd hoe je pick-ups plaats (Health, Armor, Drugs, Bribes)
Het is handig als je de SCM-begrippen al eens doorleest zodat het beter snapt.

Benodigde tools:
-Missionbuilder 1.3
-Playerposition Tool

Stap 1:

Zie de Tutorial Wagens plaatsen om te zien hoe je coördinaten uit VC haalt.

Stap 2:

Open de Main.scm met de missionbuilder 1.3 uit je VC data folder.
Zoek met de verrekijker met dit trefwoord create_pickup en je vindt waarschijnlijk zoiets:

0213: $19A = create_pickup -17 (PICKUPSAVE) type 3 at 384.086 -1209.655 14.1
0213: $637 = create_pickup -4 (BRIBE) type 15 at 872.239 -759.291 13.725
0213: $635 = create_pickup -87 (ADRENALINE) type 15 at 443.98 -1395.219 13.898
0213: $633 = create_pickup -86 (HEALTH) type 15 at 605.308 -357.059 12.249
0213: $62D = create_pickup -18 (BODYARMOUR) type 15 at 354.402 -1255.66 21.325

Met deze codes kun je een Save-pickup, een Bribe (politiester), Adrenaline (Drugs), Health en Bodyarmour plaatsen.

Ontleding:
Ik neem nu de regel van de Health:

0213:        Opcode.
$633         De variable, die voor uniek moet zijn. Dit is de 'naam' van het object in de Main.
create_pickup -86 (HEALTH)    Met het getal -86 geef je aan om welk object het gaat. Als je in een bestaande Main werkt kun je dit gewoon laten staan. (HEALTH) geeft de naam van het object aan.
type 15      Kun je gewoon laten staan.
605.308 -357.059 12.249    Dit zijn de coördinaten. X, Y, Z-coördinaat

Kopieer zo'n regel in de volgende regel en verander de coördinaat.

Druk dan op F7 om te Compilen. Je pickup staat nu in VC. Je bent nu klaar.


Als je in een lege Main werkt.

Ieder object heeft een nummer in de Main, -86  is het nummer voor Health in de normale Main. Maar in een lege main staat dat nergens. We gaan die nu aanmaken. Bovenin de Main staan deze regels:

:SecondSegment
0002: jump ££ThirdSegment
DEFINE OBJECTS 1
DEFINE OBJECT (no name) ;; This is an unused object. You can put anything here.

Zet deze regel onder de laatste regel van hierboven:

DEFINE OBJECT HEALTH ; Object number -1

Zet nu het getal bij DEFINE OBJECTS op 2, omdat je er een hebt toegevoegd.
Na DEFINE OBJECT staat er HEALTH, dit is de naam van de model van HEALTH. Dit kan ook iets anders zijn, we zetten bodyarmour erbij:

Kopieer de regel waarin HEALTH staat en zet DEFINE OBJECTS op 2, verander ook het OBJECT NUMBER, naar -2.

Je krijgt nu zoiets:

:SecondSegment
0002: jump ££ThirdSegment
DEFINE OBJECTS 3
DEFINE OBJECT (no name) ;; This is an unused object. You can put anything here.

DEFINE OBJECT HEALTH ; Object number -1
DEFINE OBJECT BODYARMOUR ; Object number -2

Nu heb je de 2 objecten die we gaan gebruiken als pick-up op de juiste plaats gezet, we hoeven nu alleen nog maar de juiste code in te vullen:

Zet na 01F5: $PLAYER_ACTOR = create_emulated_actor_from_player $PLAYER_CHAR  de code die we ook bij de andere zouden gaan gebruiken (0213: $633 = create_pickup -86 (HEALTH) type 15 at 605.308 -357.059 12.249):



:LabelMAIN
03A4: name_thread "MAIN"
016A: fade 0 0 ms
01F0: set_max_wanted_level_to 6
0111: set_wasted_busted_check_to 0 (disabled)
00C0: set_current_time 12 0
04E4: unknown_refresh_game_renderer_at 83.0 -849.8
03CB: set_camera 83.0 -849.8 9.3
0053: $PLAYER_CHAR = create_player #NULL at 80.0 -849.8 9.3
01F5: $PLAYER_ACTOR = create_emulated_actor_from_player $PLAYER_CHAR
0001: wait 0 ms
01B6: set_weather 0
00D6: if 0
8118: NOT actor $PLAYER_ACTOR dead
004D: jump_if_false ££LabelMAIN2
0352: set_actor $PLAYER_ACTOR skin_to "PLAYER"
038B: load_requested_models
0353: refresh_actor $PLAYER_ACTOR

Verander nu de coördinaat door die wat je uit vc hebt gehaald, verhoog deze wel met 0.8 en haal de komma's weg.
Dit is het resultaat:

:LabelMAIN
03A4: name_thread "MAIN"
016A: fade 0 0 ms
01F0: set_max_wanted_level_to 6
0111: set_wasted_busted_check_to 0 (disabled)
00C0: set_current_time 12 0
04E4: unknown_refresh_game_renderer_at 83.0 -849.8
03CB: set_camera 83.0 -849.8 9.3
0053: $PLAYER_CHAR = create_player #NULL at 80.0 -849.8 9.3
01F5: $PLAYER_ACTOR = create_emulated_actor_from_player $PLAYER_CHAR
0213: $633 = create_pickup -1 (HEALTH) type 15 at 605.308 -357.059 12.249
0213: $634 = create_pickup -2 (BODYARMOUR) type 15 at 605.308 -357.059 12.249
0001: wait 0 ms
01B6: set_weather 0
00D6: if 0
8118: NOT actor $PLAYER_ACTOR dead
004D: jump_if_false ££LabelMAIN2
0352: set_actor $PLAYER_ACTOR skin_to "PLAYER"
038B: load_requested_models
0353: refresh_actor $PLAYER_ACTOR

Druk nu op F7 om te compilen.

Dit is het resultaat (er zijn nog een paar extra pickups toegevoegd):

        

EXTRA:

Je kan ook andere objecten als Pick-up in vc zetten, bijvoorbeeld voor in missies. Een koffertje bijvoorbeeld. Je neemt dan gewoon deze regel en past het een en het ander aan:

0213: $633 = create_pickup -1 (HEALTH) type 15 at 605.308 -357.059 12.249

Je veranderd te Variable, het nummer (kijk eerst naar de nummers bovenin de main, daar staan ze allemaal, of maak er zelf een) en dan verander je de naam tussen de haakjes (die naam moet gelijk zijn aan de naam van de MODEL. Als laatste verander je de coördinaat. Je krijgt dan zoiets:

0213: $635 = create_pickup -3 (BRIEFCASE) type 15 at 605.308 -357.059 12.249


              Dit is het resultaat:

            

* Je kan ook ander pickups plaatsen, zoals kleren Pickups en Geldpickups, dit zijn de opcodes. Zet ze op dezelfde plaats als de ander pickups*


055B: $12C = create_clothes_pickup 12 at -382.6 -585.9 25.3
02E1: 1@ = create_cash_pickup 500 at -965.2795 -334.6384 15.0

Made by Wauzie
©