Czy wiesz, że... rejestracja trwa tylko 20 sekund?
Strona główna forum Szukaj Rejestracja
Witaj, nieznajomy!
Postów: 1004 Dołączył: 2009-01-20
#
Podgląd jest. Tak fika zielona w okienku, którym piszesz po prawej stronie.

Przydała by się opcja znajdź swoje posty i tematy w swoim profilu.
Postów: 1004 Dołączył: 2009-01-20
#
od.8
Jak rozpoczynasz tworzyć wyścig to stwórz dwa checkpointy jednocześnie. Potem stwórz pętla która sprawdzi czy aktor przejechał przez pierwszy checkpoint i wtedy usuwasz go. Po tej pętli tworzysz trzeci checkpoint. Po tym trzecim checkpoincie tworzysz znowu pętle, która sprawdza czy gracz przejechał przez te drugi checkpoint i potej pętli tworzysz kolejny checkpoint itd. Po niżej daje ci mały przykład jak to mnie więcej zrobić.
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---------------
0000: NOP 

00C0: set_current_time_hours_to 23 minutes_to 20  //
01EB: set_traffic_density_multiplier_to 0.0     //wylancza pojazdy
04BB: select_interior 0
0860: link_actor $PLAYER_ACTOR to_interior 0
00A1: put_actor $PLAYER_ACTOR at 1454.4182 -2492.4766 13.5547
Actor.Angle($PLAYER_ACTOR) = 268.1896
02EB: restore_camera_with_jumpcut 

Model.Load(#INFERNUS)
038B: load_requested_models

:a1
wait 0
if
0AB0: key_pressed 0x47 /g
jf @a1


00A5: 0@ = create_car #INFERNUS at 1345.931 -2492.2749 12.8931
0175: set_car 0@ Z_angle_to 0.0
05CB: AS_actor $PLAYER_ACTOR enter_car 0@ as_driver 0 ms 

06D5: 1@ = create_racing_checkpoint_at 1345.4447 -2447.4944 12.8987 point_to 1357.343 -2299.0066 12.8996 type 0 radius 3.0
018A: $test1 = create_checkpoint_at 1345.4447 -2447.4944 12.8987
0165: set_marker $test1 color_to 1 


06D5: 2@ = create_racing_checkpoint_at 1357.343 -2299.0066 12.8996 point_to 1418.3416 -2285.8992 12.901 type 0 radius 3.0
018A: $test2 = create_checkpoint_at 1357.343 -2299.0066 12.8996


:a2
wait 0
if
00EE:   actor $PLAYER_ACTOR 0 near_point 1345.4447 -2447.4944 radius 3.0 3.0 in_car 
jf @a2
06D6: disable_racing_checkpoint 1@ 
Marker.Disable($test1) 
0165: set_marker $test2 color_to 1
06D5: 3@ = create_racing_checkpoint_at 1419.4521 -2284.5442 12.8998 point_to 1469.6028 -2239.1362 12.904 type 0 radius 3.0
018A: $test3 = create_checkpoint_at 1419.4521 -2284.5442 12.8998

:a3
wait 0
if
00EE:   actor $PLAYER_ACTOR 0 near_point 1357.343 -2299.0066 radius 3.0 3.0 in_car 
jf @a3
06D6: disable_racing_checkpoint 2@ 
Marker.Disable($test2) 
0165: set_marker $test3 color_to 1

06D5: 4@ = create_racing_checkpoint_at 1473.6129 -2236.792 12.9011 point_to 1474.9075 -2197.6978 12.9008 type 0 radius 3.0
018A: $test4 = create_checkpoint_at 1473.6129 -2236.792 12.9011

//itd
0A93: end_custom_thread
Postów: 1004 Dołączył: 2009-01-20
#
Jest, ale sam jeden opcod na to nie wystarczy. Żeby to działało trzeba odpowiedni skrypt do tego stworzyć. Po niżej w linku masz trial jak to zrobić żeby działało. http://www.gta-mods.pl/articles/view/id/13
Postów: 1004 Dołączył: 2009-01-20
#
odn.4
Skasuj przecinki

odn.5
Chyba ci o ten checkpoint chodzi.
Kod:
06D5: 0@ = create_racing_checkpoint_at -2003.265 -11.8736 34.5926 point_to -1998.7379 8.9661 33.5893 type 0 radius 3.0

Standardowo to się nie da chyba zmienić koloru tego rodzaju checkpointów ale ktoś na jakimś forum znalazł na to sposób. Co prawda strona na której to jest opisane jak to zrobić jest na innym checkpointcie przedstawione ale myślę że na tym też to powinno działać. Sam tego nie stestowałem więc czy to na 100% będzie działać to nie wiem.

http://waterviper.forumtwilight.com/t80-changing-hard-coded-interface

odn.6
Po niżej malutki przykład jak zrobić misje na czasz gdzie czas jest odliczany od tyłu do zera. Jak chcesz spróbuj to zastosować do swoich wyścigów.

http://www.gta-mods.pl/forum/topics/view/id/630

odn.7
O to ci chodzi?
http://wiki.gtamscripting.info/index.php/ID_ikon
Postów: 1004 Dołączył: 2009-01-20
#
Cytat:
Acha te drugie współrzędnie określają gdzie ma być zwrócony ten chcekpoint?

Dokładnie. A żeby ustawić kierunek tego chcekpointa gdzie ma mniej więcej lecieć czy tam jechać gracz to po po porostu udaj się postać tam gdzie ma stać następny chcekpoint i przechwyć współrzędne i masz ustalony kierunek :).

