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: 294 Dołączył: 2011-07-27
#
Witam, mam pytanie czy istnieje opcode którym dałoby się sprawdzić czy w danym pojeździe są włączone syreny, czy nie? W sumie znalazłem dwa opcody (0ABD i 0397), ale one chyba są do wykonywania czynności, bo jak daję je do sprawdzenia to mi crashuje grę.
Postów: 628 Dołączył: 2009-01-22
#
0ABD nie może crashować gry, chyba że używasz go źle.

___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Postów: 294 Dołączył: 2011-07-27
#
Nie wiem czy dobrze go użyłem, ale wydaje mi się że tak. Napisałem taki skrypt na to że w pewnych sytuacjach graczowi nie wzrasta poziom poszukiwań. Dzieje się tak gdy gracz ma na sobie strój policjanta, porusza się pojazdem policji, lub innym pojazdem uprzywilejowanym, ale wtedy tylko jeśli jedzie na sygnale.
Skrypt wygląda następująco (znowu wygląda jak po dekompilacji, ale jeszcze nie ogarniam tego wysokiego poziomu):

Kod:
//-------------MAIN---------------
thread 'NONAME' 

:NONAME_11
03C0: 0@ = actor $PLAYER_ACTOR car
if 
   Player.Defined($PLAYER_CHAR)
else_jump @NONAME_11 
if 
   not Player.WantedLevel($PLAYER_CHAR) > 0
else_jump @NONAME_135 
if or
   Actor.DrivingPoliceVehicle($PLAYER_ACTOR)
0ABD:   vehicle 0@ siren_on 
0500:   player $PLAYER_CHAR skin == "POLICETR" on_bodypart 17 
else_jump @NONAME_172 
01F0: set_max_wanted_level_to 0 
jump @NONAME_11 

:NONAME_135
if 
0500:   player $PLAYER_CHAR skin == "POLICETR" on_bodypart 17 
else_jump @NONAME_172 
09D4: suspend_wanted_level 
jump @NONAME_11 

:NONAME_172
01F0: set_max_wanted_level_to 6 
jump @NONAME_11 


I problem polega w tym, opcode 0ABD powoduje crash gry, bez niego wszystko działa.
Postów: 628 Dołączył: 2009-01-22
#
Jako że zastosowałeś if or, 0ABD próbuje sprawdzić syrenę nawet wtedy, gdy gracz nie jest w pojeździe. Poza tym ustawianie max WL na 6 cały czas trochę rozwali wątek fabularny.

Nie jest to ani najpiękniejszy, ani najkrótszy skrypt, ale powinien działać w porządku.

Kod:
0000: WL

while 
true
    0001: wait 250 ms
    if
        
0256:   player 0 defined
    then
        
if
            010F:   player 0 wanted_level > 0
        then
            
if
                0500:   player 0 skin == "POLICETR" on_bodypart 17
            then
                
09D4: suspend_wanted_level
            end
        
else
            if
                
0500:   player 0 skin == "POLICETR" on_bodypart 17
            then
                
if
                    0039:   1@ == 0
                then
                    
050F: get_max_wanted_level_to 1@
                    01F0: set_max_wanted_level_to 0
                end
            
else
                if
                    
00DF:   actor $PLAYER_ACTOR driving
                then
                    
03C0: 0@ = actor $PLAYER_ACTOR car
                    if 
or
                        056C:   actor $PLAYER_ACTOR driving_police_car
                        0ABD:   vehicle 0@ siren_on
                    then
                        
if
                            0039:   1@ == 0
                        then
                            
050F: get_max_wanted_level_to 1@
                            01F0: set_max_wanted_level_to 0
                        end
                    
else
                        if
                            
8039:   not 1@ == 0
                        then
                            
01F0: set_max_wanted_level_to 1@
                            0006: 1@ = 0
                        end
                    
end
                else
                    
if
                        8039:   not 1@ == 0
                    then
                        
01F0: set_max_wanted_level_to 1@
                        0006: 1@ = 0
                    end
                
end
            end
        
end
    end
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: 294 Dołączył: 2011-07-27
#
No teraz wszystko działa bez żadnych problemów ;-) A poleciłbyś jakiś poradnik, który dobrze by wyjaśniał tworzenie konstrukcji skryptów wysokiego poziomu ?
Postów: 628 Dołączył: 2009-01-22
#

___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Postów: 294 Dołączył: 2011-07-27
#
Dzięki, może uda mi się to zrozumieć, bo na razie nie jest to dla mnie za bardzo jasne ;-)
W sumie temat można zamknąć i ten poprzedni też
Temat zamknięty.
Poprzedni 1 Następny
Created & Powered by MakG