Czy wiesz, że... możesz podsyłać newsy, artykuły, pliki i zdjęcia?
Strona główna forum Szukaj Rejestracja
Witaj, nieznajomy!
Poprzedni 1 Następny
Postów: 1004 Dołączył: 2009-01-20
#
Robię sobie taki mały wyścig z samymi czekpontami na czasz. Mam już ustawiony samochód i że kiedy się do niego wsiądzie to zaczyna się odliczanie od tyłu. Ale niestety pierwszy czekpont pojawia się wtedy kiedy się skończy owe odliczanie. Więc jak zrobić że kiedy wejdę do pojazdu to jednocześnie się zacznie odliczanie i pojawi się pierwszy czekpońt?

//Nazwa tematu nie odpowiednia chyba ale już zmienić nie mogę/
Postów: 628 Dołączył: 2009-01-22
#
To zależy od skryptu, jaki napisałeś. Pokaż tą część chociaż.

Nie możesz też najpierw stworzyć pierwszego checkpointu, a potem zacząć odliczanie?

___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Postów: 1004 Dołączył: 2009-01-20
#
Mam coś takiego w cleo zrobionego
Kod:
0000: NOP 
0247: request_model #buffalo // Samochód Greenwood
038B: load_requested_models

00A5: $WOZ1 = create_car #buffalo at 2473.9905 -1657.0283 13.0091
0175: set_car $WOZ1 z_angle_to 90.0
0229: set_car $WOZ1 color_to 3 5
0186: $MARKER1 = create_marker_above_car $WOZ1
0165: set_marker $MARKER1 color_to 2

:petla1
wait 10
if
Actor.InCar($PLAYER_ACTOR, $WOZ1)
jf @petla1 
Marker.Disable($MARKER1)

Player.CanMove($PLAYER_CHAR) = False
02A3: enable_widescreen 1 
Camera.SetPosition(2468.1045, -1659.9993, 15.5412, 0.0, 0.0, 0.0)
Camera.PointAt(2468.1045, -1659.9993, 15.5412, 2)
0159: camera_on_ped $PLAYER_ACTOR 15 2 
00BC: show_text_highpriority GXT 'TEST_1' time 1000 flag 1 //
wait 1200
Camera.SetPosition(2471.1785, -1652.7109, 13.4687, 0.0, 0.0, 0.0)
Camera.PointAt(2471.1785, -1652.7109, 13.4687, 2)
0159: camera_on_ped $PLAYER_ACTOR 15 2 
00BC: show_text_highpriority GXT 'TEST_2' time 1000 flag 1 //
wait 1200
Camera.SetPosition(2477.0161, -1664.3302, 16.5588, 0.0, 0.0, 0.0)
Camera.PointAt(2477.0161, -1664.3302, 16.5588, 2)
0159: camera_on_ped $PLAYER_ACTOR 15 2
00BC: show_text_highpriority GXT 'TEST_3' time 1000 flag 1 //
wait 1200
02EB: restore_camera_with_jumpcut 
Player.CanMove($PLAYER_CHAR) = TRUE
02A3: enable_widescreen 0 
00BC: show_text_highpriority GXT 'TEST_4' time 1000 flag 1 // 
 
//odliczanie
00BC: show_text_highpriority GXT 'TEST_5' time 1100 flag 1 //20
wait 1200
00BC: show_text_highpriority GXT 'TEST_6' time 1100 flag 1 //19
wait 1200
00BC: show_text_highpriority GXT 'TEST_7' time 1100 flag 1 //18
wait 1200
00BC: show_text_highpriority GXT 'TEST_8' time 1100 flag 1 //
wait 1200
00BC: show_text_highpriority GXT 'TEST_9' time 1100 flag 1 //
wait 1200
00BC: show_text_highpriority GXT 'TEST_10' time 1100 flag 1 //
//
wait 1200
00BC: show_text_highpriority GXT 'TEST_11' time 1100 flag 1 //
wait 1200
00BC: show_text_highpriority GXT 'TEST_12' time 1100 flag 1 //
wait 1200
00BC: show_text_highpriority GXT 'TEST_13' time 1100 flag 1 //
wait 1200
00BC: show_text_highpriority GXT 'TEST_14' time 1100 flag 1 //
wait 1200
00BC: show_text_highpriority GXT 'TEST_15' time 1100 flag 1 //
wait 1200
00BC: show_text_highpriority GXT 'TEST_16' time 1100 flag 1 //
wait 1200
00BC: show_text_highpriority GXT 'TEST_17' time 1100 flag 1 //
wait 1200
00BC: show_text_highpriority GXT 'TEST_18' time 1100 flag 1 //
//
wait 1200
00BC: show_text_highpriority GXT 'TEST_19' time 1100 flag 1 //
wait 1200
00BC: show_text_highpriority GXT 'TEST_20' time 1100 flag 1 //
wait 1200
00BC: show_text_highpriority GXT 'TEST_21' time 1100 flag 1 //
wait 1200
00BC: show_text_highpriority GXT 'TEST_22' time 1100 flag 1 //
wait 1200
00BC: show_text_highpriority GXT 'TEST_23' time 1100 flag 1 //
wait 1200
00BC: show_text_highpriority GXT 'TEST_24' time 1100 flag 1 //
wait 1200
00BC: show_text_highpriority GXT 'TEST_25' time 1100 flag 1 //


