Я так понимаю, что ты видный специалист по системе и у тебя есть выдержка из документации и тесты?
Давай говорить откровенно: я не стремаюсь чего-то не знать, и в этой беседе несколько раз это подчеркнул.
Не стрнёмно чего-то не знать.
Знаешь что стрёмно? Стрёмно выдавать неподтверждённую инфу как кладезь знаний, а потом ещё и не признавать огда обсираешься. Вот это уже признак идиотизма.
Чел утверждал, что использование паирсов вызывает десинки, игнорировал слова о том, что в идентичных ситуациях для всех игроков порядок значений будет одним и тем же. Пять раз, ромашка, проигнорил.
В итоге он не смог доказать ни теорией (отссылая в гугл), ни практикой.
Я не поленился, вытащил людей, чтобы устроить стресс-тест в варике, и знаешь что? Последовательность значений всегда была одинаковой.
Я использовал в качестве ключей и индексы, и юнитов, и даже другие таблицы, с разной степень вложенности - и летает на ура.
Может, конечно, я не проверял какие-то особые ситуации. Как я подчёркивал выше, я не обладаю всей экспертизой, и потому запросил кейсы (если человек что-то утверждает и обвиняет других в глупости, то явно же он не настолько глуп, чтобы не иметь при этом пруфов, верно?)
Но нет, человек продолжил обсираться, хотя если он прав - доказать это достаточно просто - привести хотя бы один кейс, пример, по которому паирсы вызывают десинку. Но он этого не сделал. А знаешь почему? Потому что балабол, который считает, что раз он на этом сайте находится долго и его тут многие уважают, то может нести вскую пургу и агриться, если его мнение подвергается сомнению.
Несколько часов мне доказывал, что я непробиваемый, вместо того, чтобы взять и проверить свои слова. Что паирсы вызывает десинки. Он даже ляпнул, что и без паирсов в вышеприведённом коде будут десинки, только почему-то не уточнил в каком месте.
Но на этом человек не остановился, и пошёл дальше, откопал мой январский вопрос про десинки текстов и стал его обсмеивать, что у меня "даже тексты вызвали десинки", xgm.guru/p/wc3/Mogut-li-stroki-vyzyvat-rassinkhron-5ak
И знаешь что? Тексты действительно вызывают десинки если установить первого юнита взяв за основу имя второго юнита если ты играешь с пользователями, использующими разную локализацию.
Ты это знал? Я вот не знал. Столкнулся, искал, нашёл. И смысл раскапывать старые темы? Что он этим пытался доказать?
Мы только что перепроверили всё - нет никаких десинков. Играли час, за это время таблицы пересоздавались сотни раз, и в каждой были сотни значений. Всё прошло чисто.
Я повторял тебе 5 раз, повторю и шестой - для всех пользователей последовательность ключей одинаковая.
Знаешь почему?
Потому что это для тебя ключи беспорядочны, а для системы они упорядочены в байтовом представлении, это нужно для того, чтобы быстрее осуществлялся поиск ключей системой.
Мало того, что ты не знаешь, как работает система, так ты ещё и настаиваешь на своей непроверенной точки зрения, намекая на то, что я думать не умею.
Да ещё и мои старые темы откапываешь. Клоунада, не иначе.
особенно смешно читать, что у меня нет экспертизы)
Ты на меня наехал и сам обосрался. Я из-за твоей дезинфы потратил время, на то, чтобы её перепроверить и на практике убедиться, что ты балабол. Надеюсь, я с твоей "экспертизой" сталкиваться больше не буду.
а, так у тебя уже были десинки, кекв. и зашла даже речь за строки. ляяя. только почему то в моей карте, где локализация под 2 языка ноль десинков :)
ну, как я писал уже - устанешь биться об стену из-за своего упрямства - напишешь
хватит балаболить, мы только что проверяли - не вызывают паирсы десинки. Учи матчасть. Мапы сортируют информацию по байтам, для того, чтобы был ускоренный доступ к данным. Это значит, что для всех игроков ключи имеют одинаковые последствия.
Мало того, что ты говоришь то, о чём не знаешь, так ещё и выкапыаешь мои старые темы, клоун.
не поражайся своей глупости, тебе с ней жить.
упорядочивание элементов происходит не по индексам, а по байтовым представлениям (это нормальная история для мапов), поэтому с точки зрения человека упорядоченность является хаотичной.
Но хаотичная упорядоченность одних и тех же элементов будет всегда одинаковой, сколько бы раз ты не запускал скрипт.
Ты заранее не сможешь сказать в каком порядке будут располагаться элементы, но многократное пересоздание мапов с одними и теми же элементами в итоге приведёт к идентичной последовательности пар.
Это по стандарту LUA и C.
Если, конечно, в самом варике нет каких-то подводных камней, которые для разных клиентов заставит в разной последовательности выдавать одни и те же элементы.
Я о таких подводных камнях в рамках варика не знаю, спросил у тебя - знаешь ли ты про них, на что ты высокомерно заявил, что нужно изучать таблицы. Ну так если брать вне варкрафтского контекста, то я тебе по стандарту языка могу сказать, что последовательность при одинаковом контексте будет одинаковой.
Если у тебя нет экспертизы - так и скажи: "я не проверял, но мне кажется что...", а не бросайся словами о чужой глупости.
Отрефлексируй это.
Далее, ты сказал, что и без pairs будет ошибка синхронизации.
Возможно, я не проверял (пока не с кем проверить), и нюансов варкрафта знаю явно меньше, чем большинство здешних пользователей.
Так где же может возникнутьошибка? На этапе объявления таблицы; добавления в неё элемента?
даже если твои ответы верны, без аргументов и пояснений они не многого стоят и задачи не упрощают.
без приведённых пруфов всё равно придётся набирать людей и тестировать.
если бы я не слушал, я бы сказал что ты всё врёшь, а я лишь запросил подтверждения, и тебя это выбесило (видимо, привык, что тебе все на слово верят)
Если у тебя проблемы с агрессией, прошу обходить меня стороной.
причем ты сам в курсе что это не сортированный список. это для тебя не аргумент? или что
До тебя всё никак не дойдёт, что отсутствие сортировки не означает разную упорядоченность.
На всех устройствах порядок будет одним и тем же, просто не отсортированным.
Для тебя это слишком сложная концепция?
раз ты сам знаешь что это не сортированный список, почему спрашиваешь?
вообще сюр какой то, знаешь что оно упорядочено как попало и удивляешься что может пойти не так)
Ты заявил, что это путь к синку и не дал аргументаций, вот я и спросил - может у тебя есть эти аргументы или экспертиза. Но, видимо, их нет.
Упорядочено как попало - не аргумент к синку.
Аргументом было бы, если бы была инфа что в разных ситуациях при идентичных случаях она сортируется по-разному.
Но ты оба раза оставил за скобками этот важный фактор.
Значит ты, скорее всего, сам этого не знаешь, и почему-то не способен этого принять.
Ну а я тебя спрашивал не с целью завалить, потому что я и сам не знаю подводные камни взаимодействия варика с луа. Я подумал, что ты дашь какую-то инфу по теме, окторую сам же обозначил.
Я знаю как работают таблицы в lua (это один из самых популярных скриптовых языков). Pairs даёт не отсортированные ключи, не отсортировано
нестабильно упорядочено.
Может у тебя есть пруфы, что на разных устройствах в идентичной ситуации pairs будет выдавать разные последовательности?
Или, может, ты опираешься на кейсы, согласно которым в рамках варкрафта pairs ведёт себя нестабильно и вызывает синки?
Это не близы, а Vexorian наворотил, а дальше "так повелось". По факту такое хп у юнита только вручную можно сделать, проблема надумана.
Вот только что столкнулся с багой, не мог понять в чём дело. Вариак не воспринимал мёртвых как мёртвых.
Триггерно я здоровье не менял.
Выяснилось, что бага иногда воспроизводится если в отряде врага есть юнит, ообладающий волной исцеления. Возможно волна исцеления с учётом задержки её применения в некоторых случаях восстанавливает здоровье уже дохлым юнитам.
ну то, что на одном компьютере будет A, B, C а на втором C, B, A
почему pairs(table) будет на одном компьютере возвращать A, B, C, а на другом C, B, A ?
С чего это он должен вести себя по-разному в идентичных ситуациях?
Ну раз через саммон не детектится, то видимо через "вход юнита на карту".
И дальше можно бафф проверить ещё, что б от покупных отличить (если такие есть).
Это затратный путь?
Я сейчас стараюсь выбирать наименее затратные пути, так как на карте итак слишком много всего должно происходить.
Потому что если это затратно, то мне проще будет просто удалить этих юнитов с аналогичными способностями из игры.
Таблицы быстрее. У них также должен быть готовый стандартный функционал, по документации, упрощающий с ними работу.
Работа с таблицами очень простая и гибкая. В плане удобства они мне нравятся намного больше, чем группы. Можно буквально творить чудеса.
Если выяснится, что таблицы ещё и надёжнее, и быстрее, чем группы - то вообще сказка.
зачем на релизе хороший код стайл? Большинство карт протектят/оптимизируют, обычный юзер не будет лезть в mpq и пытаться разобрать war3map.j, а кому надо тот вежливо попросит исходники.
Тебе самому будет невозможно разобраться в своём коде для карты, состоящей из множества игровых систем. Имена переменных должны быть говорящими, даже если ты вернулся к разработке карты после трёх месяцев отдыха.
Из нововведений: автоматическое сохранение и загрузка данных при игре в мультиплеере. Вводить ничего не надо, просто играйте с друзьями и прогремм по количеству древесины и развитию души будет автоматически сохраняться.
НО, к сожалению, данная версия карты нестабильна.
Нестабильность заключается в том, что между некоторыми игроками возникает несовместимость, из-за которой вначале партии возникает ошибка синхронизации.
Мы до сих пор не можем побороть это явление.
Но у некоторых игроков при игре между собой таких проблем ни разу не возникает.
Так как многие просили версию с сохранением - мы её выкладываем здесь, но на основном сайте оставим старую и стабильную версию.
Итак, если вы хотите играть в версию с сохранениями - играйте в версию 9.1
Если же вы хотите играть в стабильную версию, но без сохранений - играйте в версию 0.8
Если мы говорим о коммерческом продукте, то кроме прибылей ничего и не нужно. Если мы замахнёмся на "игры это искусство" то тут уже появляются варианты.
Одно другое не исключает. А во многом - даже дополняет. И здесь можно долго говорить о том, что такое искусство. В чём оно выражается и каким целям служит. Мне бы не хотелось начинать новую гигантскую ветвь флуда, который ни к чему не приведёт.
Если верить аналитикам, то самые успешные игры это донатные помойки на мобилках.
Конечно. Потому что основным критерием успеха коммерческого продукта является доход.
Доход в свою очередь формируется из соотношения LTV и CPI. LTV в свою очередь зависит в том числе от параметров долгосрочного удержания пользователей.
А как ты хотел? Если ты знаешь другие объективные критерии "успешности" продукта - то поделись ими -)
Крупное обновление! Система репутаций и найм героев.
Теперь команда получает репутацию, когда она выполняет поручения из таверны.
За выполнение обычных поручений команда получает 1 репутацию. При выполнении сложных поручений, таких как уничтожение базы орков и логово забытого - команда получает по 2-3 репутации.
В обмен на репутацию игроки могут нанимать дополнительных героев в гильдии героев.
Добавлена новая локация! Гильдия героев. Здесь команда может нанимать новых героев в обмен на репутацию и золото. Найм каждого следующего героя будет всё дороже.
Комментарий от разработчиков: мы хотели повысить привлекательность локаций, которые сейчас не пользуются большим спросом: таверна, лагерь орков, логово забытого. Как нам кажется, это нам удалось.
Прочие обновления:
Локация "маленькое сокровище" теперь будет содержать случайный артефакт малой или средней эффективности. Золото также остаётся на локации как приятный бонус.
В пул героев добавлен 26-й герой - Гаритос. Он добавлен из пула стандартных героев warcraft.
По просьбе игроков - герою "мурлок" добавлена ультимативная способность вместо призыва крабов. (кстати, это не кастомный герой, мурлок участвоввал в прологе орков на стороне врагов).
Исправлена ошибка, из-за которой один наёмник из прошлого прохождения мог появиться в новом забеге.
» WarCraft 3 / Группы или таблицы в луа?
Мне, как пещерному человеку, хватает дефолтного редактора.
Ред. Cancel
» WarCraft 3 / Группы или таблицы в луа?
Не стрнёмно чего-то не знать.
Знаешь что стрёмно? Стрёмно выдавать неподтверждённую инфу как кладезь знаний, а потом ещё и не признавать огда обсираешься. Вот это уже признак идиотизма.
Я не поленился, вытащил людей, чтобы устроить стресс-тест в варике, и знаешь что? Последовательность значений всегда была одинаковой.
Я использовал в качестве ключей и индексы, и юнитов, и даже другие таблицы, с разной степень вложенности - и летает на ура.
Может, конечно, я не проверял какие-то особые ситуации. Как я подчёркивал выше, я не обладаю всей экспертизой, и потому запросил кейсы (если человек что-то утверждает и обвиняет других в глупости, то явно же он не настолько глуп, чтобы не иметь при этом пруфов, верно?)
Но нет, человек продолжил обсираться, хотя если он прав - доказать это достаточно просто - привести хотя бы один кейс, пример, по которому паирсы вызывают десинку. Но он этого не сделал. А знаешь почему? Потому что балабол, который считает, что раз он на этом сайте находится долго и его тут многие уважают, то может нести вскую пургу и агриться, если его мнение подвергается сомнению.
И знаешь что? Тексты действительно вызывают десинки если установить первого юнита взяв за основу имя второго юнита если ты играешь с пользователями, использующими разную локализацию.
Ты это знал? Я вот не знал. Столкнулся, искал, нашёл. И смысл раскапывать старые темы? Что он этим пытался доказать?
» WarCraft 3 / Группы или таблицы в луа?
Знаешь почему?
Потому что это для тебя ключи беспорядочны, а для системы они упорядочены в байтовом представлении, это нужно для того, чтобы быстрее осуществлялся поиск ключей системой.
» WarCraft 3 / Могут ли строки вызывать рассинхрон?
Ред. Cancel
» WarCraft 3 / Группы или таблицы в луа?
» WarCraft 3 / Группы или таблицы в луа?
упорядочивание элементов происходит не по индексам, а по байтовым представлениям (это нормальная история для мапов), поэтому с точки зрения человека упорядоченность является хаотичной.
Но хаотичная упорядоченность одних и тех же элементов будет всегда одинаковой, сколько бы раз ты не запускал скрипт.
Ты заранее не сможешь сказать в каком порядке будут располагаться элементы, но многократное пересоздание мапов с одними и теми же элементами в итоге приведёт к идентичной последовательности пар.
Это по стандарту LUA и C.
Я о таких подводных камнях в рамках варика не знаю, спросил у тебя - знаешь ли ты про них, на что ты высокомерно заявил, что нужно изучать таблицы. Ну так если брать вне варкрафтского контекста, то я тебе по стандарту языка могу сказать, что последовательность при одинаковом контексте будет одинаковой.
Если у тебя нет экспертизы - так и скажи: "я не проверял, но мне кажется что...", а не бросайся словами о чужой глупости.
Отрефлексируй это.
Возможно, я не проверял (пока не с кем проверить), и нюансов варкрафта знаю явно меньше, чем большинство здешних пользователей.
Так где же может возникнутьошибка? На этапе объявления таблицы; добавления в неё элемента?
» WarCraft 3 / Группы или таблицы в луа?
без приведённых пруфов всё равно придётся набирать людей и тестировать.
если бы я не слушал, я бы сказал что ты всё врёшь, а я лишь запросил подтверждения, и тебя это выбесило (видимо, привык, что тебе все на слово верят)
Если у тебя проблемы с агрессией, прошу обходить меня стороной.
» WarCraft 3 / Группы или таблицы в луа?
Ред. Cancel
» WarCraft 3 / Группы или таблицы в луа?
На всех устройствах порядок будет одним и тем же, просто не отсортированным.
Для тебя это слишком сложная концепция?
Ред. Cancel
» WarCraft 3 / Группы или таблицы в луа?
Упорядочено как попало - не аргумент к синку.
Аргументом было бы, если бы была инфа что в разных ситуациях при идентичных случаях она сортируется по-разному.
Но ты оба раза оставил за скобками этот важный фактор.
Значит ты, скорее всего, сам этого не знаешь, и почему-то не способен этого принять.
» WarCraft 3 / Группы или таблицы в луа?
Или, может, ты опираешься на кейсы, согласно которым в рамках варкрафта pairs ведёт себя нестабильно и вызывает синки?
» WarCraft 3 / IsUnitDeadBJ()
Триггерно я здоровье не менял.
Выяснилось, что бага иногда воспроизводится если в отряде врага есть юнит, ообладающий волной исцеления. Возможно волна исцеления с учётом задержки её применения в некоторых случаях восстанавливает здоровье уже дохлым юнитам.
» WarCraft 3 / Группы или таблицы в луа?
С чего это он должен вести себя по-разному в идентичных ситуациях?
Ред. Cancel
» WarCraft 3 / Как отслеживать призыв фабрики и порождения магмы
» WarCraft 3 / Как отслеживать призыв фабрики и порождения магмы
Я сейчас стараюсь выбирать наименее затратные пути, так как на карте итак слишком много всего должно происходить.
Потому что если это затратно, то мне проще будет просто удалить этих юнитов с аналогичными способностями из игры.
» WarCraft 3 / Группы или таблицы в луа?
» WarCraft 3 / Группы или таблицы в луа?
Если выяснится, что таблицы ещё и надёжнее, и быстрее, чем группы - то вообще сказка.
» WarCraft 3 / Что предпочтительней и почему Lua или Jass?
» WarCraft 3 / Divine Roguelike v16.1b - Save/Load система добавлена
» WarCraft 3 / Divine Roguelike v16.1b - Save/Load система добавлена
"Зелёные иконки - это недотестировали. Я не знал, что в классической версии есть не все иконки из рефорджа."
» WarCraft 3 / Divine Roguelike v16.1b - Save/Load система добавлена
Ред. Cancel
» WarCraft 3 / Divine Roguelike v16.1b - Save/Load система добавлена
Прокрутить к ресурсу
Нестабильность заключается в том, что между некоторыми игроками возникает несовместимость, из-за которой вначале партии возникает ошибка синхронизации.
Мы до сих пор не можем побороть это явление.
Но у некоторых игроков при игре между собой таких проблем ни разу не возникает.
» WarCraft 3 / Divine Roguelike v16.1b - Save/Load система добавлена
» WarCraft 3 / Divine Roguelike v16.1b - Save/Load система добавлена
Доход в свою очередь формируется из соотношения LTV и CPI. LTV в свою очередь зависит в том числе от параметров долгосрочного удержания пользователей.
А как ты хотел? Если ты знаешь другие объективные критерии "успешности" продукта - то поделись ими -)
Ред. Cancel
» WarCraft 3 / Divine Roguelike v16.1b - Save/Load система добавлена
Прокрутить к ресурсу
Теперь команда получает репутацию, когда она выполняет поручения из таверны.
За выполнение обычных поручений команда получает 1 репутацию. При выполнении сложных поручений, таких как уничтожение базы орков и логово забытого - команда получает по 2-3 репутации.
В обмен на репутацию игроки могут нанимать дополнительных героев в гильдии героев.
Добавлена новая локация! Гильдия героев. Здесь команда может нанимать новых героев в обмен на репутацию и золото. Найм каждого следующего героя будет всё дороже.
Локация "маленькое сокровище" теперь будет содержать случайный артефакт малой или средней эффективности. Золото также остаётся на локации как приятный бонус.