You are not logged in.
Pages: 1
Здравствуйте. Весь интернет обшарил, для 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 пишет внутрь сохранения, а я этого не хочу.
Offline
Это не CLEO пишет внутрь сохранения, это особенность работы опкодов 014B. Эти парковки создаются при старте игры и действуют на всем ее протяжении. При сохранении игры парковки в числе прочих объектов - сохраняются.
Если вам нужно создавать машины без сохранения, используйте опкод 00A5
Примеры того, как это сделать, можно найти на форуме, вот сходу пару ссылок
http://sannybuilder.com/forums/viewtopi … 810#p11810
http://sannybuilder.com/forums/viewtopic.php?id=1514
http://sannybuilder.com/forums/viewtopi … 7030#p7030
Offline
Спасибо, 00A5 помогло
Last edited by oleg_berezov (25-07-2013 17:18)
Offline
Теперь другая проблема. Если я покатаюсь на заспауненой скриптом машине, а потом брошу, то она не пропадает, а будет стоят на том же месте, если я сохраню и загружу игру. Т.е. опять пишет в сэйв.
Говорят, надо использовать опкод 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Не уверен, но возможно она просто пропадает до того, как я до нее доехал.
Last edited by oleg_berezov (28-07-2013 08:29)
Offline
@oleg_berezov -
она просто пропадает до того, как я до нее доехал.
да, так и есть.
надо сделать проверку на то, сел ли игрок в машину, если да, то сделать 01С3 и перейти в начало скрипта на создание машины или завершить скрипт.
{$CLEO .cs}
:LOAD
0247: request_model #STINGER
038B: load_requested_models
:CREATE
wait 0 ms
00D6: if
0248: model #STINGER available
004D: jump_if_false @CREATE
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
while true
wait 250
if
0256: player $PLAYER_CHAR defined
then
if
00DB: actor $PLAYER_ACTOR in_car 0@
then
01C3: remove_references_to_car 0@
break
end
end
end
//wait 25000
//jump @LOAD
05DC: end_custom_thread
Last edited by Seemann (28-07-2013 10:07)
Offline
Ваш код не компилировался из-за неправильного синтаксиса, вероятно он для SA.
Player.Defined($PLAYER_CHAR) заменил на 0256: player $PLAYER_CHAR defined
И после двух end-ов добавил еще один.
Проверил, вроде работает. Машины не спаунятся без скрипта и не сохраняются, если бросить их.
Спасибо большое.
Offline
@oleg_berezov - да, писал на ходу, забыл что в GTA3 классов то и нет)) верные замечания. рад, что получилось
Offline
А я в Vice City так делаю, для спавна самолетов MVL:
{$CLEO .cs}
0000:
while true
wait 0
if
00F5: player $player_char 0 -1525.995 -1343.5867 14.8445 radius 275.0 275.0 275.0
then
if or
8248: not model 6091 available
8248: not model 6092 available
8248: not model 6093 available
8248: not model 6094 available
then
Model.Load(6091)
Model.Load(6092)
Model.Load(6093)
Model.Load(6094)
038B: load_requested_models
end
2@ = Car.Create(6091, -1525.995, -1343.5867, 14.8445)
//01C3: remove_references_to_car 2@
3@ = Car.Create(6092, -1550.8831, -1366.282, 14.8445)
//01C3: remove_references_to_car 3@
4@ = Car.Create(6093, -1474.1169, -1332.1602, 14.8687)
//01C3: remove_references_to_car 4@
5@ = Car.Create(6094, -1431.2992, -1323.0088, 14.8456)
//01C3: remove_references_to_car 5@
0249: release_model 6091
0249: release_model 6092
0249: release_model 6093
0249: release_model 6094
while 00F5: player $player_char 0 -1525.995 -1343.5867 14.8445 radius 275.0 275.0 275.0
wait 0
end
01C3: remove_references_to_car 2@
01C3: remove_references_to_car 3@
01C3: remove_references_to_car 4@
01C3: remove_references_to_car 5@
end
end
Offline
Seemann, теперь после сохранения и загрузки тачки спаунятся одна на другой слоями 
Т.е. нужно удалять уникальность сразу после спауна.
Sergey81, я как раз думал насчет спауна тачек, когда игрок входит в зону определенного радиуса.
Спасибо за пример. Может быть для полной уверенности машины стоит разрушать, когда игрок выходит из радиуса?
Простой спаун авто, а столько головной боли 
Last edited by oleg_berezov (28-07-2013 12:48)
Offline
@oleg_berezov - После опкода 01C3: remove_references_to_car, игра сама все сделает, т.к. радиус большой в моём примере.
Last edited by Sergey81 (28-07-2013 12:49)
Offline
Спасибо. Вроде работает, сейчас тестирую.
{$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
Last edited by oleg_berezov (28-07-2013 14:05)
Offline
Pages: 1