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: 32 Dołączył: 2012-07-15
#
Witam, mam problem z pickupem. Mianowicie zrobilem takiego moda który na grove street dodaje 2głowy czaszki (pickup id 1313) i gdy w niego wejdziemy to pojawia sie czarny ekran na 5 czy tam iles sekund po czym rozjasnia sie, jednak nic sie nie dzieje gdy wchodze w pickupa.

To akurat nie jest skonczony mod bo po rozjasnieniu obrazu pickup znikcie a na jego miejsce wejdzie Sweet ktory bedzie nas chronil itp (jak zrekrutowany członek gangu).

O to kod który zrobilem z pomocą tutoriala "Save Game":

Kod:
{$CLEO .cs}

thread  
'SWEET'

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

0213: $2Skulls = create_pickup 1313 type 16 at 2499.2405 -1682.202 13.3649

:SWEET1
wait  
10
if
$ONMISSION == 1
jf  
@SWEET

Pickup.Destroy($2Skulls)
jump  
@SWEET2

:SWEET2
wait  
10
if  
and
not  
Actor.Driving($PLAYER_ACTOR)
Pickup.Picked_up($2Skulls)
jf  
@SWEET

Player.CanMove($PLAYER_CHAR) =  False

fade 0 500


:FADING
wait  
10
if
816B:  not  fading
jf  
@FADING
                             
fade  
1 500

Player.CanMove($PLAYER_CHAR) =  True

jump @SWEET
end_thread


Dodam jeszcze że po skompilowaniu skryptu:

- tego kogo zabije nie wypada z niego żadna bron ani kasa (oczywiscie jesli ma)
- po wyłaczeniu gry pojawia sie czarny ekran i musze kliknac spacje aby wyszło z gry

Postów: 628 Dołączył: 2009-01-22
#
Nic dziwnego że z ludzi nie wypada kasa, tworzysz pickupa w nieskończoność:
Kod:
:SWEET1 
wait   
10 
if
$ONMISSION == 1 
jf   
@SWEET


Z powodu tej pętli gra nigdy nie sprawdzi czy podniosłeś ten pickup.
Poza tym:
NIE używaj zmiennych globalnych w CLEO, poza $PLAYER_CHAR, $PLAYER_ACTOR i $ONMISSION. end_thread także nie można używać w CLEO.

Poprawiony i ulepszony kod:

Kod:
{$CLEO}

// Jako że pickupy zapisują się w save, bezpieczniej jest zapisywać stan tego skryptu w save

// Dzięki temu pickup nie stworzy się od nowa przy każdym załadowaniu zapisu gry

0A95: save_this_custom_script

while 
true
    wait 
0
    if 
0@ == 0
    then
        
if $ONMISSION == 0
        then
            
0213: 0@ = create_pickup 1313 type 3 at 2499.2405 -1682.202 13.3649
        end
    
else
        if 
$ONMISSION == 1
        then
            
0215: remove_pickup 0@
            0@ = 0
        end

        
if 0214:   has_pickup_been_collected 0@
        then
            
0215: remove_pickup 0@
            0@ = 0
            01B4: set_player_control $PLAYER_CHAR to FALSE
            016A: do_fade 0 500

            while 
016B:   get_fading_status
                wait 
0
            end

            
01B4: set_player_control $PLAYER_CHAR to TRUE
            016A: do_fade 1 500

            // Dodałem ten fragment, aby gracz nie podnosił pickupa w nieskończoność

            // Po wyjściu z tej pętli pickup pojawi się ponownie

            while 
00EC:   locate_char_any_means_2d $PLAYER_ACTOR sphere 0 coords 2499.2405 -1682.202 radius 2.5 2.5
                wait 
0
            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: 32 Dołączył: 2012-07-15
#
1. A jak jaki jest opcod dzięki któremu pickup pojawi się dopiero po ukończeniu danej misji? Czy da się to zrobić w cleo czy to już robota z main.scm?
2. Dlaczego na końcu jest tyle endów?
Postów: 628 Dołączył: 2009-01-22
#
Grooviec4 napisał(a):
1. A jak jaki jest opcod dzięki któremu pickup pojawi się dopiero po ukończeniu danej misji? Czy da się to zrobić w cleo czy to już robota z main.scm?
2. Dlaczego na końcu jest tyle endów?


1. Wyjątkowo trzeba by było sprawdzić stan zmiennej globalnej z SCM, która ustawiana jest na konkretną wartość po ukończeniu danej misji.
2. Skrypt przepisałem przy użyciu wysokopoziomowych konstrukcji, a te trzeba zamykać.

___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Postów: 32 Dołączył: 2012-07-15
#
Pojawiły sie 2 problemy:

- gdy zaczynam nową gre to pojawia sie takie coś a potem filmik normalnie idzie
-
Cytat:
po wyłaczeniu gry pojawia sie czarny ekran i musze kliknac spacje aby wyszło z gry
Postów: 628 Dołączył: 2009-01-22
#
Wychodzi na to że nie najlepiej uszeregowałem sprawdzenia, gdy pickup jest stworzony. Spróbuj:

Kod:

{$CLEO}
// Jako że pickupy zapisują się w save, bezpieczniej jest zapisywać stan tego skryptu w save

// Dzięki temu pickup nie stworzy się od nowa przy każdym załadowaniu zapisu gry

0A95: save_this_custom_script

while 
true
    wait 
0
    if 
0@ == 0
    then
        
if $ONMISSION == 0
        then
            
0213: 0@ = create_pickup 1313 type 3 at 2499.2405 -1682.202 13.3649
        end
    
else
        if 
0214:   has_pickup_been_collected 0@
        then
            
0215: remove_pickup 0@
            0@ = 0
            01B4: set_player_control $PLAYER_CHAR to FALSE
            016A: do_fade 0 500

            while 
016B:   get_fading_status
                wait 
0
            end

            
01B4: set_player_control $PLAYER_CHAR to TRUE
            016A: do_fade 1 500

            // Dodałem ten fragment, aby gracz nie podnosił pickupa w nieskonczoność

            // Po wyjściu z tej pętli pickup pojawi się ponownie

            while 
00EC:   locate_char_any_means_2d $PLAYER_ACTOR sphere 0 coords 2499.2405 -1682.202 radius 2.5 2.5
                wait 
0
            end

        
end

        if 
$ONMISSION == 1
        then
            
0215: remove_pickup 0@
            0@ = 0
        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: 32 Dołączył: 2012-07-15
#
Problem pierwszy naprawiony ale drugi nadal jest...
Postów: 628 Dołączył: 2009-01-22
#
To już na pewno nie wina skryptu. Używasz CLEO 4.3.xx? Ta wersja ciągle się rozwija, więc kilka bugów ma.

___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Postów: 32 Dołączył: 2012-07-15
#
Cytat:
To już na pewno nie wina skryptu. Używasz CLEO 4.3.xx? Ta wersja ciągle się rozwija, więc kilka bugów ma.


A to już wszystko jasne, dzieki za wyjasnienie :)
Postów: 628 Dołączył: 2009-01-22
#
Swoją drogą, podeślij tu zawartość Twojego cleo.log. Przekażę go twórcy CLEO 4.3 i może poprawi ten błąd.

___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Postów: 32 Dołączył: 2012-07-15
#
Cytat:
Swoją drogą, podeślij tu zawartość Twojego cleo.log. Przekażę go twórcy CLEO 4.3 i może poprawi ten błąd.


U mnie nie ma tego pliku chyba ze źle patrze ._.
Poprzedni 1 Następny
Zaloguj się lub zarejestruj się, żeby pisać na forum.
Created & Powered by MakG