Galiorix Geplaatst: 31 juli 2008 Rapport Geplaatst: 31 juli 2008 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? Reageren
Dutchy3010 Geplaatst: 31 juli 2008 Rapport Geplaatst: 31 juli 2008 Geen idee waarom het niet werkt, zal vast iets makkelijks zijn, maar ik kijk er in ieder geval overheen... 0175: set_car $greenwood Z_angle_to 270.0 Deze werkt wel... Reageren
Dutchy3010 Geplaatst: 31 juli 2008 Rapport Geplaatst: 31 juli 2008 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... Reageren
Galiorix Geplaatst: 31 juli 2008 Auteur Rapport Geplaatst: 31 juli 2008 (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: 31 juli 2008 door Galiorix Reageren
Dutchy3010 Geplaatst: 31 juli 2008 Rapport Geplaatst: 31 juli 2008 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. Reageren
Galiorix Geplaatst: 31 juli 2008 Auteur Rapport Geplaatst: 31 juli 2008 Het werkt 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 Reageren
Recommended Posts
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.