Четверг, 25.04.2024, 04:25
Качественные скрипты, моды и дополнения для GTA без регистрации
Главная Регистрация Вход
Приветствую Вас, Гость · RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Форум » Игры серии ГТА » Скриптинг » Вопросы по созданию КЛЕО-скриптов (Вопросы по опкодам, кодингу и др.)
Вопросы по созданию КЛЕО-скриптов
ILYALIONДата: Среда, 01.06.2011, 17:02 | Сообщение # 646
Группа: Проверенные
Сообщений: 325
Статус: Offline
Просто я установил электрички на новые id, а handling использую от стандартных поездов, поэтому не могу зайти. Выкинет ли водителя из этой электрички, если я телепортируюсь в неё таким способом?
 
Den_spbДата: Среда, 01.06.2011, 17:20 | Сообщение # 647
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
Вроде есть инструмент для добавления новых handling - Handling adder.
Если писать скрипт, то перед телепортацией игрока надо убирать водителя (удалять или переносить в другое место).
 
ILYALIONДата: Среда, 01.06.2011, 17:38 | Сообщение # 648
Группа: Проверенные
Сообщений: 325
Статус: Offline
Вот моя версия
Но игра зависает при создании моей электрички. И, по-моему, можно попроще.

Добавлено (01.06.2011, 17:38)
---------------------------------------------

Quote (Den_spb)
Вроде есть инструмент для добавления новых handling - Handling adder.
Там написано, что он предназначен только для автомобилей, а у меня поезда
 
Den_spbДата: Четверг, 02.06.2011, 06:40 | Сообщение # 649
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
Quote (ILYALION)
И, по-моему, можно попроще.
Конечно можно:
Code
{$CLEO}
wait 0
while true
      wait 0
      if
          not player.defined($player_char)
      then
          continue
      end
      if and
          not actor.Driving($PLAYER_ACTOR)
          0AB0: key 84 pressed
      then
          0AB5: store_actor $PLAYER_ACTOR closest_vehicle_to 1@ closest_ped_to 2@
          if
              1@ <> -1
          then
              046C: 2@ = car 1@ driver   
              if
                  056D:   actor 2@ defined   
              then
                  009B: destroy_actor 2@    
              end
              036A: put_actor $PLAYER_ACTOR in_car 1@
          end
      end             
end
 
ILYALIONДата: Пятница, 03.06.2011, 10:36 | Сообщение # 650
Группа: Проверенные
Сообщений: 325
Статус: Offline
Вот что у меня получилось с длинными поездами:
Нет ли ошибок?


Сообщение отредактировал ILYALION - Пятница, 03.06.2011, 10:37
 
Den_spbДата: Пятница, 03.06.2011, 12:40 | Сообщение # 651
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
Code
if and  
10@ == 12  
10@ == 15
Число не может быть одновременно равно и 12, и 15, поэтому данное условие никогда не выполнится.
0A93: надо поставить после end, иначе, если условие не выполнится и поезд не будет создан, то игра вылетит из-за того, что команда 0A93: не была выполнена.
 
ILYALIONДата: Пятница, 03.06.2011, 13:11 | Сообщение # 652
Группа: Проверенные
Сообщений: 325
Статус: Offline
А как тогда сделать, чтобы переменная была или 12, или 15-поставить if or?

Добавлено (03.06.2011, 13:11)
---------------------------------------------
Я хочу, чтобы прицеплялись поезда 12 или 15 типа

 
Den_spbДата: Пятница, 03.06.2011, 23:23 | Сообщение # 653
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
В твоём варианте случайное число выберется только один раз, после чего код завершится. Чтобы выбор случайного числа повторялся до тех пор, пока не будет выбрано значение 12 или 15, нужно использовать цикл:
Code
repeat
     0209: 10@ = random_int_in_ranges 12 16  
     if or  
         10@ == 12  
         10@ == 15
     then
         break
     end
until false
Можно обойтись и без цикла:
Code
0209: 10@ = random_int_in_ranges 0 2  
if
     10@ == 0
then
     10@ = 12
else
     10@ = 15
end
 
ILYALIONДата: Суббота, 04.06.2011, 12:56 | Сообщение # 654
Группа: Проверенные
Сообщений: 325
Статус: Offline
Вот окончательный вариант скрипта. Вторая часть создаётся в зависимости от того, где находится 1я часть.

