Advertisement
thepowderguy

Powder toy element creator

Apr 16th, 2013
585
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 6.82 KB | None | 0 0
  1. function script_creater(key)
  2.     if key == "j" then
  3.         elName = tpt.input("ELEMENT NAME", "This is the element the script will create (In capitals)")
  4.         ident = tpt.input("IDENTIFIER", "This will be the identifier for the element")
  5.         baseName = tpt.input("BASE ELEMENT", "This is the element the script will base your element off")
  6.         scriptname = tpt.input("NAME OF SCRIPT", "This will be the name of the generated script (no need for '.lua')")
  7.         file = io.open(scriptname .. ".lua", "w")
  8.         file:write("local Element1 = elements.allocate('" .. ident .. "', '" .. elName .. "')\n")
  9.         file:write("elements.element(elements." .. ident .. "_PT_" .. elName .. ", elements.element(tpt.element('" .. baseName .. "')))\n")
  10.         file:write("elements.property(elements." .. ident .. "_PT_" .. elName .. ", 'Name', '" .. elName .. "')\n")
  11.         file:write("elements.property(elements." .. ident .. "_PT_" .. elName .. ", 'Color', " .. tpt.input("Color", "Input a hexadecimal value ('0x' required)") .. ")\n")
  12.  
  13. -- START OF PROPERTIES
  14.  
  15.         ValueIn = tpt.input("MenuVisible", "Input 1 or 0")
  16.         if ValueIn ~= "" then
  17.             file:write("elements.property(elements." .. ident .. "_PT_" .. elName .. ", 'MenuVisible', " .. ValueIn .. ")\n")
  18.         end
  19.         ValueIn = tpt.input("MenuSection", "Input a value")
  20.         if ValueIn ~= "" then
  21.             file:write("elements.property(elements." .. ident .. "_PT_" .. elName .. ", 'MenuSection', " .. ValueIn .. ")\n")
  22.         end
  23.         ValueIn = tpt.input("Advection", "Input a value")
  24.         if ValueIn ~= "" then
  25.             file:write("elements.property(elements." .. ident .. "_PT_" .. elName .. ", 'Advection', " .. ValueIn .. ")\n")
  26.         end
  27.         ValueIn = tpt.input("Airdrag", "Input a value")
  28.         if ValueIn ~= "" then
  29.             file:write("elements.property(elements." .. ident .. "_PT_" .. elName .. ", 'AirDrag', " .. ValueIn .. ")\n")
  30.         end
  31.         ValueIn = tpt.input("Airloss", "Input a value")
  32.         if ValueIn ~= "" then
  33.             file:write("elements.property(elements." .. ident .. "_PT_" .. elName .. ", 'AirLoss', " .. ValueIn .. ")\n")
  34.         end
  35.         ValueIn = tpt.input("Loss", "Input a value")
  36.         if ValueIn ~= "" then
  37.             file:write("elements.property(elements." .. ident .. "_PT_" .. elName .. ", 'Loss', " .. ValueIn .. ")\n")
  38.         end
  39.         ValueIn = tpt.input("Collision", "Input a value")
  40.         if ValueIn ~= "" then
  41.             file:write("elements.property(elements." .. ident .. "_PT_" .. elName .. ", 'Collision', " .. ValueIn .. ")\n")
  42.         end
  43.         ValueIn = tpt.input("Gravity", "Input a value")
  44.         if ValueIn ~= "" then
  45.             file:write("elements.property(elements." .. ident .. "_PT_" .. elName .. ", 'Gravity', " .. ValueIn .. ")\n")
  46.         end
  47.         ValueIn = tpt.input("Diffusion", "Input a value")
  48.         if ValueIn ~= "" then
  49.             file:write("elements.property(elements." .. ident .. "_PT_" .. elName .. ", 'Diffusion', " .. ValueIn .. ")\n")
  50.         end
  51.         ValueIn = tpt.input("HotAir", "Input a value")
  52.         if ValueIn ~= "" then
  53.             file:write("elements.property(elements." .. ident .. "_PT_" .. elName .. ", 'HotAir', " .. ValueIn .. ")\n")
  54.         end
  55.         ValueIn = tpt.input("Falldown", "Input a value")
  56.         if ValueIn ~= "" then
  57.             file:write("elements.property(elements." .. ident .. "_PT_" .. elName .. ", 'Falldown', " .. ValueIn .. ")\n")
  58.         end
  59.         ValueIn = tpt.input("Flammable", "Input a value")
  60.         if ValueIn ~= "" then
  61.             file:write("elements.property(elements." .. ident .. "_PT_" .. elName .. ", 'Flammable', " .. ValueIn .. ")\n")
  62.         end
  63.         ValueIn = tpt.input("Explosive", "Input a value")
  64.         if ValueIn ~= "" then
  65.             file:write("elements.property(elements." .. ident .. "_PT_" .. elName .. ", 'Explosive', " .. ValueIn .. ")\n")
  66.         end
  67.         ValueIn = tpt.input("Meltable", "Input a 1 or 0")
  68.         if ValueIn ~= "" then
  69.             file:write("elements.property(elements." .. ident .. "_PT_" .. elName .. ", 'Meltable', " .. ValueIn .. ")\n")
  70.         end
  71.         ValueIn = tpt.input("Hardness", "Input a value")
  72.         if ValueIn ~= "" then
  73.             file:write("elements.property(elements." .. ident .. "_PT_" .. elName .. ", 'Hardness', " .. ValueIn .. ")\n")
  74.         end
  75.         ValueIn = tpt.input("Weight", "Input a value")
  76.         if ValueIn ~= "" then
  77.             file:write("elements.property(elements." .. ident .. "_PT_" .. elName .. ", 'Weight', " ..ValueIn .. ")\n")
  78.         end
  79.         ValueIn = tpt.input("Temperature", "Input a value")
  80.         if ValueIn ~= "" then
  81.             file:write("elements.property(elements." .. ident .. "_PT_" .. elName .. ", 'Temperature', " .. ValueIn .. ")\n")
  82.         end
  83.         ValueIn = tpt.input("HeatConduct", "Input a value")
  84.         if ValueIn ~= "" then
  85.             file:write("elements.property(elements." .. ident .. "_PT_" .. elName .. ", 'HeatConduct', " .. ValueIn .. ")\n")
  86.         end
  87.         file:write("elements.property(elements." .. ident .. "_PT_" .. elName .. ", 'Description', '" .. tpt.input("Description", "Input an string") .. "')\n")
  88.  
  89. -- START OF TRANSITIONS
  90.  
  91.         ValueIn = tpt.input("HighTemperature", "Input a value")
  92.         if ValueIn ~= "" then
  93.             file:write("elements.property(elements." .. ident .. "_PT_" .. elName .. ", 'HighTemperature', '" .. ValueIn .. "')\n")
  94.         end
  95.         ValueIn = tpt.input("HighTemperatureTranstion", "Input an element (In capitals)")
  96.         if ValueIn ~= "" then
  97.             file:write("elements.property(elements." .. ident .. "_PT_" .. elName .. ", 'HighTemperatureTransition', '" .. "tpt.element('" .. ValueIn .. "'))\n")
  98.         end
  99.         ValueIn = tpt.input("LowTemperature", "Input a value")
  100.         if ValueIn ~= "" then
  101.             file:write("elements.property(elements." .. ident .. "_PT_" .. elName .. ", 'LowTemperature', '" .. ValueIn .. "')\n")
  102.         end
  103.         ValueIn = tpt.input("LowTemperatureTranstion", "Input an element (In capitals)")
  104.         if ValueIn ~= "" then
  105.             file:write("elements.property(elements." .. ident .. "_PT_" .. elName .. ", 'LowTemperatureTransition', '" .. "tpt.element('" .. ValueIn .. "'))\n")
  106.         end
  107.         ValueIn = tpt.input("HighPressure", "Input a value")
  108.         if ValueIn ~= "" then
  109.             file:write("elements.property(elements." .. ident .. "_PT_" .. elName .. ", 'HighPressure', '" .. ValueIn .. "')\n")
  110.         end
  111.         ValueIn = tpt.input("HighPressureTranstion", "Input an element (In capitals)")
  112.         if ValueIn ~= "" then
  113.             file:write("elements.property(elements." .. ident .. "_PT_" .. elName .. ", 'HighPressureTransition', '" .. "tpt.element('" .. ValueIn .. "'))\n")
  114.         end
  115.         ValueIn = tpt.input("LowPressure", "Input a value")
  116.         if ValueIn ~= "" then
  117.             file:write("elements.property(elements." .. ident .. "_PT_" .. elName .. ", 'LowPressure', '" .. ValueIn .. "')\n")
  118.         end
  119.         ValueIn = tpt.input("LowPressureTranstion", "Input an element (In capitals)")
  120.         if ValueIn ~= "" then
  121.             file:write("elements.property(elements." .. ident .. "_PT_" .. elName .. ", 'LowPressureTransition', '" .. "tpt.element('" .. ValueIn .. "'))\n")
  122.         end
  123.  
  124. -- START OF FUNCTION
  125.  
  126.         file:write("\nlocal function " .. elName .. "(i, x, y, s, n)\n\n")
  127.         file:write("end\n\n")
  128.         file:write("tpt.element_func(" .. elName .. ", elements." .. ident .. "_PT_" .. elName .. ")")
  129.     end
  130. end
  131.  
  132. tpt.register_keypress(script_creater)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement