-eend- Geplaatst: 25 oktober 2007 Rapport Geplaatst: 25 oktober 2007 Hoe kan je ervoor zorgen dat de missie pas gehaald is als iedereen dood is? Nu is de missie al gehaald als ik de #BWYDRUG dood, en die staat onderaan de ''lijst'' met actors die ik gebuik in SB.. En nu als die dood is, komt er al: Mission Passed... Reageren
Dutchy3010 Geplaatst: 25 oktober 2007 Rapport Geplaatst: 25 oktober 2007 Dat doe je door voorwaarden op te stellen: if and actor.dead .............. then En dan na then moet het Mission Passed label komen. Reageren
Black Force Geplaatst: 25 oktober 2007 Rapport Geplaatst: 25 oktober 2007 (bewerkt) je moet dan voor elke actor die je bebruikt een controle check maken of ie dood is, dus zo :check wait 10 if zet hier alle actor id neer, en dan erachter .dead jf @Check jump @volgende label :volgende label Greetz, Black Force EDIT, te laat.... Bewerkt: 25 oktober 2007 door Black Force Reageren
-eend- Geplaatst: 25 oktober 2007 Auteur Rapport Geplaatst: 25 oktober 2007 Ok, moet deze achter elke actor, of helemaal onderaan? Reageren
.:TOM:. Geplaatst: 25 oktober 2007 Rapport Geplaatst: 25 oktober 2007 (bewerkt) Gwn 1 keer : :check wait 10 if 0118: actor 1@ dead 0118: actor 2@ dead 0118: actor 3@ dead 0118: actor 4@ dead 0118: actor 5@ dead 0118: actor 6@ dead 0118: actor 7@ dead jf @Check jump @volgende label :volgende label Tom Offtopic: Dutchy, ik zie er naar uit om je volgende deel van je tuts te zien.. Bewerkt: 25 oktober 2007 door .:TOM:. Reageren
Dutchy3010 Geplaatst: 25 oktober 2007 Rapport Geplaatst: 25 oktober 2007 Kijk wel uit met zoveel voorwaarden in 1 if, aangezien je er maar 6/7 in één if-constructie kan zetten. Anders kan het zijn dat hij crasht, of is hij iig erg instabiel. Reageren
-eend- Geplaatst: 25 oktober 2007 Auteur Rapport Geplaatst: 25 oktober 2007 Ok.. Ik heb 5 actors, en de code die je heb gegeven erin gezet, maar werkt nog niet.. : :check wait 10 if 0118: actor 1@ dead 0118: actor 2@ dead 0118: actor 3@ dead 0118: actor 4@ dead 0118: actor 5@ dead jf @Check jump @MODEL_817 Reageren
.:TOM:. Geplaatst: 25 oktober 2007 Rapport Geplaatst: 25 oktober 2007 Zal zeker weer niet kloppen... Lang gelden dat ik nog gecode heb Tom Reageren
Dutchy3010 Geplaatst: 25 oktober 2007 Rapport Geplaatst: 25 oktober 2007 Als je nou even je hele code post, aan zo'n kleine code kan je vrij weinig verkeerd doen Sowieso moet je "if and" plaatsen, en niet alleen if, aangezien er meerdere voorwaarden zijn. Reageren
-eend- Geplaatst: 25 oktober 2007 Auteur Rapport Geplaatst: 25 oktober 2007 :MODEL thread 'MODEL' Model.Load(#GREENWOO) Model.Load(#M4) Model.Load(#AK47) Model.Load(#BALLAS1) Model.Load(#BALLAS2) Model.Load(#BALLAS3) Model.Load(#WMYDRUG) Model.Load(#BMYDRUG) :MODEL_46 if or not Model.Available(#GREENWOO) not Model.Available(#M4) not Model.Available(#AK47) not Model.Available(#BALLAS1) not Model.Available(#BALLAS2) not Model.Available(#BALLAS3) not Model.Available(#WMYDRUG) not Model.Available(#BMYDRUG) else_jump @MODEL_103 wait 0 jump @MODEL_46 :MODEL_103 01B2: give_actor $PLAYER_ACTOR weapon 31 ammo 700 // Load the weapon model before using this 01B9: set_actor $PLAYER_ACTOR armed_weapon_to 31 0674: set_car_model #GREENWOO numberplate "ABCDEFG" $GREENWOOD = Car.Create(#GREENWOO, 2488.469, -1670.683, 13.33595) Car.Angle($GREENWOOD) = 90.0 Car.Health($GREENWOOD) = 3500 0674: set_car_model #GREENWOO numberplate "ABCDEFG" $GREENWOOD = Car.Create(#GREENWOO, 2488.559, -1662.701, 13.33595) Car.Angle($GREENWOOD) = 90.0 Car.Health($GREENWOOD) = 3500 0674: set_car_model #GREENWOO numberplate "ABCDEFG" $GREENWOOD = Car.Create(#GREENWOO, 2483.995, -1666.537, 13.34375) Car.Angle($GREENWOOD) = 180.0 Car.Health($GREENWOOD) = 3500 0674: set_car_model #GREENWOO numberplate "ABCDEFG" $GREENWOOD = Car.Create(#GREENWOO, 2492.665, -1666.174, 13.34375) Car.Angle($GREENWOOD) = 180.0 Car.Health($GREENWOOD) = 3500 10@ = Actor.Create(Gang1, #BALLAS1, 2443.899, -1635.874, 13.41665) Marker.Disable($COORDINAAT) Actor.Angle(10@) = 90.0 $M1 = Marker.CreateAboveActor(10@) Actor.WeaponAccuracy(10@) = 100 Actor.Health(10@) = 200 01B2: give_actor 10@ weapon 30 ammo 1000 // Load the weapon model before using this 01B9: set_actor 10@ armed_weapon_to 30 05E2: AS_actor 10@ kill_actor $PLAYER_ACTOR 10@ = Actor.Create(Gang1, #BALLAS2, 2441.427, -1680.28, 13.69391) Marker.Disable($COORDINAAT) Actor.Angle(10@) = 90.0 $M2 = Marker.CreateAboveActor(10@) Actor.WeaponAccuracy(10@) = 100 Actor.Health(10@) = 200 01B2: give_actor 10@ weapon 30 ammo 1000 // Load the weapon model before using this 01B9: set_actor 10@ armed_weapon_to 30 05E2: AS_actor 10@ kill_actor $PLAYER_ACTOR 10@ = Actor.Create(Gang1, #BALLAS3, 2520.878, -1680.612, 19.57572) Marker.Disable($COORDINAAT) Actor.Angle(10@) = 90.0 $M3 = Marker.CreateAboveActor(10@) Actor.WeaponAccuracy(10@) = 100 Actor.Health(10@) = 200 01B2: give_actor 10@ weapon 30 ammo 1000 // Load the weapon model before using this 01B9: set_actor 10@ armed_weapon_to 30 05E2: AS_actor 10@ kill_actor $PLAYER_ACTOR 10@ = Actor.Create(Criminal, #WMYDRUG, 2516.813, -1692.272, 18.21556) Marker.Disable($COORDINAAT) Actor.Angle(10@) = 90.0 $M4 = Marker.CreateAboveActor(10@) Actor.WeaponAccuracy(10@) = 100 Actor.Health(10@) = 200 01B2: give_actor 10@ weapon 30 ammo 1000 // Load the weapon model before using this 01B9: set_actor 10@ armed_weapon_to 30 05E2: AS_actor 10@ kill_actor $PLAYER_ACTOR 10@ = Actor.Create(Criminal, #BMYDRUG, 2494.496, -1689.945, 21.75381) Marker.Disable($COORDINAAT) Actor.Angle(10@) = 90.0 $M5 = Marker.CreateAboveActor(10@) Actor.WeaponAccuracy(10@) = 100 Actor.Health(10@) = 200 01B2: give_actor 10@ weapon 30 ammo 500 // Load the weapon model before using this 01B9: set_actor 10@ armed_weapon_to 30 05E2: AS_actor 10@ kill_actor $PLAYER_ACTOR :check wait 10 if and 0118: actor 1@ dead 0118: actor 2@ dead 0118: actor 3@ dead 0118: actor 4@ dead 0118: actor 5@ dead jf @Check jump @MODEL_817 :MODEL_817 wait 0 Actor.Dead(10@) else_jump @MODEL_817 0394: play_music 1 01E3: show_text_1number_styled GXT 'M_PASS' number 4000 time 5000 style 1 // MISSION PASSED!~n~~w~$~1~ Player.Money($PLAYER_CHAR) += 4000 Model.Destroy(#BALLAS1) Model.Destroy(#BALLAS2) Model.Destroy(#BALLAS3) Model.Destroy(#BMYDRUG) Model.Destroy(#WMYDRUG) Model.Destroy(#AK47) Model.Destroy(#M4) Model.Destroy(#GREENWOO) Marker.Disable($M1) Marker.Disable($M2) Marker.Disable($M3) Marker.Disable($M4) Marker.Disable($M5) end_thread Reageren
Dutchy3010 Geplaatst: 25 oktober 2007 Rapport Geplaatst: 25 oktober 2007 Er mankeert heel wat aan je code... Ten eerste heb je: :MODEL_46 if or not Model.Available(#GREENWOO) not Model.Available(#M4) not Model.Available(#AK47) not Model.Available(#BALLAS1) not Model.Available(#BALLAS2) not Model.Available(#BALLAS3) not Model.Available(#WMYDRUG) not Model.Available(#BMYDRUG) else_jump @MODEL_103 wait 0 jump @MODEL_46 Dat zijn er teveel, daar moet je twee if's van maken. Ten tweede, je kan nooit 2x dezelfde variabele gebruiken. 10@ = Actor.Create(Gang1, #BALLAS1, 2443.899, -1635.874, 13.41665) 10@ = Actor.Create(Gang1, #BALLAS2, 2441.427, -1680.28, 13.69391) 10@ = Actor.Create(Gang1, #BALLAS3, 2520.878, -1680.612, 19.57572) 10@ = Actor.Create(Criminal, #WMYDRUG, 2516.813, -1692.272, 18.21556) 10@ = Actor.Create(Criminal, #WMYDRUG, 2516.813, -1692.272, 18.21556) Je hebt nu dus 5x dezelfde variabele gemaakt. Dat kan niet... Je moet er dus bijvoorbeeld 10@, 11@, 12@, 13@ en 14@ van maken. Vervolgens moet je ook wat je met die actor doet veranderen in die variabele. Bijvoorbeeld: 11@ = Actor.Create(Criminal, #BMYDRUG, 2494.496, -1689.945, 21.75381) Actor.Angle(11@) = 90.0 Dit is niet je gehele code, neem ik aan. Ergens heb je ook een marker, met de globale variabele $coordinaat gemaakt? Vreemd genoeg doe je die redelijk vaak verwijderen, door de volgende code meerdere keren te gebruiken: Marker.Disable($COORDINAAT) 1x is genoeg... Dan het volgende: :check wait 10 if and 0118: actor 1@ dead 0118: actor 2@ dead 0118: actor 3@ dead 0118: actor 4@ dead 0118: actor 5@ dead jf @Check jump @MODEL_817 Waar slaat die op? Ten eerste check je net hierna al of de actor dood is (op een redelijk goede manier, ik kom daar zo op terug), waarom deze dan erbij? Ten tweede zijn het ook nog de verkeerde variabelen... Sowieso zal de code hierop blijven steken, of zelfs crashen, omdat hij de actors niet kan vinden. Dit stukje moet je dus helemaal verwijderen. Dan tot slot: :MODEL_817 wait 0 Actor.Dead(10@) else_jump @MODEL_817 Waar is de if? En je checkt zo of er maar 1 actor dood gaat, en niet allemaal. Maak ervan: :MODEL_817 wait 0 if and Actor.Dead(10@) Actor.Dead(11@) Actor.Dead(12@) Actor.Dead(13@) Actor.Dead(14@) else_jump @MODEL_817 Dit is natuurlijk alleen zo wanneer je de variabelen waar ik het daarstraks over had ook veranderd had in 10/11/12/13/14... Succes.. Reageren
-eend- Geplaatst: 25 oktober 2007 Auteur Rapport Geplaatst: 25 oktober 2007 Ok, het is gelukt Dankje Dutchy en Tom 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.