Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local backtab = elem.allocate("MAZE", "BBACK") -- The BACK button, defined before all for a good effect :P
- -- Heroes
- local warrior = elem.allocate("MAZE", "WARR")
- local cleric = elem.allocate("MAZE", "CLRC")
- -- Monsters
- local rat = elem.allocate("MAZE", "RAT")
- local piranha = elem.allocate("MAZE", "PRNH")
- local zombie = elem.allocate("MAZE", "ZOMB")
- -- Tiles
- local floor = elem.allocate("MAZE", "FLOOR")
- local mud = elem.allocate("MAZE", "MUD")
- local acid = elem.allocate("MAZE", "ACDW")
- local trap = elem.allocate("MAZE", "TRAP")
- -- Magicka
- local firebolt = elem.allocate("MAZE", "BOLT")
- elem.element(warrior, elem.element(elem.DEFAULT_PT_DMND))
- elem.property(warrior, "Name", "WARR")
- elem.property(warrior, "Description", "Warrior, fights monsters (especially those zombies, ugh). Very strong, often misses though.")
- elem.property(warrior, "Color", 0x993300)
- elem.element(cleric, elem.element(elem.DEFAULT_PT_DMND))
- elem.property(cleric, "Name", "CLRC")
- elem.property(cleric, "Description", "Clerics, can heal warriors, but have mere experience with fighting.")
- elem.property(cleric, "Color", 0xFFFF99)
- elem.element(rat, elem.element(elem.DEFAULT_PT_DMND))
- elem.property(rat, "Name", "RAT")
- elem.property(rat, "Description", "Rat, one of the monsters. Quicker than humans, but less tough and weaker. Reproduces quickly.")
- elem.property(rat, "Color", 0x555555)
- elem.element(piranha, elem.element(elem.DEFAULT_PT_DMND))
- elem.property(piranha, "Name", "PRNH")
- elem.property(piranha, "Description", "Piranha, lives in water. Aggresive attacks warriors and clerics.")
- elem.property(piranha, "Color", 0x339966)
- elem.element(zombie, elem.element(elem.DEFAULT_PT_DMND))
- elem.property(zombie, "Name", "ZOMB")
- elem.property(zombie, "Description", "Zombie, can turn enemies into other zombies. Its weakness is water and acid water. If they don't kill, they die.")
- elem.property(zombie, "Color", 0x009900)
- elem.element(floor, elem.element(elem.DEFAULT_PT_DMND))
- elem.property(floor, "Name", "FLOR")
- elem.property(floor, "Description", "The floor of dungeon. Draw on it with various elements.")
- elem.property(floor, "Color", 0xAAAAAA)
- elem.property(floor, "Properties", elem.TYPE_SOLID+elem.PROP_LIFE_DEC+elem.PROP_DRAWONCTYPE)
- elem.element(trap, elem.element(elem.DEFAULT_PT_DMND))
- elem.property(trap, "Name", "TRAP")
- elem.property(trap, "Description", "Trap, draw on it with ACDW or RAT to change its mode. Normally kills warriors and clerics.")
- elem.property(trap, "Color", 0xAA0000)
- elem.property(trap, "Properties", elem.TYPE_SOLID+elem.PROP_DRAWONCTYPE)
- elem.element(mud, elem.element(elem.DEFAULT_PT_DMND))
- elem.property(mud, "Name", "MUD")
- elem.property(mud, "Description", "Muddy, murky water, good home for piranhas but nobody else. Warriors and clerics can pass through it.")
- elem.property(mud, "Color", 0x376D88)
- elem.property(mud, "Properties", elem.TYPE_SOLID+elem.PROP_LIFE_DEC)
- elem.element(acid, elem.element(elem.DEFAULT_PT_DMND))
- elem.property(acid, "Name", "ACDW")
- elem.property(acid, "Description", "Acidic water, hurts anyone who passes it and burns nearby floor.")
- elem.property(acid, "Color", 0x00DDDD)
- elem.property(acid, "Properties", elem.TYPE_SOLID+elem.PROP_LIFE_DEC)
- elem.element(firebolt, elem.element(elem.DEFAULT_PT_DMND))
- elem.property(firebolt, "Name", "BOLT")
- elem.property(firebolt, "Description", "Firebolt, when activated by any touch begins to accumulate energy to violently explode after a while.")
- elem.property(firebolt, "Color", 0xFF9900)
- elem.property(firebolt, "Properties", elem.TYPE_SOLID+elem.PROP_LIFE_DEC)
- local function walking(i, x, y, s, nt)
- if sim.partProperty(i, "pavg0") == 0 then
- sim.partProperty(i, "life", 100)
- sim.partProperty(i, "ctype", floor)
- sim.partProperty(i, "pavg0", 1)
- end
- local r = sim.partID(x+math.random(-1, 1), y+math.random(-1, 1))
- if r ~= nil then
- local rtype = sim.partProperty(r, "type")
- if (rtype == floor or rtype == mud or rtype == acid) and sim.partProperty(r, "life") == 0 and math.random(1, 2) == 1 then
- local life = sim.partProperty(i, "life")
- sim.partChangeType(i, sim.partProperty(i, "ctype"))
- sim.partProperty(i, "life", 10)
- sim.partChangeType(r, warrior)
- sim.partProperty(r, "ctype", rtype)
- sim.partProperty(r, "life", life)
- sim.partProperty(i, "ctype", 0)
- sim.partProperty(r, "pavg0", 1)
- return 1
- elseif (rtype == rat or rtype == piranha or rtype == zombie) and math.random(0, 1) == 1 then
- if rtype == zombie then
- sim.partProperty(r, "life", sim.partProperty(r, "life")-math.random(3, 5))
- else
- sim.partProperty(r, "life", sim.partProperty(r, "life")-math.random(1, 5))
- end
- elseif rtype == trap and sim.partProperty(r, "ctype") ~= rat then
- sim.partProperty(r, "tmp", 1)
- end
- end
- if math.random(1, 20) == 1 and sim.partProperty(i, "life") < 100 then
- sim.partProperty(i, "life", sim.partProperty(i, "life")+1)
- end
- if sim.partProperty(i, "life") <= 0 then
- sim.partChangeType(i, sim.partProperty(i, "ctype"))
- sim.partProperty(i, "life", 10)
- return 1
- end
- if sim.partProperty(i, "ctype") == acid then
- sim.partProperty(i, "life", sim.partProperty(i, "life")-math.random(0, 1))
- end
- end
- elem.property(warrior, "Update", walking)
- local function clericing(i, x, y, s, nt)
- if sim.partProperty(i, "pavg0") == 0 then
- sim.partProperty(i, "life", 50)
- sim.partProperty(i, "ctype", floor)
- sim.partProperty(i, "pavg0", 1)
- end
- local r = sim.partID(x+math.random(-1, 1), y+math.random(-1, 1))
- if r ~= nil then
- local rtype = sim.partProperty(r, "type")
- if (rtype == floor or rtype == mud or rtype == acid) and sim.partProperty(r, "life") == 0 and math.random(1, 2) == 1 then
- local life = sim.partProperty(i, "life")
- sim.partChangeType(i, sim.partProperty(i, "ctype"))
- sim.partProperty(i, "life", 10)
- sim.partChangeType(r, cleric)
- sim.partProperty(r, "ctype", rtype)
- sim.partProperty(r, "life", life)
- sim.partProperty(i, "ctype", 0)
- sim.partProperty(r, "pavg0", 1)
- return 1
- elseif (rtype == rat or rtype == piranha or rtype == zombie) and math.random(0, 1) == 1 then
- if rtype == zombie then
- sim.partProperty(r, "life", sim.partProperty(r, "life")-math.random(1, 4))
- else
- sim.partProperty(r, "life", sim.partProperty(r, "life")-math.random(1, 2))
- end
- elseif rtype == warrior and sim.partProperty(r, "life") <= 95 then
- sim.partProperty(r, "life", sim.partProperty(r, "life")+math.random(1,5))
- elseif rtype == trap and sim.partProperty(r, "ctype") ~= rat then
- sim.partProperty(r, "tmp", 1)
- end
- end
- if math.random(1, 20) == 1 and sim.partProperty(i, "life") < 50 then
- sim.partProperty(i, "life", sim.partProperty(i, "life")+1)
- end
- if sim.partProperty(i, "life") <= 0 then
- sim.partChangeType(i, sim.partProperty(i, "ctype"))
- sim.partProperty(i, "life", 10)
- return 1
- end
- if sim.partProperty(i, "ctype") == acid then
- sim.partProperty(i, "life", sim.partProperty(i, "life")-math.random(0, 1))
- end
- end
- elem.property(cleric, "Update", clericing)
- local function ratting(i, x, y, s, nt)
- if sim.partProperty(i, "pavg0") == 0 then
- sim.partProperty(i, "life", 25)
- sim.partProperty(i, "ctype", floor)
- sim.partProperty(i, "pavg0", 1)
- end
- local r = sim.partID(x+math.random(-1, 1), y+math.random(-1, 1))
- if r ~= nil then
- local rtype = sim.partProperty(r, "type")
- if (rtype == floor or rtype == acid) and sim.partProperty(r, "life") == 0 then
- local life = sim.partProperty(i, "life")
- if math.random(1, 300) == 1 then
- sim.partChangeType(i, rat)
- sim.partProperty(i, "pavg0", 0)
- else
- sim.partChangeType(i, sim.partProperty(i, "ctype"))
- sim.partProperty(i, "life", 10)
- sim.partProperty(i, "ctype", 0)
- end
- sim.partChangeType(r, rat)
- sim.partProperty(r, "life", life)
- sim.partProperty(r, "ctype", rtype)
- sim.partProperty(r, "pavg0", 1)
- elseif rtype == warrior or rtype == cleric or rtype == zombie then
- sim.partProperty(r, "life", sim.partProperty(r, "life")-math.random(1, 2))
- elseif rtype == trap and sim.partProperty(r, "ctype") == rat then
- sim.partProperty(r, "tmp", 1)
- end
- end
- if sim.partProperty(i, "life") <= 0 then
- sim.partChangeType(i, floor)
- sim.partProperty(i, "life", 10)
- end
- if sim.partProperty(i, "ctype") == acid then
- sim.partProperty(i, "life", sim.partProperty(i, "life")-math.random(0, 1))
- end
- end
- elem.property(rat, "Update", ratting)
- local function swimming(i, x, y, s, nt)
- if sim.partProperty(i, "pavg0") == 0 then
- sim.partProperty(i, "life", 50)
- sim.partProperty(i, "pavg0", 1)
- end
- local r = sim.partID(x+math.random(-1, 1), y+math.random(-1, 1))
- if r ~= nil then
- local rtype = sim.partProperty(r, "type")
- if rtype == mud and sim.partProperty(r, "life") == 0 then
- local life = sim.partProperty(i, "life")
- sim.partChangeType(i, mud)
- sim.partProperty(i, "life", 10)
- sim.partProperty(i, "ctype", 0)
- sim.partChangeType(r, piranha)
- sim.partProperty(r, "life", life)
- sim.partProperty(r, "pavg0", 1)
- elseif (rtype == warrior or rtype == cleric) and math.random(1, 5) ~= 1 then
- sim.partProperty(r, "life", sim.partProperty(r, "life")-math.random(2, 3))
- end
- end
- if sim.partProperty(i, "life") <= 0 then
- sim.partChangeType(i, mud)
- sim.partProperty(i, "life", 10)
- end
- end
- elem.property(piranha, "Update", swimming)
- local function trapping(i, x, y, s, nt)
- if sim.partProperty(i, "tmp") == 1 then
- local ctype = sim.partProperty(i, "ctype")
- for r in sim.neighbors(x, y, 2, 2) do
- rtype = sim.partProperty(r, "type")
- if rtype == rat and ctype == rat then
- sim.partProperty(r, "life", sim.partProperty(r, "life")-math.random(1, 25))
- sim.partChangeType(i, floor)
- sim.partProperty(i, "life", 10)
- elseif (rtype == warrior or rtype == cleric or rtype == zombie) and ctype == 0 then
- sim.partProperty(r, "life", sim.partProperty(r, "life")-math.random(1, 75))
- sim.partChangeType(i, floor)
- sim.partProperty(i, "life", 10)
- elseif rtype == floor then
- if ctype == acid then
- sim.partChangeType(r, acid)
- else
- sim.partProperty(r, "tmp2", 1)
- end
- sim.partProperty(r, "life", 10)
- end
- end
- end
- end
- elem.property(trap, "Update", trapping)
- local function floorlook(i, r, g, b)
- if sim.partProperty(i, "tmp2") == 1 then
- return 0, ren.PMODE_FLAT, 255, 51, 51, 51, 255, 0, 0, 0
- end
- end
- elem.property(floor, "Graphics", floorlook)
- local function acidity(i, x, y, s, nt)
- local r = sim.partID(x+math.random(-1, 1), y+math.random(-1, 1))
- if r ~= nil then
- local rtype = sim.partProperty(r, "type")
- if rtype == floor then
- sim.partProperty(r, "tmp2", 1)
- end
- end
- end
- elem.property(acid, "Update", acidity)
- local function moaning(i, x, y, s, nt)
- if sim.partProperty(i, "pavg0") == 0 then
- sim.partProperty(i, "life", 50)
- sim.partProperty(i, "ctype", floor)
- sim.partProperty(i, "pavg0", 1)
- end
- local r = sim.partID(x+math.random(-1, 1), y+math.random(-1, 1))
- if r ~= nil then
- local rtype = sim.partProperty(r, "type")
- if (rtype == floor or rtype == mud or rtype == acid) and sim.partProperty(r, "life") == 0 and math.random(1, 5) == 1 then
- local life = sim.partProperty(i, "life")
- sim.partChangeType(i, sim.partProperty(i, "ctype"))
- sim.partProperty(i, "life", 10)
- sim.partChangeType(r, zombie)
- sim.partProperty(r, "ctype", rtype)
- sim.partProperty(r, "life", life)
- sim.partProperty(i, "ctype", 0)
- sim.partProperty(r, "pavg0", 1)
- return 1
- elseif (rtype == warrior or rtype == cleric or rtype == rat) and math.random(0, 1) == 1 then
- if math.random(1, 50) == 1 then
- sim.partProperty(r, "type", zombie)
- sim.partProperty(i, "life", sim.partProperty(i, "life")+1)
- else
- sim.partProperty(r, "life", sim.partProperty(r, "life")-math.random(1, 3))
- sim.partProperty(i, "life", sim.partProperty(i, "life")+1)
- end
- elseif rtype == trap and sim.partProperty(r, "ctype") ~= rat then
- sim.partProperty(r, "tmp", 1)
- end
- end
- if math.random(1, 50) == 1 and sim.partProperty(i, "life") > 0 then
- sim.partProperty(i, "life", sim.partProperty(i, "life")-1)
- end
- if sim.partProperty(i, "life") <= 0 then
- sim.partChangeType(i, sim.partProperty(i, "ctype"))
- sim.partProperty(i, "life", 10)
- return 1
- end
- if sim.partProperty(i, "ctype") == acid or (sim.partProperty(i, "ctype") == mud and math.random(1, 5) == 1) then
- sim.partProperty(i, "life", sim.partProperty(i, "life")-math.random(1, 2))
- end
- end
- elem.property(zombie, "Update", moaning)
- local function tiling(i, x, y, s, nt)
- local ctype = sim.partProperty(i, "ctype")
- if ctype ~= 0 then
- if ctype == warrior then
- sim.partKill(i)
- sim.partCreate(-1, x, y, warrior)
- elseif ctype == rat then
- sim.partKill(i)
- sim.partCreate(-1, x, y, rat)
- elseif ctype == mud then
- sim.partKill(i)
- sim.partCreate(-1, x, y, mud)
- elseif ctype == acid then
- sim.partKill(i)
- sim.partCreate(-1, x, y, acid)
- elseif ctype == piranha then
- sim.partKill(i)
- sim.partCreate(-1, x, y, piranha)
- elseif ctype == zombie then
- sim.partKill(i)
- sim.partCreate(-1, x, y, zombie)
- elseif ctype == trap then
- sim.partKill(i)
- sim.partCreate(-1, x, y, trap)
- elseif ctype == cleric then
- sim.partKill(i)
- sim.partCreate(-1, x, y, cleric)
- elseif ctype == firebolt then
- sim.partKill(i)
- sim.partCreate(-1, x, y, firebolt)
- end
- end
- end
- elem.property(floor, "Update", tiling)
- local function burning(i, x, y, s, nt)
- sim.partProperty(i, "life", sim.partProperty(i, "life")-1)
- local r = sim.partID(x+math.random(-1, 1), y+math.random(-1, 1))
- if r ~= nil then
- local rtype = sim.partProperty(r, "type")
- if (rtype == warrior or rtype == cleric or rtype == rat or rtype == zombie) and sim.partProperty(i, "pavg0") == 0 then
- sim.partProperty(i, "pavg0", 1)
- sim.partProperty(i, "life", 2000)
- elseif rtype == firebolt and sim.partProperty(r, "pavg0") == 1 and sim.partProperty(i, "pavg0") == 0 then
- sim.partProperty(i, "pavg0", 1)
- sim.partProperty(i, "life", 2000)
- end
- end
- if sim.partProperty(i, "life") == 0 and sim.partProperty(i, "pavg0") == 1 then
- for r in sim.neighbors(x, y, 5, 5) do
- local rtype = sim.partProperty(r, "type")
- if rtype == firebolt and sim.partProperty(r, "pavg0") == 1 then
- sim.partProperty(r, "life", 10)
- elseif rtype == warrior or rtype == cleric or rtype == rat or rtype == zombie or rtype == piranha then
- sim.partProperty(r, "life", 0)
- elseif rtype == mud or rtype == acid then
- sim.partChangeType(r, floor)
- sim.partProperty(r, "tmp2", 1)
- elseif rtype == floor then
- sim.partProperty(r, "tmp2", 1)
- elseif rtype == trap then
- sim.partProperty(r, "tmp", 1)
- end
- end
- sim.partKill(i)
- local left = sim.partCreate(-1, x, y, floor)
- sim.partProperty(r, "tmp2", 1)
- return 1
- end
- end
- elem.property(firebolt, "Update", burning)
- local function boltGlow(i, r, g, b)
- local rand = math.random(1, 3)
- if sim.partProperty(i, "pavg0") == 0 then
- if rand == 1 then
- return 0, ren.PMODE_FLAT, 255, 255, 0, 0, 0, 0, 0, 0
- elseif rand == 2 then
- return 0, ren.PMODE_FLAT+ren.PMODE_FLARE, 255, 255, 51, 0, 0, 0, 0, 0
- else
- return 0, ren.PMODE_FLAT, 255, 255, 102, 0, 0, 0, 0, 0
- end
- else
- if sim.partProperty(i, "life") >= 500 then
- if rand == 1 then
- return 0, ren.PMODE_FLAT+ren.PMODE_FLARE, 255, 255, 0, 0, 0, 0, 0, 0
- elseif rand == 2 then
- return 0, ren.PMODE_FLAT+ren.PMODE_LFLARE, 255, 255, 51, 0, 0, 0, 0, 0
- else
- return 0, ren.PMODE_FLAT+ren.PMODE_FLARE, 255, 255, 102, 0, 0, 0, 0, 0
- end
- else
- if rand == 1 then
- return 0, ren.PMODE_FLAT+ren.PMODE_LFLARE, 255, 255, 0, 0, 0, 0, 0, 0
- elseif rand == 2 then
- return 0, ren.PMODE_FLAT+ren.PMODE_LFLARE, 255, 255, 51, 0, 0, 0, 0, 0
- else
- return 0, ren.PMODE_FLAT+ren.PMODE_LFLARE, 255, 255, 102, 0, 0, 0, 0, 0
- end
- end
- end
- end
- elem.property(firebolt, "Graphics", boltGlow)
- -- Button code VVV
- elem.property(warrior, "MenuVisible", 0)
- elem.property(cleric, "MenuVisible", 0)
- elem.property(rat, "MenuVisible", 0)
- elem.property(zombie, "MenuVisible", 0)
- elem.property(piranha, "MenuVisible", 0)
- elem.property(floor, "MenuVisible", 0)
- elem.property(mud, "MenuVisible", 0)
- elem.property(acid, "MenuVisible", 0)
- elem.property(trap, "MenuVisible", 0)
- elem.property(firebolt, "MenuVisible", 0)
- local spritetab = elem.allocate("EXOTIC", "BSPRITE")
- elem.element(spritetab, elem.element(elem.DEFAULT_PT_DUST))
- elem.property(spritetab, "Name", "SPRT")
- elem.property(spritetab, "Description", "Click to open the 'Sprites' tab.")
- elem.property(spritetab, "MenuSection", elem.SC_SPECIAL)
- elem.property(spritetab, "Properties", elem.PROP_LIFE_DEC+elem.PROP_LIFE_KILL)
- local tiletab = elem.allocate("EXOTIC", "BENEMY")
- elem.element(tiletab, elem.element(elem.DEFAULT_PT_DUST))
- elem.property(tiletab, "Name", "TILE")
- elem.property(tiletab, "Description", "Click to open the 'Tiles' tab.")
- elem.property(tiletab, "MenuSection", elem.SC_SPECIAL)
- elem.property(tiletab, "Properties", elem.PROP_LIFE_DEC+elem.PROP_LIFE_KILL)
- elem.element(backtab, elem.element(elem.DEFAULT_PT_DUST))
- elem.property(backtab, "Name", "BACK")
- elem.property(backtab, "Description", "Click to go back to the normal menu.")
- elem.property(backtab, "MenuSection", elem.SC_SPECIAL)
- elem.property(backtab, "MenuVisible", 0)
- elem.property(backtab, "Properties", elem.PROP_LIFE_DEC+elem.PROP_LIFE_KILL)
- local special = {}
- for i = 1, 255 do
- pcall(function()
- if elem.property(i, "MenuVisible") == 1 and elem.property(i, "MenuSection") == elem.SC_SPECIAL then
- special[i] = true
- end
- end)
- end
- local function switch(n)
- if n == 1 then
- elem.property(warrior, "MenuVisible", 1)
- elem.property(cleric, "MenuVisible", 1)
- elem.property(rat, "MenuVisible", 1)
- elem.property(zombie, "MenuVisible", 1)
- elem.property(piranha, "MenuVisible", 1)
- elem.property(floor, "MenuVisible", 0)
- elem.property(mud, "MenuVisible", 0)
- elem.property(acid, "MenuVisible", 0)
- elem.property(trap, "MenuVisible", 0)
- elem.property(firebolt, "MenuVisible", 0)
- elem.property(spritetab, "MenuVisible", 0)
- elem.property(tiletab, "MenuVisible", 0)
- for i in pairs(special) do
- elem.property(i, "MenuVisible", 0)
- end
- elem.property(backtab, "MenuVisible", 1)
- elseif n == 2 then
- elem.property(warrior, "MenuVisible", 0)
- elem.property(cleric, "MenuVisible", 0)
- elem.property(rat, "MenuVisible", 0)
- elem.property(zombie, "MenuVisible", 0)
- elem.property(piranha, "MenuVisible", 0)
- elem.property(floor, "MenuVisible", 1)
- elem.property(mud, "MenuVisible", 1)
- elem.property(acid, "MenuVisible", 1)
- elem.property(trap, "MenuVisible", 1)
- elem.property(firebolt, "MenuVisible", 1)
- elem.property(spritetab, "MenuVisible", 0)
- elem.property(tiletab, "MenuVisible", 0)
- for i in pairs(special) do
- elem.property(i, "MenuVisible", 0)
- end
- elem.property(backtab, "MenuVisible", 1)
- elseif n == 0 then
- elem.property(warrior, "MenuVisible", 0)
- elem.property(cleric, "MenuVisible", 0)
- elem.property(rat, "MenuVisible", 0)
- elem.property(zombie, "MenuVisible", 0)
- elem.property(piranha, "MenuVisible", 0)
- elem.property(floor, "MenuVisible", 0)
- elem.property(mud, "MenuVisible", 0)
- elem.property(acid, "MenuVisible", 0)
- elem.property(trap, "MenuVisible", 0)
- elem.property(firebolt, "MenuVisible", 0)
- elem.property(backtab, "MenuVisible", 0)
- for i in pairs(special) do
- elem.property(i, "MenuVisible", 1)
- end
- elem.property(spritetab, "MenuVisible", 1)
- elem.property(tiletab, "MenuVisible", 1)
- end
- end
- local function buttons()
- if tpt.selectedl == elem.property(spritetab, "Identifier") then
- switch(1)
- tpt.selectedl = "MAZE_PT_WARR"
- elseif tpt.selectedl == elem.property(tiletab, "Identifier") then
- switch(2)
- tpt.selectedl = "MAZE_PT_FLOOR"
- elseif tpt.selectedl == elem.property(backtab, "Identifier") then
- switch(0)
- tpt.selectedl = "DEFAULT_PT_TRON"
- end
- end
- tpt.register_step(buttons)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement