Czy wiesz, że... rejestracja trwa tylko 20 sekund?
Strona główna forum Szukaj Rejestracja
Witaj, nieznajomy!
Postów: 1004 Dołączył: 2009-01-20
#
Postów: 1004 Dołączył: 2009-01-20
#
Dało by się to napisać w cleo i nawet zacząłem to robić tylko nie bardzo wiem jak napisać pętle która sprawdzi czy pojazd w którym się siedzi jest blisko lub na styk z innym przypadkowo spotkanym pojazdem. A to potrzebne po to bo wiadomo że jak czołg dotknie innego pojazdu to ten pojazd wybucha. No więc mam na razie tak:

Kod:
:czolga1
wait 0
if
Actor.Driving($PLAYER_ACTOR)
jf @czolga1
03C0: 0@ = actor $PLAYER_ACTOR car
//0186: $marker1 = create_marker_above_car 0@ 
Car.Health(0@) = 5000
01EC: make_car 0@ very_heavy 1 

Ta pętla powoduje że po wejściu do dowolnego pojazdu przyjmuje on właściwości prawie że czołgu. Inaczej mówiąc staje się on bardziej wytrzymały i że jak jedzie to odpycha pojazdu na bok.

I tu właśnie przydała by się pętla która sprawdza czy pojazd w którym się siedzi jest na styk z innym przypadkowym pojazdem. Jak mniemam żeby pętla sprawdzała czy tak jest służy ten oto opcod
Kod:
09CB:   vehicle $SWEET_CAR colliding_with_vehicle 274@
Jednak to tylko działa kiedy jest z góry ustawiony samochodu za pomocą cleo ale żeby pętla sprawdzała czy jest blisko na inny przypadkowy samochód to już nie bardzo wiem jak to zrobić. Potem jak by się takie coś w ogóle dało napisać to by wystarczyło dać ten opcod
Kod:
020B: explode_car 0@ 
i można powiedzieć że z pojazdu robi się czołg(hm).
Postów: 1004 Dołączył: 2009-01-20
#
Proszę o oryginalne plik samochodu z vc. Konkretnie chodzi o pliki infernusa.
Postów: 1004 Dołączył: 2009-01-20
#
Cytat:
A i co oznacza znak "-1" w tym opcode?

Kod:
0710: plane 1@ follow_actor $PLAYER_ACTOR follow_car -1 radius 70.0 

No bo widzisz albo i nie, niektóre opcody potrafią mieć dwie funkcje. Ten co pokazałeś jak się nie mylę może powodować że samolot będzie leciał za graczem(tą postacią co się steruje) albo za samochodem. W tym wypadku jest włączona funkcja że samolot właśnie będzie leciała za graczem($PLAYER_ACTOR). Jeżeli chcesz włączyć żeby samolot leciał za pojazdem to tam gdzie jest to "-1" dajesz nazwę wcześniej ustawionego samochodu. Tylko pamiętaj żeby wyłączyć funkcje która powoduje że samolot podąża za graczem bo gdybyś dał to i to, to potem gra może zgłupieć i się nie włączyć.

Postów: 1004 Dołączył: 2009-01-20
#
Możliwe też że to jest tym spowodowane że źle wytyczył trasę. Dokładnie o to chodzi że jeżeli podałeś np. żeby jakiś pojazd wjechał w środek pola to on nie pojedzie bowiem pojazdy mogą jeździć standardowo wyłachanie po drogach i może on się dlatego tak zachowywać bowiem nie może z najść takiej drogi i przez to głupie.

I jeżeli jest to możliwe to jeżeli umieszczasz jakiś swój skrypt na stronie do sprawdzanie to dawaj ten swój skrypt co pisałeś a nie ten zdekopilowany bo potem rozczytać jest taki kod ciężko.
Postów: 1004 Dołączył: 2009-01-20
#
Chociaż siedzę w tym dość długo to i tak jeszcze tego za bardzo nie rozumiem. Tam jest tylko napisane w zasadzie jak one wyglądają. To tak samo jak np. dać komuś samochód do naprawy i powiedzieć jak co się nazywa i niech sobie radzi sam dalej. Fajnie by było jak by ktoś to wyjaśnij dokładniej jak to się ma do pisania misji i co to powoduje już w samej grze.
Postów: 1004 Dołączył: 2009-01-20
#
Próbowałem to już i jeżeli chodzi o główną postać to ona leży na ziemi plackiem i nic nie robi.
Postów: 1004 Dołączył: 2009-01-20
#
Jaki jest opcod na to żeby wymusić by główna postać została zabita i pojawiał się napis bastet(czy jakoś tak).

