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: 14 Dołączył: 2011-01-11
#
Hejka mam parę pytań związane z msc.
1. Co robię źle?
chcę zrobic pętlę która sprawdzi mi czy gracz jest w samochodzie i czy znajduje się na markerze.

Kod:

:petla1
wait 0
if and
0103: actor $PLAYER_ACTOR in_sphere 479.8022 -1498.54 20.46572 radius 3.0 3.0 3.0 sphere 0 stopped_in_car
Actor.InCar($PLAYER_ACTOR, 0@)
jf @petla2 (w petli2 jest ukazanie tekstu aby zdobyc auto i wrocic na miejsce i powrot do petli1)
 

co jest źle? jestem początkujący i nie znam się tak dobrze. gra zachowuje się w ten sposób że jak mam auto i jestem na znaczniku to dalej pokazuje mi sie napis zdobadz auto i wroc na miejsce :(

2. Co trzeba wpisac aby aktor wsiadł do samochodu jako pasażer z przodu ale z animacja. (chodzi mi o to żeby podszedł do auta otworzył drzwi i wsiadł)
3. Jeżeli pisze się w skrypcie żeby aktor wsiadł do auta to trzeba podac kto ma wsiąśc do auta i do jakiego. i tu moje pytanie jak mam wpisac do ktorego auta ma wsiąśc aktor jeżeli chce żeby siadł do tego którym przyjechał do misji gracz. (może przecież prrzyjechac różnymi)
Postów: 878 Dołączył: 2009-01-20
#
1. Jeśli 0@ to samochód, w którym jest gracz i zatrzymałeś się w danym punkcie, to nie powinno być problemu. Być może nie wracasz z petla2 do petla1. Powinno to wyglądać mniej więcej tak:

Kod:
:petla1
wait 0
if and
0103: actor $PLAYER_ACTOR in_sphere 479.8022 -1498.54 20.46572 radius 3.0 3.0 3.0 sphere 0 stopped_in_car
Actor.InCar($PLAYER_ACTOR, 0@)
jf @petla2

jump @next

:petla2
// wyświetlanie tekstu
jump @petla1

:next
// dalszy kod po wjechaniu w marker



2.
Kod:
05CA: AS_actor $PLAYER_ACTOR enter_car 0@ passenger_seat 0 10000 ms

0@ - samochód
passenger_seat 0 - numer siedzenia (0 - siedzenie obok kierowcy, a 1 i 2 to siedzenia z tyłu, jeśli istnieją)
10000 ms - limit czasu wsiadania do samochodu. Jeśli aktor nie wsiądzie do samochodu w przeciągu 10 sekund, to skrypt przetelportuje go tam automatycznie. Ustaw na -1 ms, jeśli chcesz wyłączyć ten limit.


3.
Kod:
03C0: 0@ = actor $PLAYER_ACTOR car

Tym opcodem odczytujesz auto gracza, jeśli znajduje się w aucie.


PS. Nie "MSC", tylko "SCM" :)

___________________
Administrator
Postów: 14 Dołączył: 2011-01-11
#
Żeby nie robic nowego tematu i nei zaśmiecac forum dodam tutaj kolejne pytania :)

4. zrobiłem sobie misję i jak daje kompiluj to wyskakuje mi: Zbyt mało parametrów. Oczekiwane 8 parametrów.
i wskazuje mi na tą linijkę:
Kod:
0103: actor $PLAYER_ACTOR in_sphere 482.2616, -1499.754, 20.32186 radius 3.0 3.0 3.0 sphere 0 stopped_in_car
co jest tu źle? bo nie mam pojęcia..
tutaj dodam jeszcze cała pętle:

Kod:
:poczatek_misji
wait 10
if
0103: actor $PLAYER_ACTOR in_sphere 482.2616, -1499.754, 20.32186 radius 3.0 3.0 3.0 sphere 0 stopped_in_car
jf @poczatek_misji


5 jaki jest opcode na checkpoints taki jak jest podczas wyścigów o kolorze żółtym?
6 Jeżeli tworze wyścigi to jak zrobic odmierzanie czasu?
7 Jest jakiś program w którym można zobaczyc np jaki nr odpowiada jakiemu chechpointowi, ikonie na radarze itp.?

czekam na odpowiedź :)
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: 628 Dołączył: 2009-01-22
#
Kolor tego checkpointu można zmienić prościej. Trzeba trochę pokombinować (znaleźć go w strukturze), ale jest wykonalne aby każdy checkpoint miał inny kolor.

Wygląda to tak:

http://iv.pl/images/71517905294960278056_thumb

Napisałem to jako funkcję SCM, przez co działa prawie jak normalny opcode.

W skrypcie umieszczasz takie coś:

Kod:
0AB1: call_scm_func @RacingCheckpointColour 4 set_racing_checkpoint 0@ colour_red_to 255 green 255 blue 255


Na samym dole skryptu:

