Lua [ARZ] Заметки на торговых лавках [ UPD 04.11.24 ]

Буцефал

Известный
Автор темы
38
49
Версия SA-MP
  1. 0.3.7 (R1)
  2. 0.3.7-R2
  3. 0.3.7-R3
  4. 0.3.7-R4
  5. 0.3.7-R5
Вы когда-нибудь задумывались, как, в поисках выгодных товаров, не сбиться при просмотре сотни лавок напротив ЦР ( или на ЦР 🫤 )? Или же устали по памяти искать, в какой лавке был самый дешёвый уголь или ассортимент какой лавки вы уже просматривали?

Этот скрипт позволяет добавлять заметки к лавкам.

/flavka [ID] [Текст] — добавление кастомной заметки к выбранной лавке. Пример: /flavka 123 Выгодная скупка железа.
/flavka [ID] 0 — удаление заметки у выбранной лавки.
/fdistance [N] — изменение дистанции видимости кастомного текста. Стандартное значение — 40 метров.
/infolavka — отключить/включить информационные сообщения о включении/выключении заметки.

/fcheck [Текст] или /fcheck [Текст] [N] — изменение текста и дистанции видимости заметок у просмотренных лавок. ( по стандарту "Просмотрено" и 10 метров )
/fcheck 0 — отключение функции "Просмотрено", так-же удаляет ранее созданные заметки у просмотренных лавок ( не кастомных ).


  • Удаление заметок:
    Теперь команда /flavka [ID] 0 удаляет заметку для указанной лавки.
  • Добавлено переключение файлов сохранение заметок в зависимости от IP сервера ( Vicecity и родной )
    • Сервер Vicecity использует файл customTextVC.txt.
    • Все остальные сервера используют файл customText.txt.
  • Убрал возможность помечать лавку как "просмотренную" в моменте когда владелец редактирует товар.
  • Сохранения 🔥:
    В папке moonloader создаётся папка Flavka, в которой находятся два файла:
    • config.txt — хранит настройки, по типу дистанции видимости, состояние "информационных" сообщений, "триггеров".
    • customText.txt — содержит список заметок, созданных через команду /flavka [ID] [TEXT], а также новых "просмотренных" лавок.
  • Просмотренные лавки:
    При приближении к лавке и нажатии ALT она помечается как "Просмотренная", и появляется текст "Просмотрено".

    6uKZvrV.png


  • Изменение текста для просмотренных лавок:
    Командой /fcheck [TEXT] можно установить текст для "Просмотренной" лавки, а также установить дистанцию отображения с помощью /fcheck [TEXT] [N], где N — новая дистанция.

    c9eEbEf.png


  • Отключение системы заметок "Просмотрено":
    Чтобы полностью отключить эту функцию, достаточно ввести команду /fcheck 0, что также удалит метки ранее просмотренных лавок.

    eg7Nj4p.png


  • Приоритет кастомных текстов:
    Если на лавке есть "Кастомный" текст, текст "Просмотрено" не будет отображаться. Если лавка уже "Просмотренная", то вместо текста "Просмотрено" появится "Кастомный" текст, так как он важнее.

Версия 1.1.​

  1. Сделал переключение заметок на "активна/неактивна", когда вы вышли с зоны прорисовки, зашли в интерьер, или игрок убрал лавку/вышел с игры. В чате могут отображаться информационные сообщения про отключение/включение как на скриншоте ниже:
    abClpID.png
    Если они вас раздражают, можете отключить/включить их - /infolavka ( или поменять в коде local infoMessagesEnabled = true true на false ( пока я не разберусь с inicfg ))
  2. Добавил проверку, на "владельца" лавки. Грубо говоря, вы записываете заметку по иду лавки, и нику игрока. Что-то одно с этого меняется - заметка отключается.
  3. Что-бы сбавить нагрузку, сделал интервал обновление 3д текстов с лавками/никами игроков, по стандарту стоит на 10 секундах ( 10000 мс ).

Как узнать ИД лавки? — подходим к лавке, cнизу видим надпись "Лавка №123". 123 — и есть номер ( ID ) лавки.

BlRvg77.png


Пишем команду /flavka 123 ТЕКСТ.

XNKkfvr.png


Можем изменить дистанцию прорисовки ( хз будет ли считаться читом? — скорее нет, чем да, преимуществ не дает )

hvvMBBz.png


Как выглядит напротив ЦР на ВС.

BgeYBwP.png


Внутри ЦР

0jp5fkg.png

.
 

Вложения

  • flavka.lua
    13.9 KB · Просмотры: 48
Последнее редактирование:

Vespan

loneliness
Проверенный
2,133
1,755
Ура что-то новое кроме сраных перезаливов ARZ TRILOGY 😇

