Czy wiesz, że... rejestracja trwa tylko 20 sekund?
Strona główna forum Szukaj Rejestracja
Witaj, nieznajomy!
Poprzedni 1 Następny
Postów: 14 Dołączył: 2011-01-11
#
Hejka co mam wpisac żeby aktor siedział w samochodzie jako pasażer?
Postów: 109 Dołączył: 2009-04-25
#
Elo.
Nie wyjaśniłeś o co Ci dokładnie chodzi, a więc dam Ci opcoda dzięki któremu aktor nagle zjawi siew aucie.
Kod:
0430: put_actor 1@ into_car 2@ passenger_seat 0 

Aktor o lokalnej 1 wchodzi (teleportuje) się do pojazdu o lokalnej 2 na miejsce pasażera o ID 0 (0 to chyba miejsce pasażera z przodu)
Pozdrawiam
Postów: 14 Dołączył: 2011-01-11
#
no bo napisałem misję która zaczyna się że gracz znajduje się w pojeżdzie jako kierowca a aktor siedzi kolo niego jako pasażer i nie wiedziałem jaki jest kod na to żeby siedział jako pasażer
Postów: 109 Dołączył: 2009-04-25
#
Aha, to np. jak chcesz aby gracz znajdował się w pojeździe to daj
Kod:
072A: put_actor $PLAYER_ACTOR into_car 1@ driverseat 

Umieści gracza jako kierowce auta o lokalnej 1.
A np jak chcesz aby umieściło gracza jako pasażera to dajesz
Kod:
0430: put_actor $PLAYER_ACTOR into_car 1@ passenger_seat 0 

Tutaj przeniesie gracza jako pasażera z przodu, 1 to z tyło po prawej chyba, a 2 po lewej.
Podaj mi swoje GG jak możesz.
Postów: 14 Dołączył: 2011-01-11
#
nr gg
16087336

nie chodziło mi żeby umieścic gracza jako pasażera tylko pisze misja która zaczyna się tak że siedzę w aucie wraz z gościem i poprostu nie wiem co wpisac żeby koleś siedział jako pasażer(nie gracz tylko ten drugi)
Postów: 878 Dołączył: 2009-01-20
#
No to ci podał opcode na wsadzenie aktora do samochodu jako pasażer:
Kod:
0430: put_actor 1@ into_car 2@ passenger_seat 0


1@ - zmienna aktora
2@ - zmienna samochodu