02A7: $CEL = create_icon_marker_and_sphere 56 at 2359.4106 -1657.0085 13.0586 radius 3.0

Co do tego drugiego to nic chyba nie da bo przecież z kolei odliczanie zacznie się dopiero w tedy kiedy zbiorę tego czekponta.
Postów: 628 Dołączył: 2009-01-22
#
1. Zaktualizuj swoje sascm.ini i opcodes.txt ze strony w mojej sygnie - widać, że Twoja baza jest stara jak świat (request_model? To od paru lat nazywa się inaczej).

2. wait 0 > wait 10 :P

3. Zmienne globalne w CLEO to zło. ZAZ by się popłakał :(

4. Przesunięcie 02A7 przed odliczanie wchodzi w grę?

5. load_requested_models jest w SA całkowicie zbędne. SA przy 0247 automatycznie wczytuje go, potem trzeba tylko sprawdzić opcodem 0248, czy model jest już dostępny. Dowód?
IDB opcodu 038B:
Kod:
; __linkproc__ opcode_038B
@@opcode_038B:          ; load_requested_models
call    _renderTimerPause
push    0
call    _loadRequestedModels
add     esp, 4
call    _renderTimerResume
xor     al, al
jmp     loc_48569B


Opcode 0247 robi tą operację automatycznie.

W ogóle sam skrypt wyścigu najlepiej jest zrobić, używając jump_table albo tablic, ale to wyższa szkoła jazdy.

A samo odliczanie proponowałbym włożyć w pętlę for, ponieważ zakładam że jest ono po prostu odliczaniem od 20 do 'start':

Kod:
0006: 1@ = 20
0006: 32@ = 0 

while 0019:   1@ > 0
    wait 0
    if 
        0019:   32@ > 1000
    then
        000E: 1@ -= 1
        01E5: show_text_1number_highpriority GXT "NUMBER" number 1@ time 1000 flag 1
        0006: 32@ = 0 
    end
end


To coś wykona to samo co ręczne odliczanie :)

___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Postów: 1004 Dołączył: 2009-01-20
#
Mógł byś podać linka do tego? Bo jakoś nie mogę z najść.
Postów: 628 Dołączył: 2009-01-22
#
Do czego dokładnie? IDB?
Za bardzo nie jest przydatne w praktyce, i wymaga IDA Pro.

___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Postów: 1004 Dołączył: 2009-01-20
#
Dokładnie do tego co pisałeś w pierwszym punkcje, czyli to
Cytat:
1. Zaktualizuj swoje sascm.ini i opcodes.txt ze strony w mojej sygnie - widać
Postów: 628 Dołączył: 2009-01-22
#
http://gtag.gtagaming.com/opcode-database

Masz tam 'download latest .ini' i 'download latest opcodes.txt'. Pobierasz oba, wybierając wcześniej które opcody chcesz umieścić (jeśli opcody z CLEO4 też mają być, to wybierz i 3 i 4). Pobrane pliki wklejasz do Sanny Builder 3datasa. Skrypt na 95% będzie dalej kompatybilny z SB (tylko raz zdarzyło mi się, że jeden opcode miał zamienioną kolejność parametrów, ale to tylko przy update bazy z wersji, która była dołączana z Sannym razem - na GTAForums większość ludzi korzysta z Opcode DB, więc nazwy opcodów będą bardziej znajome).

Polecam często zaglądać na tą stronkę i patrzeć w Newly Modified, gdyż dość często znajdujemy nowe rzeczy.

Deji ma też w budowie classes.db obsługujące coś w rodzaju natives, więc skrypt będzie można napisać bardzo podobnie jak jest to w main.sc, albo GTA IV.
Oczywiście będzie to opcjonalne :)

___________________
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