Не голодайте, Луа: не могу понять, как породить дополнительный бамбук с каждым бамбуковым деревом или другими ресурсами мачете - PullRequest
0 голосов
/ 04 апреля 2019

Я строю или пытаюсь создать мод под названием More Drops (DS). Я перенес его на «Не голодать вместе» из «Не голодать вместе», так что мои знания языка очень ограничены, но я работал над этим несколько дней и не могу понять, поэтому мне нужно попросить помощь.

Я понял, как расширить работу авторов оригинального мода, добавив новые деревья и ресурсы, но когда дело доходит до "взломанных" ресурсов, я в тупике.


Итак, это то, что я пытался, и множество вариантов этого. Это не работает, и я не понимаю почему, и я покажу вам, что работает в следующих двух.

--bamboo
if inst.name == "Bamboo Patch" and utils.LootRandom(bambooChance) then 
utils.DoTimes(GetModConfigData("bambooAmount", KnownModIndex:GetModActualName("(JEM) More Drops DS")), inst.components.lootdropper.SpawnLootPrefab, inst.components.lootdropper, "bamboo")  
end

Это работает

--Spawn extra logs for tall trees
if inst.components.growable.stage == 3 and utils.LootRandom(logChance) then
utils.DoTimes(GetModConfigData("extralogstall", KnownModIndex:GetModActualName("(JEM) More Drops DS")), inst.components.lootdropper.SpawnLootPrefab, inst.components.lootdropper, "log")
end

И это тоже работает

if inst.name == "Evergreen" and inst.components.growable.stage ~= 1 then
if utils.DropLootRandom(inst, "pinecone", seed_chance) then print("Dropped seed") end
end

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

local utils = require("utils")

local logChance = GetModConfigData("logChance", KnownModIndex:GetModActualName("(JEM) More Drops DS"))

local function ImproveTree(inst)
--Do these when the tree is fully chopped
 local seed_chance  = GetModConfigData("treeseedchance", KnownModIndex:GetModActualName("(JEM) More Drops DS"))
 local egg_chance = GetModConfigData("eggChance", KnownModIndex:GetModActualName("(JEM) More Drops DS"))
 local coconut_seed_chance = GetModConfigData("coconutChance", KnownModIndex:GetModActualName("(JEM) More Drops DS"))
 local bambooChance = GetModConfigData("bambooChance", KnownModIndex:GetModActualName("(JEM) More Drops DS"))

local oldonfinish = inst.components.workable.onfinish
inst.components.workable:SetOnFinishCallback(function(inst, chopper)

Вся информация правильно вызывается в modmain.lua, насколько я могу судить, я позаботился о том, чтобы добавлять вещи так же, как и рабочий код.


Я ожидал, что это добавит немного бамбука! Я пробовал так много разных способов, даже сделал свой собственный файл choppable.lua и добавил его так же, как оригинальный автор добавил pickable.lua, но я решил, что он должен быть немного больше похож на деревья, чем на обычные ресурсы, так как вы используете инструмент, и он бросает предмет на землю, а не добавляет к инвентарю.

Если вы хотите посмотреть весь мод, я загрузил его здесь: https://www.dropbox.com/s/ahss2d0s861j2an/%28JEM%29%20More%20Drops%20DS.7z?dl=0

...