Популярные страницы сайта: скачать GTA: San Andreas на Андроид, iPhone, iPad, ПК, читы и коды.

Перейти к содержимому


Фото

Обсуждение и публикация Cleo-скриптов


  • Авторизуйтесь для ответа в теме
2710 ответов в этой теме

#2701 svyatogor2007

svyatogor2007

    Уважаемый

  • Members
  • PipPipPipPip
  • 280 сообщений
  • Регистрация 29.01.2008

Отправлено 16 Январь 2018 - 22:09

В общем разобрался я, что за фигня с сохранением потока, вопрос возник, можно как то задать проверку, создан буфер памяти или нет? Походу вылет из-за того, что скрипт пытается обратиться к несуществующей памяти. 



#2702 kenking

kenking

    Скриптер

  • Modmakers
  • PipPipPipPipPipPip
  • 1 909 сообщений
  • Регистрация 19.02.2009
  • Страна:

Отправлено 17 Январь 2018 - 06:40

Буфер создаётся при запуске скрипта. Скрипт запускается после старта игры. Буфер в сохранение не записывается. При другом старте игры создаётся другой буфер и он будет пустым пока не запишешь туда данные. Тебе надо использовать либо локальные переменные (как это было сделано в моём скрипте), но их количество ограничено, либо использовать глобальные переменные var (как в том примере, что ты изначально показывал), либо записывать данные в ini файл (подобный скрипт в сети тоже был), а при старте другой игры считывать данные оттуда в переменные и дальше записывать в буфер.


Понравился скрипт - отсыпь поинтов

0_12e0d6_afb2eb5e_orig.png


#2703 svyatogor2007

svyatogor2007

    Уважаемый

  • Members
  • PipPipPipPip
  • 280 сообщений
  • Регистрация 29.01.2008

Отправлено 17 Январь 2018 - 15:27

Буфер создаётся при запуске скрипта. Скрипт запускается после старта игры. Буфер в сохранение не записывается. При другом старте игры создаётся другой буфер и он будет пустым пока не запишешь туда данные. 

 

В том то и дело. Не создается буфер при другом старте. Поток стартует там, где закончился и проскакивает метку создания буфера, даже если ее поставить до старта потока. То что буфер будет пустой при старте я понимаю, просто думал, что бы при старте скрипта скидывать данные из ini файла в буфер, а потом уже пользоваться им, ибо он работает быстрее, да и лишних строк кода нет. Если постоянно ini файл записывать/читать, скрит тут же вдвое разростется, плюс глюки если что-то не успеет записаться, прочитаться. В общем вариант так себе, уже проверил. Вот поэтому и думал, дать скрипту понять, что он только что стартовал и ему надо пересоздать буфер. Глобальные переменные тоже не хочу использовать, по сути мне в буфере хранить только номера деталей тюнинга, тогда можно некоторые настройки прикрутить через тот-же ini, и переменных остается как раз, что бы сохранить прицеп.



#2704 kenking

kenking

    Скриптер

  • Modmakers
  • PipPipPipPipPipPip
  • 1 909 сообщений
  • Регистрация 19.02.2009
  • Страна:

Отправлено 17 Январь 2018 - 15:36

Я имел ввиду не загрузку другого (или этого же) сохранения повторно или начало новой игры, а выход из игры полностью и запуск игры опять. Тогда буфер создастся заново. 
 


Понравился скрипт - отсыпь поинтов

0_12e0d6_afb2eb5e_orig.png


#2705 svyatogor2007

svyatogor2007

    Уважаемый

  • Members
  • PipPipPipPip
  • 280 сообщений
  • Регистрация 29.01.2008

Отправлено 17 Январь 2018 - 16:33

Я имел ввиду не загрузку другого (или этого же) сохранения повторно или начало новой игры, а выход из игры полностью и запуск игры опять. Тогда буфер создастся заново. 
 

 

Только что проверил. Если в скрипте стоит  0A95: enable_thread_saving , то поток сохраняется там где он был на момент сохранения. Т.е. команды

 0AC6: 0@ = label @label offset или 0AC8: 0@ = allocate_memory_size 260 не отрабатываются. Причем не важно где они стоят. Чтобы создать буфер, надо что бы поток прошелся по этим опкодам, тогда буфер создастся. Такие дела. 

Причем попытка записать данные в несуществующий буфер проскакивает, а попытка прочитать приводит к вылету. Сначала думал если перезапустить игру, переменная буфера принимает нулевое значение, но нифига, проверка 

if

0@ == 0

then

0AC6: 0@ = label @label offset не прокатила. 

В общем думаю придется отказаться от сохранения прицепов, или делать для них отдельный скрипт и потом как то пытаться прицепить прицеп из одного скрипта к машине из другого.



#2706 kenking

kenking

    Скриптер

  • Modmakers
  • PipPipPipPipPipPip
  • 1 909 сообщений
  • Регистрация 19.02.2009
  • Страна:

Отправлено 17 Январь 2018 - 16:52

