This commit is contained in:
KuacGraxa 2023-04-30 22:56:35 -03:00
parent bdd1799066
commit 42e23013fe
57 changed files with 1223 additions and 96 deletions

37
azarmor/init.lua Normal file
View File

@ -0,0 +1,37 @@
armor:register_armor("zarmor:hat_head", {
description = "Hat",
inventory_image = "inv_hat.png",
groups = {armor_head=1, armor_heal=6, armor_use=300,
physics_speed=-0.02, physics_gravity=0.02},
armor_groups = {fleshy=10},
damage_groups = {cracky=1, snappy=2, choppy=2, crumbly=3, level=2},
})
armor:register_armor("zarmor:Jacket_torso", {
description = "Jacket",
inventory_image = "inv_Jacket.png",
groups = {armor_torso=1, armor_heal=6, armor_use=300,
physics_speed=-0.05, physics_gravity=0.05},
armor_groups = {fleshy=15},
damage_groups = {cracky=1, snappy=2, choppy=2, crumbly=3, level=2},
})
armor:register_armor("zarmor:jeanspants_legs", {
description = "jeans pants",
inventory_image = "inv_jeanspants.png",
groups = {armor_legs=1, armor_heal=6, armor_use=300,
physics_speed=-0.04, physics_gravity=0.04},
armor_groups = {fleshy=15},
damage_groups = {cracky=1, snappy=2, choppy=2, crumbly=3, level=2},
})
armor:register_armor("zarmor:tennis_feet", {
description = "Tennis",
inventory_image = "inv_tennis.png",
groups = {armor_feet=1, armor_heal=6, armor_use=300,
physics_speed=-0.02, physics_gravity=0.02},
armor_groups = {fleshy=10},
damage_groups = {cracky=1, snappy=2, choppy=2, crumbly=3, level=2},
})

2
azarmor/mod.conf Normal file
View File

@ -0,0 +1,2 @@
name = zarmor
depends = default , 3d_armor

Binary file not shown.

After

Width:  |  Height:  |  Size: 675 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 623 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 615 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 646 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 989 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 890 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 726 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 713 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 728 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 714 B

View File

@ -21,5 +21,282 @@ walkable = false,
-- DOORS SOUND : ===============================================================
-- sounds door : https://freesound.org/people/utsuru/sounds/183450/ ( by:utsuru)
minetest.override_item ("doors:door_wood_a",{
on_destruct = function(pos)
minetest.sound_play("crack_door", {
pos = pos,
gain = 1.0,
max_hear_distance = 5,
})
end,
})
minetest.override_item ("doors:door_wood_b",{
on_destruct = function(pos)
minetest.sound_play("crack_door", {
pos = pos,
gain = 1.0,
max_hear_distance = 5,
})
end,
})
minetest.override_item ("doors:door_wood_c",{
on_destruct = function(pos)
minetest.sound_play("crack_door", {
pos = pos,
gain = 1.0,
max_hear_distance = 5,
})
end,
})
minetest.override_item ("doors:door_wood_d",{
on_destruct = function(pos)
minetest.sound_play("crack_door", {
pos = pos,
gain = 1.0,
max_hear_distance = 5,
})
end,
})
-- GLASS
minetest.override_item ("default:glass",{
on_destruct = function(pos)
minetest.sound_play("crack_glass", {
pos = pos,
gain = 1.0,
max_hear_distance = 5,
})
end,
})
--- DOOR GLASS
minetest.override_item ("doors:door_glass_a",{
on_destruct = function(pos)
minetest.sound_play("crack_glass", {
pos = pos,
gain = 1.0,
max_hear_distance = 5,
})
end,
})
minetest.override_item ("doors:door_glass_b",{
on_destruct = function(pos)
minetest.sound_play("crack_glass", {
pos = pos,
gain = 1.0,
max_hear_distance = 5,
})
end,
})
minetest.override_item ("doors:door_glass_c",{
on_destruct = function(pos)
minetest.sound_play("crack_glass", {
pos = pos,
gain = 1.0,
max_hear_distance = 5,
})
end,
})
minetest.override_item ("doors:door_glass_d",{
on_destruct = function(pos)
minetest.sound_play("crack_glass", {
pos = pos,
gain = 1.0,
max_hear_distance = 5,
})
end,
})
--- SUPORTE A OUTRAS DOORS : ==========================================================
if minetest.get_modpath("moretrapdoors") then
minetest.override_item ("doors:pine_door_a",{
on_destruct = function(pos)
minetest.sound_play("crack_door", {
pos = pos,
gain = 1.0,
max_hear_distance = 5,
})
end,
})
minetest.override_item ("doors:pine_door_b",{
on_destruct = function(pos)
minetest.sound_play("crack_door", {
pos = pos,
gain = 1.0,
max_hear_distance = 5,
})
end,
})
minetest.override_item ("doors:pine_door_c",{
on_destruct = function(pos)
minetest.sound_play("crack_door", {
pos = pos,
gain = 1.0,
max_hear_distance = 5,
})
end,
})
minetest.override_item ("doors:pine_door_d",{
on_destruct = function(pos)
minetest.sound_play("crack_door", {
pos = pos,
gain = 1.0,
max_hear_distance = 5,
})
end,
})
-- aspen
minetest.override_item ("doors:aspen_doors_a",{
on_destruct = function(pos)
minetest.sound_play("crack_door", {
pos = pos,
gain = 1.0,
max_hear_distance = 5,
})
end,
})
minetest.override_item ("doors:aspen_doors_b",{
on_destruct = function(pos)
minetest.sound_play("crack_door", {
pos = pos,
gain = 1.0,
max_hear_distance = 5,
})
end,
})
minetest.override_item ("doors:aspen_doors_c",{
on_destruct = function(pos)
minetest.sound_play("crack_door", {
pos = pos,
gain = 1.0,
max_hear_distance = 5,
})
end,
})
minetest.override_item ("doors:aspen_doors_d",{
on_destruct = function(pos)
minetest.sound_play("crack_door", {
pos = pos,
gain = 1.0,
max_hear_distance = 5,
})
end,
})
-- acacia
minetest.override_item ("doors:acacia_door_a",{
on_destruct = function(pos)
minetest.sound_play("crack_door", {
pos = pos,
gain = 1.0,
max_hear_distance = 5,
})
end,
})
minetest.override_item ("doors:acacia_door_b",{
on_destruct = function(pos)
minetest.sound_play("crack_door", {
pos = pos,
gain = 1.0,
max_hear_distance = 5,
})
end,
})
minetest.override_item ("doors:acacia_door_c",{
on_destruct = function(pos)
minetest.sound_play("crack_door", {
pos = pos,
gain = 1.0,
max_hear_distance = 5,
})
end,
})
minetest.override_item ("doors:acacia_door_d",{
on_destruct = function(pos)
minetest.sound_play("crack_door", {
pos = pos,
gain = 1.0,
max_hear_distance = 5,
})
end,
})
-- Jungle
minetest.override_item ("doors:jungle_door_a",{
on_destruct = function(pos)
minetest.sound_play("crack_door", {
pos = pos,
gain = 1.0,
max_hear_distance = 5,
})
end,
})
minetest.override_item ("doors:jungle_door_b",{
on_destruct = function(pos)
minetest.sound_play("crack_door", {
pos = pos,
gain = 1.0,
max_hear_distance = 5,
})
end,
})
minetest.override_item ("doors:jungle_door_c",{
on_destruct = function(pos)
minetest.sound_play("crack_door", {
pos = pos,
gain = 1.0,
max_hear_distance = 5,
})
end,
})
minetest.override_item ("doors:jungle_door_d",{
on_destruct = function(pos)
minetest.sound_play("crack_door", {
pos = pos,
gain = 1.0,
max_hear_distance = 5,
})
end,
})
end

View File

@ -1,2 +1,3 @@
name = changex
depends = default
depends = default
optional_depends = doors ,moretrapdoors

Binary file not shown.

Binary file not shown.

View File

@ -2,7 +2,7 @@ minetest.register_node("deco:stopsign", {
description = "stop sign",
drawtype = "mesh",
mesh = "stopsign.obj",
isual_size = {x=1, y=1},
--visual_size = {x=1, y=1},
--inventory_image = "",
--wield_image = "stop_sign.png",
tiles = {"stop_sign.png"},
@ -46,7 +46,7 @@ minetest.register_node("deco:trashcan", {
description = "trashcan",
drawtype = "mesh",
mesh = "trashcan.obj",
isual_size = {x=1, y=1},
--visual_size = {x=1, y=1},
--inventory_image = "",
wield_image = "trashcan.png",
tiles = {"trashcan.png"},
@ -99,7 +99,7 @@ minetest.register_node("deco:vendingmachine", {
description = "Vending machine",
drawtype = "mesh",
mesh = "vending_machine.obj",
isual_size = {x=1, y=1},
--visual_size = {x=1, y=1},
--inventory_image = "",
--wield_image = "monitor.png",
tiles = {"vending_machine.png"},
@ -124,6 +124,10 @@ minetest.register_node("deco:vendingmachine", {
type = "fixed",
fixed = {-0.5, -0.5, -0.5, 0.5, 1.4, 0.5},
},
on_rightclick = function(pos, node, player, itemstack, pointed_thing)
minetest.chat_send_player(player:get_player_name(), "This machine is empty!")
end,
})
@ -141,11 +145,12 @@ minetest.register_craft({ ------ CRaFT
---- RADIO :
--- Sound : https://freesound.org/people/arialfa07/sounds/516618/
minetest.register_node("deco:radio", {
description = "Radio",
drawtype = "mesh",
mesh = "radio.obj",
isual_size = {x=1, y=1},
--visual_size = {x=1, y=1},
--inventory_image = "",
tiles = {"radio.png"},
paramtype = "light",
@ -168,6 +173,15 @@ minetest.register_node("deco:radio", {
type = "fixed",
fixed = {-0.3, -0.5, -0.3, 0.3, 0.2, 0.3},
},
on_rightclick = function(pos, node, player, itemstack, pointed_thing)
-- Play a sound to the player at the node position
minetest.sound_play("radioo", {
pos = pos,
gain = 1.0,
max_hear_distance = 10,
})
end,
})
@ -189,7 +203,7 @@ minetest.register_node("deco:table", {
description = "Table",
drawtype = "mesh",
mesh = "table.obj",
isual_size = {x=1, y=1},
--visual_size = {x=1, y=1},
--inventory_image = "",
tiles = {"table.png"},
paramtype = "light",
@ -233,7 +247,7 @@ minetest.register_node("deco:computer", {
description = "Computer",
drawtype = "mesh",
mesh = "computer.obj",
isual_size = {x=1, y=1},
--visual_size = {x=1, y=1},
--inventory_image = "",
tiles = {"computerr.png"},
paramtype = "light",
@ -249,7 +263,7 @@ minetest.register_node("deco:computer", {
selection_box = {
type = "fixed",
-- esqueda,altura,tras..,direita ,negativo aumenta para baixo, positivo aumenta para cima
fixed = {-0.4, -0.5, -0.4, 0.4, 0.1, 0.4},
fixed = {-0.4, -0.5, -0.001, 0.4, 0.1, 0.15},
},
node_box = {
@ -257,6 +271,10 @@ minetest.register_node("deco:computer", {
fixed = {-0.4, -0.5, -0.4, 0.4, 0.5, 0.4},
},
on_rightclick = function(pos, node, player, itemstack, pointed_thing)
local formspec = "size[8,8;]image[-0.9,-0.3;12,11;pc.png]"
minetest.show_formspec(player:get_player_name(), "mymod:img_formspec", formspec) -- falta a imagem
end
})
@ -277,7 +295,7 @@ minetest.register_node("deco:armchair", {
description = "Armchair",
drawtype = "mesh",
mesh = "armchair.obj",
isual_size = {x=1, y=1},
--visual_size = {x=1, y=1},
--inventory_image = "",
tiles = {"armchair.png"},
paramtype = "light",
@ -300,7 +318,37 @@ minetest.register_node("deco:armchair", {
type = "fixed",
fixed = {-0.4, -0.5, -0.4, 0.4, -0.1, 0.4},
},
--[[
on_rightclick = function(pos, node, clicker, itemstack, pointed_thing)
for _, player in ipairs(minetest.get_connected_players()) do
minetest.chat_send_player(player:get_player_name(), "punch the armchair to get up!")
end
clicker:set_physics_override({
gravity = 0,
jump = 0,
speed = 0,
})
clicker:set_eye_offset({x = 0, y = -3, z = 0}, {x = 0, y = 0, z = 0})
clicker:set_animation({x=81,y=160}, 0, 0)
minetest.after(0.1, function()
clicker:set_pos({x=pos.x, y=pos.y-0.5, z=pos.z})
end)
end,
on_punch = function(pos, node, puncher)
puncher:set_physics_override({
gravity = 1,
jump = 1,
speed = 1,
})
puncher:set_eye_offset({x = 0, y = 0, z = 0}, {x = 0, y = 0, z = 0})
puncher:set_animation({x=1,y=80}, 0, 0)
end,
]]
})
@ -320,7 +368,7 @@ minetest.register_node("deco:shelving", {
description = "Shelving",
drawtype = "mesh",
mesh = "shelving.obj",
isual_size = {x=1, y=1},
--visual_size = {x=1, y=1},
--inventory_image = "",
tiles = {"shalving.png"},
paramtype = "light",
@ -364,7 +412,7 @@ minetest.register_node("deco:medicinebox", {
description = "Medicine Box",
drawtype = "mesh",
mesh = "medicine_box.obj",
isual_size = {x=1, y=1},
--visual_size = {x=1, y=1},
--inventory_image = "",
tiles = {"medicine_box.png"},
paramtype = "light",
@ -415,7 +463,7 @@ minetest.register_node("deco:trafficcone", {
description = "Traffic Cone",
drawtype = "mesh",
mesh = "traffic_cone.obj",
isual_size = {x=1, y=1},
--visual_size = {x=1, y=1},
--inventory_image = "",
tiles = {"traffic_cone.png"},
paramtype = "light",
@ -575,6 +623,7 @@ minetest.register_node("deco:cardboardbox", {
-- Foods:
--[[
{
items = {'foodx:canned_beans'},
rarity = 2,
@ -584,7 +633,7 @@ minetest.register_node("deco:cardboardbox", {
items = {'foodx:canned_tomato'},
rarity = 1,
},
]]
-- Bullets :
@ -770,3 +819,78 @@ minetest.register_craft({ ------ CRaFT
}
})
]]
---- BEDS :
minetest.register_node("deco:dirtybeds", {
description = "Dirty beds",
drawtype = "mesh",
mesh = "bedx.obj",
--visual_size = {x=1, y=1},
--inventory_image = "",
tiles = {"bedx.png"},
paramtype = "light",
paramtype2 = "facedir",
--on_place = minetest.rotate_node,
sunlight_propagates = true,
walkable = true,
floodable = false,
groups = {cracky = 3, oddly_breakable_by_hand = 3},
--drop = " ",
sounds = default.node_sound_wood_defaults(),
selection_box = {
type = "fixed",
-- esqueda,altura,tras..,direita ,negativo aumenta para baixo, positivo aumenta para cima
fixed = {-0.5, -0.5, -0.5, 0.5, -0.01, 1.5},
},
node_box = {
type = "fixed",
fixed = {-0.5, -0.5, -0.5, 0.5, -0.01, 1.5},
},
on_rightclick = function(pos, node, player, itemstack, pointed_thing)
minetest.chat_send_player(player:get_player_name(), "That bed is contaminated, you can't sleep in it!")
end,
})
---- VASES :
minetest.register_node("deco:vases", {
description = "Vases",
drawtype = "mesh",
mesh = "vases.obj",
--visual_size = {x=1, y=1},
--inventory_image = "",
tiles = {"vases.png"},
paramtype = "light",
paramtype2 = "facedir",
--on_place = minetest.rotate_node,
sunlight_propagates = true,
walkable = true,
floodable = false,
groups = {cracky = 3, oddly_breakable_by_hand = 3},
--drop = " ",
sounds = default.node_sound_wood_defaults(),
selection_box = {
type = "fixed",
-- esqueda,altura,tras..,direita ,negativo aumenta para baixo, positivo aumenta para cima
fixed = {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5},
},
node_box = {
type = "fixed",
fixed = {-0.5, -0.5, -0.5, 0.5, 0.5, 0.5},
},
})

View File

@ -1,2 +1,2 @@
name = deco
depends = default , foodx , rangedweapons
depends = default , foodx , rangedweapons , player_api

4
deco/models/bedx.mtl Normal file
View File

@ -0,0 +1,4 @@
# Made in Blockbench 4.7.1
newmtl m_a7718c50-5473-416a-9c73-58e66dc4c77a
map_Kd bedx.png
newmtl none

49
deco/models/bedx.obj Normal file
View File

@ -0,0 +1,49 @@
# Made in Blockbench 4.7.1
mtllib bedx.mtl
o cube
v 0.5 0 1.5
v 0.5 0 -0.5
v 0.5 -0.5 1.5
v 0.5 -0.5 -0.5
v -0.5 0 -0.5
v -0.5 0 1.5
v -0.5 -0.5 -0.5
v -0.5 -0.5 1.5
vt 0.5 0.875
vt 0.75 0.875
vt 0.75 0.75
vt 0.5 0.75
vt 0 0.5
vt 0.5 0.5
vt 0.5 0.375
vt 0 0.375
vt 0.5 0.75
vt 0.75 0.75
vt 0.75 0.625
vt 0.5 0.625
vt 0.5 1
vt 1 1
vt 1 0.875
vt 0.5 0.875
vt 0.25 0.5
vt 0 0.5
vt 0 1
vt 0.25 1
vt 0.5 1
vt 0.25 1
vt 0.25 0.5
vt 0.5 0.5
vn 0 0 -1
vn 1 0 0
vn 0 0 1
vn -1 0 0
vn 0 1 0
vn 0 -1 0
usemtl m_a7718c50-5473-416a-9c73-58e66dc4c77a
f 4/4/1 7/3/1 5/2/1 2/1/1
f 3/8/2 4/7/2 2/6/2 1/5/2
f 8/12/3 3/11/3 1/10/3 6/9/3
f 7/16/4 8/15/4 6/14/4 5/13/4
f 6/20/5 1/19/5 2/18/5 5/17/5
f 7/24/6 4/23/6 3/22/6 8/21/6

File diff suppressed because one or more lines are too long

4
deco/models/vases.mtl Normal file
View File

@ -0,0 +1,4 @@
# Made in Blockbench 4.7.1
newmtl m_37b0ccb5-1e4f-0e00-f6e0-b5c731fddc79
map_Kd vases.png
newmtl none

187
deco/models/vases.obj Normal file
View File

@ -0,0 +1,187 @@
# Made in Blockbench 4.7.1
mtllib vases.mtl
o cube
v 0.375 0.3125 0.4375
v 0.375 0.3125 -0.4375
v 0.375 -0.5 0.4375
v 0.375 -0.5 -0.4375
v -0.4375 0.3125 -0.4375
v -0.4375 0.3125 0.4375
v -0.4375 -0.5 -0.4375
v -0.4375 -0.5 0.4375
vt 0 0.5
vt 0.203125 0.5
vt 0.203125 0.296875
vt 0 0.296875
vt 0.25 1
vt 0.46875 1
vt 0.46875 0.796875
vt 0.25 0.796875
vt 0.203125 0.375
vt 0.40625 0.375
vt 0.40625 0.171875
vt 0.203125 0.171875
vt 0.25 0.796875
vt 0.46875 0.796875
vt 0.46875 0.59375
vt 0.25 0.59375
vt 0.453125 0.375
vt 0.25 0.375
vt 0.25 0.59375
vt 0.453125 0.59375
vt 0.65625 0.59375
vt 0.453125 0.59375
vt 0.453125 0.375
vt 0.65625 0.375
vn 0 0 -1
vn 1 0 0
vn 0 0 1
vn -1 0 0
vn 0 1 0
vn 0 -1 0
usemtl m_37b0ccb5-1e4f-0e00-f6e0-b5c731fddc79
f 4/4/1 7/3/1 5/2/1 2/1/1
f 3/8/2 4/7/2 2/6/2 1/5/2
f 8/12/3 3/11/3 1/10/3 6/9/3
f 7/16/4 8/15/4 6/14/4 5/13/4
f 6/20/5 1/19/5 2/18/5 5/17/5
f 7/24/6 4/23/6 3/22/6 8/21/6
o cube
v 0.4375 0.5 0.5
v 0.4375 0.5 -0.5
v 0.4375 0.25 0.5
v 0.4375 0.25 -0.5
v -0.5 0.5 -0.5
v -0.5 0.5 0.5
v -0.5 0.25 -0.5
v -0.5 0.25 0.5
vt 0.40625 0.375
vt 0.65625 0.375
vt 0.65625 0.3125
vt 0.40625 0.3125
vt 0.65625 0.59375
vt 0.90625 0.59375
vt 0.90625 0.53125
vt 0.65625 0.53125
vt 0.65625 0.53125
vt 0.90625 0.53125
vt 0.90625 0.46875
vt 0.65625 0.46875
vt 0.65625 0.46875
vt 0.90625 0.46875
vt 0.90625 0.40625
vt 0.65625 0.40625
vt 0.25 0.75
vt 0 0.75
vt 0 1
vt 0.25 1
vt 0.25 0.75
vt 0 0.75
vt 0 0.5
vt 0.25 0.5
vn 0 0 -1
vn 1 0 0
vn 0 0 1
vn -1 0 0
vn 0 1 0
vn 0 -1 0
usemtl m_37b0ccb5-1e4f-0e00-f6e0-b5c731fddc79
f 12/28/7 15/27/7 13/26/7 10/25/7
f 11/32/8 12/31/8 10/30/8 9/29/8
f 16/36/9 11/35/9 9/34/9 14/33/9
f 15/40/10 16/39/10 14/38/10 13/37/10
f 14/44/11 9/43/11 10/42/11 13/41/11
f 15/48/12 12/47/12 11/46/12 16/45/12
o cube
v 0.5625 1.875 0
v 0.5625 1.875 0
v 0.5625 0.5 0
v 0.5625 0.5 0
v -0.625 1.875 0
v -0.625 1.875 0
v -0.625 0.5 0
v -0.625 0.5 0
vt 0.46875 0.796875
vt 0.671875 0.796875
vt 0.671875 0.59375
vt 0.46875 0.59375
vt 0 1
vt 0 1
vt 0 0.796875
vt 0 0.796875
vt 0.671875 0.796875
vt 0.46875 0.796875
vt 0.46875 0.59375
vt 0.671875 0.59375
vt 0 1
vt 0 1
vt 0 0.796875
vt 0 0.796875
vt 0.203125 1
vt 0 1
vt 0 1
vt 0.203125 1
vt 0.203125 1
vt 0 1
vt 0 1
vt 0.203125 1
vn 0 0 -1
vn 1 0 0
vn 0 0 1
vn -1 0 0
vn 0 1 0
vn 0 -1 0
usemtl m_37b0ccb5-1e4f-0e00-f6e0-b5c731fddc79
f 20/52/13 23/51/13 21/50/13 18/49/13
f 19/56/14 20/55/14 18/54/14 17/53/14
f 24/60/15 19/59/15 17/58/15 22/57/15
f 23/64/16 24/63/16 22/62/16 21/61/16
f 22/68/17 17/67/17 18/66/17 21/65/17
f 23/72/18 20/71/18 19/70/18 24/69/18
o cube
v 5.983367168393983e-8 1.875 0.5624999999999978
v 5.983367168393983e-8 1.875 0.5624999999999978
v 5.179692696977156e-8 0.4999999999999998 0.5624999999999978
v 5.179692696977156e-8 0.4999999999999998 0.5624999999999978
v -4.334577413667162e-8 1.875 -0.6249999999999977
v -4.334577413667162e-8 1.875 -0.6249999999999977
v -5.1382518850839887e-8 0.5000000000000004 -0.6249999999999977
v -5.1382518850839887e-8 0.5000000000000004 -0.6249999999999977
vt 0.46875 0.796875
vt 0.671875 0.796875
vt 0.671875 0.59375
vt 0.46875 0.59375
vt 0 1
vt 0 1
vt 0 0.796875
vt 0 0.796875
vt 0.671875 0.796875
vt 0.46875 0.796875
vt 0.46875 0.59375
vt 0.671875 0.59375
vt 0 1
vt 0 1
vt 0 0.796875
vt 0 0.796875
vt 0.203125 1
vt 0 1
vt 0 1
vt 0.203125 1
vt 0.203125 1
vt 0 1
vt 0 1
vt 0.203125 1
vn 0.9999999999999962 -5.844905260405698e-9 -8.68879543869383e-8
vn 8.68879543869383e-8 -5.07851861662108e-16 0.9999999999999962
vn -0.9999999999999962 5.844905260405698e-9 8.68879543869383e-8
vn -8.68879543869383e-8 5.07851861662108e-16 -0.9999999999999962
vn 5.8449052604057195e-9 1 -8.493418847481753e-26
vn -5.8449052604057195e-9 -1 8.493418847481753e-26
usemtl m_37b0ccb5-1e4f-0e00-f6e0-b5c731fddc79
f 28/76/19 31/75/19 29/74/19 26/73/19
f 27/80/20 28/79/20 26/78/20 25/77/20
f 32/84/21 27/83/21 25/82/21 30/81/21
f 31/88/22 32/87/22 30/86/22 29/85/22
f 30/92/23 25/91/23 26/90/23 29/89/23
f 31/96/24 28/95/24 27/94/24 32/93/24

BIN
deco/sounds/radioo.ogg Normal file

Binary file not shown.

BIN
deco/textures/bedx.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

BIN
deco/textures/pc.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 101 KiB

BIN
deco/textures/pc.png~ Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

BIN
deco/textures/vases.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@ -1,3 +1,6 @@
local climb_node = { "default:ladder_wood" ,"default:ladder_steel"}
local zombienods = {
@ -22,7 +25,6 @@ local zombienods = {
"nodex:whiteblock",
}
---- SKULL SWORD ------------------------------------------------------------------------------------------------------
mobs:register_mob("doctorzombie:doctorzombie", {
--nametag = "Doctor Zombie" ,
@ -35,8 +37,8 @@ mobs:register_mob("doctorzombie:doctorzombie", {
pathfinding = true,
reach = 3,
damage = 3,
hp_min = 10,
hp_max = 10,
hp_min = 100,
hp_max = 100,
armor = 100,
collisionbox = {-0.4, 0, -0.4, 0.4, 1.8, 0.4},
visual = "mesh",
@ -56,7 +58,7 @@ mobs:register_mob("doctorzombie:doctorzombie", {
walk_velocity = 1,
run_velocity = 4,
jump_height = 2,
stepheight = 1.2,
stepheight = 1.1,
floats = 0,
view_range = 35,
drops = {
@ -88,22 +90,91 @@ mobs:register_mob("doctorzombie:doctorzombie", {
do_custom = function(self, dtime)
local pos = self.object:get_pos() -- consegue sua propia posição
local vel = {x=0, y=0.2, z=0} -- deveria ser velocidade hehe
local face = minetest.get_node({x=pos.x, y=pos.y, z=pos.z+1}) -- bloco que estar em sua frente
for i,v in ipairs (climb_node) do
if face.name == v then -- se o bloco em sua frente é escadas
self.object:set_pos({x=pos.x, y=pos.y+1, z=pos.z}) -- enquanto o bloco for escadas y+1
self.object:set_velocity(vel) -- velocidade, não eficiente :/
local pos = self.object:get_pos() -- consegue sua propia posição
local face = minetest.get_node({x=pos.x, y=pos.y, z=pos.z+1}) -- bloco que estar em sua frente
local face2 = minetest.get_node({x=pos.x, y=pos.y, z=pos.z-1})
local face3 = minetest.get_node({x=pos.x+1, y=pos.y, z=pos.z})
local face4 = minetest.get_node({x=pos.x-1, y=pos.y, z=pos.z})
--local ladders = {"default:ladder_wood","default:ladder_steel" }
--for i,v in ipairs (climb_node) do
if face.name == "default:ladder_wood" or face.name == "default:ladder_steel" then -- se o bloco em sua frente é escadas
self.object:set_pos({x=pos.x, y=pos.y+1, z=pos.z}) -- enquanto o bloco for escadas y+1
self.object:set_velocity({x=0, y=-5, z=0}) -- velocidade, não eficiente :/
end
if face2.name == "default:ladder_wood" or face2.name == "default:ladder_steel" then -- se o bloco em sua frente é escadas
self.object:set_pos({x=pos.x, y=pos.y+1, z=pos.z}) -- enquanto o bloco for escadas y+1
self.object:set_velocity({x=0, y=-5, z=0}) -- velocidade, não eficiente :/
end
if face3.name == "default:ladder_wood" or face3.name == "default:ladder_steel" then -- se o bloco em sua frente é escadas
self.object:set_pos({x=pos.x, y=pos.y+1, z=pos.z}) -- enquanto o bloco for escadas y+1
self.object:set_velocity({x=0, y=-5, z=0}) -- velocidade, não eficiente :/
end
if face4.name == "default:ladder_wood" or face4.name == "default:ladder_steel" then -- se o bloco em sua frente é escadas
self.object:set_pos({x=pos.x, y=pos.y+1, z=pos.z}) -- enquanto o bloco for escadas y+1
self.object:set_velocity({x=0, y=-5, z=0}) -- velocidade, não eficiente :/
end
--end
-- BREACK DOOR :
for _,players in pairs(minetest.get_objects_inside_radius(pos,5)) do
if players:is_player() then
local door_pos = minetest.find_node_near(pos, 1, {
"doors:door_wood_a" ,
"doors:door_wood_b",
"doors:door_wood_c",
"doors:door_wood_d",
"default:glass",
"doors:door_glass_a",
"doors:door_glass_b",
"doors:door_glass_c",
"doors:door_glass_d",
"doors:pine_door_a",
"doors:pine_door_b",
"doors:pine_door_c",
"doors:pine_door_d",
"doors:aspen_doors_a",
"doors:aspen_doors_b",
"doors:aspen_doors_c",
"doors:aspen_doors_d",
"doors:acacia_door_a",
"doors:acacia_door_b",
"doors:acacia_door_c",
"doors:acacia_door_d",
"doors:jungle_door_a",
"doors:jungle_door_b",
"doors:jungle_door_c",
"doors:jungle_door_d"
})
if door_pos ~= nil then
minetest.after(3, function() -- remover depois de 2 segundos
minetest.remove_node(door_pos)
end)
else
end
end
end
end
end
})
@ -123,3 +194,4 @@ mobs:spawn({
mobs:register_egg("doctorzombie:doctorzombie", "Doctor Zombie", "zombies_egg.png", 0)

View File

@ -1,3 +1,3 @@
name = doctorzombie
depends = default, mobs ,itemx
depends = default, mobs ,itemx ,doors

Binary file not shown.

View File

@ -5,7 +5,6 @@ local zombienods = {
}
---- SKULL SWORD ------------------------------------------------------------------------------------------------------
mobs:register_mob("lumberjackzombie:lumberjackzombie", {
--nametag = "Lumberjack Zombie" ,
@ -39,7 +38,7 @@ mobs:register_mob("lumberjackzombie:lumberjackzombie", {
walk_velocity = 1,
run_velocity = 3,
jump_height = 2,
stepheight = 1.5,
stepheight = 1.1,
floats = 0,
view_range = 35,
drops = {
@ -65,6 +64,91 @@ mobs:register_mob("lumberjackzombie:lumberjackzombie", {
die_start = 280,
die_end = 300,
},
do_custom = function(self, dtime)
local pos = self.object:get_pos() -- consegue sua propia posição
local face = minetest.get_node({x=pos.x, y=pos.y, z=pos.z+1}) -- bloco que estar em sua frente
local face2 = minetest.get_node({x=pos.x, y=pos.y, z=pos.z-1})
local face3 = minetest.get_node({x=pos.x+1, y=pos.y, z=pos.z})
local face4 = minetest.get_node({x=pos.x-1, y=pos.y, z=pos.z})
--local ladders = {"default:ladder_wood","default:ladder_steel" }
--for i,v in ipairs (climb_node) do
if face.name == "default:ladder_wood" or face.name == "default:ladder_steel" then -- se o bloco em sua frente é escadas
self.object:set_pos({x=pos.x, y=pos.y+1, z=pos.z}) -- enquanto o bloco for escadas y+1
self.object:set_velocity({x=0, y=-5, z=0}) -- velocidade, não eficiente :/
end
if face2.name == "default:ladder_wood" or face2.name == "default:ladder_steel" then -- se o bloco em sua frente é escadas
self.object:set_pos({x=pos.x, y=pos.y+1, z=pos.z}) -- enquanto o bloco for escadas y+1
self.object:set_velocity({x=0, y=-5, z=0}) -- velocidade, não eficiente :/
end
if face3.name == "default:ladder_wood" or face3.name == "default:ladder_steel" then -- se o bloco em sua frente é escadas
self.object:set_pos({x=pos.x, y=pos.y+1, z=pos.z}) -- enquanto o bloco for escadas y+1
self.object:set_velocity({x=0, y=-5, z=0}) -- velocidade, não eficiente :/
end
if face4.name == "default:ladder_wood" or face4.name == "default:ladder_steel" then -- se o bloco em sua frente é escadas
self.object:set_pos({x=pos.x, y=pos.y+1, z=pos.z}) -- enquanto o bloco for escadas y+1
self.object:set_velocity({x=0, y=-5, z=0}) -- velocidade, não eficiente :/
end
--end
-- BREACK DOOR :
for _,players in pairs(minetest.get_objects_inside_radius(pos,5)) do
if players:is_player() then
local door_pos = minetest.find_node_near(pos, 1, {
"doors:door_wood_a" ,
"doors:door_wood_b",
"doors:door_wood_c",
"doors:door_wood_d",
"default:glass",
"doors:door_glass_a",
"doors:door_glass_b",
"doors:door_glass_c",
"doors:door_glass_d",
"doors:pine_door_a",
"doors:pine_door_b",
"doors:pine_door_c",
"doors:pine_door_d",
"doors:aspen_doors_a",
"doors:aspen_doors_b",
"doors:aspen_doors_c",
"doors:aspen_doors_d",
"doors:acacia_door_a",
"doors:acacia_door_b",
"doors:acacia_door_c",
"doors:acacia_door_d",
"doors:jungle_door_a",
"doors:jungle_door_b",
"doors:jungle_door_c",
"doors:jungle_door_d"
})
if door_pos ~= nil then
minetest.after(3, function() -- remover depois de 2 segundos
minetest.remove_node(door_pos)
end)
else
end
end
end
end
})

View File

@ -9,9 +9,6 @@ local zombienods = {
}
---- SKULL SWORD ------------------------------------------------------------------------------------------------------
mobs:register_mob("minerzombie:minerzombie", {
--nametag = "Miner Zombie" ,
type = "monster",
@ -70,6 +67,12 @@ mobs:register_mob("minerzombie:minerzombie", {
die_start = 280,
die_end = 300,
},
--[[
on_die = function(self, pos)
end
]]
})

View File

@ -61,7 +61,7 @@ minetest.register_node("nodex:greenblock", {
tiles = {"green_node.png"},
paramtype2 = "facedir",
groups = {cracky = 3},
drop = "nodex:green_node",
drop = "nodex:greenblock",
sounds = default.node_sound_stone_defaults()
})

View File

@ -20,7 +20,6 @@ local zombienods = {
"nodex:road3",
}
---- SKULL SWORD ------------------------------------------------------------------------------------------------------
mobs:register_mob("runner:runner", {
--nametag = "Runner Zombie" ,
@ -56,7 +55,7 @@ mobs:register_mob("runner:runner", {
walk_velocity = 2,
run_velocity = 8,
jump_height = 2,
stepheight = 1.7,
stepheight = 1.1,
floats = 0,
view_range = 35,
drops = {
@ -86,21 +85,87 @@ mobs:register_mob("runner:runner", {
do_custom = function(self, dtime)
local pos = self.object:get_pos() -- consegue sua propia posição
local vel = {x=0, y=0.2, z=0} -- deveria ser velocidade hehe
local face = minetest.get_node({x=pos.x, y=pos.y, z=pos.z+1}) -- bloco que estar em sua frente
for i,v in ipairs (climb_node) do
if face.name == v then -- se o bloco em sua frente é escadas
self.object:set_pos({x=pos.x, y=pos.y+1, z=pos.z}) -- enquanto o bloco for escadas y+1
self.object:set_velocity(vel) -- velocidade, não eficiente :/
end
local pos = self.object:get_pos() -- consegue sua propia posição
local face = minetest.get_node({x=pos.x, y=pos.y, z=pos.z+1}) -- bloco que estar em sua frente
local face2 = minetest.get_node({x=pos.x, y=pos.y, z=pos.z-1})
local face3 = minetest.get_node({x=pos.x+1, y=pos.y, z=pos.z})
local face4 = minetest.get_node({x=pos.x-1, y=pos.y, z=pos.z})
--local ladders = {"default:ladder_wood","default:ladder_steel" }
--for i,v in ipairs (climb_node) do
if face.name == "default:ladder_wood" or face.name == "default:ladder_steel" then -- se o bloco em sua frente é escadas
self.object:set_pos({x=pos.x, y=pos.y+1, z=pos.z}) -- enquanto o bloco for escadas y+1
self.object:set_velocity({x=0, y=-5, z=0}) -- velocidade, não eficiente :/
end
if face2.name == "default:ladder_wood" or face2.name == "default:ladder_steel" then -- se o bloco em sua frente é escadas
self.object:set_pos({x=pos.x, y=pos.y+1, z=pos.z}) -- enquanto o bloco for escadas y+1
self.object:set_velocity({x=0, y=-5, z=0}) -- velocidade, não eficiente :/
end
if face3.name == "default:ladder_wood" or face3.name == "default:ladder_steel" then -- se o bloco em sua frente é escadas
self.object:set_pos({x=pos.x, y=pos.y+1, z=pos.z}) -- enquanto o bloco for escadas y+1
self.object:set_velocity({x=0, y=-5, z=0}) -- velocidade, não eficiente :/
end
if face4.name == "default:ladder_wood" or face4.name == "default:ladder_steel" then -- se o bloco em sua frente é escadas
self.object:set_pos({x=pos.x, y=pos.y+1, z=pos.z}) -- enquanto o bloco for escadas y+1
self.object:set_velocity({x=0, y=-5, z=0}) -- velocidade, não eficiente :/
end
--end
end
-- BREACK DOOR :
for _,players in pairs(minetest.get_objects_inside_radius(pos,5)) do
if players:is_player() then
local door_pos = minetest.find_node_near(pos, 1, {
"doors:door_wood_a" ,
"doors:door_wood_b",
"doors:door_wood_c",
"doors:door_wood_d",
"default:glass",
"doors:door_glass_a",
"doors:door_glass_b",
"doors:door_glass_c",
"doors:door_glass_d",
"doors:pine_door_a",
"doors:pine_door_b",
"doors:pine_door_c",
"doors:pine_door_d",
"doors:aspen_doors_a",
"doors:aspen_doors_b",
"doors:aspen_doors_c",
"doors:aspen_doors_d",
"doors:acacia_door_a",
"doors:acacia_door_b",
"doors:acacia_door_c",
"doors:acacia_door_d",
"doors:jungle_door_a",
"doors:jungle_door_b",
"doors:jungle_door_c",
"doors:jungle_door_d"
})
if door_pos ~= nil then
minetest.after(3, function() -- remover depois de 2 segundos
minetest.remove_node(door_pos)
end)
else
end
end
end
end
})

View File

@ -1,3 +1,3 @@
name = runner
depends = default, mobs
depends = default, mobs

View File

@ -20,9 +20,31 @@ local zombienods = {
}
function poison_part (pos) --- PARTICULAS
minetest.add_particlespawner({
amount = 5,
time = 0.1,
minpos = pos,
maxpos = pos,
minvel = {x = dir.x - 1, y = dir.y, z = dir.z - 1},
maxvel = {x = dir.x + 1, y = dir.y, z = dir.z + 1},
minacc = {x = 0, y = -5, z = 0},
maxacc = {x = 0, y = -9, z = 0},
minexptime = 1,
maxexptime = 1,
minsize = 1,
maxsize = 2,
texture = "stamina_poison_particle.png"
})
end
----- ACID =====================================================================
--- Particules :
--[[
function gas(pos) --- PARTICULAS
@ -80,6 +102,8 @@ minetest.register_node("spitterzombie:acid", {
end,
})
]]
---- VOMITER ZOMBIE ============================================================
mobs:register_mob("spitterzombie:spitterzombie", {
@ -161,9 +185,56 @@ mobs:register_arrow("spitterzombie:spitter_arrow", {
hit_player = function(self, player)
local pp = player:get_pos() -- Pos player
-- Quando estar de armadura , o escudo bloquei parte do dano causado por evenenamento
minetest.set_node(pp, {name = "spitterzombie:acid"})
minetest.chat_send_player(player:get_player_name(), "You are poisoned!") -- msg para p player
local count = 15 -- Contagem de tempo do dano era 15
local delay = 1 -- Intervaloe entre danos
local function countdown()
if count > 0 then -- Se o contador ainda não chegou a 0
---------- PARTICULAS :
local pos = player:get_pos()
local dir = player:get_look_dir() -- direção em que o jogador está olhando
local distance = 1 -- distância a partir da cabeça do jogador
local front_player = {
x = pos.x + (dir.x * distance),
y = pos.y + (dir.y * distance) + 1.5, -- altura da cabeça do jogador
z = pos.z + (dir.z * distance)
}
minetest.add_particlespawner({
amount = 3, -- quantidade de particulas
time = 2, -- quanto tempo geradas
minpos = front_player,
maxpos = front_player,
minvel = {x = -0.1, y = 0.1, z = -0.1}, -- velocidade das particulas
maxvel = {x = 0.1, y = 0.3, z = 0.1},
minacc = {x = 0, y = -0.1, z = 0}, -- acelaração das particulas , direção
maxacc = {x = 0, y = -0.2, z = 0},
minexptime = 0, -- tempo de vida da particula
maxexptime = 0.5, -- tempo de vida da particula
minsize = 1,
maxsize = 2,
collisiondetection = true,
collision_removal = true,
object_collision = false,
vertical = false,
texture = "poison_particle.png",
})
--- DANO :
player:set_hp(player:get_hp() - 1)
count = count - 1 -- Decrementar o contador
minetest.after(delay, countdown) -- Chamar a função novamente após um atraso
--else
end
end
minetest.after(delay, countdown) -- Iniciar a contagem regressiva
end,

Binary file not shown.

Before

Width:  |  Height:  |  Size: 491 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 915 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 745 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 134 B

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 922 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -3,9 +3,10 @@ minetest.register_on_newplayer(function(player)
player:get_inventory():add_item('main','toolx:baseball_bat')
player:get_inventory():add_item('main','foodx:canned_tomato 8')
player:get_inventory():add_item('main','itemx:walkietalkie')
--player:get_inventory():add_item('main','')
--player:get_inventory():add_item('main','')
--player:get_inventory():add_item('main','')
--player:get_inventory():add_item('main','')
player:get_inventory():add_item('main','zarmor:hat_head')
player:get_inventory():add_item('main','zarmor:Jacket_torso')
player:get_inventory():add_item('main','zarmor:jeanspants_legs')
player:get_inventory():add_item('main','zarmor:tennis_feet')
player:get_inventory():add_item('main','itemx:bandaid')
end)

View File

@ -1,2 +1,2 @@
name = stuffx
depends = default
depends = default ,itemx,zarmor,foodx,toolx

View File

@ -60,7 +60,7 @@ mobs:register_mob("survivorzombie:survivorzombie", {
walk_velocity = 1,
run_velocity = 3,
jump_height = 2,
stepheight = 1.2,
stepheight = 1.1,
floats = 0,
view_range = 35,
drops = {
@ -90,20 +90,85 @@ mobs:register_mob("survivorzombie:survivorzombie", {
do_custom = function(self, dtime)
local pos = self.object:get_pos() -- consegue sua propia posição
local vel = {x=0, y=0.2, z=0} -- deveria ser velocidade hehe
local face = minetest.get_node({x=pos.x, y=pos.y, z=pos.z+1}) -- bloco que estar em sua frente
for i,v in ipairs (climb_node) do
if face.name == v then -- se o bloco em sua frente é escadas
self.object:set_pos({x=pos.x, y=pos.y+1, z=pos.z}) -- enquanto o bloco for escadas y+1
self.object:set_velocity(vel) -- velocidade, não eficiente :/
end
local pos = self.object:get_pos() -- consegue sua propia posição
local face = minetest.get_node({x=pos.x, y=pos.y, z=pos.z+1}) -- bloco que estar em sua frente
local face2 = minetest.get_node({x=pos.x, y=pos.y, z=pos.z-1})
local face3 = minetest.get_node({x=pos.x+1, y=pos.y, z=pos.z})
local face4 = minetest.get_node({x=pos.x-1, y=pos.y, z=pos.z})
--local ladders = {"default:ladder_wood","default:ladder_steel" }
--for i,v in ipairs (climb_node) do
if face.name == "default:ladder_wood" or face.name == "default:ladder_steel" then -- se o bloco em sua frente é escadas
self.object:set_pos({x=pos.x, y=pos.y+1, z=pos.z}) -- enquanto o bloco for escadas y+1
self.object:set_velocity({x=0, y=-5, z=0}) -- velocidade, não eficiente :/
end
if face2.name == "default:ladder_wood" or face2.name == "default:ladder_steel" then -- se o bloco em sua frente é escadas
self.object:set_pos({x=pos.x, y=pos.y+1, z=pos.z}) -- enquanto o bloco for escadas y+1
self.object:set_velocity({x=0, y=-5, z=0}) -- velocidade, não eficiente :/
end
if face3.name == "default:ladder_wood" or face3.name == "default:ladder_steel" then -- se o bloco em sua frente é escadas
self.object:set_pos({x=pos.x, y=pos.y+1, z=pos.z}) -- enquanto o bloco for escadas y+1
self.object:set_velocity({x=0, y=-5, z=0}) -- velocidade, não eficiente :/
end
if face4.name == "default:ladder_wood" or face4.name == "default:ladder_steel" then -- se o bloco em sua frente é escadas
self.object:set_pos({x=pos.x, y=pos.y+1, z=pos.z}) -- enquanto o bloco for escadas y+1
self.object:set_velocity({x=0, y=-5, z=0}) -- velocidade, não eficiente :/
end
--end
end
-- BREACK DOOR :
for _,players in pairs(minetest.get_objects_inside_radius(pos,5)) do
if players:is_player() then
local door_pos = minetest.find_node_near(pos, 1, {
"doors:door_wood_a" ,
"doors:door_wood_b",
"doors:door_wood_c",
"doors:door_wood_d",
"default:glass",
"doors:door_glass_a",
"doors:door_glass_b",
"doors:door_glass_c",
"doors:door_glass_d",
"doors:pine_door_a",
"doors:pine_door_b",
"doors:pine_door_c",
"doors:pine_door_d",
"doors:aspen_doors_a",
"doors:aspen_doors_b",
"doors:aspen_doors_c",
"doors:aspen_doors_d",
"doors:acacia_door_a",
"doors:acacia_door_b",
"doors:acacia_door_c",
"doors:acacia_door_d",
"doors:jungle_door_a",
"doors:jungle_door_b",
"doors:jungle_door_c",
"doors:jungle_door_d"
})
if door_pos ~= nil then
minetest.after(3, function() -- remover depois de 2 segundos
minetest.remove_node(door_pos)
end)
else
end
end
end
end
})

View File

@ -32,7 +32,7 @@ mobs:register_mob("tankzombie:tankzombie", {
passive = false,
attack_type = "dogfight",
--attack_animals = true,
pathfinding = true,
pathfinding = 1,
reach = 5,
damage = 12,
hp_min = 250,
@ -40,7 +40,8 @@ mobs:register_mob("tankzombie:tankzombie", {
armor = 60,
collisionbox = {-0.4, 0, -0.4, 0.4, 3.0, 0.4},
visual = "mesh",
mesh = "zombietank.b3d",
mesh = "ztank.b3d",
visual_size = {x=12, y=12},
--rotate = 180,
textures = {
{"tankzombiex.png"},
@ -88,13 +89,17 @@ mobs:register_mob("tankzombie:tankzombie", {
punch_speed = 25,
punch_start = 200,
punch_end = 250,
--die_speed = 20,
die_speed = 15,
die_start = 260,
die_end = 380,
die_end = 399,
},
--[[
on_die = function(self, pos) -- POSIÇÃO
self.object:set_animation({x=260, y=380}, 20, 0)
for _,players in pairs(minetest.get_objects_inside_radius(pos,64)) do -- CONSEGUIR RADIUS ( POSIÇÃO ,64 NODES?)
if players:is_player() then -- SE PLAYER
awards.unlock(players:get_player_name(), "tank") -- DESBLOQUEAR CONQUISTAS?
@ -103,6 +108,10 @@ mobs:register_mob("tankzombie:tankzombie", {
end
--custom_attack = function()
--end,
]]
})
-- ADICIONANDO ATAQUE QUE MUDA O POSIÇÃO
@ -113,6 +122,8 @@ minetest.register_on_punchplayer(function(player, hitter, time_from_last_punch,
end)
mobs:spawn({
name = "tankzombie:tankzombie",
nodes = hunternods,

View File

@ -1,3 +1,4 @@
name = tankzombie
depends = default, mobs ,
depends = default, mobs

Binary file not shown.

BIN
tankzombie/models/ztank.b3d Normal file

Binary file not shown.

View File

@ -20,6 +20,9 @@ local zombienods = {
"nodex:road3",
}
local zdoors = { }
---- SKULL SWORD ------------------------------------------------------------------------------------------------------
mobs:register_mob("walkingzombie:walkingzombie", {
@ -56,7 +59,7 @@ mobs:register_mob("walkingzombie:walkingzombie", {
walk_velocity = 1,
run_velocity = 3,
jump_height = 2,
stepheight = 1.2,
stepheight = 1.1,
floats = 0,
view_range = 35,
drops = {
@ -86,20 +89,85 @@ mobs:register_mob("walkingzombie:walkingzombie", {
do_custom = function(self, dtime)
local pos = self.object:get_pos() -- consegue sua propia posição
local vel = {x=0, y=0.2, z=0} -- deveria ser velocidade hehe
local face = minetest.get_node({x=pos.x, y=pos.y, z=pos.z+1}) -- bloco que estar em sua frente
for i,v in ipairs (climb_node) do
if face.name == v then -- se o bloco em sua frente é escadas
self.object:set_pos({x=pos.x, y=pos.y+1, z=pos.z}) -- enquanto o bloco for escadas y+1
self.object:set_velocity(vel) -- velocidade, não eficiente :/
end
local pos = self.object:get_pos() -- consegue sua propia posição
local face = minetest.get_node({x=pos.x, y=pos.y, z=pos.z+1}) -- bloco que estar em sua frente
local face2 = minetest.get_node({x=pos.x, y=pos.y, z=pos.z-1})
local face3 = minetest.get_node({x=pos.x+1, y=pos.y, z=pos.z})
local face4 = minetest.get_node({x=pos.x-1, y=pos.y, z=pos.z})
--local ladders = {"default:ladder_wood","default:ladder_steel" }
--for i,v in ipairs (climb_node) do
if face.name == "default:ladder_wood" or face.name == "default:ladder_steel" then -- se o bloco em sua frente é escadas
self.object:set_pos({x=pos.x, y=pos.y+1, z=pos.z}) -- enquanto o bloco for escadas y+1
self.object:set_velocity({x=0, y=-5, z=0}) -- velocidade, não eficiente :/
end
if face2.name == "default:ladder_wood" or face2.name == "default:ladder_steel" then -- se o bloco em sua frente é escadas
self.object:set_pos({x=pos.x, y=pos.y+1, z=pos.z}) -- enquanto o bloco for escadas y+1
self.object:set_velocity({x=0, y=-5, z=0}) -- velocidade, não eficiente :/
end
if face3.name == "default:ladder_wood" or face3.name == "default:ladder_steel" then -- se o bloco em sua frente é escadas
self.object:set_pos({x=pos.x, y=pos.y+1, z=pos.z}) -- enquanto o bloco for escadas y+1
self.object:set_velocity({x=0, y=-5, z=0}) -- velocidade, não eficiente :/
end
if face4.name == "default:ladder_wood" or face4.name == "default:ladder_steel" then -- se o bloco em sua frente é escadas
self.object:set_pos({x=pos.x, y=pos.y+1, z=pos.z}) -- enquanto o bloco for escadas y+1
self.object:set_velocity({x=0, y=-5, z=0}) -- velocidade, não eficiente :/
end
--end
end
-- BREACK DOOR :
for _,players in pairs(minetest.get_objects_inside_radius(pos,5)) do
if players:is_player() then
local door_pos = minetest.find_node_near(pos, 1, {
"doors:door_wood_a" ,
"doors:door_wood_b",
"doors:door_wood_c",
"doors:door_wood_d",
"default:glass",
"doors:door_glass_a",
"doors:door_glass_b",
"doors:door_glass_c",
"doors:door_glass_d",
"doors:pine_door_a",
"doors:pine_door_b",
"doors:pine_door_c",
"doors:pine_door_d",
"doors:aspen_doors_a",
"doors:aspen_doors_b",
"doors:aspen_doors_c",
"doors:aspen_doors_d",
"doors:acacia_door_a",
"doors:acacia_door_b",
"doors:acacia_door_c",
"doors:acacia_door_d",
"doors:jungle_door_a",
"doors:jungle_door_b",
"doors:jungle_door_c",
"doors:jungle_door_d"
})
if door_pos ~= nil then
minetest.after(3, function() -- remover depois de 2 segundos
minetest.remove_node(door_pos)
end)
else
end
end
end
end
})