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: 9 Dołączył: 2011-06-28
#
Witam. Od dawna nie zajmowałem się cleo, ale nadszedł moment gdy potrzebny mi jest jeden skrypt. Ma to być najprostszy skrypt aby w danym miejscu utworzył mi się dany efekt. Niestety, ale coś mi to nie chcę działać..
Oto kod:
Kod:
// This file was decompiled using sascm.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007

{$VERSION 3.1.0027}
{$CLEO .cs}

//-------------MAIN---------------
thread 'JPR' 
064B: 7@ = create_particle "WATER_SPLASH_BIG" at 1447.86 -1619.07 22 type 1 
064C: make_particle 7@ visible 
jump @JPR_60 

:JPR_60
0A93: end_custom_thread 

Postów: 1004 Dołączył: 2009-01-20
#
Powinienś chyba jeszcze to dodać do tamtego kodu
Kod:
064C: play_particle 7@

Po za tym zerknij tu jeszcze.
Postów: 878 Dołączył: 2009-01-20
#
SabaruPL: Użył tego opcodu, tylko jest on inaczej opisany (inna baza opcodów).

Nie jestem pewien, czy ten efekt nie jest tymczasowy, tj. odtwarzany jest tylko przez kilka sekund. Jeśli tak, to musisz go wywołać dopiero w odpowiednim momencie. Poza tym warto by sprawdzić zainicjowanie gry dodając na początku (po "thread 'JPR'"):

Kod:
:start
wait 
0if
 Player.Defined($PLAYER_CHAR)
jf 
@start

___________________
Administrator
Postów: 9 Dołączył: 2011-06-28
#
Skonstruowałem taki kod:
Kod:
// This file was decompiled using sascm.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007

{$VERSION 3.1.0027}
{$CLEO .cs}

//-------------MAIN---------------
thread 'JPR' 

:JPR_11
wait 0 
if 
   Player.Defined($PLAYER_CHAR)
else_jump @JPR_11 
064B: 7@ = create_particle "WATER_SPLASH_BIG" at 1447.86 -1619.07 22 type 1 
064C: make_particle 7@ visible 
jump @JPR_80 

:JPR_80
0A93: end_custom_thread 


Jednak nadal nic nie działa, dziwne.. Koordynaty na 100% się zgadzają, może rzeczywiście efekt jest tymczasowy, bo zanim dostanę się do miejsca efektu to trochę potrwa. Czy jest możliwość żeby efekt działał nieskończenie, czy z takim kodem efekt by działał bez końca? :
Kod:
// This file was decompiled using sascm.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007

{$VERSION 3.1.0027}
{$CLEO .cs}

//-------------MAIN---------------
thread 'JPR' 

:JPR_11
wait 0 
if 
   Player.Defined($PLAYER_CHAR)
else_jump @JPR_11 
064B: 7@ = create_particle "WATER_SPLASH_BIG" at 1447.86 -1619.07 22 type 1 
064C: make_particle 7@ visible 
jump @JPR_11 

0A93: end_custom_thread 

Postów: 878 Dołączył: 2009-01-20
#
Sprawdziłem, efekt jest tymczasowy, trwa około 1-2 sekundy. Wystarczy go zapętlić:

Kod:
{$CLEO .cs}

thread 
'JPR' 

:JPR_11
wait 
0 
if 
   
Player.Defined($PLAYER_CHAR)
else_jump 
@JPR_11 

064B: 7@ = create_particle "WATER_SPLASH_BIG" at 1447.86 -1619.07 22 type 1 

while 
true
  wait 
10
  064C: make_particle 7@ visible 
end

0A93: end_custom_thread

___________________
Administrator
Postów: 9 Dołączył: 2011-06-28
#
Nie wiem dlaczego, ale gdy kompiluje ten kod to mi Sanny Builder go przerabia.. Tak wygląda kod po przerobieniu przez program:
Kod:
// This file was decompiled using sascm.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007

{$VERSION 3.1.0027}
{$CLEO .cs}

//-------------MAIN---------------
thread 'JPR' 

:JPR_11
wait 0 
if 
   Player.Defined($PLAYER_CHAR)
jf @JPR_11 
064B: 7@ = create_particle "WATER_SPLASH_BIG" at 1447.86 -1619.07 22 type 1 

:JPR_68
wait 10 
064C: make_particle 7@ visible 
jump @JPR_68 
0A93: end_custom_thread 

I efekt nie działa..
Postów: 878 Dołączył: 2009-01-20
#
To, co tutaj wklejasz to dekompilacja skompilowanego skryptu. W swoim kodzie źródłowym możesz stosować konstrukcje wysokiego poziomu w celu szybszego i bardziej czytelnego pisania (więcej o tym w tym tutorialu). Sanny Builder kompiluje te konstrukcje do niskiego poziomu stosując przeskoki do odpowiednich procedur.

Tak, czy inaczej, kod robi dokładnie to samo.

___________________
Administrator
Postów: 9 Dołączył: 2011-06-28
#
Rozumiem, tylko nie wiem czemu u mnie skrypt nie chce działać..
Postów: 878 Dołączył: 2009-01-20
#
Teraz dopiero zauważyłem. Podałeś współrzędne "1447.86 -1619.07 22". Ostatnia współrzędna Z jest jako liczba całkowita, a musi być liczbą zmiennoprzecinkową (float). Zmień na 22.0 i będzie działać. U siebie testowałem na innych współrzędnych.

___________________
Administrator
Postów: 9 Dołączył: 2011-06-28
#
No, nareszcie działa :).
Dziękuje bardzo za pomoc, nawet nie sądziłem że błąd jest tak prosty!
Edit:
Jeszcze pytanko, czy można zmienić rotacje stworzonego efektu w cleo?
Postów: 878 Dołączył: 2009-01-20
#
http://www.gta-mods.pl/baza-opcodow/szukaj?search=particle+rot
Tu są opcody związane z efektami, które jako jeden z parametrów przyjmują rotację. Możesz pokombinować z tym pierwszym, reszta dotyczy tylko efektów przyczepianych do aktora, pojazdu lub obiektu.

___________________
Administrator
Poprzedni 1 Następny
Zaloguj się lub zarejestruj się, żeby pisać na forum.
Created & Powered by MakG