Jump to content

Recommended Posts

Geplaatst: (bewerkt)

Hallo, ik ben een missie aan het maken waarin je ventjes neer moet schieten.

Ik heb nu Dit:

{$CLEO .cs}
wait 0

:Start
wait 0
03BC: 0@ = create_sphere_at 2800.3572 -2380.3428 13.6306 radius 1.0 

:Start1
wait 0
if
00EC:   actor $PLAYER_ACTOR 0 near_point 2800.3572 -2380.3428 13.6306 radius 1.0 1.0 1.0
jf @Start1

:MODEL
//Load models
0247: load_model #ARMY
0247: load_model #SNIPER
0247: load_model #IRGOGGLES
038B: load_requested_models 

:MODEL_LOAD
00D6: if or 
8248:   not model #ARMY available
8248:   not model #SNIPER available
8248:   not model #IRGOGGLES available
004D: jump_if_false @Snipe1                                              
0001: wait 0 ms 
0002: jump @MODEL_LOAD

:Snipe1
Actor.PutAt($PLAYER_ACTOR, 113.2006 1813.9344 33.8984)
Actor.Angle($PLAYER_ACTOR) = 90.0
01E8: create_forbidden_for_cars_cube_cornerA -3000.0 3000.0 1000.0 cornerB 3000.0 -3000.0 0.0 
022B: create_forbidden_for_peds_cube_cornerA -3000.0 3000.0 1000.0 cornerB 3000.0 -3000.0 0.0  
0373: set_camera_directly_behind_player 
01F0: set_max_wanted_level_to 0
00C0: set_current_time_hours_to 0 minutes_to 0 
01B2: give_actor $PLAYER_ACTOR weapon 34 ammo 100 // Sniper
01B2: give_actor $PLAYER_ACTOR weapon 45 ammo 1 // Thermal Goggles
01B9: set_actor $PLAYER_ACTOR armed_weapon_to 34

