Jump to content

Allemaal dood> Missie gehaald


Recommended Posts

Geplaatst:

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

Geplaatst:

Dat doe je door voorwaarden op te stellen:

if and

actor.dead ..............

then

En dan na then moet het Mission Passed label komen.

Geplaatst: (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: door Black Force
Geplaatst: (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 :cya:

Offtopic: Dutchy, ik zie er naar uit om je volgende deel van je tuts te zien..

Bewerkt: door .:TOM:.
Geplaatst:

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

Geplaatst:

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

Geplaatst:

Als je nou even je hele code post, aan zo'n kleine code kan je vrij weinig verkeerd doen :puh:

Sowieso moet je "if and" plaatsen, en niet alleen if, aangezien er meerdere voorwaarden zijn.

Geplaatst:

: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

:7

Geplaatst:

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? :puh: 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..

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