From ee870f78c2df279aa2d2405a5a4f2c4d76f46c39 Mon Sep 17 00:00:00 2001 From: npx Date: Wed, 16 Mar 2016 00:19:40 +0100 Subject: [PATCH] Working on weapons --- nssm_materials.lua | 2 +- nssm_weapons.lua | 23 +++++++++++++++++------ 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/nssm_materials.lua b/nssm_materials.lua index 793bd1d..3a48970 100644 --- a/nssm_materials.lua +++ b/nssm_materials.lua @@ -36,7 +36,7 @@ nssm_register_noneatcraftitems ('moon_feather','Moon Feather') nssm_register_noneatcraftitems ('sun_feather','Sun Feather') nssm_register_noneatcraftitems ('masticone_fang','Masticone Fang') nssm_register_noneatcraftitems ('white_wolf_fur','White Wolf Fur') -nssm_register_noneatcraftitems ('','') +--nssm_register_noneatcraftitems ('','') minetest.register_craftitem("nssm:mese_egg", { description = "Mese Egg", diff --git a/nssm_weapons.lua b/nssm_weapons.lua index dcd849e..9a689bc 100644 --- a/nssm_weapons.lua +++ b/nssm_weapons.lua @@ -8,21 +8,25 @@ function weapons_shot(itemstack, placer, pointed_thing, velocity, name) local dir = placer:get_look_dir(); local playerpos = placer:getpos(); local obj = minetest.env:add_entity({x=playerpos.x+0+dir.x,y=playerpos.y+2+dir.y,z=playerpos.z+0+dir.z}, "nssm:"..name) - local vec = {x=dir.x*kame_velocity,y=dir.y*kame_velocity,z=dir.z*kame_velocity} + local vec = {x=dir.x*velocity,y=dir.y*velocity,z=dir.z*velocity} obj:setvelocity(vec) return itemstack end function default_on_step(self, pos, node, name, max_time, damage, dir, not_transparent, vel, dtime) local timer = 0 + print ("Dentro on_step\n") minetest.register_globalstep(function(dtime) timer = timer + dtime if (timer>max_time) then self.object:remove() end end) + + print ("Fin qui\n") --while going around it damages entities local objects = minetest.env:get_objects_inside_radius(pos, 2) + print ("Fin qua\n") for _,obj in ipairs(objects) do if (obj:is_player()) then elseif (obj:get_luaentity() and obj:get_luaentity().name ~= "__builtin:item") then @@ -35,10 +39,13 @@ function default_on_step(self, pos, node, name, max_time, damage, dir, not_trans end end + print ("Fino qui\n") + local n = minetest.env:get_node(pos).name if n ~=not_transparent then minetest.env:set_node(pos, {name="air"}) + print ("Fino qua\n") local vec = self.object:getvelocity() local c=3 --calculate how many blocks around need to be removed @@ -73,7 +80,8 @@ function nssm_register_weapon(name, def) description = def.description, inventory_image = name.."_hand.png", on_use = function(itemstack, placer, pointed_thing) - itemstack = weapons_shot(itemstack, placer, pointed_thing, def.velocity, name) + weapons_shot(itemstack, placer, pointed_thing, def.velocity, name) + minetest.chat_send_all("Description: "..def.description) return itemstack end, }) @@ -94,17 +102,19 @@ end --function default_on_step(self, pos, node, name, max_time, damage, dir, not_transparent, vel, dtime) nssm_register_weapon("kamehameha", { - on_step = function(self, dtime) - default_on_step(self, self.pos, node, name, 10, 20, default_dir, "default:stone", 30, dtime) + on_step = function(self, pos, node, dtime) + print ("Prima di chiamare on_step\n") + default_on_step(self, pos, node, "kamehameha", 10, 20, default_dir, "default:stone", 30, dtime) end, - hit_node = function(self, pos, node) - nssm:explosion(self.pos, 4, 1) + hit_node = function(self, pos, node) + nssm:explosion(self, pos, 4, 1) end, material = "default:stick", description = "Kamehameha from DragonBall", velocity = 30, }) +--[[ minetest.register_craft({ output = "nssm:kamehameha_hand", recipe = { @@ -115,3 +125,4 @@ minetest.register_craft({ } } }) +]]