Kod:
:RacingCheckpointColour
{
    0AB1: call_scm_func @RacingCheckpointColour 4 set_racing_checkpoint 0@ colour_red_to 255 green 255 blue 255
    
    Desc
      Sets racing checkpoint colour.
    
    Params
      0@    -  Checkpoint handle
      1@    -  Checkpoint red channel
      2@    -  Checkpoint green channel
      3@    -  Checkpoint blue channel
    
    Returned
      None.
}
for 4@ = 0xC7F15C to 0xC7F824 step 0x38
    0A8D: 5@ = read_memory 4@ size 4 virtual_protect 0
    if
        003B:   0@ == 5@
    then
        000A: 4@ += 4
        0A8C: write_memory 4@ size 1 value 1@ virtual_protect 0
        000A: 4@ += 1
        0A8C: write_memory 4@ size 1 value 2@ virtual_protect 0
        000A: 4@ += 1
        0A8C: write_memory 4@ size 1 value 3@ virtual_protect 0 
        break
    end
end
0AB2: ret 0


Używa się tego bardzo prosto:

Kod:
06D5: 449@ = create_racing_checkpoint_at $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 point_to $TEMPVAR_FLOAT_1 $TEMPVAR_FLOAT_2 $TEMPVAR_FLOAT_3 type 205@ radius 6.0
0AB1: call_scm_func @RacingCheckpointColour 4 set_racing_checkpoint 449@ colour_red_to 0 green 255 blue 0


Checkpoint 449@ będzie teraz zielony.

___________________
Moderator
http://i.imgur.com/Abvv63y
Śledź mój kanał Twitter by być na bieżąco ze wszystkimi aktualizacjami moich modów!
Postów: 14 Dołączył: 2011-01-11
#
Kolejne pytania ;)

8. Jeżeli robię wyścigi to jak mam zrobic żeby ukazywał mi się nie tylko najbliższy checkpoint ale także ten który będzie po nim?
9. Co jest nie tak?
mam problem z misją chcę aby po cut-scence znikał marker a także znacznik na mapie ale nie jest nic takiego się nie dzieje oto kod jaki mam:
Kod:

:MARNIE1
thread 'MARNIE1' 
Player.CanMove($PLAYER_CHAR) = False
fade 0 1000 
Model.Load(#WFYPRO)
038B: load_requested_models 
$PP_MARNIE = Actor.Create(CivMale, #WFYPRO, 476.7367, -1501.788, 20.54361)
0639: AS_actor $PLAYER_ACTOR rotate_to_actor $PP_MARNIE 
0639: AS_actor $PP_MARNIE rotate_to_actor $PLAYER_ACTOR 
Marker.Disable($CEL)


10. Jaki jest opcode na to że dwoje aktorów idzie koło siebie i trzymają się za ręce?
11. jaki jest opcode na animację rzucania granatów?
12. Chcę zrobic misję w której trzeba zrobic pewnej osobie zdjęcie i tu moje pytanie jak kod trzeba wpisac do petli który sprawdzi czy zdjęcie jest zrobione?
13. Jest jakaś stronka na której pisze jaki ID ma dana broń?
Postów: 878 Dołączył: 2009-01-20
#
9. Musisz zniszczyć sferę i marker:
Kod:
03BD: destroy_sphere 1@
0164: disable_marker 2@


10. Wydaje mi się, że trzeba po prostu użyć odpowiedniej animacji.

11. Animacje rzucania granatem:
grenade.ifp
WEAPON_start_throw
WEAPON_throw
WEAPON_throwu

Musisz po prostu wywołać odpowiednią sekwencję animacji:
Kod:
0605: actor $PLAYER_ACTOR perform_animation_sequence "WEAPON_start_throw" IFP_file "GRENADE" 4.0 loop 0 0 0 0 time -1

:anim_check1
wait 0
if
 0611:   actor $PLAYER_ACTOR performing_animation "WEAPON_start_throw"
jf @anim_check1

0605: actor $PLAYER_ACTOR perform_animation_sequence "WEAPON_throw" IFP_file "GRENADE" 4.0 loop 0 0 0 0 time -1



12.
Kod:
04C5:   actor 284@ photographed


13. Np. http://wiki.sa-mp.com/wiki/Weapons

___________________
Administrator
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: 14 Dołączył: 2011-01-11
#
14. co trzeba wpisac aby aktor wyszedl z samochodu i poszedl w jakies miejsce? (to miejsce to współrzędne.)
Postów: 878 Dołączył: 2009-01-20
#
Kod:
05CD: AS_actor $PLAYER_ACTOR exit_car 22@
05D3: AS_actor $PLAYER_ACTOR goto_point 681.8004 -474.1063 15.5363 mode 4 3000 ms


Powinno zadziałać, ale jakby aktor wychodził z pojazdu, a po tym stał jak słup to zrób sprawdzenie, czy wyszedł już z pojazdu:

Kod:
05CD: AS_actor $PLAYER_ACTOR exit_car 22@

:check
wait 
0
 80DB:   not actor $PLAYER_ACTOR in_car 22@
jf 
@check

05D3: AS_actor $PLAYER_ACTOR goto_point 681.8004 -474.1063 15.5363 mode 4 3000 ms


PS. Staraj się pisać pytania o odrębnych rzeczach w oddzielnych tematach.

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