Czy wiesz, że... możesz podsyłać newsy, artykuły, pliki i zdjęcia?
Strona główna forum Szukaj Rejestracja
Witaj, nieznajomy!
Postów: 294 Dołączył: 2011-07-27
#
A wiesz może jak to "wkomponować" w poniższy kod, żeby działało zarówno jak gracz prowadzi pojazd z naczepą, jak również kiedy gra steruje takimi pojazdami z naczepami. Chodzi o coś takiego, że gdy np. robi się ciemno to gra włączając światła w ciągniku włączała by również w jego naczepie, dołączonej za pomocą tego kodu.

Kod:

{$CLEO}
0000: TRAILER 

while  
true
    0001:  wait  0 ms
    4@ = #ARTICT1
    068D: get_camera_position_to 1@ 2@ 3@ 
    if  
0AE2: 0@ = random_vehicle_near_point 1@ 2@ 3@ in_radius 300.0 find_next 0 pass_wrecked 1 //IF  and  SET 

    then
         
repeat
            0001:  wait  0 ms // Dajmy mu chwilę czasu, niech nie przycina gry 

            if  
8119:    not  car 0@ wrecked   //  To  załatwia wszystkie sprawdzenia czy pojazd istnieje itp. 

            then
                 
if  or
                     
0137:   car 0@ model == #LINERUN
                    0137:   car 0@ model == #RDTRAIN
                    0137:   car 0@ model == #PETRO 
                then
                     
0A97: 7@ = car 0@ struct
                    0A8E: 8@ = 7@ + 0x4A4
                    0A8E: 9@ = 7@ + 0x42F
                    0A8D: 10@ = read_memory 8@ size 1 virtual_protect 0
                    0A8D: 11@ = read_memory 9@ size 1 virtual_protect 0 
                    if  
and
                        8039:    not  10@ == 2     // Dzięki temu przyczepy NIE pojawią się na ciężarówkach stworzonych przez SCM...

                        88B7:    not  test 11@ bit 4   // a dzięki temu sprawdzimy, czy do tego pojazdu kiedyś doczepiono już naczepę (moja własna flaga)

                        09D0:   car 0@ on_wheels
                        87AB:     not   trailer -1 attached_to_cab 0@ 
                    then
                         
0247: load_model 4@ 

                        while   
8248:     not   model 4@ available
                            0001:   wait   0 ms 
                        end

                         
00A5: 6@ = create_car 4@ at 0 0 0
                        0893: put_trailer 6@ on_cab 0@
                        01C3: remove_references_to_car 6@
                        0249: release_model 4@

                        08BD: set 11@ bit 4      // Oznaczmy, że do tego pojazdu doczepiliśmy już kiedyś naczepę

                        0A8C: write_memory 9@ size 1 value 11@ virtual_protect 0 
                    end
                 
end 
            end
         
until 8AE2:  not  0@ = random_vehicle_near_point 1@ 2@ 3@ in_radius 300.0 find_next 1 pass_wrecked 1 //IF  and  SET 

    end
end

Postów: 294 Dołączył: 2011-07-27
#
Wolałbym lepszą (prostszą, stabilniejszą) wersję :) Nie ma znaczenia czy cleo 3 czy 4.
Postów: 294 Dołączył: 2011-07-27
#
Witam, chciałem napisać skrypt, który sprawiałby, że gdy w ciągniku są włączone światła to również włączą się automatycznie w naczepie i odwrotnie. Tylko problem w tym, że nie wiem jak zdefiniować tą naczepę, tzn. jak przypisać ją do zmiennej. Pomoże ktoś? :)
Postów: 294 Dołączył: 2011-07-27
#
W jaki sposób można sprawdzić czy gracz znajduje się w pobliżu jakiegoś obiektu na mapie? Chodzi mi o takie obiekty, które często powtarzają się w grze, i które są "ruchome" np. kartony, worki ze śmieciami, itp. Próbowałem z opcodami typu "NEAR OBJECT" podając zamiast zmiennej numer obiektu z plików mapy, ale gra crashowała. Zapewne chodziło o jakieś zdefiniowanie takiego obiektu, więc dodałem opcode DOES_OBJECT_EXIST, i gra rzeczywiście przestała crashować, ale to zbliżenie się do wybranego obiektu dalej nie działa. Wie ktoś jak powinno takie coś wyglądać?
Postów: 294 Dołączył: 2011-07-27
#
Mam pytanie, w jaki sposób można by usunąć szyby w samochodach? Chodzi mi o coś takiego że po wciśnięciu klawisza szyba się pojawi, lub zniknie. Chodzi mi zarówno o szybę przednią jak i szyby boczne, jak na tych screenach:

AUTO Z SZYBĄ
AUTO BEZ SZYBY

Oczywiście nie chodzi mi o całość skryptu, ale o to w jaki sposób odnieść się do szyb pojazdu.
Postów: 294 Dołączył: 2011-07-27
#
SabaruPL domyśliłem się :)

Ale opis typu:
Kod:
spawnOffscrRingSizeInstall

czy
Kod:
DespawnOffscr?

