Дата: Вторник, 08.11.2011, 22:45 | Сообщение # 858
Группа: Проверенные
Сообщений: 206
Статус: Offline
Пожалуй, повторю прошлый мой вопрос. Как полностью убрать банду из определенной зоны? Я пробовал так: 076C: set_zone s$ZONE2 gang 0 density_to 0 (Я до этого сделал возможность самому ставить банды в зону, где находится игрок) Банду я после этого не встречал, но цвет этой банды остался на карте. Так как же полностью убрать банду из зоны? Чтобы ни цвета, ни мокрого места от нее не осталось, даже на карте. А вот еще. Я создал скрипт, в котором игрок может сам настроить отношения кое-какого типа к другим. То есть, просто выбор цифр. И сделал создание актеров такого типа (отношения которого настраивает игрок). Но актер почему-то не хочет делать, то, что ему сказано. Я пробовал и обычным образом (не из игры, а в программе) поставить отношения - все то же самое. Вот скрипт создания такого человека.
Code
:SpecAct wait 0 if and not actor.Dead($PLAYER_ACTOR) not actor.Driving($PLAYER_ACTOR) 0AB0: key_pressed 0x39 jf @SpecAct 04C4: store_coords_to 1@ 2@ 3@ from_actor $PLAYER_ACTOR with_offset 0.0 3.0 0.0 actor.Create(4@,15,#MALE01,1@,2@,-100.0) 018C: play_sound 1054 at 0.0 0.0 0.0 actor.RemoveReferences(4@) wait 750 jump to @SpecAct end_thread
15 - неиспользуемая банда. Что же делать? Мне очень хочется создать такую возможность, а этот глюк все портит. SCRIPTER
Дата: Вторник, 08.11.2011, 23:50 | Сообщение # 860
Группа: Пользователи
Сообщений: 8
Статус: Offline
а с вставленной кнопкой, включения\выключения будет так?:
Code
{$CLEO} wait 0 while true wait 0 0AB0: key_pressed 71 else_jump @$PLAYER.DEFINED($PLAYER_CHAR)_53 jump @$PLAYER.DEFINED($PLAYER_CHAR)_80 if player.Defined($player_char) then 02AB: set_actor $player_actor immunities BP 1 FP 0 EP 0 CP 0 MP 0
0AB0: key_pressed 71 else_jump @$PLAYER.DEFINED($PLAYER_CHAR)_53 jump @$PLAYER.DEFINED($PLAYER_CHAR)_80 wait 0 while true wait 0 if player.Defined($player_char) then 02AB: set_actor $player_actor immunities BP 0 FP 0 EP 0 CP 0 MP 0 end end
Если применяются команды перехода на метку (jump @metka, jf @metka, else_jump @metka ...), то в коде должна присутствовать соответствующая метка. А вообще лучше обходиться без меток или использовать их только с gosub. Что касается кода, то я бы написал его так:
Code
{$CLEO} wait 0 while true repeat wait 0 until 0AB0: 71 if player.Defined($player_char) then 02AB: set_actor $player_actor immunities BP 1 FP 0 EP 0 CP 0 MP 0 end 0ACD: show_text_highpriority "immunity on" time 2000 repeat wait 0 until 8AB0: 71 repeat wait 0 until 0AB0: 71 if player.Defined($player_char) then 02AB: set_actor $player_actor immunities BP 0 FP 0 EP 0 CP 0 MP 0 end 0ACD: show_text_highpriority "immunity off" time 2000 repeat wait 0 until 8AB0: 71 end
А выходы есть какие либо? ведь в рунете куча скриптов(работающих в мультиплеере) на полный ГМ...сколько не пробывал, не получается из них выудить лишь то что надо....
Den_spb, я имел в виду не приказы от игрока, а команды, применяемые к типам людей. опкод 0746 0746: set_acquaintance $RELATIONSHIP of_actors_pedtype 15 to_actors_pedtype $TYPE Это строка из моего скрипта, который изменяет отношения. Но именно это и не работает. 15 - неиспользуемая банда, но не та, что подчиняется игроку. Странно, ведь такой опкод всегда работал нормально. Например: 0746: set_acquaintance 4 of_actors_pedtype 7 to_actors_pedtype 0 SCRIPTER