Hallo zusammen,
kann man irgendwie auslesen, welcher Gegenstand sich in einem Rohr (pipeworks) befindet?
Ich habe es im LUA-Controller an einem Digiline Detecting Pneumatic Tube Segment mit
if event.type == "program" then
namen = "Beginn"
end
if event.type == "item" then
namen = event.item.name
digiline_send("LCD",namen)
port.a = not port.a
end
versucht, aber es passiert anscheinend nichts, da der Port A nicht seinen Zustand wechselt und im Display keine Anzeige kommt!
Kann mir jemand sagen, was ich falsch mache?
Auslesen von Items in einem Rohr
- Desour
- Member
- Posts: 1472
- Joined: Thu Jun 19, 2014 19:49
- GitHub: Desour
- IRC: Desour
- In-game: DS
- Location: I'm scared that if this is too exact, I will be unable to use my keyboard.
Re: Auslesen von Items in einem Rohr
Die digiline detector tube sendet ein digiline signal, welches dann beim luacontroller ein "digiline" event auslöst, kein "item" event. Siehe auch <https://mesecons.net/luacontroller/>.
Was in der msg der digiline detector tube, steht scheint nicht dokumentiert zu sein. Es scheint nur der itemstack zum table zu sein: <https://github.com/mt-mods/pipeworks/bl ... es.lua#L92>
Was in der msg der digiline detector tube, steht scheint nicht dokumentiert zu sein. Es scheint nur der itemstack zum table zu sein: <https://github.com/mt-mods/pipeworks/bl ... es.lua#L92>
he/him; Codeberg; GitHub; ContentDB; public personal TODO list; "DS" is preferred (but often too short)
Re: Auslesen von Items in einem Rohr
er schreibt in die Konsole folgendes:
{
meta = {
},
metadata ="",
count = 1,
name = default:ladder_steel",
wear = 0
}
nil
kannst du damit was anfangen?
{
meta = {
},
metadata ="",
count = 1,
name = default:ladder_steel",
wear = 0
}
nil
kannst du damit was anfangen?
Re: Auslesen von Items in einem Rohr
bei diesem Programm:
if event.type == "program" then
namen = {Beginn}
digiline_send("LCD",namen)
elseif event.type == "on" then
end
if event.type == "digiline" then
local namen = event.msg
print(namen)
port.a = not port.a
digiline_send("LCD",namen)
end
if event.type == "program" then
namen = {Beginn}
digiline_send("LCD",namen)
elseif event.type == "on" then
end
if event.type == "digiline" then
local namen = event.msg
print(namen)
port.a = not port.a
digiline_send("LCD",namen)
end
- Desour
- Member
- Posts: 1472
- Joined: Thu Jun 19, 2014 19:49
- GitHub: Desour
- IRC: Desour
- In-game: DS
- Location: I'm scared that if this is too exact, I will be unable to use my keyboard.
Re: Auslesen von Items in einem Rohr
print im luacontroller environment mach dump (das hier: <https://github.com/minetest/minetest/bl ... .txt#L3509>) auf's argument.
Du bekommst da den output von der Funktion hier: <https://github.com/minetest/minetest/bl ... .txt#L6445>
Was ein table ist und wie man lua programmiert, nehme ich ohne Grund mal an, dass du schon weißt.
Du bekommst da den output von der Funktion hier: <https://github.com/minetest/minetest/bl ... .txt#L6445>
Was ein table ist und wie man lua programmiert, nehme ich ohne Grund mal an, dass du schon weißt.
he/him; Codeberg; GitHub; ContentDB; public personal TODO list; "DS" is preferred (but often too short)
- Festus1965
- Member
- Posts: 4181
- Joined: Sun Jan 03, 2016 11:58
- GitHub: Festus1965
- In-game: Festus1965 Thomas Thailand Explorer
- Location: Thailand ChiangMai
- Contact:
Re: Auslesen von Items in einem Rohr
ja, hat ein table ausgedruckt, angezeigt
was zu wohl willst ist drinnen : ladder_steel
Lösung in Antwort zuvor - Tabelle auflösen etc.
Ich hatte as mal vor langer Zeit gemacht ... aber as ist irgendwo verschollen.
Projekt Hirnfrei war das wohl ...
Human has no future (climate change)
If urgend, you find me in Roblox (as CNXThomas)
If urgend, you find me in Roblox (as CNXThomas)
Re: Auslesen von Items in einem Rohr
So, jetzt bin ich von Arbeit rein und mit folgendem Programm funktioniert es:
if event.type == "program" then
namen = {Beginn}
digiline_send("LCD",namen)
elseif event.type == "on" then
end
if event.type == "digiline" then
local namen = event.msg.name
port.a = not port.a
digiline_send("LCD",namen)
end
Formatierung ist jetzt egal, es läuft !
Danke euch, ihr habt mir den richtigen Gedankenanstoß gegeben!
if event.type == "program" then
namen = {Beginn}
digiline_send("LCD",namen)
elseif event.type == "on" then
end
if event.type == "digiline" then
local namen = event.msg.name
port.a = not port.a
digiline_send("LCD",namen)
end
Formatierung ist jetzt egal, es läuft !
Danke euch, ihr habt mir den richtigen Gedankenanstoß gegeben!
Who is online
Users browsing this forum: No registered users and 2 guests