Вопросы по CLEO-скриптингу

hnnssy

Известный
Друг
2,684
2,754
I want to make a Car Respawn.cs

How i can respawn the car like in this .cs:
Wich RPC's i need...


Код:
:spawncar
0B35: samp 5@ = get_last_command_params
if 0AD4: 5@ = scan_string 5@ format "%d" 6@ //IF and SET
then
    if 5@ >= 0
    then
        0B3D: raknet 1@ = new_bit_stream
        0B40: raknet bit_stream 1@ write 6@ type BS_TYPE_INT size 4
        0B41: raknet send_rpc RPC_VEHICLEDESTROYED bit_stream 1@ priority PRIORITY_HIGH reliability RELIABLE_SEQUENCED ordering_channel 0 shift_timestamp false
        0B3E: raknet delete_bit_stream 1@
        0AF8: samp add_message_to_chat "[hnnssy | CMDS] {EAEAEA}Будет зареспавнено ТС с ID {00CCFF}%d" 0x00CCFF 6@
    end
end
0B43: cmd_ret
 

hnnssy

Известный
Друг
2,684
2,754
Как получить разрешение монитора? Где-то видел функцию, но сейчас не могу найти.
 

SR_team

like pancake
BH Team
4,729
6,389
Как найти хуй знает где стоящий в стриме кар не используя вызова по Id? Т.к. опкод 0AB5 ищет только рядом с игроком
 

itsLegend

Фонд борьбы за жуков 🐞
Администратор
2,696
1,463
Как найти хуй знает где стоящий в стриме кар не используя вызова по Id? Т.к. опкод 0AB5 ищет только рядом с игроком

Попробуй это:
Код:
:SearchNearestCar
var
    0@ : float // Distance
    1@ : float // Max.Dist
    10@ : float = 65535.0 // Now distance
end
 
Actor.StorePos($PLAYER_ACTOR, 4@, 5@, 6@)
 
for 2@ = 0.0 to 1@ step 0.1
    3@ = -1
    if 0AE2: 3@ = random_vehicle_near_point 4@ 5@ 6@ in_radius 2@ find_next 0 pass_wrecked 1
    jf continue
 
    if not Actor.InCar($PLAYER_ACTOR, 3@)
    jf continue
 
    Car.StorePos(3@, 7@, 8@, 9@)
    050A: 10@ = distance_between_XYZ 4@ 5@ 6@ and_XYZ 7@ 8@ 9@
    if 10@ < 0@
    jf continue
    break
end
0AB2: 1 3@

Код:
0AB1: @SearchNearestCar 2 Distance 15.0 MaxDist 15.1 ret_h 0@
if 0@ <> -1
then
end
 

SR_team

like pancake
BH Team
4,729
6,389
Если ты про это.
Код:
0AE2: 3@ = random_vehicle_near_point 0@ 1@ 2@ in_radius 100.0 find_next 1 pass_wrecked 1

Попробуй это:
Код:
:SearchNearestCar
var
    0@ : float // Distance
    1@ : float // Max.Dist
    10@ : float = 65535.0 // Now distance
end
 
Actor.StorePos($PLAYER_ACTOR, 4@, 5@, 6@)
 
for 2@ = 0.0 to 1@ step 0.1
    3@ = -1
    if 0AE2: 3@ = random_vehicle_near_point 4@ 5@ 6@ in_radius 2@ find_next 0 pass_wrecked 1
    jf continue
 
    if not Actor.InCar($PLAYER_ACTOR, 3@)
    jf continue
 
    Car.StorePos(3@, 7@, 8@, 9@)
    050A: 10@ = distance_between_XYZ 4@ 5@ 6@ and_XYZ 7@ 8@ 9@
    if 10@ < 0@
    jf continue
    break
end
0AB2: 1 3@

Код:
0AB1: @SearchNearestCar 2 Distance 15.0 MaxDist 15.1 ret_h 0@
if 0@ <> -1
then
end

Спасибо Вам!
Но как радиус заставить писаться с метки 2@? Пишу нужные мне 1199.9 - все норм, а пишу 1@ = 1199.8 - воспринимает как будто бы в 1@ записан 0


В общем, пока юзаю так:
Код:
0AB5: store_actor $PLAYER_ACTOR closest_vehicle_to 0@ closest_ped_to $4
00D6: if
856E:  not car 0@ defined
004D: jump_if_false @LabelDon1     
00A0: store_actor $PLAYER_ACTOR position_to 27@ 28@ 29@
0AE2: 0@ = random_vehicle_near_point 27@ 28@ 29@ in_radius 1200.0 find_next 0 pass_wrecked 1 
00D6: if
056E:  car 0@ defined
004D: jump_if_false @Label2027
:LabelDon1
 

SR_team

like pancake
BH Team
4,729
6,389
Как узнать оффсет позиции на которую бежит игрок, если его передвижение мной не контролируется? И если мне не изменяет память, то был ноп угла поворота игрока, можно ли не много изменив его передать серверу свой угол поворота?