___________________
Administrator
Postów: 14 Dołączył: 2011-01-11
#
wklejam tego opcode ale nie dziala gra się wyłancza.. :(
Napisałem misję startowa która wygląda tak:
rozpoczynamy grę w dokach gracz siedzi w samochodzie jako kierowca i za zadanie jest dojechac do domu. Wiem banalna misja ale jestem początkujący i wszystkiego się uczę. Noi napisałem taka misje i ona faktycznie działa tylko chce teraz zrobic tak żeby oprócz mnie w samochodzie siedział jeszcze jeden aktor jako pasażer(z przodu) i po dojechaniu do celu zniknął z samochodu(w momencie jak obraz się zaciemni) no i nie potrafię tego zrobic :( oto mój kod i tu moja prośba może ktoś dodac to do tego kodu to o co proszę?
Kod:
// This file was decompiled using sascm.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007
DEFINE OBJECTS 1
DEFINE OBJECT SANNY BUILDER 3.04      

DEFINE MISSIONS 1
DEFINE MISSION 0 AT @MISJA             // Initial 1

DEFINE EXTERNAL_SCRIPTS 0 // Use -1 in order not to compile AAA script

DEFINE UNKNOWN_EMPTY_SEGMENT 0

DEFINE UNKNOWN_THREADS_MEMORY 0

{$VERSION 3.1.0027}

//-------------MAIN---------------
thread 'MAIN' 
set_weather 3 
00C0: set_current_time_hours_to 22 minutes_to 30 
01F0: set_max_wanted_level_to 6 
$PLAYER_CHAR = Player.Create(#NULL, 0.0, 0.0, 0.0)
$PLAYER_ACTOR = Actor.EmulateFromPlayer($PLAYER_CHAR)
Player.SetClothes($PLAYER_CHAR, "PLAYER_FACE", "HEAD", Head)
Player.SetClothes($PLAYER_CHAR, "JEANSDENIM", "JEANS", Legs)
Player.SetClothes($PLAYER_CHAR, "SNEAKERBINCBLK", "SNEAKER", Shoes)
Player.SetClothes($PLAYER_CHAR, "VEST", "VEST", Torso)
Player.Build($PLAYER_CHAR)
Player.CanMove($PLAYER_CHAR) = True
016C: restart_if_wasted_at 2027.77 -1420.52 15.99 angle 137.0 town_number 0 
016D: restart_if_busted_at 1550.68 -1675.49 14.51 angle 90.0 town_number 0 
fade 1 0 
start_mission 0  // Initial 1
end_thread 

//-------------Mission 0---------------
// Originally: Initial 1

:MISJA
thread 'MISJA' 
Model.Load(#GREENWOO)
038B: load_requested_models 
$WOZ = Car.Create(#GREENWOO, 2795.809, -2344.057, 13.37836)
Car.Angle($WOZ) = 358.2751
0229: set_car $WOZ primary_color_to 0 secondary_color_to 0 
072A: put_actor $PLAYER_ACTOR into_car $WOZ driverseat 
$CEL = Marker.CreateIconAndSphere(56, 2488.346, -1680.503, 13.08055)
054C: use_GXT_table 'MISJA1' 
00BC: show_text_highpriority GXT 'TXT1' time 3000 flag 1  // Udaj sie do domu

:MISJA_117
wait 10 
if 
0103:   actor $PLAYER_ACTOR in_sphere 2488.346 -1680.503 13.08055 radius 3.0 3.0 3.0 sphere 0 stopped_in_car 
else_jump @MISJA_117 
Player.CanMove($PLAYER_CHAR) = False
fade 0 1000 
wait 1000 
Marker.Disable($CEL)
fade 1 1000 
Player.CanMove($PLAYER_CHAR) = True
Camera.Restore
Player.Money($PLAYER_CHAR) += 100
0394: play_music 1  
end_thread 
Postów: 878 Dołączył: 2009-01-20
#
Po pierwsze, warto dodać pętlę sprawdzającą załadowanie modeli. Jeśli użyjesz w opcodzie niezaładowanego modelu, to gra zaliczy crasha.

Poprawiony kod:

Kod:

:MISJA
thread 'MISJA'
Model.Load(#GREENWOO)

:check
wait 0
if
 Model.Available($GREENWOO)
jf @check

$WOZ = Car.Create(#GREENWOO, 2795.809, -2344.057, 13.37836)
Car.Angle($WOZ) = 358.2751
0229: set_car $WOZ primary_color_to 0 secondary_color_to 0
072A: put_actor $PLAYER_ACTOR into_car $WOZ driverseat

0376: 1@ = create_random_actor_at 0.0 0.0 0.0
0430: put_actor 1@ into_car $WOZ passenger_seat 0 

$CEL = Marker.CreateIconAndSphere(56, 2488.346, -1680.503, 13.08055)
054C: use_GXT_table 'MISJA1'
00BC: show_text_highpriority GXT 'TXT1' time 3000 flag 1 // Udaj sie do domu

:MISJA_117
wait 10
if
0103: actor $PLAYER_ACTOR in_sphere 2488.346 -1680.503 13.08055 radius 3.0 3.0 3.0 sphere 0 stopped_in_car
else_jump @MISJA_117
Player.CanMove($PLAYER_CHAR) = False
fade 0 1000
wait 1000
Marker.Disable($CEL)
fade 1 1000
Player.CanMove($PLAYER_CHAR) = True
Camera.Restore
Player.Money($PLAYER_CHAR) += 100
0394: play_music 1
end_thread


Opcode
Kod:
0376: 1@ = create_random_actor_at 0.0 0.0 0.0

stworzy aktora o losowym modelu, który nie musi być ładowany na początku. Jeśli chcesz stworzyć aktora o określonym modelu, skorzystaj z :

Kod:
009A: 1@ = create_actor_pedtype 4 model #MALE01 at 0.0 0.0 0.0


Pamiętaj o załadowaniu modeli, z których korzystasz w kodzie.

___________________
Administrator
Postów: 109 Dołączył: 2009-04-25
#
Według mnie, rób więcej pętli, to pomoże w optymalizacji kodu. Więcej pisania ale się przydaje.
Pozdro
Postów: 248 Dołączył: 2009-06-27
#
Może to zbędne, ale uderzyło mnie to:
Cytat:
wklejam tego opcode

Więc na wszelki wypadek przypomnę, że crash może być też spowodowany wprowadzoną zmienną, która nie została zadeklarowana.
Na przykład, w VB6 deklaracja liczby całkowitej (tzw. Integer):
Kod:
Dim liczba as Integer

A jeden ze sposobów deklaracji obiektu jako aktora w SB3 wygląda tak:
Kod:
0376: 1@ = create_random_actor_at 0.0 0.0 0.0

W zapomnianej grze COLOBOT deklaracja obiektu wygląda tak:
Kod:
object item;

VB6 - nazwa zmiennej to 'liczba'
SB3 - nazwa zmiennej to '1@'
COLOBOT - nazwa zmiennej to 'item'
W SB3 można sprawdzić czy zmienna jest zadeklarowana za pomocą tej pętli:
Kod:
:petla1
wait 0
if
056D:   actor 1@ defined    // sprawdzanie czy zmienna jest zadeklarowana jako obiekt - aktor
jf @petla1
0430: put_actor 1@ into_car $WOZ passenger_seat 0 // operacja na zmiennej
//wymagany ciag dalszy


To jest dość grubsze wytłumaczenie, myślę że to może pomóc nawet już i jeszcze tym średnio zaawansowanym. Jak ja.

___________________
http://www.gta-mods.pl/public/images/userbar
Poprzedni 1 Następny
Zaloguj się lub zarejestruj się, żeby pisać na forum.
Created & Powered by MakG