Donald F. Duck Geplaatst: 1 januari 2008 Rapport Geplaatst: 1 januari 2008 (bewerkt) Spel gaat bij deze label haken: :MISSION_TAXI 0674: set_car_model #TAXI numberplate 'TAXI_397' 00A5: $taxi397 = create_car #TAXI at -2263.042 2352.578 4.804 0129: 10@ = create_actor_pedtype 4 model #VWMYCD in_car $taxi397 driverseat Car.Angle($taxi397) = 202.5 Car.Health($taxi397) = 2250.0 Marker.CreateAboveCar($m_taxi397, $taxi397) Marker.SetColor($m_taxi397, 4) wait 0 Ik weet zeker dat de fout in de Marker.CreateAboveCar of in de Marker.SetColor zit omdat het spel vasthangt als de marker op de taxi moet komen. Op de radar staat netjes het gele blokje, maar op de taxi staat geen marker. PS: Welke objects moeten defined worden om de roulette werkend te krijgen? PS2: Ik was bij die code hierboven vergeten te zeggen dat dat niet echt een missie is. Je moet gewoon ergens heen rijden voor je eerste dollars en je wordt terug gebracht. Bewerkt: 2 januari 2008 door Donald F. Duck Reageren
Dutchy3010 Geplaatst: 4 januari 2008 Rapport Geplaatst: 4 januari 2008 Ik vermoed dat het niet zit in die twee dingen, maar in de rest van je code. Kan je de hele code geven? En die roulette, dat is een external script, en daar zou ik me niet aan wagen als ik jou was . Om het zelf te maken in ieder geval... Hier kan je een stripped main.scm downloaden met alle external scripts werkend. Let op: dit is voor mission builder, en dat werkt dus niet in sanny builder, helaas... Je kunt proberen om het te converteren van MB naar SB, dus in SB naar Tools > Code Converter > MB->SB. Ik weet niet of hij zo alles kan converteren, trouwens. Heb het nog nooit geprobeerd... Dit is dus voor alle external scripts in GTA SA, dus basketbal, gym, parachute, maar ook de casino games als roulette. Reageren
Donald F. Duck Geplaatst: 4 januari 2008 Auteur Rapport Geplaatst: 4 januari 2008 de defines staan hier //-------------MAIN--------------- thread 'MAIN' 01F0: set_max_wanted_level_to 6 set_wb_check_to 0 00C0: set_current_time_hours_to 8 minutes_to 0 04E4: unknown_refresh_game_renderer_at 2488.56 -1666.84 Camera.SetAtPos(2488.56, -1666.84, 13.38) $PLAYER_CHAR = Player.Create(#NULL, 2488.56, -1666.84, 13.38) $PLAYER_ACTOR = Actor.EmulateFromPlayer($PLAYER_CHAR) 07AF: $PLAYER_GROUP = player $PLAYER_CHAR group Camera.SetBehindPlayer set_weather 0 wait 0 Player.SetClothes($PLAYER_CHAR, "PLAYER_FACE", "HEAD", Head) Player.SetClothes($PLAYER_CHAR, "JEANSDENIM", "JEANS", Legs) Player.SetClothes($PLAYER_CHAR, "SNEAKERBINCBLK", "SNEAKER", Shoes) Player.SetClothes($PLAYER_CHAR, "VEST", "VEST", Torso) Player.Build($PLAYER_CHAR) Player.CanMove($PLAYER_CHAR) = True fade 1 0 select_interior 0 0629: change_integer_stat 181 to 4 016C: restart_if_wasted_at 2488.56 -1666.84 13.38 angle 270.0 town_number 0 016D: restart_if_busted_at 2488.56 -1666.84 13.38 angle 270.0 town_number 0 0180: set_on_mission_flag_to $ONMISSION // Note: your missions have to use the variable defined here $DEFAULT_WAIT_TIME = 250 03E6: remove_text_box 004F: create_thread @MODEL :MAIN_297 wait $DEFAULT_WAIT_TIME 00BF: $TIME_HOURS = current_time_hours, $TIME_MINS = current_time_minutes jump @MAIN_297 :MODEL thread 'MODEL' //Model load 0247: load_model #INFERNUS 0247: load_model #TAXI 0247: load_model #VWMYCD 038B: load_requested_models :MODEL_LOAD 00D6: if or 8248: not model #INFERNUS available 8248: not model #TAXI available 8248: not model #VWMYCD available 004D: jump_if_false @MISSION_INFERNUS 0001: wait 0 ms 0002: jump @MODEL_LOAD :MISSION_INFERNUS 0674: set_car_model #INFERNUS numberplate 'SPEEDCAR' 00A5: $speedcar = create_car #INFERNUS at 2459.762 -1665.877 13.423 Car.Angle($speedcar) = 270.0 Car.Health($speedcar) = 2250.0 0186: $m_speedcar = create_marker_above_car $speedcar 0165: set_marker $m_speedcar color_to 1 repeat wait 0 until Actor.InCar($PLAYER_ACTOR, $speedcar) Marker.Disable($m_speedcar) $m_bayside = Marker.CreateIconAndSphere(9, -2270.65, 2333.332, 4.7625) :MISSION_INFERNUS_WRECKED wait 0 ms if 0119: car $speedcar wrecked 004D: jump_if_false @MISSION_INFERNUS_END wait 0 ms jump @MODEL :MISSION_INFERNUS_END if 01AE: car $speedcar sphere 0 near_point -2270.65 2333.332 radius 1.0 1.0 stopped 004D: jump_if_false @MISSION_INFERNUS_WRECKED wait 0 ms :MISSION_INFERNUS_PASSED 0394: play_music 1 01E3: show_text_1number_styled GXT 'M_PASS' number 250 time 5000 style 1 // INFERNUS PASSED Player.Money($PLAYER_CHAR) += 250 :MISSION_TAXI 0674: set_car_model #TAXI numberplate 'TAXI_397' 00A5: $taxi397 = create_car #TAXI at -2263.042 2352.578 4.804 0129: 10@ = create_actor_pedtype 4 model #VWMYCD in_car $taxi397 driverseat Car.Angle($taxi397) = 202.5 Car.Health($taxi397) = 2250.0 Marker.CreateAboveCar($m_taxi397, $taxi397) Marker.SetColor($m_taxi397, 4) wait 0 :MISSION_TAXI_IN if 00E1: player 0 pressed_key 15 004D: jump_if_false @MISSION_TAXI_IN 072B: put_actor $PLAYER_ACTOR into_car $taxi397 passengerseat 0 Marker.Disable($m_taxi397) 0002: jump @MISSION_TAXI_RIDE :MISSION_TAXI_RIDE Player.CanMove($PLAYER_CHAR) = False Car.DriveTo($taxi397, 2485.45, -1685.464, 13.01) Car.SetMaxSpeed($taxi397, 13.5) Car.SetSpeedInstantly($taxi397, 13.5) deze code is niet helemaal af, wordt nog gedaan hieronder het roulette script Dit roulette script komt precies uit de originele Rockstar main.scm. Over dat script, ik hoef alleen maar de objects te weten uit die lange objectlist. Ook moet ik weten hoe ik geld van de speler af kan halen. Reageren
Dutchy3010 Geplaatst: 4 januari 2008 Rapport Geplaatst: 4 januari 2008 :MISSION_TAXI_IN if 00E1: player 0 pressed_key 15 004D: jump_if_false @MISSION_TAXI_IN Daarom slaat hij vast. Je vergeet de wait. Onthoudt: er moet altijd een wait in een lus voorkomen. Dus een vorm als: :label if ... jump_if_false @label2 jump @label Dan moet er dus een wait in. Achter :label in dit geval, dus moet het worden: :MISSION_TAXI_IN wait 100 ms if 00E1: player 0 pressed_key 15 004D: jump_if_false @MISSION_TAXI_IN Het is niet aan te raden nu 0 ms te gebruiken, aangezien dit wel langer duurt voordat iemand op die toets drukt als bijvoorbeeld wanneer je een model load. En het geld: 0109: player $PLAYER_CHAR money += 1000000 Verander het getal in een - getal, om het geld eraf te halen... Reageren
Donald F. Duck Geplaatst: 4 januari 2008 Auteur Rapport Geplaatst: 4 januari 2008 (bewerkt) Ok, maar nu nog een probleem. Ik vind het nogal raar om alleen 15 (in/uit auto) te gebruiken omdat CJ dan uit de Infernus gaat en naar de Taxi rent (of niet, weet ik niet). Daarom heb ik 14 (springen) ook erbij gedaan. De if veranderd in en if and, en proberen maar. Enige probleem: als ik 15 en 14 (in/uit auto en springen) indruk gaat spel haken. Hoe kan ik dit oplossen? De code is ook al afgemaakt, dit zijn de labels waar het afgemaakt is. :MISSION_TAXI_RIDE Player.CanMove($PLAYER_CHAR) = False Car.DriveTo($taxi397, 2485.45, -1685.464, 13.01) Car.SetMaxSpeed($taxi397, 13.5) Car.SetSpeedInstantly($taxi397, 13.5) Car.SetToPsychoDriver($taxi397) 0002: jump @MISSION_TAXI_END :MISSION_TAXI_END if 00EC: actor $PLAYER_ACTOR 0 near_point 2485.45 -1685.464 radius 2.0 2.0 004D: jump_if_false @MISSION_TAXI_END wait 0 ms Player.Money($PLAYER_CHAR) += -47 Player.CanMove($PLAYER_CHAR) = True Bewerkt: 4 januari 2008 door Donald F. Duck Reageren
Dutchy3010 Geplaatst: 4 januari 2008 Rapport Geplaatst: 4 januari 2008 Lees de post die ik net geschreven heb. Reageren
Donald F. Duck Geplaatst: 4 januari 2008 Auteur Rapport Geplaatst: 4 januari 2008 Ik moet toch eens verder kijken dan mijn neus lang is. Maar code is getest, hij werkt goed, enige probleem is dat de taxi niet Bayside uit komt omdat hij denk ik hemelsbreed een weg zoekt (maar over de wegen). Die taxi blijft dus maar rondjes rijden over Bayside. Moet ik hem dan instellen dat bij elke bocht waar de taxi de andere kant dan Grove op rijdt een if maakt om te kijken of de taxi daar is en hem dan verder te laten rijden? Lijkt me een beetje moeilijk. Reageren
PatrickW Geplaatst: 5 januari 2008 Rapport Geplaatst: 5 januari 2008 Ik moet toch eens verder kijken dan mijn neus lang is.Maar code is getest, hij werkt goed, enige probleem is dat de taxi niet Bayside uit komt omdat hij denk ik hemelsbreed een weg zoekt (maar over de wegen). Die taxi blijft dus maar rondjes rijden over Bayside. Moet ik hem dan instellen dat bij elke bocht waar de taxi de andere kant dan Grove op rijdt een if maakt om te kijken of de taxi daar is en hem dan verder te laten rijden? Lijkt me een beetje moeilijk. Ik denk inderdaad dat de game niet in staat is om helemaal een route te plannen vanuitt bayside naar groove. Als je echt de hele rit van de taxi wilt laten zien, dan zit er niet veel anders op dan het in kleine stukjes te verdelen. Een andere optie is om alleen het vertrek en de aankomst te laten zien, met een zwart beeld ertussen gefade.. Reageren
Donald F. Duck Geplaatst: 5 januari 2008 Auteur Rapport Geplaatst: 5 januari 2008 (bewerkt) [...]Een andere optie is om alleen het vertrek en de aankomst te laten zien, met een zwart beeld ertussen gefade.. Ik ga het zo doen, maar welke code is nodig voor een zwart beeld en hoe krijg ik dan de taxi (met CJ) op Grove? Bewerkt: 5 januari 2008 door Donald F. Duck Reageren
PatrickW Geplaatst: 6 januari 2008 Rapport Geplaatst: 6 januari 2008 [...]Een andere optie is om alleen het vertrek en de aankomst te laten zien, met een zwart beeld ertussen gefade.. Ik ga het zo doen, maar welke code is nodig voor een zwart beeld en hoe krijg ik dan de taxi (met CJ) op Grove? Scherm zwart maken 016A: fade 0 time 500 Scherm weer zichtbaar maken 016A: fade 1 time 500 Auto verplaatsen Car.PutAt($taxi, <<xcoord>>, <<yxoord>>, <<zcoord>>) Car.Angle($taxi) = <<rijrichting 0.0 - 360.0 >> 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.