Cytat:
Potem już nnormalnie sprawdzanie czy gracz jest w punkcie?

Chodzi ci jak zrobić żeby po dotarciu do tego kółka zebrał tego chcekpointa? Jeżeli tak to po prostu tworzysz pętle sprawdzający czy gracz jest w tamtym miejscu a potem za pomocą odpowiedniego opcodu usuwasz to koło i jednocześnie tworzysz następne itd. Po niżej daje ci mały przykłada jak to mniej więcej powinno się robić.

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---------------
0000: NOP 

Model.Load(#beagle)
038B: load_requested_models

//00C0: set_current_time_hours_to 23 minutes_to 20  //
01EB: set_traffic_density_multiplier_to 0.0     //wylancza pojazdy
04BB: select_interior 0
//0860: link_actor $PLAYER_ACTOR to_interior 0
//00A1: put_actor $PLAYER_ACTOR at -1994.6394 -28.5717 35.0063
//Actor.Angle($PLAYER_ACTOR) = 360.0
02EB: restore_camera_with_jumpcut 

00A5: $WOZ1 = create_car #beagle at -1587.9706 -95.1884 10.5206
0175: set_car $WOZ1 z_angle_to 310.0
0229: set_car $WOZ1 color_to 5 1

072A: put_actor $PLAYER_ACTOR into_car $WOZ1 driverseat

06D5: 0@ = create_racing_checkpoint_at -1437.71 52.5806 33.9561 point_to -1136.0757 207.8013 88.1091 type 4 radius 10.0 

:a1
wait 0
if
00EE:   actor $PLAYER_ACTOR 0 near_point -1437.71 52.5806 radius 11.0 11.0 in_car 
jf @a1
06D6: disable_racing_checkpoint 0@ 


06D5: 0@ = create_racing_checkpoint_at -1030.6973 209.5291 96.7033 point_to -564.8431 -53.9259 199.1362 type 4 radius 10.0 

:a2
wait 0
if
00EE:   actor $PLAYER_ACTOR 0 near_point -1030.6973 209.5291 radius 11.0 11.0 in_car 
jf @a2
06D6: disable_racing_checkpoint 0@

0A93: end_custom_thread 
Postów: 1004 Dołączył: 2009-01-20
#
Postów: 1004 Dołączył: 2009-01-20
#
Kod:
06D5: 0@ = create_racing_checkpoint_at -2005.0187 -219.7609 35.7109 point_to -2004.9899 -193.4461 35.7109 type 4 radius 2.0

Te pierwsze współrzędne ustawiają gdzie ma stać checkpoint, a te drugie to w którą stronę ma być ustawiany checkpoint, natomiast typ 4 to jest rodzaj checkpointu, w tym wypadku ustawiony jest że wygląda jak ten od samolotów. Radiu ustawia wielkość checkpointu.
Postów: 1004 Dołączył: 2009-01-20
#
Ile ja takich historii w necie widziałem co piszą ze mają oryginała a potem żebrzą o klucz. A i tak wchodzi na to że mają pirata. Po za tym każdy klucz jest przypisywany do danego konta i nawet jak ktoś by miał taki to i tak by ci nie mógł dać bo by po prostu nie działał.

Jeżeli naprawdę masz oryginała to przedstaw tego dowody. Ale samo zdjęcie pudełka nie wystarczy bo takie zdjęcie zawsze w necie można znaleźć. Jak masz np. jeszcze paragon to też możesz zrobić fotkę. A jak udowodnisz to ci powiem jak w legalny i tani sposób zdobyć taki klucz.
Postów: 1004 Dołączył: 2009-01-20
#
Dodałem do podobnej pętli jak ta powyżej kilka linijek z tekstem i gdy aktor zginie wyświetla się jakiś tam tekst na ekranie, potem gdy zginie drugi to dziej się podobnie, tak samo jest z trzecim i czwartym aktorem tyle że teksty zamiast znikać to one wyświetlają się w kółko. Ktoś wie jak to naprawić?
Postów: 1004 Dołączył: 2009-01-20
#
Postów: 1004 Dołączył: 2009-01-20
#
Najpierw to ty sobie wyciągnij jakąś oryginalną z gry bandane i zaimportuj ją do 3ds maxa. Przy iporcie nie zapomnij wcisnąć przycisku z napisem A. Potem ustaw tą swoją bandane na tej z gry i weź ją połącz ze sobą. Następnie usuń tą starą bandane. Gdy to zrobisz to pozostaje tylko wziąć i ją ją wyeksportować zapisując ją najlepiej pod tą samą nazwą. To tak napisałem w wielkim skróci. Jak byś miał miał jakieś dalej problemy to pisz, a ktoś ci pewnie pomoże.
Postów: 1004 Dołączył: 2009-01-20
#
No wiec tak. W swoim skrypcie mam pętle, która jednocześnie sprawdza czy aktor zginą, czy wyszedł poza wyznaczony obszar i czy bot, a raczej kilka botów zostało zabitych. Jednak nie bardzo wiem jak do tego dorobić że kiedy właśnie wszystkie boty zostają zabite to zostaje przerwana pętla która sprawdza czy aktor jest poza wyznaczonym obszarem i żeby po zabiciu owych botów np. pojawił się marker dokąd ma jechać. Mój scrypt wygląda tak:
Kod:
{$VERSION 3.1.0027}
{$CLEO .cs}

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

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

select_interior 0 
0860: link_actor $PLAYER_ACTOR to_interior 0 
Actor.PutAt($PLAYER_ACTOR, -1634.0796, -2239.4126, 31.4766)
Actor.Angle($PLAYER_ACTOR) = 124.261
Camera.Restore_WithJumpCut

0247: request_model #omoboat // 
0247: request_model #vwmotr2 // 

0247: request_model #shovel // 

038B: load_requested_models

0A8C: write_memory 0x969168 size 1 value 1 virtual_protect 0
00C0: set_current_time_hours_to 24 minutes_to 0 
01F0: set_max_wanted_level_to 0 
048F: actor $PLAYER_ACTOR remove_weapons

009A: 0@ = create_actor_pedtype 20 model #omoboat at -1650.568 -2227.9307 30.3806
Actor.Angle(0@) = 271.2157
009A: 1@ = create_actor_pedtype 20 model #omoboat at -1680.4268 -2251.8127 37.306
Actor.Angle(1@) = 271.2157
009A: 2@ = create_actor_pedtype 20 model #omoboat at -1673.5835 -2257.2236 35.6804
Actor.Angle(2@) = 286.2559
009A: 3@ = create_actor_pedtype 20 model #omoboat at -1666.0017 -2264.4062 36.001  //4
Actor.Angle(3@) = 297.8494
009A: 4@ = create_actor_pedtype 20 model #omoboat at -1661.2551 -2272.2173 36.9355
Actor.Angle(4@) = 312.2629
009A: 5@ = create_actor_pedtype 20 model #omoboat at -1644.0833 -2276.6489 36.3203
Actor.Angle(5@) = 335.4497
009A: 6@ = create_actor_pedtype 20 model #omoboat at -1631.8732 -2273.9736 36.2709
Actor.Angle(6@) = 13.3634
009A: 7@ = create_actor_pedtype 20 model #omoboat at -1616.2202 -2266.498 32.8979
Actor.Angle(7@) = 33.7303

009A: 8@ = create_actor_pedtype 20 model #vwmotr2 at -1680.3988 -2222.7253 35.7876
Actor.Angle(8@) = 255.5489
009A: 9@ = create_actor_pedtype 20 model #vwmotr2 at -1674.3435 -2215.3003 34.5911
Actor.Angle(9@) = 227.9752
009A: 10@ = create_actor_pedtype 20 model #vwmotr2 at -1666.947 -2211.2874 33.9541
Actor.Angle(10@) = 221.3952
009A: 11@ = create_actor_pedtype 20 model #vwmotr2 at -1657.8258 -2207.5681 33.4044
Actor.Angle(11@) = 189.1215
009A: 12@ = create_actor_pedtype 20 model #vwmotr2 at -1685.6385 -2240.7654 38.3798
Actor.Angle(12@) = 273.4091
009A: 13@ = create_actor_pedtype 20 model #vwmotr2 at -1647.5753 -2208.0215 33.8816
Actor.Angle(13@) = 202.2816

060B: set_actor 0@ decision_maker_to 32
060B: set_actor 1@ decision_maker_to 32
060B: set_actor 2@ decision_maker_to 32
060B: set_actor 3@ decision_maker_to 32
060B: set_actor 4@ decision_maker_to 32
060B: set_actor 5@ decision_maker_to 32
060B: set_actor 6@ decision_maker_to 32
060B: set_actor 7@ decision_maker_to 32
060B: set_actor 8@ decision_maker_to 32
060B: set_actor 9@ decision_maker_to 32
060B: set_actor 10@ decision_maker_to 32
060B: set_actor 11@ decision_maker_to 32
060B: set_actor 12@ decision_maker_to 32
060B: set_actor 13@ decision_maker_to 32

0187: $marker0 = create_marker_above_actor 0@
0187: $marker1 = create_marker_above_actor 1@ 
0187: $marker2 = create_marker_above_actor 2@
0187: $marker3 = create_marker_above_actor 3@
0187: $marker4 = create_marker_above_actor 4@
0187: $marker5 = create_marker_above_actor 5@
0187: $marker6 = create_marker_above_actor 6@
0187: $marker7 = create_marker_above_actor 7@
0187: $marker8 = create_marker_above_actor 8@
0187: $marker9 = create_marker_above_actor 9@
0187: $marker10 = create_marker_above_actor 10@
0187: $marker11 = create_marker_above_actor 11@
0187: $marker12 = create_marker_above_actor 12@
0187: $marker13 = create_marker_above_actor 13@


018A: $P1 = create_checkpoint_at -1640.2131 -2239.2747 31.4766
03BC: $K1 = create_sphere_at -1640.2131 -2239.2747 31.4766 radius 1.9
:mnz1
wait 0
if 
00ED:   actor $PLAYER_ACTOR 0 near_point -1640.2131 -2239.2747 radius 1.5 1.5 on_foot 
jf @mnz1
Marker.Disable($P1)
03BD: destroy_sphere $K1

032B: $lop1 = create_weapon_pickup  #shovel group 5 ammo 50 at -1630.5049 -2245.2964 31.4766

05E2: AS_actor 0@ kill_actor $PLAYER_ACTOR
05E2: AS_actor 1@ kill_actor $PLAYER_ACTOR
05E2: AS_actor 2@ kill_actor $PLAYER_ACTOR
05E2: AS_actor 3@ kill_actor $PLAYER_ACTOR
05E2: AS_actor 4@ kill_actor $PLAYER_ACTOR
05E2: AS_actor 5@ kill_actor $PLAYER_ACTOR
05E2: AS_actor 6@ kill_actor $PLAYER_ACTOR
05E2: AS_actor 7@ kill_actor $PLAYER_ACTOR
05E2: AS_actor 8@ kill_actor $PLAYER_ACTOR
05E2: AS_actor 9@ kill_actor $PLAYER_ACTOR
05E2: AS_actor 10@ kill_actor $PLAYER_ACTOR
05E2: AS_actor 11@ kill_actor $PLAYER_ACTOR
05E2: AS_actor 12@ kill_actor $PLAYER_ACTOR
05E2: AS_actor 13@ kill_actor $PLAYER_ACTOR

:z0
wait 0
if 
0118: actor 0@ dead
jf @z1
Marker.Disable($marker0)

:z1
wait 0
if 
0118: actor 1@ dead
jf @z2
Marker.Disable($marker1)

:z2
wait 0
if 
0118: actor 2@ dead
jf @z3
Marker.Disable($marker2)

:z3
wait 0
if 
0118: actor 3@ dead
jf @z4
Marker.Disable($marker3)

:z4
wait 0
if 
0118: actor 4@ dead
jf @z5
Marker.Disable($marker4)

:z5
wait 0
if 
0118: actor 5@ dead
jf @z6
Marker.Disable($marker5)

:z6
wait 0
if 
0118: actor 6@ dead
jf @z7
Marker.Disable($marker6)

:z7
wait 0
if 
0118: actor 7@ dead
jf @z8
Marker.Disable($marker7)

:z8
wait 0
if 
0118: actor 8@ dead
jf @z9
Marker.Disable($marker8)

:z9
wait 0
if 
0118: actor 9@ dead
jf @z10
Marker.Disable($marker9)

:z10
wait 0
if 
0118: actor 10@ dead
jf @z11
Marker.Disable($marker10)

:z11
wait 0
if 
0118: actor 11@ dead
jf @z12
Marker.Disable($marker11)

:z12
wait 0
if 
0118: actor 12@ dead
jf @z13
Marker.Disable($marker12)

:z13
wait 0
if 
0118: actor 13@ dead
jf @z14
Marker.Disable($marker13)
//czy aktor zginol
:z14
wait 0
if 
0118: actor $PLAYER_ACTOR dead
jf @z15
00BA: show_text_styled GXT 'M_FAIL' time 5000 style 1
jump @exit1

:z15
wait 0
if 
80ED:   not actor $PLAYER_ACTOR 0 near_point -1636.3079 -2239.2231 radius 20.0 20.0 on_foot
jf @z0
fade 0 1500 
0169: set_fade_color_RGB 255 0 0 
wait 1700
0321: kill_actor $PLAYER_ACTOR
wait 1700
fade 1 1500 
00BA: show_text_styled GXT 'M_FAIL' time 5000 style 1
jump @exit1
jump @z0

:exit1
0A93: end_custom_thread

No to ktoś wie jak takie coś dorobić?
Postów: 1004 Dołączył: 2009-01-20
#
Właśnie coś w s tylu zombi. Ta animacja od MakG mogła by być tyle że jak dodam animacje do postaci a potem każe jej iść gdzieś to animacja zostaje przerwana. Coś mi się wydaje że będę musiał wyciągnąć animacje danej postaci i dorobić jej takie wyciągnięte ręce bo mi się nie widzi żeby była możliwość korzystania jednocześnie z dwóch tych samych animacji. A może jednak ktoś wie jak tak zrobić?
Postów: 1004 Dołączył: 2009-01-20
#
Czy jest może jakaś animacja gdzie postać może mieć wyciągnięte ręce do przodu?
Postów: 1004 Dołączył: 2009-01-20
#
To trzeba stworzyć pętle która sprawdza czy postać nie jest poza pojazdem. Po niżej masz mały przykład.
Kod:
{$VERSION 3.1.0027}
{$CLEO .cs}

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

0247: load_model #ADMIRAL

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

0@= Car.Create(#ADMIRAL, -2122.8486, -2494.0718, 30.625)
Car.Angle(0@) = 226.7219

:a2
wait 0
if
Actor.InCar($PLAYER_ACTOR, 0@)
jf @a2

:a3
wait 0
if
 not Actor.InCar($PLAYER_ACTOR, 0@)
jf @a3
00BC: show_text_highpriority GXT 'TXT1' time 4000 flag 1
jump @a2

0A93: end_custom_thread 
Created & Powered by MakG