1@ = Actor.Create(CIVFEMALE, #ARMY, 15.0932, 1734.1888, 24.9375)
2@ = Actor.Create(CIVFEMALE, #ARMY, 173.695, 1884.2563, 20.9034)
3@ = Actor.Create(CIVFEMALE, #ARMY, 209.9972, 1917.8717, 17.6406)
4@ = Actor.Create(CIVFEMALE, #ARMY, 250.2729, 1904.791, 20.6406)
5@ = Actor.Create(CIVFEMALE, #ARMY, 207.4836, 1813.7704, 21.8672)
6@ = Actor.Create(CIVFEMALE, #ARMY, 175.0317, 1835.9482, 23.2422)
7@ = Actor.Create(CIVFEMALE, #ARMY, 118.2122, 1874.8826, 22.4375)
8@ = Actor.Create(CIVFEMALE, #ARMY, 104.0797, 1900.8153, 33.8984)
9@ = Actor.Create(CIVFEMALE, #ARMY, 102.0104, 1901.4396, 25.4985)
Actor.Angle(1@) = 0.0
Actor.Angle(2@) = 0.0
Actor.Angle(3@) = 0.0
Actor.Angle(4@) = 0.0
Actor.Angle(5@) = 0.0
Actor.Angle(6@) = 0.0
Actor.Angle(7@) = 0.0
Actor.Angle(8@) = 0.0
Actor.Angle(9@) = 0.0
0187: $m1 = create_marker_above_actor 1@ 
0187: $m2 = create_marker_above_actor 2@ 
0187: $m3 = create_marker_above_actor 3@ 
0187: $m4 = create_marker_above_actor 4@ 
0187: $m5 = create_marker_above_actor 5@ 
0187: $m6 = create_marker_above_actor 6@ 
0187: $m7 = create_marker_above_actor 7@ 
0187: $m8 = create_marker_above_actor 8@ 
0187: $m9 = create_marker_above_actor 9@ 

0512: show_permanent_text_box 'SNIPE1' // Take the enemy's out with your sniper
wait 3000
03E6: remove_text_box

0512: show_permanent_text_box 'SNIPE2' // You can use your night vision goggles for a better sight
wait 3000
03E6: remove_text_box

:Snipe2
wait 0
if and
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 
0118:   actor 8@ dead 
0118:   actor 9@ dead 
jf @Snipe2

Marker.Disable($m1)
Marker.Disable($m2)
Marker.Disable($m3)
Marker.Disable($m4)
Marker.Disable($m5)
Marker.Disable($m6)
Marker.Disable($m7)
Marker.Disable($m8)
Marker.Disable($m9)

022A: remove_forbidden_for_peds_cube_cornerA -3000.0 3000.0 1000.0 cornerB 3000.0 -3000.0 0.0
01E7: remove_forbidden_for_cars_cube_cornerA -3000.0 3000.0 1000.0 cornerB 3000.0 -3000.0 0.0 
01F0: set_max_wanted_level_to 6 

0394: play_music 1
01E3: show_text_1number_styled GXT 'M_PASS' number 10000 time 5000 style 1 // MISSION PASSED!~n~~w~$~1~
Player.Money($PLAYER_CHAR) += 10000
0249: release_model #ARMY
0249: release_model #SNIPER
0249: release_model #IRGOGGLES
Jump @Start

Ik heb een paar problemen:

1. Ik wil dat hij hier even fade

:Snipe1
Actor.PutAt($PLAYER_ACTOR, 113.2006 1813.9344 33.8984)
Actor.Angle($PLAYER_ACTOR) = 90.0

2. Ik zie de tekst niet. ik heb een kladblok bestand met daarin:

SNIPE1 Take the enemys out with your sniper
SNIPE2 You can use your night vision goggles for a better sight

opgeslagen als Missie Sniper.fxt

3. nadat hij 2 keer 3 seconden heeft gewacht op de tekst (die het dus niet deed)

Zegt hij meteen mission passed,

Hij slaat dit dus over:

:Snipe2
wait 0
if and
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 
0118:   actor 8@ dead 
0118:   actor 9@ dead 
jf @Snipe2

Alvast bedankt!

Bewerkt: door hippiebus
Geplaatst:

1. Dan moet je daar het volgende neerzetten:

:Snipe1
01B4: set_player $PLAYER_CHAR can_move 0 //speler kan niet bewegen, kan je ook weghalen
016A: fade 1 time 1000 // naar zwart faden, 1000 miliseconden
wait 1000 //1000 miliseconden wachten, tot hij gefade is
Actor.PutAt($PLAYER_ACTOR, 113.2006 1813.9344 33.8984)
Actor.Angle($PLAYER_ACTOR) = 90.0
016A: fade 0 time 1000 // van zwart naar normaal faden, 1000 miliseconden
wait 1000 //1000 miliseconden wachten, tot hij terug gefade is

2. Als eerste zou ik de naam van het bestand veranderen naar: "missie_sniper.fxt". Weet je verder ook zeker dat de GXTHook.cleo in je "cleo_text" map staat (CLEO/cleo_text)?

3. Probeer eens al die checks te verdelen in 2 loops; misschien ligt het aan te veel condities.

Geplaatst:

1. Dan moet je daar het volgende neerzetten:

:Snipe1
01B4: set_player $PLAYER_CHAR can_move 0 //speler kan niet bewegen, kan je ook weghalen
016A: fade 1 time 1000 // naar zwart faden, 1000 miliseconden
wait 1000 //1000 miliseconden wachten, tot hij gefade is
Actor.PutAt($PLAYER_ACTOR, 113.2006 1813.9344 33.8984)
Actor.Angle($PLAYER_ACTOR) = 90.0
016A: fade 0 time 1000 // van zwart naar normaal faden, 1000 miliseconden
wait 1000 //1000 miliseconden wachten, tot hij terug gefade is

2. Als eerste zou ik de naam van het bestand veranderen naar: "missie_sniper.fxt". Weet je verder ook zeker dat de GXTHook.cleo in je "cleo_text" map staat (CLEO/cleo_text)?

3. Probeer eens al die checks te verdelen in 2 loops; misschien ligt het aan te veel condities.

1. als ik dat doe blijft het scherm de hele tijd zwart.

2. Ik had hem opgeslagen als kladblok bestand, ik moest alle bestanden kiezen :schater:

3. Dankje, dit werkt

Heb je nog een idee voor punt 1?

Geplaatst:

Probeer bij de 1ste fade "0" te zetten en bij de 2de "1", kan zijn dat ik het omgedraaid heb :$.

Jep, dat is zo. Vond ik ook altijd raar, 0 moet eerst, daarna 1. :puh:

Geplaatst:

Probeer bij de 1ste fade "0" te zetten en bij de 2de "1", kan zijn dat ik het omgedraaid heb :$.

Dank je, dat werkt nu

Weet je toevallig hoe je een blokje/pijltje boven een sphere zet?

(en dan ook meteen zo'n radar icoontje zoals CJ of T)

Geplaatst:

Zoals ze dat in DYOM doen :7? Daar word een heel erg klein object gemaakt in het midden van de sphere en daar een marker op gezet door middel van:

marker.CreateAboveObject($marker, $object)

Een radar icon op de map zetten (zonder een sphere te maken) doe je met:

04CE: $icon = create_icon_marker_without_sphere 18 at $x $y $z

Waar 18 het nummer van 't icoontje is dat je wil gebruiken. De nummers staan in Sannybuilder -> Help -> Inhoud -> SCM Documentation -> GTA: SA -> radar icons.

Geplaatst:

Zoals ze dat in DYOM doen :7? Daar word een heel erg klein object gemaakt in het midden van de sphere en daar een marker op gezet door middel van:

marker.CreateAboveObject($marker, $object)

Een radar icon op de map zetten (zonder een sphere te maken) doe je met:

04CE: $icon = create_icon_marker_without_sphere 18 at $x $y $z

Waar 18 het nummer van 't icoontje is dat je wil gebruiken. De nummers staan in Sannybuilder -> Help -> Inhoud -> SCM Documentation -> GTA: SA -> radar icons.

Oeps...

ik bedoelde een pijltje/blokje op de map :bonk:

Geplaatst:

Ik heb nu een ander probleem met deze code:

{$CLEO .cs}

0209: 1@ = random_int_in_ranges 1756 1776 
0209: 2@ = random_int_in_ranges -2403 -2423
02CE: 3@ = ground_z_at 1@ 2@ 123 

4@ = Actor.Create(GANG1, #ARMY, 1@, 2@, 3@)
5@ = Actor.Create(GANG1, #ARMY, 1@, 2@, 3@)
6@ = Actor.Create(GANG1, #ARMY, 1@, 2@, 3@)
7@ = Actor.Create(GANG1, #ARMY, 1@, 2@, 3@)
8@ = Actor.Create(GANG1, #ARMY, 1@, 2@, 3@)
9@ = Actor.Create(GANG1, #ARMY, 1@, 2@, 3@)
10@ = Actor.Create(GANG1, #ARMY, 1@, 2@, 3@)
11@ = Actor.Create(GANG1, #ARMY, 1@, 2@, 3@)
12@ = Actor.Create(GANG1, #ARMY, 1@, 2@, 3@)
13@ = Actor.Create(GANG1, #ARMY, 1@, 2@, 3@)
14@ = Actor.Create(GANG1, #ARMY, 1@, 2@, 3@)
15@ = Actor.Create(GANG1, #ARMY, 1@, 2@, 3@)
16@ = Actor.Create(GANG1, #ARMY, 1@, 2@, 3@)
0A93: end_custom_thread

Er spawnen geen gozertjes (ze zouden op een bepaald vlak van 20m moeten spawnen :cab: )

Geplaatst:

Bij coordinaten moet je geen integers gebruiken, maar floats:

0208: 17@ = random_float_in_ranges -0.2 0.2 

Ook in "02CE" moet een float staan, en geen integer.

Je weet wel dat ze hierbij allemaal op dezelfde plek staan, he? Je veranderd namelijk maar 1x de variabele. Anders moet je telkens opnieuw deze code plaatsen. Of natuurlijk met een gosub naar deze code toespringen, bijvoorbeeld:

gosub @random_float
4@ = Actor.Create(GANG1, #ARMY, 1@, 2@, 3@)
gosub @random_float
5@ = Actor.Create(GANG1, #ARMY, 1@, 2@, 3@)
gosub @random_float
6@ = Actor.Create(GANG1, #ARMY, 1@, 2@, 3@)

:random_float
0208: 1@ = random_float_in_ranges 1756 1776 
0208: 2@ = random_float_in_ranges -2403 -2423
02CE: 3@ = ground_z_at 1@ 2@ 123.0 
return

Als je ze allemaal op dezelfde plek wil, heb ik niets gezegd. :engel:

Geplaatst:

Bij coordinaten moet je geen integers gebruiken, maar floats:

0208: 17@ = random_float_in_ranges -0.2 0.2 

Ook in "02CE" moet een float staan, en geen integer.

Je weet wel dat ze hierbij allemaal op dezelfde plek staan, he? Je veranderd namelijk maar 1x de variabele. Anders moet je telkens opnieuw deze code plaatsen. Of natuurlijk met een gosub naar deze code toespringen, bijvoorbeeld:

gosub @random_float
4@ = Actor.Create(GANG1, #ARMY, 1@, 2@, 3@)
gosub @random_float
5@ = Actor.Create(GANG1, #ARMY, 1@, 2@, 3@)
gosub @random_float
6@ = Actor.Create(GANG1, #ARMY, 1@, 2@, 3@)

:random_float
0208: 1@ = random_float_in_ranges 1756 1776 
0208: 2@ = random_float_in_ranges -2403 -2423
02CE: 3@ = ground_z_at 1@ 2@ 123.0 
return

Als je ze allemaal op dezelfde plek wil, heb ik niets gezegd. :engel:

Dankje, maar met dit loopt Gta vast:

{$CLEO .cs}

gosub @random_float
4@ = Actor.Create(GANG1, #ARMY, 1@, 2@, 3@)
gosub @random_float
5@ = Actor.Create(GANG1, #ARMY, 1@, 2@, 3@)
gosub @random_float
6@ = Actor.Create(GANG1, #ARMY, 1@, 2@, 3@)
gosub @random_float
7@ = Actor.Create(GANG1, #ARMY, 1@, 2@, 3@)
gosub @random_float
8@ = Actor.Create(GANG1, #ARMY, 1@, 2@, 3@)

:random_float
wait 0
0208: 1@ = random_float_in_ranges 1756 1776 
0208: 2@ = random_float_in_ranges -2403 -2423
02CE: 3@ = ground_z_at 1@ 2@ 123.0 
return
0A93: end_custom_thread

Geplaatst:

Woeps, beetje dom van mij. Heb alleen even de opcode veranderd in de opcodes die jij gebruikt had, maar die getallen moeten natuurlijk ook integer worden:

0208: 1@ = random_float_in_ranges 1756.0 1776.0 
0208: 2@ = random_float_in_ranges -2403.0 -2423.0

Probeer dat eens. :)

Geplaatst:

Woeps, beetje dom van mij. Heb alleen even de opcode veranderd in de opcodes die jij gebruikt had, maar die getallen moeten natuurlijk ook integer worden:

0208: 1@ = random_float_in_ranges 1756.0 1776.0 
0208: 2@ = random_float_in_ranges -2403.0 -2423.0

Probeer dat eens. :)

Dit werkt ook niet:

$CLEO .cs}

gosub @random_float
4@ = Actor.Create(GANG1, #ARMY, 1@, 2@, 3@)
gosub @random_float
5@ = Actor.Create(GANG1, #ARMY, 1@, 2@, 3@)
gosub @random_float
6@ = Actor.Create(GANG1, #ARMY, 1@, 2@, 3@)
gosub @random_float
7@ = Actor.Create(GANG1, #ARMY, 1@, 2@, 3@)
gosub @random_float
8@ = Actor.Create(GANG1, #ARMY, 1@, 2@, 3@)

:random_float
wait 0
0208: 1@ = random_float_in_ranges 1756.0 1776.0 
0208: 2@ = random_float_in_ranges -2403.0 -2423.0
02CE: 3@ = ground_z_at 1@ 2@ 123.0 
return
0A93: end_custom_thread

Geplaatst:

Je moet natuurlijk end_custom_thread boven dat label zetten. Zoals het er nu staat, ga je twee keer door de subroutine van die random floats. Dat is op zich geen probleem, maar dan komt hij bij de "return", terwijl er geen gosub was. Dat zal vast niet goed gaan. Daarom moet je een subroutine altijd buiten het script zetten, waar hij naartoe springt, helemaal afgezonderd dus.

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