num_pi
-
Публикации
57 -
Зарегистрирован
-
Посещение
-
Победитель дней
7
Сообщения, опубликованные пользователем num_pi
-
-
Спустя сотни лет, теперь могу добавить подсказку всем не равнодушным. Для nbt_hash ипользовать одну функцию заказа из мода OpenPeripheral, а вот для предметов без nbt_hash использовать обычную функцию из интеграции OC. Вот пример кода про что я имею ввиду...
function obj:requstItemToCraft(itemElement) local error, status = pcall(function() if type(itemElement["nbt_hash"]) == "string" then print("Заказываю: " .. itemElement["itemLabel"] .. " общим количеством - " .. tostring(itemElement["craftAmount"]) .. "\n") self.me_interface.requestCrafting( { id = itemElement["itemName"], dmg = itemElement["itemDamage"], nbt_hash = itemElement["nbt_hash"] }, itemElement["craftAmount"]) print("------------- Предмет: " .. itemElement["itemLabel"] .. " имеет nbt_hash, статус крафта НЕ ОТСЛЕЖИВАЕТСЯ! ----------------\n") return true else if self.craftQueue[itemElement["img_md5"]] == nil then print("Заказываю: " .. itemElement["itemLabel"] .. " общим количеством - " .. tostring(itemElement["craftAmount"]) .. "\n") local info = self.me_interface.getCraftables({ name = itemElement["itemName"], damage = itemElement["itemDamage"] }) if #info > 0 then return info[1].request(itemElement["craftAmount"]) else print("------------- При попытке получить рецепт крафта, шаблон куда-то исчез ----------------\n") return false end else print("------------- Предмет: " .. itemElement["itemLabel"] .. ", уже стоит на крафте, пропускаю задание на крафт ----------------\n") end end end) if not error then print(tostring(status)) return false end return status end-
1
-
-
Я бы так не делал, если конечно цель состоит шатать ТПС то норм.
-
В 07.05.2023 в 19:15, Taoshi сказал:На практике у меня пару лет как лежат готовые функции для обмена инвентаря игрока с сундуком / МЕ сетью посредством PIM (часть софта использовавшегося на варпе). Но сами по себе,отдельно взятые под новый проект, они далеко не готовый софт.
Впрочем, заказчик похоже уже забыл чего хотел.
Кидай, мб чего ни будь насобираем тут
-
45 минут назад, Taoshi сказал:На практике у меня пару лет как лежат готовые функции для обмена инвентаря игрока с сундуком / МЕ сетью посредством PIM (часть софта использовавшегося на варпе). Но сами по себе,отдельно взятые под новый проект, они далеко не готовый софт.
Впрочем, заказчик похоже уже забыл чего хотел.
Сделал сам, но без пима, а чисто на сундуках, норм работает.
-
1
-
-
В 09.04.2023 в 17:17, Taoshi сказал:В целом это, конечно, реализуемо. Но есть нюанс - отсутствие подробностей в предоставленном ТЗ. Например:
Подразумевается ли использование базы данных?
Должен ли присутствовать графический интерфейс пользователя?
Должны ли производиться действия ведущие к плавке слитков при отсутствии достаточного количества оных в МЕ сети?
Если вам удастся грамотно составить задание учтя большинство нюансов, то шанс что кто-нибудь да возьмётся за оное будет гораздо выше.
Это только звучит просто,А на практике это сплошные боль и страдания, мне ли не знать
-
2
-
-
А как тут удалять сообщения?
-
1
-
-
2 часа назад, vford сказал:Его гитлаб говорит об обратном) последние коммиты от 30 декабря
Ну вот не дали обосрать тоторо
-
52 минуты назад, vford сказал:Его гитлаб говорит об обратном) последние коммиты от 30 декабря
Ты их содержимое видел? Один из коммитов, это всё из-за меня, я там жука нашел, по поводу eeprom внешнего, который указывается из файла
-
18 часов назад, ProgramCrafter сказал:Его ещё допилить бы, чтобы клавиатура экранная появлялась. @Totoro)
Тоторо народный леницев, и игнорщик=) Три года жди
-
В 15.01.2023 в 16:50, Dias99 сказал:Кхм-кхм. Она (или он) сказала (или сказал) что Pojav не подходит.
Да и суть вопроса это можно ли "Запустить Оцелот на телефоне" вот я и дал ответ, а Поджав тут вообще не причем
Для такого как по мне есть ocelot online, можешь собственную сборку поднять, и закрытся htaccess-ом от лишних глаз.
-
1 час назад, Dias99 сказал:Да можно, но это слишком Сложно и нерационально по ресурсам вес будет примерно 1.5-2гб
Но если нужно вот порядок
0. Убеждаемся что телефон на Android и версия Андроеда не выше 10. (Если есть РУТ, пункт с версией Андройда можно пропустить)
1. Ставим на телефон Termux (Ставить с Play Market нельзя, только с FDroid'а)
2. Устанавливаем в Термуксе любой дистрибутив (Лучше Убунту)
3. Ставим в Убунту любой оконный менеджер (По типу OpenBox или i3)
4. Ставим в Убунту Jav'у и скачиваем Ocelot
5 Профит!!!
Подробную инструкцию можно найти в интернете.
Короче не очень этот метод, но это лучше чем ничего
!!!Всякие J2ME Руннеры не работают!!!!
Плохой совет даешь =)
Есть вариант на много лучше. Называется PojavLauncher
-
Здесь я буду публиковать мини отчёты изменений по проекту магазина.
Репозиторий с кодом находится тут ----> np-shop
Что в планах?
Хз :D
-
-
-
8 часов назад, kaka888 сказал:На mcskill да)
Только из компов их читать нельзя, ip в blacklist находится, надо прокси поднимаеть допустим на php, что будет читать логи, и при запросе от планшета отдавать diff, только последние измененния.
-
Для какой версии мода OC библиотека? на 1.6.2 работать будет?
-
В 04.02.2022 в 16:29, SyberiaK сказал:Привет! Хотел попросить помочь с настройкой и переписью, но так и не нашёл никаких контактов (находил вк и дискорд, но они недоступны).
Моя просьба: можно пожалуйста поподробнее расписать процесс установки/настройки магазина, а точнее версии "на модеме"? Буду крайне благодарен.Знаю как установить не модемную версию, могу расписать.
-
В 10.08.2022 в 03:33, skorikoff сказал:Понадобилось написать чат между двумя компьютерами. Толком синтаксис сетевой карты я не понял, потому что не нашёл добротный гайд. Да и в принципе я чайник полный, что касается всех этих сетевых штучек. Может натолкнёте на мысль или предложите готовое решение?
Если чат нужен только между двумя компами, проще всего это будет сделать, использовав этот компонент. Связанная_плата
-
То есть как понял я, у меня есть ровно 5 секунд, для занятия потока, для того что бы выполнить вычисления, и если я не успею это сделать ровно в 5 секунд реального времени то мод убьёт мой "процесс", и комп упадёт по TWYL?
-
Могу ли я как то узнать или высчитать, что вот сейчас machine упадёт по TLWY? Ну realTime() мне не узнать, она локальная. Я так же знаю что через 5 реальных секунд, если я не освободил поток, то machine упадёт по TLWY. Есть ли способы из под виртуального пространства, что даёт мод, из её песочницы, заранее узнать/узнавать что, вот-вот и если я не сделаю паузу в вычислениях, то machine упадёт по TLWY.
-
3 часа назад, Darkar25 сказал:@num_pi, порылся в инете и выяснил что луа из коробки не умеет конвертировать таблицы в строки (ну разве что table.concat или string.pack, но они подходят только для очень простых случаев, а для передачи например информации о результате сканирования геоанализатором нужно передавать таблицу полностью, вместе с подтаблицами)...и учитывая что на шарпе нет адекватных парсеров луа таблиц подходящих под методы конвертации рекомендуемые в интернете то за неимением альтернатив - json остаётся основным способом передачи данных с машины на сервер...чутка енкодер на клиенте покромсал(теперь он по кол-ву строк даже меньше основного кода клиента), использовал более правильные техники работы с таблицами и конкатенации строк и по идее он стал побыстрее чем до этого...
Но если есть предложения как всё-таки избавить клиент от необходимости как-то обрабатывать таблицы лишний раз перед отправкой то буду рад выслушать
Ну лично я использую костыль, но всё же рабочий.
function convertArraytoLuaTable(array $array) { $tmpHandle = tmpfile(); fwrite($tmpHandle, json_encode($array, JSON_NUMERIC_CHECK)); $data = shell_exec('/usr/bin/lua ' . realpath("decodeJsonToLuaFormat.lua") . ' ' . "'" . stream_get_meta_data($tmpHandle)['uri'] . "'"); fclose($tmpHandle); return $data; }
Здесь конвертация идёт из json в lua table, посредством вызова lua скрипта с диска, готовые данные можно считывать из temp файла создаваемого тобой заранее и передавать lua скрипту в качестве аргумента. Это что касается парсера lua table в json на стороне сервера. Ты имеешь ввиду, что, что бы отправить данные формат которых это таблица, её надо конвертировать в строку? И спрашиваешь как это сделать, лучшим образом, я правильно понимаю?
-
-
Не поленился, и всё же открыл свой git сервер, что бы найти код этого безумия
php код серверной части:
function giveItemsListBysearchKeyWord() { //функция поиска в списке предметов по ключевому слову. Дальнейшая расфосовка результата по страницам и отдача готового результата клиенту include 'connectTodb.php'; $ItemsListForClient; $giveItemsListToClientArray = null; $getJsonDataFromClient = json_decode($_GET['jsonData'], true); //var_dump($jsonDataFromClientsDBitems); $searchKeyWord = strval($getJsonDataFromClient['dataFromClient']); //ключевое слово, для поиска по базе данных. $selectItemsListBysearchKeyWord = $mysqli->query("SELECT itemLabel, itemDamage, itemName, itemUUID, itemPriceCoins, itemmaxSize, canCraft, itemOnSaleStatus FROM items_market WHERE itemOnSaleStatus = 1 and itemLabel like '%$searchKeyWord%'"); foreach ($selectItemsListBysearchKeyWord as $key => $value) { //Поиск совпадения по ключевому слову из GET запроса, и забивка в новую таблицу, что бы в дальнейшем побить это всё на страницы и строки. if (!empty($value)) { //var_dump($row); $ItemsListForClient[] = array( "itemUUID" => $value['itemUUID'], "itemDamage" => $value['itemDamage'], "itemName" => $value['itemName'], "itemLabel" => $value['itemLabel'], "itemmaxSize" => $value['itemmaxSize'], "canCraft" => $value['canCraft'], "itemPriceCoins" => $value['itemPriceCoins'] ); //var_dump($ItemsListForClyient); } } if (!empty($ItemsListForClient)) { $countallItems = count($ItemsListForClient); //выяснение сколько в общем элементов в массиве allItems и запись этого результата в переменную $countPage = ceil($countallItems / 15); // деление на количество элементов в массие, строк на странице будет 16 $ArrayWalkStart = 0; $ArrayWalkEnd = 15; for ($z = 1; $z <= $countPage; $z++) { //echo "Z:".$z." "; //giveItemsListToClientArray[] = $z; $giveItemsListToClientArray[] = splittItemsListIntoPages($ArrayWalkStart, $ArrayWalkEnd, $ItemsListForClient); $ArrayWalkStart = $ArrayWalkStart + 15; $ArrayWalkEnd = $ArrayWalkEnd + 15; } echo json_encode($giveItemsListToClientArray); //var_dump($giveItemsListToClientArray); } else { echo json_encode("searchReturnEmpty"); //это если ни чего не найдено } }
Библа что использовалась на стороне клиента для кодирования и декодирования запрос-ответа. https://github.com/rxi/json.lua/blob/master/json.lua
Код на стороне клиента. Да тут кусок, но суть думаю будет ясна. То есть, написал в строке поиска слово, нажал enter, запрос улетел на сервер в json формате, потом принимаю ответ и декодируя json строку, если не пусто, то рисую таблицу с результатом на экран.
if signal[1] ~= "key_down" and signal[1] == "key_up" and specChar == 28 then --28 это номер клавиши enter local response = getRequest(whereSearchMethod,searchSaveTypeInputText) if response then if response == "searchReturnEmpty" then pageNum = 1 searchReturnEmpty_KeyTouchToRow = 0 whichTableToUseSwitch = searchReturnEmptyTable --Бьём пустой список предметов. tableToUse = whichtableToUse() eventDrawTablePageAndClickRow(pageNum, tableToUse, nil, 1, "itemLabel","itemPriceCoins") --вызов отрисовки страницы fill(2,5,78,18, " ", 0x303030) -- цвет фона в itemlist set(nil, 12, "Хм, странно, но похоже что ни чего не найдено...", 0x303030, 0xffc107) set(nil, 14, "Попробуй поискать что-нибудь другое!", 0x303030, 0xffc107) else pageNum = 1 searchReturnEmpty_KeyTouchToRow = 1 searchOnServerInItemsList = response whichTableToUseSwitch = searchOnServerInItemsList tableToUse = whichtableToUse() eventDrawTablePageAndClickRow(pageNum, tableToUse, nil, 1, "itemLabel","itemPriceCoins") --вызов отрисовки страницы end else FormOutOfService("Ошибка поиска, сервер не доступен!") end end
-
2
-
-
10 минут назад, Darkar25 сказал:Прости, не совсем тебя понял...на клиенты json не шлётся...json шлётся только от клиента к серверу как ответ на команду но не наоборот...или ты предлагаешь слать lua table как ответ серверу?в таком случае согласен, можно спокойно убирать огромный json.encode и на сервере сделать какой-нибудь парсер для этого добра...может быть даже сделаю так...скорее всего с ходу оно не начнет работать и придётся чуть-чуть поправить код сервера под новую структуру данных но в остальном предложение довольно дельное...
Да я про это, хоть у тебя и в одну сторону идёт обмен, но всё же. На операцию json.encode тратится много времени, можешь даже кстати замерить с секундомером, у меня прирост в скорости обмена данными, был минимум в два раза, как сейчас помню, было 10-8 секунд, стало 4-3 в зависимости от длинны данных. Я обрабатывал поисковой запрос от магазина, искал по таблице и эту операцию поиска выполнял сервер, а потом отдавал готовую таблицу с данными. Да, знаю что это безумие, но всё же =)
Хоть у тебя идёт только отправка, хотя я в своём магазине ещё и принимал данные в формате json, думаю всё же стоит попробовать убрать json из уравнения обмена данными.










Новый Бисос: Penis Bios
в eeprom
Опубликовано: · Изменено пользователем num_pi
Форматирование кода
Выкладываю столь смешной и интересный биос, на просторы этого форума.

Основная моя цель состоит в том, что бы этот биос не пропал и не канул в лету в небытие...
Наслаждайтесь! Для использования, загрузить комп с openos, написать cd /tmp, edit 1 и вставить содержимое ниже, потом сохранить файл через ctrl + s; и выйти ctrl + w, и прошить написав flash -q 1
P.S Оригинальный автор сего шедевра, это @BadCoder и был им написан как стёб биос на topBios от root master