Jump to content

Recommended Posts

Geplaatst:

Ik was met een soort klein projectje bezig alleen nu heb ik al een probleem: de auto's zijn niet gedraait als ik ze spawn. De code hieronder is gewoon even gekopieerd van een tutorial van Dutchy en Patrick om te kijken of ik niks verkeerd gedaan heb maar ook met deze code weigert de auto in de goede positie te staan.

{
 use macro (Ctrl+J) "headsa"
 to insert a file header	  
}
{$VERSION 3.0.0000}
var
$PLAYER_CHAR: Player
end // var 
03A4: name_thread 'MAIN' 
01F0: set_max_wanted_level_to 6 
0111: toggle_wasted_busted_check 0 
00C0: set_current_time_hours_to 8 minutes_to 0 
04E4: unknown_refresh_game_renderer_at 2488.56 -1666.84 
03CB: set_rendering_origin_at 2488.56 -1666.84 13.38 
0053: $PLAYER_CHAR = create_player #NULL at 2488.56 -1666.84 13.38 
01F5: $PLAYER_ACTOR = create_player_actor $PLAYER_CHAR 
07AF: $PLAYER_GROUP = player $PLAYER_CHAR group 
0373: set_camera_directly_behind_player 
01B6: set_weather 0 
0001: wait 0 ms 
087B: set_player $PLAYER_CHAR clothes_texture "PLAYER_FACE" model "HEAD" body_part 1 
087B: set_player $PLAYER_CHAR clothes_texture "JEANSDENIM" model "JEANS" body_part 2 
087B: set_player $PLAYER_CHAR clothes_texture "SNEAKERBINCBLK" model "SNEAKER" body_part 3 
087B: set_player $PLAYER_CHAR clothes_texture "VEST" model "VEST" body_part 0 
070D: rebuild_player $PLAYER_CHAR 
01B4: toggle_player $PLAYER_CHAR can_move 1 
016A: fade 1 time 0 
04BB: select_interior 0 
0629: change_integer_stat 181 to 4 
016C: restart_if_wasted_at 2027.77 -1420.52 15.99 angle 137.0 town_number 0 
016D: restart_if_busted_at 1550.68 -1675.49 14.51 angle 90.0 town_number 0 
0180: set_on_mission_flag_to $ONMISSION // Note: your missions have to use the variable defined here 
0004: $DEFAULT_WAIT_TIME = 250
03E6: remove_text_box 
Create_thread @MODEL

// IDLE LOOP
:leeg
wait 500
jump @leeg

end_thread

:MODEL
thread "MODEL" 

0247: load_model #GREENWOO
038B: load_requested_models

:MODEL_LOAD
00D6: if  
8248:   not model #GREENWOO available
004D: jump_if_false @MODEL_SPAWN
0001: wait 0 ms
0002: jump @MODEL_LOAD

:MODEL_SPAWN
0674: set_car_model #GREENWOO numberplate "ABCDEFG"
00A5: $greenwood = create_car #GREENWOO at 1822.23 830.7128 11.51626
Car.Angle($greenwood)= 270.0
0224: set_car $greenwood health_to 250

0249: release_model #GREENWOO
END_THREAD

Wat kan ik hier aan doen?

Geplaatst:

Geen idee waarom het niet werkt, zal vast iets makkelijks zijn, maar ik kijk er in ieder geval overheen... :7

0175: set_car $greenwood Z_angle_to 270.0

Deze werkt wel...

Geplaatst:

Kijk, hij is zo ver weg, dat er van alles gebeurd kan zijn. Met san andreas place manager ben ik er een paar meter vandaan gesprongen. Nu doet hij het met zowel:

Car.Angle($greenwood) = 270.0

als

0175: set_car $greenwood Z_angle_to 270.0

Dit is echter alleen als je teleporteert op het moment dat je nét gespawnt bent. Als je even wacht, dan staat die auto al scheef.

Je plaatst hem op de snelweg met minimale health. Er botsen dus auto's tegenaan, dat is één waardoor hij verplaatst. Daarnaast is hij van zo'n lage health dat elke auto die ertegenaan botst hem laat ontploffen.

Blijkbaar spawnt hij dan opnieuw in een andere richting.

Er gebeurt dus iets in de tijd tussen dat je spawnt, en bij de auto aankomt. Wat precies, weet ik niet, daar kunnen allerlei oorzaken van zijn (zoals de twee die hierboven beschreven staan).

Deze theorie is te bevestigen door de coords te veranderen:

00A5: $greenwood = create_car #GREENWOO at 2489.1462 -1656.7762 13.365

Als je die gebruikt, kan je elke van de bovengenoemde opcodes gebruiken, en staat hij in de goede richting. Dit had je zelf ook te weten kunnen komen als je beetje getest had...

Geplaatst: (bewerkt)

Maar hij staat altijd in precies dezelfde richting, precies naar het noorden en hij is onbeschadigd... Ik zal de player spawn plaats eens veranderen, misschien dat het dan wel klopt.

Bewerkt: door Galiorix
Geplaatst:
Maar hij staat altijd in precies dezelfde richting, precies naar het noorden en hij is onbeschadigd... Ik zal de player spawn plaats eens veranderen, misschien dat het dan wel klopt.

Dan zal het vast lukken.

Mijn vermoedens zijn als volgt:

Hij spawnt zover weg van de spawnplaats van de player, dat dat gebied nog niet geladen is. Hij spawnt met de goede angle, dan. Vervolgens zakt hij door de bodem, want het is nog niet solid. Daarna wordt hij zegmaar weer "opgepakt" en opnieuw losgelaten, in feiten opnieuw gespawnt (dat doet SA automatisch wanneer iets door de bodem zakt, niet altijd op de zelfde plaats, maar in dit geval wel). Omdat je nu niet aangeeft dat hij met een bepaalde angle moet staan (die opcode komt hij dan natuurlijk niet meer tegen, daar is de code al voorbij), staat hij naar angle 0.0 (standaard).

Als je gelijk na het spawnen van de player teleporteert naar die plaats, is het daar dus al solid voordat hij door de grond valt. Ook als de speler daar in het begin spawnt, is die plaats gelijk solid. Daarom spawnt die auto dan wel met de goede angle, immers leest hij dan die opcode en hoeft hij daarna niet opnieuw te spawnen.

Als je per sé in Grove Street wil spawnen, en die auto in Las Venturas, moet je aangeven dat je pas wilt dat hij spawnt, op het moment dat de player op een bepaald punt is. Dat punt moet dan binnen een bepaalde afstand van de spawnplaats van de auto zijn, zodat die grond solid is.

Geplaatst:

Het werkt :D Ik dacht, gezien het feit dat de hele wereld zelf pas laad als het moet, als je er ver weg van bent is het niet geladen, dat andere models (die gespawned worden met SCM) ook pas geladen worden als de rest van de wereld word geladen. Heel erg bedankt, ik ben weer een beetje wijzer over de werkwijze van de SA engine :D

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