Jump to content
Geplaatst:
comment_247164

UNDER CONSTRUCTION!!!

Ik heb besloten een tutorial te maken over (mission)coding omdat er bijna geen zijn en al helemaal weinig nederlandse (en voor mijn eigen plezier ;) )

Benodigde tools:

SA PC Mission Builder v0.33

GTA SA Place Manager

Kladblok

Ervaring met SA Place Manager

Geduld ;)

Inhoudsopgave & gebruik

Inhoudsopgave:

Tutorial

--Stap 1: Voorbereiding & Backups

--Stap 2: Decompileren

--Stap 3: Het echte werk

----Stap 3a: Het plaatsen van een auto

----Stap 3b: Wapens plaatsen

----Stap 3c: Het plaatsen van een pickup

----Stap 3d: Variabeles

----Stap 3e: Markers/spheres

----Stap 3f: Labels

----Stap 3g: IF's

----Stap 3h: Threads

--Stap 4: Compileren en in het spel zetten

--Stap 5: Testen

--TROUBLESHOOTING

Skateboard spawnen in SA

--Stap 1: Configuratiebestanden aanpassen

--Stap 2: Het maken van een pickup

Objectnamen

--Voertuigen

--Wapens

Gebruik: je moet de eerste 2 stappen doen, maar je kunt best als je een ding uit stap 3a-3g hebt gedaan, verder gaan naar stap 4 & 5 (ik zou 3a wel doen, veel uitleg ;) )

Tip: zoek je een opcode? Er staan een heleboel in de bestanden OPCODES.TXT, FINDOPC.TXT en FINDOPC2.TXT in de map van de MB

Stap 1: Voorbereiding & Backups

Voordat je aan de slag gaat adviseer(doen!!) ik je om je DATA map van SA en je savegames te backupen

Unzip de Mission Builder in een map waar jij wilt

Kopieer de bestanden peds.ide, vehicles.ide en default.ide uit de DATA map van SA naar de map waarin de Mission Builder is geunzipped

Open het bestand SASCM.INI in de MB map (met kladblok of met de MB zelf) en voeg deze twee regels toe (aan het eind):

:JGS1
0001: wait 100 ms
03A4: name_thread 'PANC_1'
0005: $2000 = 40.30668
0005: $2001 = 20.28515
0005: $2002 = 14.26602

:JGS1_0
02A7: $2003 = create_icon_marker_and_sphere  34 at  $2000 $2001 $2002
0004: $eiland_m1_on = 1

:JGS1_2
0001: wait 100 ms
00D6: if 0
0038:    $ON_MISSION == 0
004D: jump_if_false ££JGS1_5
00D6: if 1
0038:    $ON_MISSION == 0
0038:    $eiland_m1_on == 0
004D: jump_if_false ££JGS1_3
02A7: $2003 = create_icon_marker_and_sphere  34 at  $2000 $2001 $2002
0004: $eiland_m1_on = 1

:JGS1_3
00D6: if 0
0256:    player $PLAYER_CHAR defined
004D: jump ££JGS1_2   
00D6: if 0
00FF:    actor $PLAYER_ACTOR 0 ()near_point_on_foot $2000 $2001 $2002 radius 3.0 3.0 2.0
004D: jump_if_false ££JGS1_2
00D6: if 0
03EE:   player $PLAYER_CHAR controllable
004D: jump_if_false ££JGS1_2
0164: disable_marker $2003
0004: $eiland_m1_on = 0
00BA: text_styled 'JGS_M1'  1500 ms  2
0050: gosub ££PANCCAM
0417: start_mission 3

:JGS1_4
0001: wait 0 ms
00D6: if 0
0038:    $m_135_tried == 1
004D: jump_if_false ££JGS1_4
0004: $m_135_tried = 0
00D6: if 0
0038:    $m_135_done == 1
004D: jump_if_false ££JGS1_2
00BE: text_clear_all 
03E6: remove_text_box
01E3: text_1number_styled 'M_PASS'  1000  5000 ms  1
0318: set_latest_mission_passed 'PANCA_1'
030C: set_mission_points +=  1
0394: play_music  1
01BD: $184 = current_time_in_ms 
0109: player $PLAYER_CHAR money +=  1000
0110: clear_player $PLAYER_CHAR wanted_level
004E: end_thread

