Yarik1
176 subscribers
105 photos
23 videos
7 files
35 links
😃Всем привет!

Чат - t.me/+ceHNBIw0OiQ3YzYy

💬В этом канале, я буду делиться своим личным опытом в программировании.

👁‍🗨По вопросам: @eskeetits.
Download Telegram
Я решил данную проблему, теперь 60 фпс, иногда просадки.

Было глупо грузить всё, раскроем карты, незнаю мне похуй итак релиз скоро Игра 99 Ночей на Марсе, звучит пиздец кринжово мм да, но ладно, вобщем теперь при прокачке печки, грузятся нпс на следующую стадию, но боюсь, что с последующим спавном более большим появятся лаги, но а щас стриминг и мой спавн тащят игру. Yarik W спас алексея от штрафа в лям походу.
Sort.lua
2.9 KB
Короче опять все по новому, ибо если территория следующая большая, это гг, у меня был SpawnCaller() который вызывал следующую зону, теперь будет по чанкам через модуль ZonePlus. Чанки будут +- мелкими, так что заполнятся будут хехе. Пока делаем адаптацию мод мобилку, да и ваще все хорошо.

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

Модуль Sort - так я его назвал, его основная функция удобная и гибкая сортировка. С Linq подобным синтаксисом, дада прямиком из C#, с цепочкой методов что довольно просто и выглядит прикольно)

3 Режима вывода:
Monolith монолитный
Table (обычный табличный {})
Silent (игнорирует все выводы в консоль, тихий режим)

Безопасность данных.
Функция setSafe(state)
setSafe(false) - отключает клонирование таблицы, в методе createFunction() передает ссылку на self.Data, чистые данные из метатаблицы.
setSafe(true) передает клонированную таблицу, изменение ее не повлияет на оригинал. Это все для функции createFunction()
Так и все это работает с createFunction с подобным примером:
Так, тут мы видим что выключаем безопасность, соотвественно получаем оригинал, но с инстансами это калл, безопасность больше с табличынми данными, ибо итак итак оно конирует ссылку на инстанс, так что бесполезная херня в этом случае.
local Sort = require(game.ReplicatedStorage.Sort)

local Data = workspace:GetChildren()
Sort.from(Data):setSafe(false):createFunction(function(data)
return "x"
end):print()

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

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

так ну примеры:

local Data = {"Yariksuperduper", 2, 3, 20832832837, "xd", "wow"}

local DataSort = Sort.from(Data):where(function(x) return typeof(x) == "string" end):switchTo(Sort.Modes.Table):orderBy(function(x) return string.lower(x) end):setSafe(false):createFunction(function(x) return x end):print():wait(0.5):get()

функиця wait() поломана, вот режим безопасности я тоже пока не понял, но вроде работает хорошо.

в конце всегда используйте get() если хотите получить преобразованные данные смотря какой вы тип выбрали. Думаю также в будущем модуль либо обернуть в Promise, чтобы использовать асинхронность либо самому это реализовать, идей много, времени пока на это нет😭
Yarik1
Sort.lua
Так чисто это глоток свежего воздуха, а то я уже задрался делать эту игру которая мне ваще ненравится. идея 99 ночей на марсе, да фу. Лучше бы брейнротикво делали.
незнаю зачем я сюда конечно публишу, тут все из ппг игроки, 0 разрабов, ноо пускай хз, сам потом буду читать вспоминать
Какой лучше? Это босс из данжа, из которых надо будет спасать ученых.

Кстати, хотелось бы поделиться с вами реализацией ученого :) Я считаю ее неплохой, недавно узнал о Maid-модуле и буду применять его , что то типо аналога интерфейса IDisposable из C#, полезный прикольный модуль, но меня порой поражают, что довольно простые утилиты, с простым кодом возводят в некий абсолют. Просто модуль просто выполняет свою работу. Недавно стал читать книгу "Чистая архитектура", я начинаю думать что не зависит уже на каком языке ты пишешь, более важно твое мышление, а языки и фреймворки это уже инструменты, важно заняться своим мышлением и подходом, практически все парадигмы программирования применимы в других областях.

Кстати игра в открытом доступе, но пока она вас не впечатлит, поделюсь позже.
Щас моя мечта сделать дрон в роблоксе, на PID контроллере, это было бы очень интересно.
что ето за капиц
https://www.roblox.com/games/119051443230992/Dead-Mars#!/about

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

Продолжаю читать книгу "Чистая архитектура", она прикольная, хочется мне стать лучше, и делать реально классные вещи, пока выделил для себя некий трюк или просто мышление при разработке систем, это "функциональная декомпозиция", она основывается на разбивании отвественностей, и деления большой реализации на более мелкие, (не просто разбитие монолитного кода), что в будущем даст больше гибкости, ии впринципе понятности, уже применил в одной механике, и мне понравилось. Мне кажется или я где то уже слышал об таком способе, в си шарпе хдето но да ладно
Кто эти иконки делал я руки *****
Тестил себе новых нейронок, ибо дипсик слишком тупой и устаревший, другие тоже тупорылые оказались. Теперь надеятся только на Yarik GPT. А то спрашивать и советоваться с дипсиком у которого инфа на 2024 год, хотя на дворе 2026 такое себе.
Выделил себе 20 минуток на починку бага, гуля 1.5, ибо много пользователей жалуются, что мод не комплится, сижу читаю, ну полный вайбкодик хаха, ваще кринжатина. Удалить из интернета данный файл
Всем привет, ничего не пишу, вот решил просто поделиться с вами как я решил бороться с лишними строками в получении UI, и модулей.

Раньше возникала большая проблема, и меня бесило постоянно писать строчки на подобии.

local someClientModule = require(script.Parent.Parent и т.д)

или ShopFrame = MainUI:WaitForChild("Menu"):WaitForChild("ShopFrame")

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

В принципе всё работает, но грешу что UI может не успеть загрузиться, и будет хана, но пока такого не возникало)

Также надо убрать такую большую абстракцию, а то если вдруг два элемента с одинаковым именем?? Думаю сделать GetElementFromShop and etc
1
И еще меня удивляет, что есть до сих пор люди, думающие что я продолжаю делать мод на Tokyo Ghoul😭. Пишут когда дроп и что ты там за конфетку уже успел сделать, ничего не будет, мне впадлу)
Чота типо такого дела
Скорее всего закрою канал в ближайшее время. Удалять не буду, оставлю на память, просто посты не будут писаться, или будут раз в два три месяца, ну вобщем и щас также.