Jump to content

Objecten laten draaien of bewegen


Recommended Posts

Geplaatst:

Ik heb wel code voorbeelden, maar deze zijn voor VC,

Maar zouden met kleine aanpassingen in SA moeten kunnen worden gebruikt..

Objecten kun je laten draaien met het onderstaande stukje SCM code.

0107: $c = create_object -1 at 85.0 -850.141  10.24
0392: object $c toggle_in_moving_list  0
0453: object $c set_rotation  0.0  8.0  270.0

:LabelMAIN3
0001: wait 100 ms							  
if 0
034D: unknown_rotate_object $c unknown_angle  360.0  2.0  0
jf ££label
0453: object $c set_rotation  0.0  0.0  0.0
:label
0002: jump ££LabelMAIN3

Objecten rechtlijnig laten bewegen is iets ingewikkelder, maar ook wel te doen..

Onderstaand stuk code is een deel van m'n marina carpark-mod dat de hekken heen en weer schuift, als de spelen in de buurt komt. Alshet niet duidelijk is, moet je maar vragen :D

(034E is de opcode, die het hek telkens een stukje laat bewegen)

;=====================================================
; CARPARK GATE THREAD					  
;=====================================================
:cp_gate_thread
029B: $gate1 = init_object -33 (ELECTRICGATE) at -204.252 -1400.79 6.73
0177: set_object $gate1 z_angle_to  107.0
029B: $gate2 = init_object -33 (ELECTRICGATE) at -207.482 -1390.36 6.73 
0177: set_object $gate2 z_angle_to  107.0

;-----------------------------------------------------
; GATE THREAD LOOP
;-----------------------------------------------------
:cp_gt_start  
0001: wait 100 ms						  
if 0 
 0256:   player $PLAYER_CHAR defined 
jump_if_false ££cp_gt_start 
;----------------------------
; CARPARK GATE 1   
;----------------------------   
if 0
00F5: player $PLAYER_CHAR  0 ()near_point -205.96 -1396.38 6.73 radius  7.5  7.5  7.5
jump_if_false ££cp_close_g1	 

;; If cars not ready or on the inside of gate, keep the current position
if 1			 
 $cp_cars_ready == 1
 02B3:   player $PLAYER_CHAR in cube  -204.66 -1400.69 0.0 -207.26 -1392.08 20.0 radius  8.0 sphere  0
jump_if_false ££cp_gate2

if 21
 40 > $cp_nof_cars 
 80E0: NOT player $PLAYER_CHAR driving
jump_if_false ££cp_full_g1

;-------------
; OPEN GATE 1
;-------------
034E: unknown_move_object $gate1 to -202.118 -1407.77 6.73 unknown_angle  0.2  0.654  0.0  0
jump ££cp_gate2

:cp_full_g1
00BC: text highpriority "GA_21"  3000 ms  1  

:cp_close_g1  
;-------------
; CLOSE GATE 1
;-------------
034E: unknown_move_object $gate1 to -204.252 -1400.79 6.73 unknown_angle  0.2  0.654  0.0  0		  

;----------------------------
; CARPARK GATE 2   
;----------------------------
:cp_gate2			  
if 0
 00F5:   player $PLAYER_CHAR  0 ()near_point -208.48 -1387.05 6.73 radius  7.5  7.5  7.5
jump_if_false ££cp_close_g2

if 0
 02B3:   player $PLAYER_CHAR in cube  -207.182 -1391.36 0.0 -209.794 -1382.75 20.0 radius  -7.0 sphere  0
jump_if_false ££cp_gt_end
;-------------
; OPEN GATE 2
;-------------
034E: unknown_move_object $gate2 to -209.494 -1383.75 6.73 unknown_angle  0.2  0.654  0.0  0
jump ££cp_gt_end

;-------------
; CLOSE GATE 2
;-------------
:cp_close_g2  
034E: unknown_move_object $gate2 to -207.482 -1390.36 6.73 unknown_angle  0.2  0.654  0.0  0

:cp_gt_end
jump ££cp_gt_start

Geplaatst:

anders moet je mischien ff naar de code van de tram kijken? want dit is geen voertuig in de zin dat het bestuurt wort. volgens mij wordt die bestuurt met scm. weet hiet niet 100% zeker. maar volgens mij wel.

en dan kun je dus opjecten laaten bewegen.

  • 2 weken later...
Geplaatst:

De tram -en treinroute staat in de map Paths in de Datamap.

dus daar moet je ook een path maken als je iets wil laten bewegen.

maar vraag me (nog) niet hoe.

Ik ga het wel proberen :clown:

  • 1 year later...
Geplaatst:

Hi hi,

srry dat ik oude koeien weer uit de sloot haal maar van het script om objecten te laten draaien heb ik 2 vragen.

waar kan je aangeven welk object je wilt laten draaien en welke aanpassingen moet ik doen om het San andreas ready te maken?

Groetjes

Geplaatst:

Ik moet bekennen dat ik niet snap wat je bedoelt.. De opcode om objecten te laten draaien is:

034D: rotate_object $2709 from_angle 0.0 to_angle 360.0 flag 0

Toch is dit erg tricky. Probeer maar eens de handle van een object te achterhalen. Natuurlijk kan dat met de volgende opcode:

0866: get_object_in_sphere 63@ 64@ 65@ radius 5.0 handle_as 49@

Maar hoeveel objecten heeft SA wel niet?

Kortom, je moet dus veel testen en uitproberen.

Geplaatst:

Ik haal toch even de code er bij:

0107: $c = create_object -1 at 85.0 -850.141  10.24
0392: object $c toggle_in_moving_list  0
0453: object $c set_rotation  0.0  8.0  270.0

:LabelMAIN3
0001: wait 100 ms							  
if 0
034D: unknown_rotate_object $c unknown_angle  360.0  2.0  0
jf ££label
0453: object $c set_rotation  0.0  0.0  0.0
:label
0002: jump ££LabelMAIN3

Waar kan ik aangeven welk object ik wil laten bewegen?

En er werd gezegt dat de code voor Vice City is. wat moet ik veranderen om hem San andreas te maken?

Bedankt alvarst

Geplaatst:

Het object dat je roteerd maak je in het stukje voorbeeldcode aan met:

0107: $c = create_object -1 at 85.0 -850.141 10.24

Dit is een dummy-code dat je zelf moet vervangen door het aanmaken van het object dat je wilt laten roteren.

De code zou volgens mij redelijk ook op SA moeten kunnen draaien.

  • 3 maanden later...
Geplaatst:

kan je een code geven voor San andreas om een object rechtleinig te laten bewegen zeg maar net als een lift

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...

×   Je hebt text geplaatst met opmaak.   Opmaak verwijderen

  Only 75 emoji are allowed.

×   Je link is automatisch ingevoegd.   In plaats daarvan weergeven als link

×   Je vorige bewerkingen zijn hersteld.   Alles verwijderen

×   You cannot paste images directly. Upload or insert images from URL.

  • Recent actief   0 leden

    • Er zijn hier geen geregistreerde gebruikers aanwezig.
×
×
  • Create New...