Идея так то не плохая, но можно и попробывать автомизировать - к примеру если скрипт увидел большинство товаров из тюнинга для авто то предложит название "тюнинг для авто", много скинов "скины". Желательно с настройкой юзера добавлять, редактировать % из всех товаров, модели(или другой способ проверки предметов, можно парсер пробывать(все предметы парсить и запоминать название предмета))

Сохранение, вдруг "внезапно" крашнет(как не обычно для арз), токо сохранение сверять по координатам лавки, 3д тексту, нику и модели лавки на всякий а то будет присваивать заметку совсем на другую лавку где уже другой игрок с другими предметами

Да и можно если открыть чат и навестись курсором на заметку то высветится окно где все предметы игрока когда в последний раз проверял лавку
(такое можно спарсить через приложение GLOVO если только на ЦР)
 

Буцефал

Известный
Автор темы
38
49
Ура что-то новое кроме сраных перезаливов ARZ TRILOGY 😇

Идея так то не плохая, но можно и попробывать автомизировать - к примеру если скрипт увидел большинство товаров из тюнинга для авто то предложит название "тюнинг для авто", много скинов "скины". Желательно с настройкой юзера добавлять, редактировать % из всех товаров, модели(или другой способ проверки предметов, можно парсер пробывать(все предметы парсить и запоминать название предмета))

Сохранение, вдруг "внезапно" крашнет(как не обычно для арз), токо сохранение сверять по координатам лавки, 3д тексту, нику и модели лавки на всякий а то будет присваивать заметку совсем на другую лавку где уже другой игрок с другими предметами

Да и можно если открыть чат и навестись курсором на заметку то высветится окно где все предметы игрока когда в последний раз проверял лавку
(такое можно спарсить через приложение GLOVO если только на ЦР)
Согласен с тобой, скрипт сыроват. Как минимум, огромный минус, что ИД лавки меняется, если владелец удалит её и кто-то новый поставит. Привязка по нику продавца и/или координатам действительно поможет решить этот трабл, чтобы заметка автоматически удалялась при изменении владельца или появлялась если игрок с таким ником снова выставит лавку ( логично же, что скорее всего, товар у него будет тот-же ).
Что касается остальных функций, которые ты предложил - они реально крутые и полезные. Но моих, громко говоря, "навыков" работы с Lua пока не достаточно, чтобы реализовать это..
Однако, привязку по нику и/или координатам попробую внедрить в ближайшее время.
А и config c ником/идом/текстом на случая краша тоже, думаю, осилю. Хорошая идея!

*** Скрытый текст не может быть процитирован. ***
*** Скрытый текст не может быть процитирован. ***
Не знаю для кого скрытый текст, но если для меня, то ничего не отображается 🤓
 

Balancik

Новичок
22
2
Скрипт хороший, потдерживаю мнение Vepan-a, мне кажется если делать сохранение то по никам
 

Буцефал

Известный
Автор темы
38
49
Скрипт хороший, потдерживаю мнение Vepan-a, мне кажется если делать сохранение то по никам
Coming soon..
EvFnyCR.png


Новая версия.

  1. Сделал переключение заметок на "активна/неактивна", когда вы вышли с зоны прорисовки, зашли в интерьер, или игрок убрал лавку/вышел с игры. В чате могут отображаться информационные сообщения про отключение/включение как на скриншоте ниже:
    abClpID.png
    Если они вас раздражают, можете отключить/включить их - /infolavka ( или поменять в коде local infoMessagesEnabled = true true на false ( пока я не разберусь с inicfg ))
  2. Добавил проверку, на "владельца" лавки. Грубо говоря, вы записываете заметку по иду лавки, и нику игрока. Что-то одно с этого меняется - заметка отключается.
  3. Что-бы сбавить нагрузку, сделал интервал обновление 3д текстов с лавками/никами игроков, по стандарту стоит на 10 секундах ( 10000 мс ).
В общем, да, не всё получилось как задумывал, или как предлагали. Не разобрался с конфигами, в конце задался вопросом стоит ли? Намудрил так, что на ЦР, с цикличным рендрингом 3д текстов было 8 фпс..
Поэтому немного поубавил аппетит и сделал просто, что-то получше чем первая версия..
 
Последнее редактирование:
  • Нравится
Реакции: LIIKOJIOTA

admin20001

Известный
146
114
Напрашивается идея переработать этот скрипт и сделать из него заметки которые игроки будут оставлять на земле, эти заметки будут видны другим игрокам. Помимо заметок для лавок, можно будет оставлять сообщения на АБ по типу "Пишите в ТГ, продам порш 911".

В теории можно с вики интегрировать заявки из раздела транспорт, и расположить их на АБ в ряд.

И интерактивную карту с заметками из игры - на сайте тоже можно сделать, чтоб не бегать по всей ГТА )
 
