Перейти к содержимому
JustiHix

Переработка руды для варпа через pim

Рекомендуемые сообщения

  • Описание: Когда человек встал на pim програма должна забрать руду и дать в 2 раза больше слитков.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
3 часа назад, JustiHix сказал:
  • Описание: Когда человек встал на pim програма должна забрать руду и дать в 2 раза больше слитков.

Во первых, программа, а во вторых поподробнее.

Какая руда? Какие слитки? Откуда мы их вообще будем брать? У пима же вроде свой инвентарь, где гарантия что готовые слитки никто не сопрёт? Или мы их дробилку и плавить будем?

Моя 100 публикация, забавно.

Изменено пользователем Oleshe

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Человек будет становится на Pim и у него будут забираться руды по типу железа меди олова после этого оно будет идти в мэ и из мэ будут браться слитки x2 и ложиться ему в инвентарь 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 31.03.2023 в 18:47, JustiHix сказал:
  • Описание: Когда человек встал на pim програма должна забрать руду и дать в 2 раза больше слитков.

В целом это, конечно, реализуемо. Но есть нюанс - отсутствие подробностей в предоставленном ТЗ. Например:

 

Подразумевается ли использование базы данных? 

Должен ли присутствовать графический интерфейс пользователя? 

Должны ли производиться действия ведущие к плавке слитков при отсутствии достаточного количества оных в МЕ сети? 

 

Если вам удастся грамотно составить задание учтя большинство нюансов, то шанс что кто-нибудь да возьмётся за оное будет гораздо выше. 

 

Изменено пользователем Taoshi

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 09.04.2023 в 17:17, Taoshi сказал:

В целом это, конечно, реализуемо. Но есть нюанс - отсутствие подробностей в предоставленном ТЗ. Например:

 

Подразумевается ли использование базы данных? 

Должен ли присутствовать графический интерфейс пользователя? 

Должны ли производиться действия ведущие к плавке слитков при отсутствии достаточного количества оных в МЕ сети? 

 

Если вам удастся грамотно составить задание учтя большинство нюансов, то шанс что кто-нибудь да возьмётся за оное будет гораздо выше. 

 

Это только звучит просто,А на практике это сплошные боль и страдания, мне ли не знать ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 25.04.2023 в 12:32, num_pi сказал:

Это только звучит просто,А на практике это сплошные боль и страдания, мне ли не знать ;)

На практике у меня пару лет как лежат готовые функции для обмена инвентаря игрока с сундуком / МЕ сетью посредством PIM (часть софта использовавшегося на варпе). Но сами по себе,отдельно взятые под новый проект, они далеко не готовый софт.

 

Впрочем, заказчик похоже уже забыл чего хотел.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
45 минут назад, Taoshi сказал:

На практике у меня пару лет как лежат готовые функции для обмена инвентаря игрока с сундуком / МЕ сетью посредством PIM (часть софта использовавшегося на варпе). Но сами по себе,отдельно взятые под новый проект, они далеко не готовый софт.

 

Впрочем, заказчик похоже уже забыл чего хотел.

Сделал сам, но без пима, а чисто на сундуках, норм работает.

изображение.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 07.05.2023 в 19:15, Taoshi сказал:

На практике у меня пару лет как лежат готовые функции для обмена инвентаря игрока с сундуком / МЕ сетью посредством PIM (часть софта использовавшегося на варпе). Но сами по себе,отдельно взятые под новый проект, они далеко не готовый софт.

 

Впрочем, заказчик похоже уже забыл чего хотел.

Кидай, мб чего ни будь насобираем тут

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
В 08.05.2023 в 20:58, num_pi сказал:

Кидай, мб чего ни будь насобираем тут

function market.chest.fromInvToInv(device,raw_name,count, op)
	local c=count
	local legalSlots={}
	local slots= device.getInventorySize()
	if slots == 40 then slots=36 end
	for slot=1,slots do
		if device.getStackInSlot(slot) and raw_name == device.getStackInSlot(slot).raw_name
			then table.insert(legalSlots, slot)
		end
	end

	for slot in pairs(legalSlots)do
		local currentItem = device.getStackInSlot(legalSlots[slot])
		local available=currentItem.qty
		if c > 0 then
			if c > available then
				c=c-available
				pim[op]('down',legalSlots[slot],available)--из слота в назначение
			else
				pim[op]('down',legalSlots[slot],c)--остатки меньше стака
				c=0
			end
		end
	end
	return true
end


--!!!эта функция только выдаёт предметы!!!
function market.me.fromInvToInv(_,raw_name,count, _, price)
	local c=count
	local item=market.me.getItemDetail(raw_name)
	if not item or item.size < count then --предметы кончились. отмена покупки
		return market.buyCancel(price)
	end

	local fp={id=item.name,raw_name=item.label}
	while c > 0 do
		if c > item.maxSize then
			c=c-item.maxSize
			me.exportItem(fp,'up',item.maxSize)
		else
			me.exportItem(fp,'up',c)
			c=0	
		end
	end
	return true
end

Как я писал выше, взятые сами по себе они мало полезны. Впрочем, может какую-то пользу из них вытянешь.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

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

Гость
Ответить в тему...

×   Вы вставили отформатированное содержимое.   Удалить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


×
×
  • Создать...