Czy wiesz, że... na forum możesz uzyskać pomoc nt. modowania GTA?
Strona główna forum Szukaj Rejestracja
Witaj, nieznajomy!
Poprzedni 1 Następny
Postów: 123 Dołączył: 2010-03-31
#
witam chce się nauczyć robić save w main. Wszystko spoko ładnie, ale dystkietka do save pojawia się podczas trwania misij. Jak to zmienić?
Kod:
DEFINE OBJECTS 0
DEFINE MISSIONS 1
DEFINE MISSION 0 AT @MISJA
DEFINE EXTERNAL_SCRIPTS 1
DEFINE SCRIPT SAVE AT @SAVE
DEFINE UNKNOWN_EMPTY_SEGMENT 0
DEFINE UNKNOWN_THREADS_MEMORY 0

thread 'MAIN'

var
$PLAYER_CHAR : Player
end

set_weather 3
00C0: set_current_time 21 00
01F0: set_max_wanted_level_to 6

$PLAYER_CHAR = Player.Create(#NULL, 0.0, 0.0, 0.0)
$PLAYER_ACTOR = Actor.EmulateFromPlayer($PLAYER_CHAR)

$PLAYER_CHAR.SetClothes("PLAYER_FACE", "HEAD", Head)
$PLAYER_CHAR.SetClothes("JEANSDENIM", "JEANS", Legs)
$PLAYER_CHAR.SetClothes("SNEAKERBINCBLK", "SNEAKER", Shoes)
$PLAYER_CHAR.SetClothes("VEST", "VEST", Torso)
$PLAYER_CHAR.Build
$PLAYER_CHAR.CanMove(True)

016C: restart_if_wasted at 2027.77 -1420.52 15.99 angle 137.0 unknown 0
016D: restart_if_busted at 1550.68 -1675.49 14.51 angle 90.0 unknown 0
0180: set_on_mission_flag_to $ONMISSION

0884: 'SAVE' = init_external_script_named_handle 0 (SAVE)
08A9: load_external_script 0 (SAVE)
:MAIN1
wait 10
if
08AB: external_script 0 (SAVE) loaded
jf @MAIN1
0913: run_external_script 0 (SAVE)


fade 1 (out) 0 ms

start_mission 0

while true
wait 250
end

$ONMISSION = 1

:MISJA
thread 'MISJA'

0247: request_model 223 // Ofiara
0247: request_model 217 // Kolega ofiary
0247: request_model #GREENWOO // Samochód Greenwood
0247: request_model #micro_uzi // UZI
0247: request_model #mp5lng // MP5
0247: request_model #tec9 // TEC9
038B: load_requested_models

00A5: $WOZ = create_car #GREENWOO at 2288.7903 -1673.1986 14.3883
0175: set_car $WOZ z_angle_to 358.2751
0229: set_car $WOZ color_to 2 1

072A: put_actor $PLAYER_ACTOR into_car $WOZ driverseat

072A: put_actor $PLAYER_ACTOR into_car $WOZ driverseat

02A7: $CEL = create_icon_marker_and_sphere 56 at 2485.9736 -1670.7662 13.0223 radius 3.0
054C: use_GXT_table 'MISJA'
00BC: show_text_highpriority GXT 'TXT1' time 3000 flag 1

:petla1
wait 10
if
0103: actor $PLAYER_ACTOR in_sphere 2485.9736 -1670.7662 13.0223 radius 3.0 3.0 3.0 sphere 0 stopped_in_car
jf @petla1

$PLAYER_CHAR.CanMove(False)

fade 0 1000
wait 1000
Marker.Disable($CEL)
009A: $OFIARA = create_actor_pedtype 20 model 223 at 2496.8665 -1643.7655 13.7826
009A: $KOLEGA = create_actor_pedtype 4 model 217 at 2498.9758 -1643.5474 13.7826

01B2: give_actor $OFIARA weapon 26 ammo 20

0639: AS_actor $OFIARA rotate_to_actor $KOLEGA
0639: AS_actor $KOLEGA rotate_to_actor $OFIARA

0605: actor $OFIARA perform_animation_sequence "IDLE_CHAT" from_file "PED" 4.0 loop 1 0 0 0 -1 ms
0605: actor $KOLEGA perform_animation_sequence "IDLE_CHAT" from_file "PED" 4.0 loop 1 0 0 0 -1 ms

032B: $UZI = create_weapon_pickup #micro_uzi group 5 ammo 50 at 2489.8123 -1663.3979 13.3359
032B: $MP5 = create_weapon_pickup #mp5lng group 5 ammo 30 at 2488.2542 -1663.2462 13.3359
032B: $TEC9 = create_weapon_pickup #tec9 group 5 ammo 50 at 2486.9492 -1662.6134 13.3359

0187: $CEL2 = create_marker_above_actor $OFIARA

02A3: enable_widescreen 1
fade 1 1000

Camera.SetPosition(2489.7737, -1655.042, 13.3536, 0.0, 0.0, 0.0)
Camera.OnVehicle($WOZ,15,2)
00BC: show_text_highpriority GXT 'TXT2' time 3000 flag 1
wait 3000
Camera.SetPosition(2497.2175, -1649.142, 14.5602, 0.0, 0.0, 0.0)
Camera.OnPed($OFIARA,15,2)
00BC: show_text_highpriority GXT 'TXT3' time 2000 flag 1
wait 2000

02A3: enable_widescreen 0
$PLAYER_CHAR.CanMove(True)
015A: restore_camera

:petla2
wait 10
if
02E0: actor $PLAYER_ACTOR aggressive
jf @petla3

01B9: set_actor $OFIARA armed_weapon_to 26
05E2: AS_actor $OFIARA kill_actor $PLAYER_ACTOR

:petla3
wait 10
if
0118: actor $PLAYER_ACTOR dead
jf @petla4

00BA: show_text_styled GXT 'M_FAIL' time 5000 style 1
Marker.Disable($CEL)
Marker.Disable($CEL2)
00A6: destroy_car $WOZ
009B: destroy_actor $OFIARA
009B: destroy_actor $KOLEGA
0215: destroy_pickup $UZI
0215: destroy_pickup $MP5
0215: destroy_pickup $TEC9
start_mission 0

:petla4
wait 10
if
0118: actor $OFIARA dead
jf @petla2

01E3: show_text_1number_styled GXT 'M_PASS' number 100 time 5000 style 1
0109: player $PLAYER_CHAR money += 100
0394: play_music 1
Marker.Disable($CEL2)
$ONMISSION = 0
0318: set_latest_mission_passed 'INTRO_1'
end_thread

:SAVE
thread 'SAVE'

:Save_Check_1
wait 10
if and
Player.Defined($PLAYER_CHAR)
$ONMISSION == 0
jf @Save_Check_1

$SavePickup = Pickup.Create(#PICKUPSAVE, 3, 2522.9409, -1679.2528, 15.497)

:Save_Check_2
wait 10
if
$ONMISSION == 1
jf @Save_Check_3

Pickup.Destroy($SavePickup)
jump @Save_Check_1

:Save_Check_3
wait 10
if and
not Actor.Driving($PLAYER_ACTOR)
Pickup.Picked_up($SavePickup)
jf @Save_Check_2

Player.CanMove($PLAYER_CHAR) = False

fade 0 500

:Save_Fade_Check_1
wait 10
if
816B: not fading
jf @Save_Fade_Check_1

0395: clear_area 1 at 2519.4165 -1679.0637 14.7198 radius 2.0

Actor.PutAt($PLAYER_ACTOR, 2519.4165, -1679.0637, 14.7198)
Actor.Angle($PLAYER_ACTOR) = 90.0

wait 1000

03D8: show_save_screen

:Save_Check_4
wait 10
if
83D9: not save_done
jf @Save_Check_5
jump @Save_Check_4

:Save_Check_5
fade 1 1500

Player.CanMove($PLAYER_CHAR) = True

jump @Save_Check_1
end_thread


Robiłem na przykładzie misij z tutoriala.
Postów: 628 Dołączył: 2009-01-22
#
Podczas misji nigdzie nie ustawiasz flagi $ONMISSION na 1, dlatego tak jest.

___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Postów: 123 Dołączył: 2010-03-31
#
Oks ale znowu inny problem. Ustawiłem flagę $ONMISSION 1 przed ładowaniem modeli w misij. Przez to nie chce mi sie stworzyć marker celu. Normalnie siedze w tym aucie a na mapie nic.

Edit: Ustawiłem ją zaraz za słowem thread 'MISJA' i własnie to co wyżej. Cel nie pokazuje się na mapie. Siedze w tym aucie i nic.
Postów: 628 Dołączył: 2009-01-22
#
Opcode do tworzenia markera, którego użyłeś, nie wyświetla ikonek w momencie gdy flaga $ONMISSION jest ustawiona na 1 - Rockstar używa tego do ikonek misji na mapie (R, S itp.). Nigdy nie używaj tego w misji.

___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Postów: 123 Dołączył: 2010-03-31
#
Jaki jest najlepszy opcode(szukałem)?
Postów: 878 Dołączył: 2009-01-20
#
Zależy do czego potrzebujesz, jeśli do żółtej ikonki oznaczającej dojazd do celu, to skorzystaj z checkpointa:

Kod:
018A: 1@ = create_checkpoint_at 14@ 15@ 16@

___________________
Administrator
Postów: 123 Dołączył: 2010-03-31
#
O to co jest w w misjach, czyli czerwona sfera i ikona na mapce.
Postów: 878 Dołączył: 2009-01-20
#
Sferę tworzysz tak:
Kod:
03BC: 1@ = create_sphere_at 2596.589 2758.158 22.862 radius 1.0


Ikonkę tak:
Kod:
018A: 2@ = create_checkpoint_at 14@ 15@ 16@



Obie rzeczy usuwasz w ten sposób:
Kod:
03BD: destroy_sphere 1@ // sfera
0164: disable_marker 2@ // checkpoint

___________________
Administrator
Postów: 628 Dołączył: 2009-01-22
#
A najlepiej nie tworzyć sfer tym opcodem, tylko w opcodzie sprawdzającym, czy gracz jest w miejscu X, 'sphere' ustawić na 1. Rockstar 03BC nie używał do misji chyba.

___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Poprzedni 1 Następny
Zaloguj się lub zarejestruj się, żeby pisać na forum.
Created & Powered by MakG