[ГАЙД] Трейды.

maxim34a

Эксперт
Регистрация
10 Июн 2023
Сообщения
551
зачем, в переменной можно хранить "открыто ли окно трейдов", в ней значение true/false
в цикле сделать открытие, если значение == true
"Окно трейдов" - новая фича? Гайду год.
Олсо, чел уже сверху написал, что можно отслеживать событие закрытия инвентаря.
 

Mee8YT

Эксперт
Регистрация
3 Май 2023
Сообщения
357
но ты в любом случае супер кодером никогда не был..
Чел, я даже этого не говорил, почему ты из воздуха берёшь брехню
"Окно трейдов" - новая фича? Гайду год.
Олсо, чел уже сверху написал, что можно отслеживать событие закрытия инвентаря.
Во первых, причем тут отслеживание закрытия инва, я написал вполне реализуемую правку, которую можно реализовать на момент выкладывания поста
Во вторых, причем тут "окно трейдов - новая фича"...
Сообщение объединено:

Он был против "вечных" циклов XD

типо это очень не оптимизировано. Я пытался ему объяснить обратное, но он уперся
Вот эти слова более чем показывают, почему ты не сделал циклом, не нужны отслеживания закрытия инвентаря, всё и так спокойно можно было реализовать в то время
 

maxim34a

Эксперт
Регистрация
10 Июн 2023
Сообщения
551
Во первых, причем тут отслеживание закрытия инва, я написал вполне реализуемую правку, которую можно реализовать на момент выкладывания поста
Во вторых, причем тут "окно трейдов - новая фича"...
Вот эти слова более чем показывают, почему ты не сделал циклом, не нужны отслеживания закрытия инвентаря, всё и так спокойно можно было реализовать в то время
Что конкретно ты хочешь? Как сделать отслеживание закрытия инвентаря циклом? Тебе надо хукать ивент закрытия и тогда отменять трейд. На момент написания гайда события закрытия инвентаря не было, поэтому я делал костылем.
а чо ты вернулся спустя год кст?, делать совсем нечего?
С другом общались о МЛ, вот и решил зайти проверить вас.
100% уведомления по почте включены
Не.
Сообщение объединено:

зачем, в переменной можно хранить "открыто ли окно трейдов", в ней значение true/false
в цикле сделать открытие, если значение == true
А, так ты вообще про другое говоришь. Во всех плагинах на трейд работает как: игрок нажал Esc(т.е закрыл инвентарь) - трейд АВТОМАТИЧЕСКИ ОТМЕНËН. Зачем постоянно открывать меню трейдов, пока игрок не нажмет на красную штуку? Это уже какая-то ловушка.
 

Mee8YT

Эксперт
Регистрация
3 Май 2023
Сообщения
357
А, так ты вообще про другое говоришь. Во всех плагинах на трейд работает как: игрок нажал Esc(т.е закрыл инвентарь) - трейд АВТОМАТИЧЕСКИ ОТМЕНËН. Зачем постоянно открывать меню трейдов, пока игрок не нажмет на красную штуку? Это уже какая-то ловушка
Прочёл контекст твоего поста
Кароче, я понял про что там речь, "нужно отменять трейд при событиях"
Ладно, с моей стороны оговорка, зато те же циклы можно юзануть для отмены, проверять инв и статус открытия меню трейдов, вуаля, много событий делать не надо
Тебе надо хукать ивент закрытия и тогда отменять трейд
Кринжатина, много ложных срабатываний события и целого 1 условия, моё замечание лишь на это
И я предложил замену, которая актуальна для старого кодинга, просто цикл
 

maxim34a

Эксперт
Регистрация
10 Июн 2023
Сообщения
551
циклы можно юзануть для отмены, проверять инв и статус открытия меню трейдов, вуаля, много событий делать не надо
для начала, зачем проверять инв и статус открытия меню трейдов? Во вторых, как?
Для проверки я сделал события движения и другие. Если игрок двигается - у него 100000% не открыт инвентарь. С новым кодом можно конечно просто ловить событие закрытия инвентаря
Кринжатина, много ложных срабатываний события
Каких ложных срабатываний? Например?
и целого 1 условия, моё замечание лишь на это
какое условие? я тебя не понимаю
И я предложил замену, которая актуальна для старого кодинга, просто цикл
Четко опиши структуру цикла, что за чем делать и что как проверять.
 

Mee8YT

Эксперт
Регистрация
3 Май 2023
Сообщения
357
для начала, зачем проверять инв и статус открытия меню трейдов? Во вторых, как?
Для проверки я сделал события движения и другие. Если игрок двигается - у него 100000% не открыт инвентарь. С новым кодом можно конечно просто ловить событие закрытия инвентаря
забей, я думал будет кнопка завершения трейда, и что по закрытию инва ты обратно открываешь сундук во избежание ложного закрытия
Каких ложных срабатываний? Например
какое условие? я тебя не понимаю
Четко опиши структуру цикла, что за чем делать и что как проверять.
опять-же от контекста моих мыслей, я думал надо обратно открывать инвентарь при ложном закрытии, а ты просто завершаешь так трейд
но даже так можно сделать код завершения трейда без события "закрыл инвентарь":
Форматирование (BB-код):
Событие игрока - Вход
Игровое действие - Запустить цикл

Цикл ("trades.prematureFinishTrade", 5)
Выбрать объект - Все игроки ()
Присв переменную - Установить (%player% trades.sort = 0)
Выбрать объект <НЕ> - Игрок по условию - Если игрок - Имя откр. инвентаря равно ("Трейд <ник игрока>") # Открыт ли сундук
Присв переменную - Установить (%player% trades.sort = 1)
Выбрать объект - Игрок по условию - Если переменная - Равно ("%player% trades.active" = "true") # Активен ли трейд
Присв переменную - Прибавить (%player% trades.sort += 1)
Выбрать объект - Игрок по условию - Если переменная - Равно ("%player% trades.sort" == 2)
Действие игрока - Открыть инвентарь (..) # Сундук с трейдом
 
Сверху