Scenary/MatterConverterStuff// Scenary is just another Datum derrived from the parent_type of /obj/
icon = 'items.dmi'
density = 1
ComputerSystem
name = "Matter Converter System"
icon_state = "comp"
var/list/BuildableObjects = list(/Items/Radio,/Items/clothes/Jumper1)// I tried fist this list as the Items name and below code to search for it but that didnt work so I tried the type.
Click()
if(get_step_away(src,usr,1))
switch(alert("What would you like to do?","[src]","Build","Refuel","Nothing"))// I am not doing refuel until I get Build working
if("Nothing")
return
if("Build")
var/EnergyAvaliable = 0
for(var/Scenary/MatterConverterStuff/Energy/E in orange())
EnergyAvaliable += E.Energy
if(alert("Energy Avaliable: [EnergyAvaliable]","Energy","Continue","Cancel")=="Cancel") return
var/BuildWhat = input("Please Choose what you wish to build.","Build") in src.BuildableObjects + list("Cancel")
if(BuildWhat=="Cancel")
return
for(var/Items/Q in typesof(/Items/))
if(Q.type == BuildWhat)
for(var/Scenary/MatterConverterStuff/Ring/R in orange())
new Q(R.loc)
view(5)<<"A [Q] appears out of nowhere on top of the [R]!"
return
Energy// This isn’t used yet, when its working properly I am adding in the fact that it needs the power so it will minus it from these storage devices
name = "Energy Storage"
icon = 'tardis.dmi'
icon_state = "control9"
var/Energy
New()
.=..()
spawn()
src.Energy = rand(100,500)
Click()
if(get_step_away(src,usr,1))
usr<<"There is [src.Energy] stored."
Ring
name = "Matterilization Ring"
icon_state = "Portable device"
density = 0
layer = TURF_LAYER+1// I never mentioned that all Scenary has a layer of OBJ_LAYER+2 unless otherwise specified
Problem description:
Basically a fellow BYONDer made a 'Matter Converter' for his upcoming Stargate game and I thought, "Hey Something like that could be put into Doctor Who Online"
So I started working on it this morning and like the cautious person I am I tested it. To my horror it didn't work! Well at least it had all the alert()'s and the input() but when it came down to the creation of the object nothing happened...
Here is the real problem:
As you can see the code that is obviously causing the problem must be
for(var/Items/Q in typesof(/Items/))
if(Q.type == BuildWhat)
for(var/Scenary/MatterConverterStuff/Ring/R in orange())
new Q(R.loc)
view(5)<<"A [Q] appears out of nowhere on top of the [R]!"
return
Which is basically searching though a list of Items (Infact all the things under the parent_type /Items/)
and creating it or at least should be.
So anyway I want a real answer for how to do this. Kaze can call me an idea ripper if he likes because this probably wont go into the final version but I still wish to know how to do it because it may open up other ways of creating a futuristic crafting system.
Thanks in advance,
Lyndon
Oh and no telling me to go look at the DM guide because you'd be making me have the worst Easter ever with that comment (What you expect me to trawl through that thing when I already have before on several occasions?)
Oh yeah and I am aware I spelt Scenery and I am now fixing it.
(removed al my wrong solutions)