niewiele mi mówią.
Postów: 294 Dołączył: 2011-07-27
#
Silent - nietrafione

SabaruPL - trafione :) ale z tamtej stronki trochę ciężko zrozumieć o co dokładnie w nich chodzi.

Dokładniej chciałbym się dowiedzieć co dokładnie zmieniają poszczególne opcody w tym skrypcie:
Kod:
0000: NOP 
0A8C: write_memory 0x732926 size 4 value 0x858FD8 virtual_protect 1 //[(float)300.0000] Vehicle LOD threshold, default: 70.0f

0A8C: write_memory 0x732978 size 4 value 0x858FD8 virtual_protect 1 //[(float)300.0000] Vehicle LOD threshold, default: 70.0f

0A8C: write_memory 0x4250F0 size 4 value 0x85AB00 virtual_protect 1 //[(float)1500.0000] onscreen spawn range for vehicles, default: 110.0f


0A8C: write_memory 0x4253E3 size 4 value 0x858EDC virtual_protect 1 //[(float)600.0000] DespawnOffscr?

0A8C: write_memory 0x431A24 size 4 value 0x858B40 virtual_protect 1 //unknown 50.0 3


0A8C: write_memory 0x73295E size 4 value 0x863994 virtual_protect 1 //[(float)220.0000] pedsDrawDistanceInstall 

0A8C: write_memory 0x6120FF size 4 value 0x858EDC virtual_protect 1 //[(float)600.0000] ?absMaxDespawnOnscrInstall 

0A8C: write_memory 0x612128 size 4 value 0x863994 virtual_protect 1 //[(float)220.0000] unknown absMaxDespawnOnscrInstall 

0A8C: write_memory 0x612142 size 4 value 0xB6F11C virtual_protect 1 //[(float)0.9563] unknown 


0A8C: write_memory 0x86D284 size 4 value 600.0 virtual_protect 1 // ped spawn distance 

0A8C: write_memory 0x871008 size 4 value 500.0 virtual_protect 1 // spawnOffscrRingSizeInstall

0A93: end_custom_thread 


W szczególności zastanawia mnie ten ostatni wpis.

Postów: 294 Dołączył: 2011-07-27
#
Orientuje się ktoś do czego odwołują się poniższe adresy pamięci?

0x732926
0x732978
0x4250F0
0x4253E3
0x431A24
0x73295E
0x6120FF
0x612128
0x612142
0x86D284
0x871008
Postów: 294 Dołączył: 2011-07-27
#
Szkoda, bo ten licznik fajnie się prezentował wokół radaru. A może ktoś poleci jakiś ładnie wyglądający i poprawnie działający licznik ze wskaźnikiem paliwa?
Postów: 294 Dołączył: 2011-07-27
#
Szczerze mówiąc nie do końca rozumiem to co napisałeś :) Może rzuć okiem na ten skrypt: LICZNIK I PALIWO
Postów: 294 Dołączył: 2011-07-27
#
Ostatnio dodałem do swojego GTA modyfikację ImVehFt DK22Pac'a. Wszystko działa dobrze dopóki nie wejdę do jakiegoś pojazdu, bo po wejściu do pojazdu gra crashuje. Po sprawdzeniu okazało się że modyfikacja ta koliduje z modyfikacją dodającą licznik prędkości i możliwość tankowania pojazdów. Postanowiłem więc sprawdzić co dokładnie może powodować problem i po kilkunastu próbach wyszło mi że problem jest przez opcode 0A97. Jest tam np. coś takiego:

Kod:
:NONAME_2436
0A97: 27@ = car 0@ struct 
27@ += 4 
0A8D: 29@ = read_memory 27@ size 1 virtual_protect 0 
RETURN 


Po usunięciu kilku linijek ze skryptu wszystko zaczęło działać poprawnie, lecz teraz skrypt nie "zapamiętuje" poziomu paliwa w pojeździe przez co wyjście i ponowne wejście do tego samego pojazdu zmienia poziom paliwa. I mam pytanie czy jest możliwość zrobienia tego "zapamiętywania" poziomu paliwa w jakiś inny sposób?
Postów: 294 Dołączył: 2011-07-27
#
Może zamiast SET_CAR_CRUISE_SPEED użyj SET_CAR_FORWARD_SPEED. Ten pierwszy opcode ustawia maksymalną wartość prędkości, co oznacza że pojazd nie przekroczy tej wartość, ale może jechać wolniej. Natomiast drugi opcode przypisuje konkretną wartość prędkości z jaką będzie poruszał się pojazd.

Ale w ogóle całość kodu należało by nieco lepiej rozpisać.
Postów: 294 Dołączył: 2011-07-27
#
Może przekroczyłeś jakiś limit. Z tego co kojarzę to największy limit jest na pliki kolizji. Można dodać chyba tylko cztery nowe...
Postów: 294 Dołączył: 2011-07-27
#
I jak, jest na to jakiś sposób?
Postów: 294 Dołączył: 2011-07-27
#
To jeżeli nie da się ich usunąć, to może dało by się je chociaż przesunąć w osi Z tak żeby były pod mapą.
Created & Powered by MakG