:JGS1_5
00D6: if 0
0038:    $eiland_m1_on == 1
004D: jump_if_false ££JGS1_2
0164: disable_marker $2003
0004: $eiland_m1_on = 0
0002: jump ££JGS1_2   

:PANCCAM
0002: jump ££PANCCAM5

:PANCCAM1
0169: set_fade_color  0  0  0
016A: fade  0 ()  500 ms

:PANCCAM2
00D6: if  0
016B:   fading
004D: jump_if_false ££PANCCAM3
0001: wait  0 ms
00BE: text_clear_all
03E6: remove_text_box
0002: jump ££PANCCAM2

:PANCCAM3
00D6: if  0
0256:   player $PLAYER_CHAR defined
004D: jump_if_false ££PANCCAM4
016A: fade  0 ()  0 ms
02EB: restore_camera_with_jumpcut
0687: $PLAYER_ACTOR 
016A: fade  0 ()  0 ms

:PANCCAM4
0051: return

:PANCCAM5
00D6: if  0
0256:   player $PLAYER_CHAR defined
004D: jump_if_false ££PANCCAM6
03E6: remove_text_box
01B4: set_player $PLAYER_CHAR frozen_state  0 (frozen)
0050: gosub ££PANCCAM1

:PANCCAM6
0051: return

Ik gebruik altijd die thread (met een paar kleine aanpassinkjes natuurlijk). Kijkt en leert zou ik zeggen.

(Als je de hele thread of grote stukken ervan hebt gebruikt in je eigen mod, zou je dan zo vriendelijk willen zijn om mij bij de thanks ofzo te zetten.)

Stap 4: Compileren en in het spel zetten

Ga naar Run --> Compile en wees geduldig. Je kunt de status aflezen in de titelbalk

Hij geeft een melding dat hij klaar is.

Ga nu naar de map waarin je hem hebt laten decompileren. Daar staan nu de bestanden MAIN.SCM en SCRIPTS.IMG in. Kopieer deze bestanden naar de GTA-map\DATA\Scripts.

Stap 5: Testen

Dit is ongetwijfeld het makkelijkste deel. Maar let op je kunt je oude savegames niet meer gebruiken (hiervoor heb je een backup gemaakt, weet je nog?). Ga naar de plek waar hij zou moeten staan en kijk of dat het geval is.

Bij mij wel (er zit een raar blokje in de radar, maar dat is een ander experiment van mij):

s29vv.th.jpg

Ik hoop dat deze tut nuttig was voor je.

Als je nog vragen/opmerkingen/suggesties ofzo hebt, post dat hier of PM me

TROUBLESHOOTING:

V: Als ik compileer dan krijg ik een foutmelding over mijn #CHEETAH

A: Check de spelling, of kijk of er iets mis is met vehicles.ide

V: Als ik compileer dan krijg ik een foutmelding over Parameter 4 not set

A: Je hebt waarschijnlijk kommas ingevuld, waar punten moeten staan (in de coordinaten)

V: Als ik compileer dan krijg ik een foutmelding over DEFINE MEMORY

A: Pas DEFINE MEMORY (staat op de 4e regel) aan tot de in de foutmelding aangegeven waarde. (Het mag ook hoger zijn)

V: In de MB kan hij INITIAL_1 niet vinden

A: Zet je tekstcursor bovenaan en probeer het opnieuw

V: Ik krijg "Opcode out of range: 3004h address: 0000AC6h" bij het decompileren.

A: Je hebt SASCM.INI niet aangepast

Laatst geupdate op:

Bewerkt: door JGuntherS

  • Reacties 70
  • Bezichtigingen 27.5k
  • Created
  • Laatste reactie

Top Posters In This Topic

Featured Replies

Geplaatst:
comment_659943
Waarschijnlijk heb je komma's gebruikt in plaats van punten in de coördinaten :).

nej? maar ik heb al wat in game gekreegen gewoon af kijken van een andere auto en dan de plaats anders maken en de rest klaar.

  • 1 maand later...
Geplaatst:
comment_688252

die kun je uit het spel halen door middel van SA place manager. je moet dan je SA opstarten, en als je op de plek staat waar je een wapen, auto, of iets dergelijks wil plaatsen, druk je op de windows toets en start je SA mission builder op, nu doe je daar add coordinate en druk dan op, click here to import ingame coordinates of iets dergelijks, in ieder geval, die grote knop onder die drie hokjes waar de coordinaten staan.