А зачем тебе ставить опкод 0A95 в этом скрипте? Повторяю - буфер и его данные в сохранение не записываются. Тебе надо записать данные в ini файл. При старте скрипта считывать из ini данные в буфер и потом спокойно с этими данными работать.


Понравился скрипт - отсыпь поинтов

0_12e0d6_afb2eb5e_orig.png


#2707 svyatogor2007

svyatogor2007

    Уважаемый

  • Members
  • PipPipPipPip
  • 280 сообщений
  • Регистрация 29.01.2008

Отправлено 17 Январь 2018 - 18:01

А зачем тебе ставить опкод 0A95 в этом скрипте? Повторяю - буфер и его данные в сохранение не записываются. Тебе надо записать данные в ini файл. При старте скрипта считывать из ini данные в буфер и потом спокойно с этими данными работать.

 

Я хотел все основные данные хранить просто в переменных, а второстепенную информацию скидывать в ini. Тогда будет меньше строк кода, и не будет глюков, например игрок сохранил авто, потом сохранил игру, потом сел в авто и через сколько-то времени вылетел, ибо gta частенько этим страдает. Загрузился, а машины то и нету. Да и как выше писал, меньше циклов перезаписи, мотоциклам например вообще данные о тюнинге не нужны, лодкам и самолетам тоже. 

В общем фиг с ним с буфером, если можно как то положительно решить другое: я рядом с машиной спавню прицеп. Можно его как то захватить и прицепить к машине? В смысле, что скрипт не знает о прицепе, прицеп как бы отдельно создался.


Сообщение изменено: svyatogor2007 (17 Январь 2018 - 18:02)


#2708 kenking

kenking

    Скриптер

  • Modmakers
  • PipPipPipPipPipPip
  • 1 909 сообщений
  • Регистрация 19.02.2009
  • Страна:

Отправлено Вчера, 07:10

Если ты создаёшь прицеп в этом же скрипте, то можно сразу после создания прицепа прицепить его к тягачу. В моём скрипте для сохранения авто есть это, посмотри. Если ты создаёшь прицеп в другом скрипте, то надо "захватить" прицеп в переменную. Для этого есть несколько опкодов. Здесь почитай.


Понравился скрипт - отсыпь поинтов

0_12e0d6_afb2eb5e_orig.png


#2709 svyatogor2007

svyatogor2007

    Уважаемый

  • Members
  • PipPipPipPip
  • 280 сообщений
  • Регистрация 29.01.2008

Отправлено Вчера, 12:05

Если ты создаёшь прицеп в этом же скрипте, то можно сразу после создания прицепа прицепить его к тягачу. В моём скрипте для сохранения авто есть это, посмотри. Если ты создаёшь прицеп в другом скрипте, то надо "захватить" прицеп в переменную. Для этого есть несколько опкодов. Здесь почитай.

 

Спасиб, только уже разобрался. Мне только под вечер вчера мысля пришла, что на грузовики все равно тюнинг не поставишь, соответственно можно переменные тюнинга использовать для прицепа. В общем буфер удалил, скрипт переделал, теперь с сохранением проблем нет, правда скрипт потолстел, уже за 30кб весит  :facepalm:

------- Добавлено:

У меня уже реально мозги кипят, но я не понимаю что можно сделать. В общем разобрался со всем, прицепы сделал, сохранения сделал, вылеты победил... А нифига не победил, при попытке сохранить тягач без прицепа, игра вылетат, так как пытается узнать у него детали тюнинха. Весь вечер бьюсь, но никак не соображу, как указать скрипту, что тюнинга тут быть не может, или придется все модели указывать в скрипте?


Сообщение изменено: svyatogor2007 (Сегодня, 00:22)


#2710 kenking

kenking

    Скриптер

  • Modmakers
  • PipPipPipPipPipPip
  • 1 909 сообщений
  • Регистрация 19.02.2009
  • Страна:

Отправлено Сегодня, 09:16

А нифига не победил, при попытке сохранить тягач без прицепа, игра вылетат, так как пытается узнать у него детали тюнинха.

Ну так а я о чём писал изначально? troll.png  Помню, что там была какая-то проблема, поэтому и сделал сохранение с тюнингом и без на разные клавиши.

 

Можно попробовать перед опкодами считывания деталей тюнинга сделать проверку считывания первого адреса для записи номеров ID деталей тюнинга в структуре транспорта. В случае нулевого значения, пропускать запись тюнинга.


Понравился скрипт - отсыпь поинтов

0_12e0d6_afb2eb5e_orig.png


#2711 Constantines

Constantines

    Наемник

  • Members
  • Pip
  • 28 сообщений
  • Регистрация 29.05.2017

Отправлено Сегодня, 13:09

Всем привет. А есть какой скрипт на добавление новых полицейских машин. коп+ не предлагать. нужно что бы менты катались на новых, а не я. Мои поиске в яндексе пока ни к чему не привели. Нашел DLC BigCop ща потестим.


Сообщение изменено: Constantines (Сегодня, 13:13)





4 посетителей читают эту тему

1 пользователей, 3 гостей, 0 скрытых