#1 Re: Вопросы по скриптингу » Помогите с парковкой в III » 28-07-2013 13:30

Спасибо. Вроде работает, сейчас тестирую.


{$CLEO .cs}
0000:

while true
wait 0
if
00F5:   player $player_char 0 1242.8705 -112.5124 14.4031 radius 175.0 175.0 175.0 
then
0002: jump @LOAD 
 
:LOAD
0247: request_model #STINGER
038B: load_requested_models

:CREATE
00D6: if 
0248: model #STINGER available 
004D: jump_if_false @CREATE
   
00A5: 0@ = create_car #STINGER at 1242.8705 -112.5124 14.4031
0175: set_car 0@ z_angle_to 90.0
0249: release_model #STINGER

while 00F5:   player $player_char 0 1242.8705 -112.5124 14.4031 radius 175.0 175.0 175.0
wait 0
end 
    01C3: remove_references_to_car 0@   
    end
end

#2 Re: Вопросы по скриптингу » Помогите с парковкой в III » 28-07-2013 12:40

Seemann, теперь после сохранения и загрузки тачки спаунятся одна на другой слоями smile
Т.е. нужно удалять уникальность сразу после спауна.
Sergey81, я как раз думал насчет спауна тачек, когда игрок входит в зону определенного радиуса.
Спасибо за пример. Может быть для полной уверенности машины стоит разрушать, когда игрок выходит из радиуса?

Простой спаун авто, а столько головной боли smile

#3 Re: Вопросы по скриптингу » Помогите с парковкой в III » 28-07-2013 09:58

Ваш код не компилировался из-за неправильного синтаксиса, вероятно он для SA.

Player.Defined($PLAYER_CHAR) заменил на 0256:   player $PLAYER_CHAR defined
И после двух end-ов добавил еще один.

Проверил, вроде работает. Машины не спаунятся без скрипта и не сохраняются, если бросить их.
Спасибо большое.

#4 Re: Вопросы по скриптингу » Помогите с парковкой в III » 28-07-2013 08:18

Теперь другая проблема. Если я покатаюсь на заспауненой скриптом машине, а потом брошу, то она не пропадает, а будет стоят на том же месте, если я сохраню и загружу игру. Т.е. опять пишет в сэйв.
Говорят, надо использовать опкод 01С3 для снятия "уникальности", но с ним машина не появляется:


{$CLEO .cs}

 wait 0 ms

:LOAD
0247: request_model #STINGER
038B: load_requested_models

:CREATE
wait 0 ms
00D6: if 
0248: model #STINGER available 
004D: jump_if_false @LOAD
   
00A5: 0@ = create_car #STINGER at 882.695 -219.8703 3.0283
0175: set_car 0@ z_angle_to 0.0
0249: release_model #STINGER
01C3: remove_references_to_car 0@ // с этой строкой машина не спаунится. Если убрать, то машина будет уникальной

05DC: end_custom_thread

Не уверен, но возможно она просто пропадает до того, как я до нее доехал.

#6 Вопросы по скриптингу » Помогите с парковкой в III » 25-07-2013 12:54

oleg_berezov
Replies: 10

Здравствуйте. Весь интернет обшарил, для gta 3 нормального примера не нашел, все для SA.
Просто хочу, чтобы в опредленных координатах спаунились тачки.
Вот что смог сделать на основе некоторых постов и строк из MAIN.SCM:

{$CLEO .cs}

014B: 0@ = init_parked_car_generator #CHEETAH -1 -1 0 alarm 100 door_lock 0 0 10000 at -789.106 302.7411 49.0594 angle -30.0
014C: set_parked_car_generator 0@ cars_to_generate_to 101

014B: 1@ = init_parked_car_generator #CHEETAH -1 -1 0 alarm 100 door_lock 0 0 10000 at 1242.8705 -112.5124 14.4031 angle 90.0
014C: set_parked_car_generator 1@ cars_to_generate_to 101

014B: 2@ = init_parked_car_generator #CHEETAH -1 -1 0 alarm 100 door_lock 0 0 10000 at 167.8421 -1254.3971 32.2764 angle 90.0
014C: set_parked_car_generator 2@ cars_to_generate_to 101

05DC: end_custom_thread

Машины спаунятся, все отлично.
Меня напрягает единственная проблема:
если я сохраню игру с этим скриптом, потом удалю скрипт из папки с игрой, потом загружу
сохраненную игру, то машины все равно будут стоят на тех местах.
Т.е. CLEO пишет внутрь сохранения, а я этого не хочу.

Board footer

Powered by FluxBB