als de coordinaten er staan druk je op add, en als je ze dan wilt kopieeren om te plakken in Sanny builder of mission builder, klik je op het coordinaat, druk je op edit, en dan kun je ze kopieeren.

download link komt zo....

EDIT: klik

succes ermee!

Bewerkt: door Black Force

Geplaatst:
comment_688460

zou je even precies willen vertellen wat je gedaan hebt dan?

want je moet:

1) SA opstarten, daarna, naar de plek lopen waar je coordinaat van wilt weten.

2) SA aanlaten staan, windows toets indrukken, dan de San andreas Place manager opstarten

3) kiezen voor add place

4) klikken op: click here to insert your curent ingame location

5) kiezen voor add place.

6) als je dan je place wilt bewerken of kopieeren plakken klik je je coordinaat aan, druk je op edit, en dan kun je dat doen.

dat was het wel, het zou zo moeten werken,

succes ermee, en als het nog niet lukt moet je maar even zeggen wat je precies gedaan hebt en dan kunnen we je wel weer verder helpen...

  • 2 maanden later...
Geplaatst:
comment_751950

Nee, dat is helaas niet mogelijk, want als je iets toegevoegd hebt in de SCM file, kun je niet meer je oude save files laden.

maar volgens mij heb ik wel ergens gelezen dat er iemand op GTAforums.com verstand had van SCM modifacaties en gebruik van oude SCM files. maar het fijne weet ik daar ook nie van.

greetz,

Black force

Geplaatst:
comment_751957

Er is iets in de nieuwe SannyBuilder, waardoor je je eigen savegames kunt draaien op je eigen scripts. Dat systeem heet "CLEO". Ik heb er nog niet naar gekeken, maar je zou het misschien op kunnen zoeken op internet. Als je de nieuwe SannyBuilder hebt kun je ook daarin kijken. ;)

  • 2 maanden later...
Geplaatst:
comment_803278
032B: $wap1 = create_weapon_pickup #AK47  1500 ammo  0 at  2505.90  -1669.842  13.34375

Vergelijk deze code is met die uit de beginpost:

032B: $mijn_wapen = create_weapon_pickup #MINIGUN type 15 ammo 15000 at 2492.378 -1667.843 13.34375

1) Type: er staat nergens "type" in, en "Type 1500" is niet goed, aangezien je alleen maar voor 1, 3 of 15 kan kiezen.

2) Ammo 0: je hebt helemaal geen ammo? Lijkt me ook niet de bedoeling. ;)

Kijk goed naar de code uit de beginpost. Je kan dus bijvoorbeeld het volgende gebruiken:

032B: $wap1 = create_weapon_pickup #AK47 type 15 ammo 1500 at 2505.90  -1669.842  13.34375

Overigens een aanvulling op JGuntherS:

De type kan zijn 1, 3 of 15.

1: Je kan de pickup niet oppakken.

3: Je kan de pickup maar 1 keer oppakken.

15: Je kan de pickup oppakken elke keer nadat je hem hebt opgepakt.

Geplaatst:
  • Auteur
comment_805317
Overigens een aanvulling op JGuntherS:

De type kan zijn 1, 3 of 15.

1: Je kan de pickup niet oppakken.

3: Je kan de pickup maar 1 keer oppakken.

15: Je kan de pickup oppakken elke keer nadat je hem hebt opgepakt.

Dankuwel voor de toevoeging, ik heb het erbij gezet!

  • 2 weken later...
Geplaatst:
comment_815448
Overigens een aanvulling op JGuntherS:

De type kan zijn 1, 3 of 15.

1: Je kan de pickup niet oppakken.

3: Je kan de pickup maar 1 keer oppakken.

15: Je kan de pickup oppakken elke keer nadat je hem hebt opgepakt.

Dankuwel voor de toevoeging, ik heb het erbij gezet!

Dit geldt voor zowel vuurwapens als melee wapens:

0213: $mijn_pickup = create_pickup #(pickup-type) type 15 (deze parameter is mij onbekend) at (X) (Y) (Z)

Type 15 is je dus niet meer onbekend. Misschien handig om dit te verbeteren, aangezien mensen die de tutorial volgen anders misschien in de war raken. :)

Een reactie plaatsen

Je kan nu een reactie plaatsen en pas achteraf registreren. Als je al lid bent, log eerst in om met je eigen account een reactie te plaatsen.

Gast
Op dit onderwerp reageren...

Recent actief 0

  • Er zijn hier geen geregistreerde gebruikers aanwezig.