Postów:
294
Dołączył:
2011-07-27
Napisano dnia: 2014-03-23 12:36:25
Witam, chciałem napisać skrypt, który sprawiałby, że gdy w ciągniku są włączone światła to również włączą się automatycznie w naczepie i odwrotnie. Tylko problem w tym, że nie wiem jak zdefiniować tą naczepę, tzn. jak przypisać ją do zmiennej. Pomoże ktoś? :)
Postów:
628
Dołączył:
2009-01-22
Napisano dnia: 2014-03-24 12:56:58
To proste. Wolałbyś wersję dla CLEO4 czy dla CLEO3 i 4?
___________________
Moderator
Postów:
294
Dołączył:
2011-07-27
Napisano dnia: 2014-03-24 17:43:18
Wolałbym lepszą (prostszą, stabilniejszą) wersję :) Nie ma znaczenia czy cleo 3 czy 4.
Postów:
628
Dołączył:
2009-01-22
Napisano dnia: 2014-03-25 22:00:42
Wiesz, spojrzałem do swoich zbiorów funkcji i okazało się że ktoś już kiedyś o takie coś prosił, nie wiem czy to nie Ty :P
Tak czy inaczej, tamta funkcja była napisana dawno i jest stosunkowo wolna. Napisałem ją od nowa:
Wersja dla CLEO3/CLEO4 - tylko dla 1.0US/EU:
Kod:
:GET_TRAILER_ATTACHED_TO_CAB
{
Parame
ters:
Pa
ssed:
0@ - Car handle
Re
sult:
1@ - Attached trailer handle
Exa
mple:
if 0AB1: call_scm_func
@GET_TRAILER_ATTACHED_TO_CAB 1 from_cab
0@ store_to
1@
}
0A8D: 1@ = read_memory 0x5D4807 size 4 virtual_protect 0
0A8D: 1@ = read_memory
1@ size 4 virtual_protect 0
0A97: 0@ = car
0@ struct
0@ += 0x4C8
0A8D: 0@ = read_memory
0@ size 4 virtual_protect 0
if not
0@ == 0
then
0A8D: 2@ = read_memory
1@ size 4 virtual_protect 0
1@ += 0x4
0A8D: 3@ = read_memory
1@ size 4 virtual_protect 0
0062: 0@ -=
2@
0@ /= 0xA18
005A: 3@ +=
0@
4@ = 0
0A8D: 4@ = read_memory
3@ size 1 virtual_protect 0
0@ *= 0x100
005A: 0@ +=
4@
0485: return_true
0AB2: ret 1
0@
end
059A: return_false
0AB2: ret 1 0
Wersja tylko dla CLEO4, ale działa z każdym EXE który jest wspierany przez CLEO4 - nawet Steamowy:
Kod:
:GET_TRAILER_ATTACHED_TO_CAB
{
Parame
ters:
Pa
ssed:
0@ - Car handle
Re
sult:
1@ - Attached trailer handle
Exa
mple:
if 0AB1: call_scm_func
@GET_TRAILER_ATTACHED_TO_CAB 1 from_cab
0@ store_to
1@
}
0A97: 0@ = car
0@ struct
0@ += 0x4C8
0A8D: 0@ = read_memory
0@ size 4 virtual_protect 0
if not
0@ == 0
then
0AEB: 0@ = car_struct
0@ handle
0485: return_true
0AB2: ret 1
0@
end
059A: return_false
0AB2: ret 1 0
___________________
Moderator
Postów:
294
Dołączył:
2011-07-27
Napisano dnia: 2014-03-30 11:35:24
A wiesz może jak to "wkomponować" w poniższy kod, żeby działało zarówno jak gracz prowadzi pojazd z naczepą, jak również kiedy gra steruje takimi pojazdami z naczepami. Chodzi o coś takiego, że gdy np. robi się ciemno to gra włączając światła w ciągniku włączała by również w jego naczepie, dołączonej za pomocą tego kodu.
Kod:
{
$CLEO}
0000: TRAILER
while true
0001: wait 0 ms
4@ = #ARTICT1
068D: get_camera_position_to
1@ 2@ 3@
if 0AE2: 0@ = random_vehicle_near_point
1@ 2@ 3@ in_radius 300.0 find_next 0 pass_wrecked 1 repeat
0001: wait 0 ms
8119: not car
0@ wrecked if
or
0137: car
0@ model == #LINERUN
0137: car
0@ model == #RDTRAIN
0137: car
0@ model == #PETRO
then
0A97: 7@ = car
0@ struct
0A8E: 8@ =
7@ + 0x4A4
0A8E: 9@ =
7@ + 0x42F
0A8D: 10@ = read_memory
8@ size 1 virtual_protect 0
0A8D: 11@ = read_memory
9@ size 1 virtual_protect 0
if and
8039: not 10@ == 2
88B7: not test
11@ bit 4
09D0: car
0@ on_wheels
87AB: not trailer -1 attached_to_cab
0@
then
0247: load_model
4@
while 8248: not model
4@ available
0001: wait 0 ms
end
00A5: 6@ = create_car
4@ at 0 0 0
0893: put_trailer
6@ on_cab
0@
01C3: remove_references_to_car
6@
0249: release_model
4@
08BD: set
11@ bit 4
0A8C: write_memory
9@ size 1 value
11@ virtual_protect 0
end
end
end
until
8AE2: not 0@ = random_vehicle_near_point
1@ 2@ 3@ in_radius 300.0 find_next 1 pass_wrecked 1 end