Последнее редактирование:
  • Нравится
Реакции: Буцефал и Vespan

JustFedot

Известный
334
340
Но моих, громко говоря, "навыков" работы с Lua пока не достаточно
Как идея скрипт отличный. Неплохо было бы завязать логику заметок на сервер, и сделать то что предложил человек выше.
Но у меня сразу в голове вопросы к безопасности и защите от спама, но так как я этого делать не буду, то и головная боль не моя.
С сохранением я могу помочь, у меня есть кастом решение, получше inicfg. Можешь отписать мне в ТГ, если интересует.
И мой тебе совет: Избавься от конструкции "goto", тем более внутри цикла... Оно там не нужно в принципе, и выглядит колхозно к тому же.

Ты писал насчёт цикличной отрисовки 3d текста, не совсем понял зачем оно вообще нужно.
Существуют же ивенты на создание\уничтожение\изменение 3d текстов. Можно избавиться от нескольких ненужных циклов. Тот же Samp Events ты подключил, но нигде его не используешь.
В общем если желание будет, пиши, доработаем. (за тебя я ничего делать не буду, но готов подсказать, показать и научить)
 

Буцефал

Известный
Автор темы
38
49
Напрашивается идея переработать этот скрипт и сделать из него заметки которые игроки будут оставлять на земле, эти заметки будут видны другим игрокам. Помимо заметок для лавок, можно будет оставлять сообщения на АБ по типу "Пишите в ТГ, продам порш 911".

В теории можно с вики интегрировать заявки из раздела транспорт, и расположить их на АБ в ряд.

И интерактивную карту с заметками из игры - на сайте тоже можно сделать, чтоб не бегать по всей ГТА )
Спасибо за отзыв. В целом, идеи интересные, но, как подметил JustFedot, встанет вопрос о защита от спама, неадекватных заметок других, необходимости и т.д..
В теории можно дать customText.txt другу, и он увидит твои заметки. Пока-что так.. 😉

Как идея скрипт отличный. Неплохо было бы завязать логику заметок на сервер, и сделать то что предложил человек выше.
Но у меня сразу в голове вопросы к безопасности и защите от спама, но так как я этого делать не буду, то и головная боль не моя.
С сохранением я могу помочь, у меня есть кастом решение, получше inicfg. Можешь отписать мне в ТГ, если интересует.
И мой тебе совет: Избавься от конструкции "goto", тем более внутри цикла... Оно там не нужно в принципе, и выглядит колхозно к тому же.

Ты писал насчёт цикличной отрисовки 3d текста, не совсем понял зачем оно вообще нужно.
Существуют же ивенты на создание\уничтожение\изменение 3d текстов. Можно избавиться от нескольких ненужных циклов. Тот же Samp Events ты подключил, но нигде его не используешь.
В общем если желание будет, пиши, доработаем. (за тебя я ничего делать не буду, но готов подсказать, показать и научить)
Спасибо за отзыв. Я пытался делать заметки, меняя 3Д текст "Лавка №ХХ" на "Лавка №ХХ Текст заметки" через sampCreate3dTextEx. Это выглядит чуть круче, чем метод renderFontDrawText который сейчас, но на Vice City были "краши", когда и так много 3Д текстов, так еще и скрипт создавал свои. Мягко говоря, для меня эти методы - головная боль . И если 3Д текст уже изменен через sampCreate3dText или sampCreate3dTextEx, он останется таким даже после удаления скрипта, пока ты не перезайдешь на сервер. А sampDestroy3dText удалит его полностью.

Новая версия.

С основного:
  • Сохранения 🔥:
    В папке moonloader создаётся папка Flavka, в которой находятся два файла:
    • config.txt — хранит настройки, по типу дистанции видимости, состояние "информационных" сообщений, "триггеров".
    • customText.txt — содержит список заметок, созданных через команду /flavka [ID] [TEXT], а также новых "просмотренных" лавок.
  • Просмотренные лавки:
    При приближении к лавке и нажатии ALT она помечается как "Просмотренная", и появляется текст "Просмотрено".

    6uKZvrV.png


  • Изменение текста для просмотренных лавок:
    Командой /fcheck [TEXT] можно установить текст для "Просмотренной" лавки, а также установить дистанцию отображения с помощью /fcheck [TEXT] [N], где N — новая дистанция.

    c9eEbEf.png


  • Отключение системы заметок "Просмотрено":
    Чтобы полностью отключить эту функцию, достаточно ввести команду /fcheck 0, что также удалит метки ранее просмотренных лавок.

    eg7Nj4p.png


  • Приоритет кастомных текстов:
    Если на лавке есть "Кастомный" текст, текст "Просмотрено" не будет отображаться. Если лавка уже "Просмотренная", то вместо текста "Просмотрено" появится "Кастомный" текст, так как он важнее.
  • О "Просмотрено" ... Я пытался сделать другой триггер, который будет или считывать текстдрав в моменте открытия меню "Магазина", или же пытался через CEF, при появлении "Меню товаров / ALT действие", но что тот, что другой способы у меня работают через раз, пока-что остановился на "приближении" к лавке..
  • О "дистанциях" ... Да, тут две дистанции прорисовки, одна для "Кастомных" заметок через /flavka [ID] [TEXT], Вторая для "Просмотренных". Возможно, это не совсем логично..
 