W swojej misji mam coś takiego. Kiedy pojazd zostaje zniszczony to pojawia się napis "zniszczyłeś swój pojazd" Natomiast innym razem jeżeli pojazd został zniszczony i jeszcze zginęła postać która znajdował się w jego pobliżu powinien pojawić się napisz ze "postać została zabita". Co prawda napisałem taką pętle ale nie do końca działa jak trzeba. To znaczy, w przypadku zniszczenia pojazdu napis pojawia się ten co trzeba. Ale przy zabiciu postaci pojawia się też dobry napis ale on od razu znika i pojawia się ten co przy rozwaleniu pojazdu. Więc jak powinna wyglądać pętla która by prawidłowo wyświetlała te napisy? Po niżej mały fragment tego skryptu.

Kod:
:petla4
wait 0
if
   0118: actor 2@ dead
jf @petla5
00BC: show_text_highpriority GXT 'TXT2' time 5000 flag 1
05CD: AS_actor $PLAYER_ACTOR exit_car 1@

:petla7
wait 0
if
  not Actor.InCar($PLAYER_ACTOR, 1@)
jf @petla7
 
:petla5
wait 0
if
  Car.Wrecked(3@)
jf @petla4
0575: set_actor $PLAYER_ACTOR pinned_position 0
05CD: AS_actor $PLAYER_ACTOR exit_car 1@ 
0519: set_car 1@ locked 0 
009B: destroy_actor 2@
00BC: show_text_highpriority GXT 'TXT4' time 5000 flag 1

:petla6
wait 0
if
  not Actor.InCar($PLAYER_ACTOR, 1@)
jf @petla6
00A6: destroy_car 1@
Postów: 1004 Dołączył: 2009-01-20
#
OK dzięki poradziłem sobie. Wystarczyło że w tym opcodzie zamieniłem
Kod:
0871: init_jump_table $Wybrane total_jumps 4 1 @start_1 jumps 0 @wybrane1 1 @wybrane2 2 @wybrane3 3 @wybrane4 0 -1 0 -1 0 -1
@wyjdz na @start_1 i nie dość że działa to jeszcze mam efekt taki jak chciałem mieć.
Postów: 1004 Dołączył: 2009-01-20
#
No więc tak. Na mapie ustawiłem sobie checkpointa i po wejściu do nie go pojawia się menu z kilkoma pojazdami do wyboru. Gdy się wciśnie klawisz G(klawisze rezygnacji) menu znika. Następnie gdy postać oddali się od tego miejsca gdzie jest ustawiony checkpoint na kilka metrów checkpoint pojawia się ponownie. Do tego momentu ten cały skrypt hula jak ta lala. Ale jak już ma się wcisnąć klawisz wyboru żeby wybrać wybrany pojazd to gra mi się zawiesza. Po niżej fragment kodu:
Kod:
:start_1
03BC: 0@ = create_sphere_at 2505.7434 -1711.3347 13.5275 radius 1.0
:a1
wait 0
if
00ED:   actor $PLAYER_ACTOR 0 near_point 2505.7434 -1711.3347 radius 0.5 0.5 on_foot 
jf @a1
Player.CanMove($PLAYER_CHAR) = False
fade 0  1500
wait 1500
03BD: destroy_sphere 0@
00A1: put_actor $PLAYER_ACTOR at 2505.7434 -1711.3347 13.5275
Actor.Angle($PLAYER_ACTOR) = 180.0
08D4: $panel = create_panel_with_title 'TXT1' position 29.0 30.0 width 200.0 columns 1 interactive 1 background 1 alignment 1
08DB: set_panel $panel column 0 header 'DUMMY' data 'TXT6' 'TXT7' 'TXT8' 'TXT9' 'TXT10' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY' 'DUMMY'
02EB: restore_camera_with_jumpcut 
wait 1500
fade 1  1500

