Czy wiesz, że... na forum możesz uzyskać pomoc nt. modowania GTA?
Strona główna forum Szukaj Rejestracja
Witaj, nieznajomy!
Postów: 628 Dołączył: 2009-01-22
#
Ja nie ufam tym zmiennym (inne mody mogą je nadpisać i nawet o tym nie będziesz wiedziać), a stawianie markerów przez CLEO to trochę zły pomysł (po zapisaniu gry i usunięciu takiego modu markery zostaną na zawsze. Dobrze jednak, że dałeś 0A95, wtedy da się to jakoś jeszcze przetrawić). Jak bardzo chcesz ich użyć, najlepiej zrobić to tak (przeorganizowałem lekko ten skrypt, by był czytelniejszy):

Kod:
0A95: enable_thread_saving
// 31@ jest naszą flagą \'ikony stworzone\'  


while 
true
    0001: wait 0 ms
    if
        
0038:   $ONMISSION == 0
    then
        
if
            0039:   31@ == 0    // Markery nie istnieją?

        then
            
1@ = Marker.CreateIconWithoutSphere(48, 1837.0, -1682.0, 14.0)
                  .
                  .
                  .
            29@ = Marker.CreateIconWithoutSphere(48, x, y, z)
            // Dojeżdżamy do ostatniej zmiennej, której możemy użyć zwyczajnym sposobem

            // 30@ zachowamy jako wymaganą zmienną tymczasową, a 31@ jest użyte jako flaga

            30@ = Marker.CreateIconWithoutSphere(48, x, y, z)    
            0AB3: var 423 = 30@     // Zmienna CLEO nr 423 (miejmy nadzieję, że żaden inny skrypt CLEO jej nie używa) zawierać będzie teraz uchwyt do tego marketu

                  .
                  .
                  .
            {49@30@ = Marker.CreateIconWithoutSphere(48, -2551.115, 193.657, 5.2)
            0AB3: var 442 = 30@
            {50@30@ = Marker.CreateIconWithoutSphere(48, 2507.44, 1242.31, 9.833)
            0AB3: var 443 = 30@
            
            0006: 31@ = 1
        end
    
else
        if
            
0039:   31@ == 1    // Markery istnieją?    

        then
            
Marker.Disable(1@)
                  .
                  .
                  .
            0AB4: 30@ = var 423
            Marker.Disable(30@)
            // Proces analogiczny do tworzenia markerów, tylko w drugą stronę

            // Pobieramy uchwyt ze zmiennej CLEO do zwykłej zmiennej lokalnej i wyłączamy marker

                .
                .
                .
            0AB4: 30@ = var 442
            Marker.Disable({49@30@)
            0AB4: 30@ = var 443
            Marker.Disable({50@30@
            
            0006: 31@ = 0
        end
    
end
end


Uważaj jednak na ten skrypt - tworząc 50 ikon na raz jest szansa, że uderzysz w limit 175 ikon i np. ten wskaźnik celu zaznaczany klawiszem PPM przestanie działać.

___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Postów: 628 Dołączył: 2009-01-22
#
Korzystając z tych opcodów, teoretycznie tak.

___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Postów: 628 Dołączył: 2009-01-22
#
To zamykam.

___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Postów: 628 Dołączył: 2009-01-22
#
Ale gdy wywołasz sobie Drive-By jako kierowca, kamera prawie nie daje się przesuwać. Tu nie chodzi o płynny przejazd z powrotem po paru sekundach.

___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Postów: 628 Dołączył: 2009-01-22
#
Ludzie. Data. To było trzy lata temu, MakG być może już nawet nie pamięta o tym projekcie.

Zamykam, jak MakG będzie chciał to sobie z powrotem otworzy.

___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Postów: 628 Dołączył: 2009-01-22
#
TheLaughingMan napisał(a):

przecież jest to w normalnych ustawieniach kamery
kiedy masz ustawione obracanie kamery myszką


jprdl.

@OP
O ile dobrze pamiętam, to
Kod:
0A8C: write_memory 0x522423 size 2 value 0x9090 virtual_protect 1

___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Postów: 628 Dołączył: 2009-01-22
#
Wygląda na to, że nie ma. Ale łatwo jest to sprawdzić, spróbuj tej funkcji SCM.

Kod:
:IS_OBJECT_TOUCHING_OBJECT{\__[bool]_(handle, handle)__}
{
    Parametry:
    - 0@ - uchwyt obiektu
    - 1@ - uchwyt obiektu
    
    Zwracane:
    - Prawda - stykają się
    - Fałsz - nie stykają się
}
0A98: 2@ = object 0@ struct
0A98: 3@ = object 1@ struct
0AA8: call_function_method 0x543540 struct 2@ num_params 1 pop 0 3@ 4@
08B7:   test 4@ bit 0
0AB2: ret 0


I potem w skrypcie używasz tego jak opcodu, np.

Kod:
if 0AB1: call_scm_func @IS_OBJECT_TOUCHING_OBJECT 2 4@ 5@
then
    
// Obiekty 4@ i 5@ stykają się

else
    
// Obiekty 4@ i 5@ nie stykają się

end


___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Postów: 628 Dołączył: 2009-01-22
#
Cholera, musisz odkopywać wszystko co się rusza?

___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Postów: 628 Dołączył: 2009-01-22
#
A już wyszło? Nie.

___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Postów: 628 Dołączył: 2009-01-22
#
To jest wbite w EXE. Głęboko.

___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Postów: 628 Dołączył: 2009-01-22
#
Nie za bardzo to naprawisz. Taki urok garaży.

___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Postów: 628 Dołączył: 2009-01-22
#
0103 to LOCATE_STOPPED_CHAR_IN_CAR_3D i przejdzie dalej tylko, gdy gracz będzie w pojeździe. Zamiast tego użyj LOCATE_STOPPED_CHAR_ON_FOOT_3D, czyli 0102.

___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Postów: 628 Dołączył: 2009-01-22
#
Wystarczyło spojrzeć, jak Rockstar robił to w mainie.

Problemem w zrozumieniu jego jest po prostu niepoprawna nazwa opcodu. Poprawnie powinno być ADD_PLAYER_SCORE - nie ma żadnych znaków, więc nic by się nie myliło.

___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Postów: 628 Dołączył: 2009-01-22
#
No bez przesady, to podstawowa matma.
a - b = a + (-b)

___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Postów: 628 Dołączył: 2009-01-22
#
Jesteś za daleko od auta gdy ono się spawnuje. Samochód spada, pojawia się na powierzchni, na ulicy (czyli na najbliższej ścieżce, którą znajdzie), dalej znowu spada, znowu się pojawia, znowu spada i tak w kółko, aż znajdziesz się wystarczająco blisko niego, by kolizje pod nim się załadowały.

___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Created & Powered by MakG