JusTFroZ

Известный
3
1
Лучший скрипт, для рынка на ВС просто незаменим. 👍
Была бы ещё возможность прямо во время игры удалять из списка тех игроков у которых уже просмотрена лавка, или очищать список просмотренных лавок.
 
  • Bug
Реакции: Буцефал

Буцефал

Известный
Автор темы
38
49
Лучший скрипт, для рынка на ВС просто незаменим. 👍
Была бы ещё возможность прямо во время игры удалять из списка тех игроков у которых уже просмотрена лавка, или очищать список просмотренных лавок.
Да, ты прав. Я сделал команду /fcheck 0 которая, по идее, должна удалять "просмотренные", но что-то пошло не так. Заметил это только как ВС открылся. Сегодня залью "фикс". Уже тестирую..
Спасибо за отзыв.

Загрузил исправленную версию.​

Лавки, которые были просмотрены, теперь становятся "неактивными/активными". ( уже точно )
Например, вы просмотрели лавку №30 игрока Sam_Mason и затем Sam_Mason вышел из игры, а игрок Conor занял лавку №30, то любые заметки, такие как "просмотрено" или созданные через команду /flavka ID Text, будут переведены в "неактив". Если же Conor продаст/передаст лавку №30 обратно игроку Sam_Mason, то все заметки должны включиться ( при условии, что вы не создавали заметок для лавки №30 с новым владельцем ).

/fcheck 0 — отключение функции "Просмотрено", так-же удаляет ранее созданные заметки у просмотренных лавок ( не кастомных ).

Открываем скрипт через текстовый редактор, ищем строку local viewedTextColor = 0xFF90EE90, FF90EE90 — и есть кодом цвета отметки. Первые 2 символа - отвечают за прозрачность цвета:
1sHbdOt.png

Тут первый вариант - FF90EE90, 0% прозрачности.
25% прозрачности - BF90EE90
50% - 8090EE90
75% - 4090EE90
Что касается цвета, тут еще проще, копируем c палитры HEX-код, заменяем 90EE90 на другой любой цветовой код код, прибавляем в начале любой из вариантов прозрачности и сохраняем скрипт.
Например, меняем на красный. Переходим на сайт.
BinUdus.png

Открываем палитру, копируем код цвета e85c53. Открываем скрипт. Меняем строку 11, на :
local viewedTextColor = 0xBFe85c53
Где, BF=25% прозрачности, e85c53=HEX код с палитры. Сохраняем, и в игре получаем:
x9oyXhd.png
 
Последнее редактирование:
  • Нравится
Реакции: gamefixer? и JusTFroZ

Ubebelka

Новичок
5
0
Добавь возможность удаления заметок с лавок. Скрипт хороший.
 

Буцефал

Известный
Автор темы
38
49
Добавь возможность удаления заметок с лавок. Скрипт хороший.
CueTjKA.gif

Новая версия.​

  • Удаление заметок:
    Теперь команда /flavka [ID] 0 удаляет заметку для указанной лавки.
  • Добавлено переключение файлов сохранение заметок в зависимости от IP сервера ( Vicecity и родной )
    • Сервер Vicecity использует файл customTextVC.txt.
    • Все остальные сервера используют файл customText.txt.
  • Убрал возможность помечать лавку как "просмотренную" в моменте когда владелец редактирует товар.
 
  • Нравится
Реакции: Faiser и JusTFroZ
470
268
CueTjKA.gif

Новая версия.​

  • Удаление заметок:
    Теперь команда /flavka [ID] 0 удаляет заметку для указанной лавки.
  • Добавлено переключение файлов сохранение заметок в зависимости от IP сервера ( Vicecity и родной )
    • Сервер Vicecity использует файл customTextVC.txt.
    • Все остальные сервера используют файл customText.txt.
  • Убрал возможность помечать лавку как "просмотренную" в моменте когда владелец редактирует товар.
А есть список всех заметок?
 

nuriktatarin

Новичок
13
1
Когда над лавкой пишется забронировано за игроком Nick_Name не отображается что лавка просмотрена, хотя товары в этой лавке есть и человек довольно долго в ней продает, баг или что такое не знаю.
19.03.51.500.jpg
 
Последнее редактирование:
  • Bug
Реакции: Буцефал