//=============

:czekaj_na_wybor
wait 0
if
00E1: player $PLAYER_CHAR pressed_key 8   //G
jf @czekaj_na_wybor_test2
08DA: remove_panel $Panel
Player.CanMove($PLAYER_CHAR) = True
//------------
:a2
wait 0
if
80ED:   not actor $PLAYER_ACTOR 0 near_point 2505.7434 -1711.3347 radius 2.5 2.5 on_foot 
jf @a2

jump @start_1
//------------
//od tad zle 

:czekaj_na_wybor_test2
if
00E1: player $PLAYER_CHAR pressed_key 16   //spacja
jf @czekaj_na_wybor

:wyjdz
08D7: $Wybrane = panel $Panel active_row
08DA: remove_panel $Panel

0871: init_jump_table $Wybrane total_jumps 4 1 @wyjdz jumps 0 @wybrane1 1 @wybrane2 2 @wybrane3 3 @wybrane4 0 -1 0 -1 0 -1

:wybrane1
Player.CanMove($PLAYER_CHAR) = True
1@ = Car.Create(#cabbie, 2521.4954, -1710.4253, 13.5009)
072A: put_actor $PLAYER_ACTOR into_car 1@ driverseat
jump @wyjdz

:wybrane2
Player.CanMove($PLAYER_CHAR) = True
1@ = Car.Create(#admiral, 2521.4954, -1710.4253, 13.5009)
072A: put_actor $PLAYER_ACTOR into_car 1@ driverseat
jump @wyjdz

:wybrane3
Player.CanMove($PLAYER_CHAR) = True
1@ = Car.Create(#solair, 2521.4954, -1710.4253, 13.5009)
072A: put_actor $PLAYER_ACTOR into_car 1@ driverseat
jump @wyjdz

:wybrane4
Player.CanMove($PLAYER_CHAR) = True
1@ = Car.Create(#glendale, 2521.4954, -1710.4253, 13.5009)
072A: put_actor $PLAYER_ACTOR into_car 1@ driverseat
jump @wyjdz


Co ciekawe jak robiłem takie menu że jak się wciśnie jakiś klawisz podczas normalnego chodzenia to menu działa bez problemu. A tu po dodaniu jednego głupiego kółka nie chce działać i nie wiem dlaczego. Może ktoś inny wie co jest nie tak?
Postów: 1004 Dołączył: 2009-01-20
#
Dobrze rozumiem. Ty chcesz żeby ci ktoś czita(czy jak to się zwie) zrobił! Jeżeli tak to pomyliłeś forum. Tu się nikt takimi rzeczami nie zajmuje. Po za tym skoro twórcy programu uznali że nie można tego pliku używać w takim stanie jak w zwykłym gta sa to widać mieli ku temu powody. A sam program powinien zostać takim jakim jest do samego jego końca.
Postów: 1004 Dołączył: 2009-01-20
#
Pewnie posiadasz wersje 2.0 bo w sklepach teraz tylko takie są. Musisz zainstalować patacha który przerabia grę na wersje 1.0, którą można modować. W google pisz sobie "Gta sa path 1.0 download" i podmień ten plik co tam będzie i powinny ci mody działać.
Postów: 1004 Dołączył: 2009-01-20
#
Co do tego drugiego opcodu musisz coś mieć źle zrobione w scrypcie bo nie ma bata żeby on nie działał. Pokaż kawałek sryptu to się sprawdzi co jest nie tak.
Postów: 1004 Dołączył: 2009-01-20
#
Cytat:
1. Jak zapisać cleo,aby pasażer danego auta wykonywał drive-by na innym aucie?

Co do tego masz po niżej masz gotowy przykład.
Kod:
{$VERSION 3.1.0027}
{$CLEO .cs}

//-------------MAIN---------------
0000: NOP 

:sprawdzacz
wait 0 
if 
   Player.Defined($PLAYER_CHAR)
jf @sprawdzacz 
01F0: set_max_wanted_level_to 0 

Model.Load(#infernus)
Model.Load(#sultan)

Model.Load(101)
Model.Load(109)
Model.Load(113)
Model.Load(106)
Model.Load(12)

Model.Load(28)
038B: load_requested_models 

048F: actor $PLAYER_ACTOR remove_weapons
00C0: set_current_time_hours_to 23 minutes_to 20 
01EB: set_traffic_density_multiplier_to 0.0 
03DE: set_pedestrians_density_multiplier_to 0.0
select_interior 0
0860: link_actor $PLAYER_ACTOR to_interior 0 
Actor.PutAt($PLAYER_ACTOR, 2355.0508, -1725.1608, 13.5391)
Actor.Angle($PLAYER_ACTOR) = -90.0

009A: 2@ = create_actor_pedtype 20 model 12 at 2361.52 -1725.3036 13.5469 //
09C7: change_player_skin $PLAYER_CHAR to 106

0850: AS_actor 2@ follow_actor $PLAYER_ACTOR
02A7: 6@ = create_icon_marker_and_sphere 23 at 2367.1191 -1725.337 13.5469 radius 3.0
:petla1
wait 0
if
00ED:   actor $PLAYER_ACTOR 0 near_point 2367.1191 -1725.337 radius 1.0 1.0 on_foot 
jf @petla1
fade 0 1500
wait 1500
Marker.Disable(6@)
009B: destroy_actor 2@

0395: clear_area 1 at 2381.0774 -1742.3622 13.5469 radius 100.0 
0@ = Car.Create(#sultan, 2378.9614, -1729.7559, 13.3828)
Car.Angle(0@) = 90.0
1@ = Car.Create(#infernus, 2400.8169, -1729.6747, 13.3828)
Car.Angle(1@) = 90.0
02AC: set_car 0@ immunities BP 1 FP 1 EP 1 CP 1 MP 1 

009A: 2@ = create_actor_pedtype 20 model 113 at 2378.6621 -1728.3048 13.3828 //pasazer sultana   //113
009A: 3@ = create_actor_pedtype 20 model 101 at 2400.7185 -1731.4514 13.3828  //kierowca infernusa 
009A: 4@ = create_actor_pedtype 20 model 109 at 2400.647 -1728.0653 13.3828  //pasazer infernusa

01B2: give_actor 2@ weapon 28 ammo 9999   
01B2: give_actor 4@ weapon 28 ammo 9999   

0430: put_actor 2@ into_car 0@ passenger_seat 0 //pasazer sultana
072A: put_actor $PLAYER_ACTOR into_car 0@ driverseat //kierowca sultana, cj
072A: put_actor 3@ into_car 1@ driverseat //kierowca infernusa 
0430: put_actor 4@ into_car 1@ passenger_seat 0 //pasazer infernusa

:petla2
wait 0
if
Actor.InCar($PLAYER_ACTOR, 0@)
jf @petla2
0713: actor 2@ driveby_actor -1 car 1@ point 0.0 0.0 0.0 radius -1 8 1 firing_rate 100
0713: actor 4@ driveby_actor -1 car 0@ point 0.0 0.0 0.0 radius -1 8 1 firing_rate 100

Car.DriveTo(0@, 2060.3848 -1916.0336 13.5469)
Car.SetMaxSpeed(0@, 30.0)
00AE: set_car 0@ traffic_behaviour_to 3
07F8: car 1@ follow_car 0@ radius 7.5 
Car.SetMaxSpeed(1@, 50.0)
02A3: enable_widescreen 1

wait 1500
fade 1 1500

:petla3
wait 0
if
00EE:   actor $PLAYER_ACTOR 0 near_point 2067.8586 -1913.8677  radius 4.0 4.0 in_car 
jf @petla3

fade 0 1500
wait 1500
0395: clear_area 1 at 2381.0774 -1742.3622 13.5469 radius 100.0 
02A3: enable_widescreen 0
02EB: restore_camera_with_jumpcut 
wait 1500
fade 1 1500
//itd. 
0850: AS_actor 2@ follow_actor $PLAYER_ACTOR
0A93: end_custom_thread 

Nie mam czasu tego tłumaczyć co i jak więc jak nic nie rozumiesz z tego to będziesz musiał poczeka na wyjaśnienie. Co do reszty to większość z tych rzeczy były omawiana w poradnikach.
Postów: 1004 Dołączył: 2009-01-20
#
Nie bardzo chce to mi działać. Mógł by ktoś podać jakiś mały przykład?
Created & Powered by MakG