Revolution-Designer Geplaatst: 16 mei 2009 Rapport Geplaatst: 16 mei 2009 Hallo iedereen, Ik ben momenteel bezig met een missie voor mijn TC mod Tiberium Return. Ik heb nu een lange code samen met Beagle gemaakt maar jammer genoeg crasht hij, het gaat om een missie dat gelijk start wanneer je een new game start. Dit is de volledige main.scm van de mod, onderaan zie je het ''missie'': // This file was decompiled using sascm.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007 DEFINE OBJECTS 1 DEFINE OBJECT SANNY BUILDER 3.04 DEFINE MISSIONS 0 DEFINE EXTERNAL_SCRIPTS 0 // Use -1 in order not to compile AAA script DEFINE UNKNOWN_EMPTY_SEGMENT 0 DEFINE UNKNOWN_THREADS_MEMORY 0 {$VERSION 3.1.0027} //-------------MAIN--------------- thread 'MAIN' fade 0 0 042C: set_total_missions_to 0 030D: set_max_progress 0 01F0: set_max_wanted_level_to 6 set_wb_check_to 0 00C0: set_current_time_hours_to 10 minutes_to 0 $7 = -138.1155 $6 = -136.909 $5 = 10.06569 04E4: unknown_refresh_game_renderer_at $7 $6 Camera.SetAtPos($7, $6, $5) 062A: change_float_stat 165 to 999.0 062A: change_float_stat 23 to 999.0 062A: change_float_stat 21 to 0.0 062A: change_float_stat 163 to 999.0 062A: change_float_stat 160 to 999.0 062A: change_float_stat 229 to 999.0 062A: change_float_stat 223 to 999.0 062A: change_float_stat 230 to 999.0 0629: change_integer_stat 181 to 4 0629: change_integer_stat 68 to 0 $PLAYER_CHAR = Player.Create(#NULL, $7, $6, $5) 07AF: $PLAYER_GROUP = player $PLAYER_CHAR group $PLAYER_ACTOR = Actor.EmulateFromPlayer($PLAYER_CHAR) Camera.SetBehindPlayer Actor.Angle($PLAYER_ACTOR) = 190.0 set_weather 1 Player.SetClothes($PLAYER_CHAR, "BBALLJACKRSTAR", "BBJACK", Torso) Player.SetClothes($PLAYER_CHAR, "JEANSDENIM", "JEANS", Legs) Player.SetClothes($PLAYER_CHAR, "SNEAKERBINCBLK", "SNEAKER", Shoes) Player.SetClothes($PLAYER_CHAR, "PLAYER_FACE", "HEAD", Head) Player.Build($PLAYER_CHAR) select_interior 0 Player.CanMove($PLAYER_CHAR) = True 01B7: release_weather 016C: restart_if_wasted_at $7 $6 $5 angle 0.0 town_number 0 032B: $MYWEAP = create_weapon_pickup #MP5LNG group 15 ammo 350 at -132.5553 -135.6695 10.06114 fade 1 1000 wait 100 03E6: remove_text_box create_thread @MAIN_439 :MAIN_427 wait 2500 jump @MAIN_427 :MAIN_439 00BA: show_text_styled GXT 'HANS' time 1000 style 2 // Test name Model.Load(#fbi) 038B: load_requested_models :MAIN_461 if not Model.Available(#fbi) jf @MAIN_487 wait 0 jump @MAIN_461 :MAIN_487 10@ = Actor.Create(COP, #fbi, -130.8409, -132.7771, 12.0) Model.Destroy(#fbi) Ik krijg dus onder het laden een crash, kan iemand me hiermee helpen? Alvast bedankt, RD Reageren
Bierbuikje Geplaatst: 16 mei 2009 Rapport Geplaatst: 16 mei 2009 Hier moet een wait in. :MAIN_461 PPPPPPPPPPPPPP <<< Hier de wait. if not Model.Available(#fbi) jf @MAIN_487 wait 0 PPPPPPPPPPPPPP <<<Deze wait kan weg. jump @MAIN_461 Reageren
Revolution-Designer Geplaatst: 16 mei 2009 Auteur Rapport Geplaatst: 16 mei 2009 Hier moet een wait in.:MAIN_461 PPPPPPPPPPPPPP <<< Hier de wait. if not Model.Available(#fbi) jf @MAIN_487 wait 0 PPPPPPPPPPPPPP <<<Deze wait kan weg. jump @MAIN_461 Bedankt voor je reactie Bierbuikje, maar het heeft geen effect. Reageren
Bierbuikje Geplaatst: 16 mei 2009 Rapport Geplaatst: 16 mei 2009 De 'weather' en 'select_interior' code moeten zijn: 01B6: set_weather 1 04BB: select_interior 0 Reageren
Revolution-Designer Geplaatst: 16 mei 2009 Auteur Rapport Geplaatst: 16 mei 2009 De 'weather' en 'select_interior' code moeten zijn:01B6: set_weather 1 04BB: select_interior 0 Hier kan het niet aan liggen, want als ik het gedeelte vanaf create_thread @MAIN_439 tot het eind verwijder werkt alles goed. Grtz RD Reageren
Dutchy3010 Geplaatst: 16 mei 2009 Rapport Geplaatst: 16 mei 2009 Hier moet een wait in.:MAIN_461 PPPPPPPPPPPPPP <<< Hier de wait. if not Model.Available(#fbi) jf @MAIN_487 wait 0 PPPPPPPPPPPPPP <<<Deze wait kan weg. jump @MAIN_461 Wat een onzin... Er moet in de lus minstens 1 wait zijn. Aangezien de lus ":MAIN_461 jump @MAIN_461" is, moet tussen die twee minstens 1 wait staan. En die staat er. Het maakt echt niet uit waar die staat. Het is goed als hij staat zoals Revolution-Designer het deed. De 'weather' en 'select_interior' code moeten zijn:01B6: set_weather 1 04BB: select_interior 0 Ook dit is onzin, want dit is gewoon de verkorte schrijfwijze van sanny builder. De echte fout is waarschijnlijk erg simpel: je hebt aan het einde geen "end_thread" geplaatst. Reageren
Revolution-Designer Geplaatst: 16 mei 2009 Auteur Rapport Geplaatst: 16 mei 2009 Hier moet een wait in.:MAIN_461 PPPPPPPPPPPPPP <<< Hier de wait. if not Model.Available(#fbi) jf @MAIN_487 wait 0 PPPPPPPPPPPPPP <<<Deze wait kan weg. jump @MAIN_461 Wat een onzin... Er moet in de lus minstens 1 wait zijn. Aangezien de lus ":MAIN_461 jump @MAIN_461" is, moet tussen die twee minstens 1 wait staan. En die staat er. Het maakt echt niet uit waar die staat. Het is goed als hij staat zoals Revolution-Designer het deed. De 'weather' en 'select_interior' code moeten zijn:01B6: set_weather 1 04BB: select_interior 0 Ook dit is onzin, want dit is gewoon de verkorte schrijfwijze van sanny builder. De echte fout is waarschijnlijk erg simpel: je hebt aan het einde geen "end_thread" geplaatst. Heel erg bedankt Dutchy! Alles werkt nu vlekkeloos! Reageren
Revolution-Designer Geplaatst: 16 mei 2009 Auteur Rapport Geplaatst: 16 mei 2009 Sorry voor de dubbelpost, maar ik heb nog een vraagje/probleempje. Dit is nu de hele code van het missie: create_thread @MAIN_439 :MAIN_427 wait 2500 jump @MAIN_427 :MAIN_439 00BA: show_text_styled GXT 'HANS' time 1000 style 2 // Test name Model.Load(#FBI) Model.Load(#PATRIOT) 038B: load_requested_models :MAIN_462 wait 0 if and Model.Available(#FBI) Model.Available(#PATRIOT) jf @MAIN_462 //Patriot 0674: set_car_model #PATRIOT numberplate "TIBER" 00A5: $patriot = create_car #PATRIOT at -108.4109 -99.65368 11.95162 Car.Angle($patriot)= 270.0 0224: set_car $patriot health_to 250 // Actors 1@ = Actor.Create(Cop, #FBI, -107.1102, -101.8393, 11.951) 2@ = Actor.Create(Cop, #FBI, -111.4697, -104.664, 11.951) 3@ = Actor.Create(Cop, #FBI, -115.0584, -101.7463, 11.951) 4@ = Actor.Create(Cop, #FBI, -112.2585, -97.15633, 11.951) //Destroyen Model.Destroy(#PATRIOT) Model.Destroy(#FBI) 0187: $marker1 = create_marker_above_actor 1@ 05E2: AS_actor 1@ kill_actor $PLAYER_ACTOR 0187: $marker2 = create_marker_above_actor 2@ 05E2: AS_actor 2@ kill_actor $PLAYER_ACTOR 0187: $marker3 = create_marker_above_actor 3@ 05E2: AS_actor 3@ kill_actor $PLAYER_ACTOR 0187: $marker4 = create_marker_above_actor 4@ 05E2: AS_actor 4@ kill_actor $PLAYER_ACTOR :checkifdood wait 0 if and actor.Dead(1@) actor.Dead(2@) actor.Dead(3@) actor.Dead(4@) jf @checkifdood Marker.Disable($marker1) Marker.Disable($marker2) Marker.Disable($marker3) Marker.Disable($marker4) 0186: $marker5 = create_marker_above_car $patriot 0165: set_marker $marker5 color_to 2 :checkifincar wait 0 if Actor.InCar($PLAYER_ACTOR, $patriot) jf @checkifincar Marker.Disable($marker5) $coordinaat = Marker.CreateIconAndSphere(0, -32.57082, -46.97571, 11.95944) 00EE: actor $PLAYER_ACTOR 0 near_point -32.57082 -46.97571 radius 4.0 4.0 0394: play_music 1 01E3: show_text_1number_styled GXT 'M_PASS' number 50 time 5000 style 1 // MISSION PASSED! end_thread Maar wanneer ik in de auto stap, dus de Patriot, dan is het gelijk mission passed. Maar ik wil naar de marker rijden, en wanneer ik in de marker sta het missie halen. Grtz RD Reageren
Crypteq Geplaatst: 16 mei 2009 Rapport Geplaatst: 16 mei 2009 Je moet wel een if enzo plaatsen :checkifincar wait 0 if Actor.InCar($PLAYER_ACTOR, $patriot) jf @checkifincar Marker.Disable($marker5) $coordinaat = Marker.CreateIconAndSphere(0, -32.57082, -46.97571, 11.95944) 00EE: actor $PLAYER_ACTOR 0 near_point -32.57082 -46.97571 radius 4.0 4.0 0394: play_music 1 01E3: show_text_1number_styled GXT 'M_PASS' number 50 time 5000 style 1 // MISSION PASSED! Dus dan word het (bijvoorbeeld) dit: :checkifincar wait 0 if Actor.InCar($PLAYER_ACTOR, $patriot) jf @checkifincar Marker.Disable($marker5) $coordinaat = Marker.CreateIconAndSphere(0, -32.57082, -46.97571, 11.95944) :Checknearpoint wait 0 if 00EE: actor $PLAYER_ACTOR 0 near_point -32.57082 -46.97571 radius 4.0 4.0 else_jump @Checknearpoint jump @Missionpassed :Missionpassed 0394: play_music 1 01E3: show_text_1number_styled GXT 'M_PASS' number 50 time 5000 style 1 // MISSION PASSED! Reageren
Bierbuikje Geplaatst: 16 mei 2009 Rapport Geplaatst: 16 mei 2009 (bewerkt) $coordinaat = Marker.CreateIconAndSphere(0, -32.57082, -46.97571, 11.95944)00EE: actor $PLAYER_ACTOR 0 near_point -32.57082 -46.97571 radius 4.0 4.0 0394: play_music 1 01E3: show_text_1number_styled GXT 'M_PASS' number 50 time 5000 style 1 // MISSION PASSED! end_thread[/code] Maar wanneer ik in de auto stap, dus de Patriot, dan is het gelijk mission passed. Maar ik wil naar de marker rijden, en wanneer ik in de marker sta het missie halen. Grtz RD Ik raad je aan om in plaats van dit te doen: (los te zetten) 00EE: actor $PLAYER_ACTOR 0 near_point -32.57082 -46.97571 radius 4.0 4.0 Gewoon dit te doen: :if_in_point wait 0 if 00EE: actor $PLAYER_ACTOR 0 near_point -32.57082 -46.97571 radius 4.0 4.0 jf @if_in_point Dan wordt namelijk gecontroleerd of hij op dat punt is. Bij de eerste doet dat hij dat niet. Dan vraagt hij zegmaar op of je daar bent, en zo niet dan pech en gaat hij door. Edit, BC7 was me net voor. Bewerkt: 16 mei 2009 door Bierbuikje Reageren
Revolution-Designer Geplaatst: 16 mei 2009 Auteur Rapport Geplaatst: 16 mei 2009 Bedankt, het werkt! Ik zal binnenkort waarschijnlijk een filmpje posten over het missie. Grtz RD Reageren
Timske Geplaatst: 17 mei 2009 Rapport Geplaatst: 17 mei 2009 Ik weet niet of je het al wist, maar met een eigen Mpack kun je je bijvoorbeeld als Soldaat op je eiland spawnen etc. En dan kun je al beginnen met missies enzo Reageren
Revolution-Designer Geplaatst: 17 mei 2009 Auteur Rapport Geplaatst: 17 mei 2009 Dan heb ik nog een vraagje, ik heb daarnet de tutorial van Dutchy gelezen over spheres, markers en icons. Nu heb ik dus missie 1 af, maar wil ik graag missie 2 starten doordat de player in een sphere gaat staan. (zo'n rood rond ding) Nu heb ik mijn missie @MAIN_494 of :MAIN_494 genoemd, bovenin heb ik dit neergezet bij ''DEFINE MISSIONS'': DEFINE MISSIONS 1 DEFINE MISSION 0 AT @MAIN_494 Onderin heb ik een sphere aangemaakt, dus onder mijn eerste missie: ...MAIN_1067 Marker.Disable($MARKER5) Marker.Disable($MARKER6) Marker.Disable($MARKER7) 0394: play_music 1 01E3: show_text_1number_styled GXT 'M_PASS' number 500 time 5000 style 1 // MISSION PASSED!~n~~w~$~1~ end_thread 03BC: 10@ = create_sphere_at -28.70982 -52.80603 11.85 radius 2.0 In de tutorial stond dat ik dit moest toevoegen: 00EC: actor $PLAYER_ACTOR 0 near_point $c1 $c2 radius 1.0 1.0 Maar hierdoor start mijn missie nog niet, ook word de sphere geen eens ''gespawnt'' in-game dus zie ik geen sphere. Weet iemand hoe ik mijn missie kan starten door in een zichtbare sphere te gaan staan? Grtz RD Reageren
.:TOM:. Geplaatst: 17 mei 2009 Rapport Geplaatst: 17 mei 2009 (bewerkt) Doe het als volgt: 03BC: 149@ = create_sphere_at $X $Y $Z radius 1.0 :TEST wait 0 if 00ED: actor $PLAYER_ACTOR 0 near_point $X $Y $Z radius 1.0 1.0 on_foot jf @TEST Voila nu start je je nieuwe missie PS: Dat gebeurt, en ik heb hem momenteel op msn dus whatever Bewerkt: 17 mei 2009 door .:TOM:. Reageren
Dutchy3010 Geplaatst: 17 mei 2009 Rapport Geplaatst: 17 mei 2009 En dan vooral een wait vergeten bij je uitleg.... 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.