You are not logged in.
В таком случае надо найти через Поиск опкодов (ctrl+alt+2) опкод для конкретного типа чисел (integer - целое число, float - дробное). Пример: сравнить значения дробных чисел, записанных в двух переменных. Вводим "> float", получаем:
0025: 3@ > 6@ // (float)
Offline
Это разве одно и то же? Первый скрипт будет выполняться бесконечно, второй уронит игру, как только появится игрок.
Позвольте не согласится
Почему же второй скрипт уронит игру? Потому что там нет завершения потока? Так как-бы подразумевается, что в скрипте будет что-нибудь дальше. Ну а если подразумеваем что эти куски кода - весь скрипт, то от первого в таком случае толку тоже ноль.
Конструкции repeat-until и while-end кроме того имеют одно качественное отличие. Тело первого цикла обязательно выполнится хотя бы раз, второго - в зависимости от результата проверки.
Да, только применять то надо грамотно. Ну зачем ждать 0 миллисекунд, если игрок уже существует? Вот другое дело если ждать надо N-миллисекунд...
Offline
Хорошо, вот более удачный пример - это уже завершенный скрипт.
{$CLEO} wait 0 while true repeat wait 0 until player.Defined($player_char) 010D: set_player $PLAYER_CHAR wanted_level_to 0 end
опять же неприличная запись. лучше будет
{$CLEO} while true wait 0 while player.Defined($player_char) wait 0 010D: set_player $PLAYER_CHAR wanted_level_to 0 end end
Last edited by 3Doomer (30-10-2009 18:38)
GIMS developer
Offline
опять же неприличная запись. лучше будет
А можно обосновать - чем лучше? Если в твоём варианте проверка на существование игрока не подтвердится, то получится цикл без ожидания.
Так гораздо проще понимается для кого то.
Да, многие, в том числе и я, начинали с использования меток.
Last edited by Den_spb (30-10-2009 17:53)
Offline
не могли бы вы сказать, где взять список и номера костей для опкода 09A0: ?
(09A0: actor $PLAYER_ACTOR attach_object 26@ with_offset 0.0 0.0 0.0 on_bone 5 16 perform_animation "NULL" IFP_file "NULL" time -1
)
Offline
09A0: actor $PLAYER_ACTOR attach_object $object01 with_offset 0.0 0.0 0.0 on_bone 5 16 perform_animation "NULL" IFP_file "NULL" time -1
0 - crashes the game
1 - spine 2
2 - head
3 - left upper arm
4 - right upper arm
5 - left hand
6 - right hand
7 - left thigh
8 - right thigh
9 - left foot
10 - right foot
11 - right calf
12 - left calf
13 - left fore arm
14 - right fore arm
15 - left clavicle
16 - right clavicle
17 - neck
18 - jaw
19 - crashes the game
Offline
спасибо)
Offline
хмм, наткнулся на проблему, вообщем как убрать модель, приаттаченную опкодом 070A?
пробовал и дестрой и деатач - неработает
Offline
Скриптеры, напишите, пожалуйста, все те опкоды, которые не встретишь в opcode search, а так же те, которые уже открыты, но в opcode search имеют встроенное слово unknown.
Last edited by GTASA (18-01-2010 08:25)
Offline
Скриптеры, напишите, пожалуйста, все те опкоды, которые не встретишь в opcode search
Насколько мне известно, в opcode search есть все опкоды, доступные для использования.
которые уже открыты, но в opcode search имеют встроенное слово unknown.
Находки, связанные с опкодами (unknown и проч.) публикуются здесь: http://sannybuilder.com/forums/viewtopic.php?id=38
Offline
Насколько мне известно, в opcode search есть все опкоды, доступные для использования.
не все. Alien давал опкод для того, чтобы тачка лучше стояла на колесах. А там такого нет.
Offline
по моему в твоем примере:
4 - это тип позиции;
1 - это значит попадать по тачке в которой актер стреляет или нет;
90 это точность в %.
а вот что такое radius я точно не знаю,
да и point тоже загадка!
I know everything and nothing...
Offline
За что отвечает последний параметр
05D2: AS_actor 0@ run_to_and_hijack_car 5@ max_search_radius 20.0 traffic_behavior 2
?
И почему тачка не создаётся кодом
0AB1: @mk_car 4 params model = #INFERNUS coords 2500.0 -1650.0, 50.0 store to 5@
:mk_car Model.Load(0@) while 8248: not model 0@ available wait 10 end 4@ = Car.Create(0@, 1@, 2@, 3@) Model.Destroy(0@) 0AB2: ret 1 4@
Last edited by ~AquaZ~ (09-04-2010 14:48)
Offline
Убери запятую после -1650.0 . После декомпиляции твоего кода получается вот что:
0AB1: call_scm_func @NONAME_26 4 411 2500.0 50.0 5@
Вообще иногда бывает полезно декомпилировать неисправный скрипт - возможно, он просто неправильно скомпилировался (как в данном случае)
Offline
Спасибо! Первый вопрос всё ещё открыт.
Offline