Всё ли правильно?
 
Den_spbДата: Суббота, 04.06.2011, 13:19 | Сообщение # 655
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
Вроде всё правильно.
Что можно оптимизировать:
1)Опкод 038B: load_requested_models предназначен для неотложной загрузки моделей. Если он присутствует в коде, то проверки на загруженность моделей можно убрать.
2)Нет необходимости ставить команду ожидания wait после каждой метки (относится к :PROBA2 и :PRIZEP). Вообще этот кусок:
Code
if  
11@ == 2 // ìàðøðóò âàãîíà - tracks2.dat  
else_jump @PROBA2  

06D8: 1@ = create_train_at 53.0036 1290.4299 18.8232 type 10@ direction 1 // ñîçäà¸ì âòîðîé ïîåçä  
jump @PRIZEP  

:PROBA2  
wait 0  
if  
11@ == 3 // ìàðøðóò âàãîíà - tracks4.dat  
then  
06D8: 1@ = create_train_at 54.1672 1294.7997 18.8609 type 10@ direction 1 // ñîçäà¸ì âòîðîé ïîåçä  
jump @PRIZEP  
end  

:PRIZEP  
wait 0
можно представить проще:
Code
if  
     11@ == 2 //  - tracks2.dat  
then  
     06D8: 1@ = create_train_at 53.0036 1290.4299 18.8232 type 10@ direction 1 //   
else
     06D8: 1@ = create_train_at 54.1672 1294.7997 18.8609 type 10@ direction 1 //   
end

3)Для выбора случайного числа предпочтительнее второй вариант (без цикла)
P.S. Копируй код из txt-файла, тогда русские буквы будут отображаться нормально.
 
sexyДата: Воскресенье, 05.06.2011, 13:31 | Сообщение # 656
Группа: Пользователи
Сообщений: 23
Статус: Offline
У меня таже проблема. Только обычные люди ходят территории есть но на них банд нет. Нашел подобное на гтамапс.нет там написано что надо обьявить территорию сначала потом расставить банды. Кстати а почему бы тебе не активировать чит через память. Я активироаал но просто ничего не произошло. Не знаю почему.
 
VitalДата: Воскресенье, 05.06.2011, 15:37 | Сообщение # 657
Группа: Проверенные
Сообщений: 206
Статус: Offline
Читом не могу, мне нужны определенные банды, а с читом будут все.

SCRIPTER
 
ILYALIONДата: Понедельник, 06.06.2011, 09:52 | Сообщение # 658
Группа: Проверенные
Сообщений: 325
Статус: Offline
Den_spb, я немного изменил скрипт телепортации игрока в машину
Но телепортации не происходит.

Добавлено (06.06.2011, 09:52)
---------------------------------------------
В скрипте с длинными поездами на внутреннем пути всё прицепляется нормально, а на внешнем-нет. Сначала поезд прицепился не к последнему вагону, а к третьему, в результате чего произошло слияние двух поездов. Потом поезд вообще не прицепился. Вот код

В чём проблема?


Сообщение отредактировал ILYALION - Понедельник, 06.06.2011, 16:57
 
sexyДата: Понедельник, 06.06.2011, 16:11 | Сообщение # 659
Группа: Пользователи
Сообщений: 23
Статус: Offline
Я смог. Коооче надо найти в мейне где написаны педтипы людей всякие красным шрифтом вроде. И ниже них писать территории.
 
VitalДата: Понедельник, 06.06.2011, 21:22 | Сообщение # 660
Группа: Проверенные
Сообщений: 206
Статус: Offline
У меня чистый мейн. Тут все немного по-другому. Повторю свой вопрос:
Можете помочь кое с чем? Я хочу, чтобы Лос Сантосом и прочими городами "правили" определенные банды. Я пытался сделать территории банд, но на них никого нету. Вообще ни одного бандита, хотя на карте территории подсвечены. Есть одна важная деталь, у меня нет людей и машин (я поставил 0.0 в соответствующих опкодах, но по идее банды должны появляться вне зависимости от этого, как, например, чит код, который ставит все банды во всем штате). Вот мой скрипт (не cleo). Если знаете, скажите, пожалуйста, что не так.


SCRIPTER
 
Форум » Игры серии ГТА » Скриптинг » Вопросы по созданию КЛЕО-скриптов (Вопросы по опкодам, кодингу и др.)
Поиск: