]> git.lizzy.rs Git - Crafter.git/blob - mods/player/init.lua
Put in base for mobs
[Crafter.git] / mods / player / init.lua
1 --[[
2 --map
3 running - set fov set_fov(fov, is_multiplier) set_breath(value)
4 sneaking --set eye offset
5
6 ]]--
7 minetest.register_on_joinplayer(function(player)
8         --add in info
9         player:hud_set_flags({minimap=true})
10         player:hud_add({
11                 hud_elem_type = "text",
12                 position = {x=0,y=0},
13                 text = "Crafter Alpha 0.1",
14                 number = 000000,
15                 alignment = {x=1,y=1},
16                 offset = {x=2, y=2},
17         })
18         player:hud_add({
19                 hud_elem_type = "text",
20                 position = {x=0,y=0},
21                 text = "Crafter Alpha 0.1",
22                 number = 0xffffff,
23                 alignment = {x=1,y=1},
24                 offset = {x=0, y=0},
25         })
26 end)
27
28 --hurt sound
29 minetest.register_on_player_hpchange(function(player, hp_change, reason)
30         if hp_change < 0 then
31                 minetest.sound_play("hurt", {object=player, gain = 1.0, max_hear_distance = 60,pitch = math.random(80,100)/100})
32         end
33 end)
34
35 --throw all items on death
36 minetest.register_on_dieplayer(function(player, reason)
37         local pos = player:getpos()
38         print(reason)
39         local inv = player:get_inventory()
40         
41         for i = 1,inv:get_size("main") do
42                 local stack = inv:get_stack("main", i)
43                 local name = stack:get_name()
44                 local count = stack:get_count()
45                 print(name)
46                 if name ~= "" then
47                         local obj = minetest.add_item(pos, name.." "..count)
48                         obj:setvelocity(vector.new(math.random(-3,3),math.random(4,8),math.random(-3,3)))
49                         inv:set_stack("main", i, ItemStack(""))
50                 end
51         end
52         for i = 1,inv:get_size("craft") do
53         
54         end 
55         
56
57 end)
58
59 minetest.register_globalstep(function(dtime)
60         --collection
61         for _,player in ipairs(minetest.get_connected_players()) do
62                 local run = player:get_player_control().aux1
63                 local sneak = player:get_player_control().sneak
64                 
65                 if run then
66                         --[[ I'll impliment this in later
67                         local meta = player:get_meta()
68                         
69                         local run_time = meta:get_float("running_timer")
70                         
71                         if not run_time then
72                                 run_time = 0
73                         end
74                         
75                         if run_time >= 0.1 then
76                                 --take breath away
77                                 local breath = player:get_breath()
78                                 breath = breath - 1
79                                 player:set_breath(breath)
80                                 run_time = 0
81                                 print(breath)
82                         end
83                         
84                         meta:set_float("running_timer", run_time + dtime)
85                         
86                         ]]--
87                         
88                         local fov = player:get_fov()
89                         if fov == 0 then
90                                 fov = 1
91                         end
92                         
93                         if fov < 1.2 then
94                                 player:set_fov(fov + 0.05, true)
95                         end
96                         
97                         player:set_physics_override({speed=1.5})
98                 else
99                         local meta = player:get_meta()
100                         local fov = player:get_fov()
101                         if fov > 1 then
102                                 player:set_fov(fov - 0.05, true)
103                         end
104                         
105                         player:set_physics_override({speed=1})
106                         --meta:set_float("running_timer", 0)
107                 end
108                 
109                 if sneak then
110                         player:set_eye_offset({x=0,y=-1,z=0},{x=0,y=-1,z=0})
111                 else
112                         player:set_eye_offset({x=0,y=0,z=0},{x=0,y=0,z=0})
113                 end
114         end
115 end)