[SOLVED] Help on on_step

User avatar
rubenwardy
Member
 
Posts: 4500
Joined: Tue Jun 12, 2012 18:11
GitHub: rubenwardy
IRC: rubenwardy
In-game: rubenwardy

[SOLVED] Help on on_step

by rubenwardy » Mon Aug 20, 2012 22:58

How does on step work?
I have a node called traps:cage and i want to know when someone walks on it.

The lua_api.txt says: on_step(self,dtime)

My current code is:

Your phone or window isn't wide enough to display the code box. If it's a phone, try rotating it to landscape mode.
Code: Select all
minetest.register_node(":traps:cage",{
    tile_images = {"default_grass.png", "default_dirt.png",
            "default_grass_side.png", "default_grass_side.png",
            "default_grass_side.png", "default_grass_side.png"},
    inventory_image = minetest.inventorycube("default_grass.png",
            "default_grass_side.png", "default_grass_side.png"),
    dug_item = '', -- Get nothing
    groups={immortal},
    description = "Mine Trap",

on_step=function(pos)
print("[Traps:Cage] Activated")
minetest.env:add_node(pos,{name="default:dirt"})

local tmp={pos.x-1,pos.y+1,pos.z}
minetest.env:add_node(tmp,{name="default:glass"})

end,
})
Last edited by rubenwardy on Tue Aug 21, 2012 09:05, edited 1 time in total.
 

User avatar
PilzAdam
Member
 
Posts: 4026
Joined: Fri Jul 20, 2012 16:19
GitHub: PilzAdam
IRC: PilzAdam

by PilzAdam » Mon Aug 20, 2012 23:08

You cant use this in a node definition.
 

User avatar
rubenwardy
Member
 
Posts: 4500
Joined: Tue Jun 12, 2012 18:11
GitHub: rubenwardy
IRC: rubenwardy
In-game: rubenwardy

by rubenwardy » Mon Aug 20, 2012 23:12

ok, how do you do it?
 

jin_xi
Member
 
Posts: 165
Joined: Mon Jul 02, 2012 18:19

by jin_xi » Mon Aug 20, 2012 23:23

you can create a list of traps, and add a traps position to that list when you place a trap. use table.insert in the traps node definitions on_construct function.

then you need to check if players are in range of a trap. you can register your own functions to be run periodically.
minetest.register_on_globalstep does that. supply a function that checks if a player is in range of a trap.

hope this helps and there may be better ways to do this...
 

User avatar
Casimir
Member
 
Posts: 1101
Joined: Fri Aug 03, 2012 16:59

by Casimir » Tue Aug 21, 2012 08:01

Take a look at the pressureplates of the mesecon-mod.
 

User avatar
rubenwardy
Member
 
Posts: 4500
Joined: Tue Jun 12, 2012 18:11
GitHub: rubenwardy
IRC: rubenwardy
In-game: rubenwardy

by rubenwardy » Tue Aug 21, 2012 09:04

Thank you. It works!

So much easier, thank you to all replyers
 


Return to Modding Discussion

Who is online

Users browsing this forum: No registered users and 48 guests

cron