From 3f382974b85c99fdd9b985cba20b19dded42dd6b Mon Sep 17 00:00:00 2001 From: orwell96 Date: Thu, 9 Feb 2017 00:11:28 +0100 Subject: [PATCH] Proper implementation for getting on by walking into train, rework damage and player controls in train, fix death and join bugs, do not spawn bones on death --- advtrains.zip | Bin 5122262 -> 5122882 bytes advtrains/advtrains/api_doc.txt | 4 + advtrains/advtrains/damage.lua | 28 ------ advtrains/advtrains/init.lua | 5 +- advtrains/advtrains/trainlogic.lua | 81 ++++++++++++++--- advtrains/advtrains/wagons.lua | 102 +++++++++++++--------- advtrains/advtrains_train_japan/init.lua | 2 + advtrains/advtrains_train_subway/init.lua | 1 + 8 files changed, 139 insertions(+), 84 deletions(-) delete mode 100644 advtrains/advtrains/damage.lua diff --git a/advtrains.zip b/advtrains.zip index b66839044d20efdaed67d47606384bf6ef4ad648..66522337516d55dc61d50275108e31d410d8f434 100644 GIT binary patch delta 36460 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ܓdnjb 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 delta 35421 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 diff --git a/advtrains/advtrains/api_doc.txt b/advtrains/advtrains/api_doc.txt index 09b3cc1..db72dda 100644 --- a/advtrains/advtrains/api_doc.txt +++ b/advtrains/advtrains/api_doc.txt @@ -60,6 +60,10 @@ advtrains.register_wagon(name, prototype, description, inventory_image) [1]={frames={x=60, y=80}, time=1} -- close right doors } }, + door_entry={ 1.5, -1.5 } + ^- optional. If defined, defines the locations of the doors on the model as distance from the object center on the path. + ^- Getting on by walking in then takes effect. + ^- Positive values mean front, negative ones back. Resulting position is automatically shifted to the right side. wagon_span=2, ^- How far this wagon extends from its base position. Is the half of the wagon length. diff --git a/advtrains/advtrains/damage.lua b/advtrains/advtrains/damage.lua deleted file mode 100644 index e05d00d..0000000 --- a/advtrains/advtrains/damage.lua +++ /dev/null @@ -1,28 +0,0 @@ ---damage.lua ---a globalstep that damages players overrolled by trains. - -advtrains.player_to_train_mapping={} - -local tmr=0 -minetest.register_globalstep(function(dtime) - tmr=tmr-dtime - if tmr<=0 then - - for _, player in pairs(minetest.get_connected_players()) do - local pos=player:getpos() - for _, object in pairs(minetest.get_objects_inside_radius(pos, 1)) do - local le=object:get_luaentity() - if le and le.is_wagon and le.initialized and le:train() then - if (not advtrains.player_to_train_mapping[player:get_player_name()] or le.train_id~=advtrains.player_to_train_mapping[player:get_player_name()]) and math.abs(le:train().velocity)>2 then - --player:punch(object, 1000, {damage={fleshy=3*math.abs(le:train().velocity)}}) - player:set_hp(player:get_hp()-math.abs(le:train().velocity)-3) - elseif (not advtrains.player_to_train_mapping[player:get_player_name()] or le.train_id~=advtrains.player_to_train_mapping[player:get_player_name()]) and le:train().door_open~=0 then - le:on_rightclick(player) - end - end - end - end - - tmr=0.5 - end -end) diff --git a/advtrains/advtrains/init.lua b/advtrains/advtrains/init.lua index c60b2f1..970bbb6 100644 --- a/advtrains/advtrains/init.lua +++ b/advtrains/advtrains/init.lua @@ -7,7 +7,7 @@ end --advtrains -advtrains = {trains={}, wagon_save={}} +advtrains = {trains={}, wagon_save={}, player_to_train_mapping={}} advtrains.modpath = minetest.get_modpath("advtrains") @@ -84,7 +84,6 @@ dofile(advtrains.modpath.."/wagons.lua") dofile(advtrains.modpath.."/trackdb_legacy.lua") dofile(advtrains.modpath.."/nodedb.lua") dofile(advtrains.modpath.."/couple.lua") -dofile(advtrains.modpath.."/damage.lua") dofile(advtrains.modpath.."/signals.lua") dofile(advtrains.modpath.."/misc_nodes.lua") @@ -105,6 +104,7 @@ else --congrats, we have the new save format. advtrains.trains = tbl.trains advtrains.wagon_save = tbl.wagon_save + advtrains.player_to_train_mapping = tbl.ptmap or {} advtrains.ndb.load_data(tbl.ndb) advtrains.atc.load_data(tbl.atc) else @@ -174,6 +174,7 @@ advtrains.save = function() local save_tbl={ trains = advtrains.trains, wagon_save = advtrains.wagon_save, + ptmap = advtrains.player_to_train_mapping, atc = advtrains.atc.save_data(), ndb = advtrains.ndb.save_data(), version = 1, diff --git a/advtrains/advtrains/trainlogic.lua b/advtrains/advtrains/trainlogic.lua index 5fafb89..0b28129 100644 --- a/advtrains/advtrains/trainlogic.lua +++ b/advtrains/advtrains/trainlogic.lua @@ -36,10 +36,9 @@ advtrains.train_brake_force=3--per second, not divided by number of wagons advtrains.train_roll_force=0.5--per second, not divided by number of wagons, acceleration when rolling without brake advtrains.train_emerg_force=10--for emergency brakes(when going off track) -advtrains.audit_interval=10 +advtrains.save_interval=10 +advtrains.save_timer=advtrains.save_interval - -advtrains.save_and_audit_timer=advtrains.audit_interval minetest.register_globalstep(function(dtime_mt) --limit dtime: if trains move too far in one step, automation may cause stuck and wrongly braking trains local dtime=dtime_mt @@ -48,14 +47,23 @@ minetest.register_globalstep(function(dtime_mt) dtime=0.2 end - advtrains.save_and_audit_timer=advtrains.save_and_audit_timer-dtime - if advtrains.save_and_audit_timer<=0 then + advtrains.save_timer=advtrains.save_timer-dtime + if advtrains.save_timer<=0 then local t=os.clock() --save advtrains.save() - advtrains.save_and_audit_timer=advtrains.audit_interval + advtrains.save_timer=advtrains.save_interval atprintbm("saving", t) end + --build a table of all players indexed by pts. used by damage and door system. + advtrains.playersbypts={} + for _, player in pairs(minetest.get_connected_players()) do + if not advtrains.player_to_train_mapping[player:get_player_name()] then + --players in train are not subject to damage + local ptspos=minetest.pos_to_string(vector.round(player:getpos())) + advtrains.playersbypts[ptspos]=player + end + end --regular train step -- do in two steps: -- a: predict path and add all nodes to the advtrains.detector.on_node table @@ -67,13 +75,48 @@ minetest.register_globalstep(function(dtime_mt) advtrains.train_step_a(k, v, dtime) end for k,v in pairs(advtrains.trains) do - advtrains.train_step_b(k, v, dtime) + advtrains.train_step_b(k, v, dtime, playersbypts) end atprintbm("trainsteps", t) endstep() end) +minetest.register_on_joinplayer(function(player) + local pname=player:get_player_name() + local id=advtrains.player_to_train_mapping[pname] + if id then + local train=advtrains.trains[id] + if not train then advtrains.player_to_train_mapping[pname]=nil return end + --set the player to the train position. + --minetest will emerge the area and load the objects, which then will call reattach_all(). + --because player is in mapping, it will not be subject to dying. + player:setpos(train.last_pos_prev) + --independent of this, cause all wagons of the train which are loaded to reattach their players + --needed because already loaded wagons won't call reattach_all() + for _,wagon in pairs(minetest.luaentities) do + if wagon.is_wagon and wagon.initialized and wagon.train_id==id then + wagon:reattach_all() + end + end + end +end) + +minetest.register_on_dieplayer(function(player) + local pname=player:get_player_name() + local id=advtrains.player_to_train_mapping[pname] + if id then + local train=advtrains.trains[id] + if not train then advtrains.player_to_train_mapping[pname]=nil return end + for _,wagon in pairs(minetest.luaentities) do + if wagon.is_wagon and wagon.initialized and wagon.train_id==id then + --when player dies, detach him from the train + --call get_off_plr on every wagon since we don't know which one he's on. + wagon:get_off_plr(pname) + end + end + end +end) --[[ train step structure: @@ -440,14 +483,11 @@ end function advtrains.train_step_b(id, train, dtime) - --- 8. check for collisions with other trains --- + --- 8. check for collisions with other trains and damage players --- local train_moves=(train.velocity~=0) if train_moves then - - --heh, new collision again. - --this time, based on NODES and the advtrains.detector.on_node table. local collpos local coll_grace=1 if train.movedir==1 then @@ -460,6 +500,7 @@ function advtrains.train_step_b(id, train, dtime) for x=-1,1 do for z=-1,1 do local testpos=vector.add(rcollpos, {x=x, y=0, z=z}) + --- 8a Check collision --- local testpts=minetest.pos_to_string(testpos) if advtrains.detector.on_node[testpts] and advtrains.detector.on_node[testpts]~=id then --collides @@ -470,11 +511,27 @@ function advtrains.train_step_b(id, train, dtime) train.movedir=train.movedir*-1 train.tarvelocity=0 end + --- 8b damage players --- + local player=advtrains.playersbypts[testpts] + if player and train.velocity>3 then + --instantly kill player + --drop inventory contents first, to not to spawn bones + local player_inv=player:get_inventory() + for i=1,player_inv:get_size("main") do + minetest.add_item(testpos, player_inv:get_stack("main", i)) + end + for i=1,player_inv:get_size("craft") do + minetest.add_item(testpos, player_inv:get_stack("craft", i)) + end + -- empty lists main and craft + player_inv:set_list("main", {}) + player_inv:set_list("craft", {}) + player:set_hp(0) + end end end end end - end diff --git a/advtrains/advtrains/wagons.lua b/advtrains/advtrains/wagons.lua index 3efa6b8..461dfb5 100644 --- a/advtrains/advtrains/wagons.lua +++ b/advtrains/advtrains/wagons.lua @@ -223,12 +223,13 @@ function wagon:on_step(dtime) atprint("[wagon "..self.unique_id.."] missing train_id, destroying") self.object:remove() return - elseif not self.initialized then - self.initialized=true end if not self.seatp then self.seatp={} end + + --Legacy: remove infotext since it does not work this way anyways + self.infotext=nil --custom on_step function if self.custom_on_step then @@ -237,43 +238,38 @@ function wagon:on_step(dtime) --driver control for seatno, seat in ipairs(self.seats) do - if seat.driving_ctrl_access then - local driver=self.seatp[seatno] and minetest.get_player_by_name(self.seatp[seatno]) - local get_off_pressed=false - if driver and driver:get_player_control_bits()~=self.old_player_control_bits then - local pc=driver:get_player_control() - + local driver=self.seatp[seatno] and minetest.get_player_by_name(self.seatp[seatno]) + if seat.driving_ctrl_access and driver then + advtrains.update_driver_hud(driver:get_player_name(), self:train(), self.wagon_flipped) + end + if driver and driver:get_player_control_bits()~=self.seatpc[seatno] then + local pc=driver:get_player_control() + self.seatpc[seatno]=driver:get_player_control_bits() + + if seat.driving_ctrl_access then + --regular driver stand controls advtrains.on_control_change(pc, self:train(), self.wagon_flipped) - if pc.aux1 and pc.sneak then - get_off_pressed=true - end - - self.old_player_control_bits=driver:get_player_control_bits() + else + -- If on a passenger seat and doors are open, get off when W or D pressed. + local pass = self.seatp[seatno] and minetest.get_player_by_name(self.seatp[seatno]) + if pass and self:train().door_open~=0 then + local pc=pass:get_player_control() + if pc.up or pc.down then + self:get_off(seatno) + end + end end - if driver then - if get_off_pressed then - self:get_off(seatno) - else - advtrains.update_driver_hud(driver:get_player_name(), self:train(), self.wagon_flipped) - end + if pc.aux1 and pc.sneak then + self:get_off(seatno) end - else - local pass = self.seatp[seatno] and minetest.get_player_by_name(self.seatp[seatno]) - if pass and self:train().door_open~=0 then - local pc=pass:get_player_control() - if pc.up or pc.down then - self:get_off(seatno) - end - end end end local gp=self:train() - + local fct=self.wagon_flipped and -1 or 1 --door animation if self.doors then if (self.door_anim_timer or 0)<=0 then - local fct=self.wagon_flipped and -1 or 1 local dstate = (gp.door_open or 0) * fct if dstate ~= self.door_state then local at @@ -299,6 +295,7 @@ function wagon:on_step(dtime) self.door_anim_timer = (self.door_anim_timer or 0) - dtime end end + --DisCouple if self.pos_in_trainparts and self.pos_in_trainparts>1 then if gp.velocity==0 and not self.lock_couples then @@ -334,6 +331,31 @@ function wagon:on_step(dtime) local index=advtrains.get_real_path_index(self:train(), self.pos_in_train) --atprint("trainindex "..gp.index.." wagonindex "..index) + --automatic get_on + --needs to know index and path + if self.door_entry and gp.door_open and gp.door_open~=0 and gp.velocity==0 then + --using the mapping created by the trainlogic globalstep + for i, ino in ipairs(self.door_entry) do + --fct is the flipstate flag from door animation above + local aci = index + ino*fct + local ix1=gp.path[math.floor(aci)] + local ix2=gp.path[math.floor(aci+1)] + -- the two wanted positions are ix1 and ix2 + (2nd-1st rotated by 90deg) + -- (x z) rotated by 90deg is (-z x) (http://stackoverflow.com/a/4780141) + local add = { x = (ix2.z-ix1.z)*gp.door_open, y = 0, z = (ix1.x-ix2.x)*gp.door_open } + local pts1=minetest.pos_to_string(vector.round(vector.add(ix1, add))) + local pts2=minetest.pos_to_string(vector.round(vector.add(ix2, add))) + + if advtrains.playersbypts[pts1] then + self:on_rightclick(advtrains.playersbypts[pts1]) + end + if advtrains.playersbypts[pts2] then + self:on_rightclick(advtrains.playersbypts[pts2]) + end + + end + end + --position recalculation local first_pos=gp.path[math.floor(index)] local second_pos=gp.path[math.floor(index)+1] @@ -490,6 +512,8 @@ function wagon:on_rightclick(clicker) self:get_off(no) end else + --do not attach if already on a train + if advtrains.player_to_train_mapping[pname] then return end if self.seat_groups then if #self.seats==0 then if self.has_inventory and self.get_inventory_formspec then @@ -518,9 +542,9 @@ function wagon:on_rightclick(clicker) end function wagon:get_on(clicker, seatno) - if not self.seatp then - self.seatp={} - end + if not self.seatp then self.seatp={}end + if not self.seatpc then self.seatpc={}end--player controls in driver stands + if not self.seats[seatno] then return end local oldno=self:get_seatno(clicker:get_player_name()) if oldno then @@ -535,6 +559,7 @@ function wagon:get_on(clicker, seatno) end atprint("get_on: attaching",clicker:get_player_name()) self.seatp[seatno] = clicker:get_player_name() + self.seatpc[seatno] = clicker:get_player_control_bits() advtrains.player_to_train_mapping[clicker:get_player_name()]=self.train_id clicker:set_attach(self.object, "", self.seats[seatno].attach_offset, {x=0,y=0,z=0}) clicker:set_eye_offset(self.seats[seatno].view_offset, self.seats[seatno].view_offset) @@ -569,12 +594,14 @@ function wagon:get_off(seatno) --abuse helper function for _,r in ipairs({-1, 1}) do local p=vector.add({x=isx and r or 0, y=0, z=not isx and r or 0}, objpos) + local offp=vector.add({x=isx and r*2 or 0, y=1, z=not isx and r*2 or 0}, objpos) if minetest.get_item_group(minetest.get_node(p).name, "platform")>0 then - minetest.after(0.2, function() clicker:setpos({x=p.x, y=p.y+1, z=p.z}) end) + minetest.after(0.2, function() clicker:setpos(offp) end) end end end self.seatp[seatno]=nil + self.seatpc[seatno]=nil end function wagon:show_get_on_form(pname) if not self.initialized then return end @@ -660,7 +687,6 @@ minetest.register_on_player_receive_fields(function(player, formname, fields) end uid=string.match(formname, "^advtrains_prop_(.+)$") if uid then - atprint(fields) for _,wagon in pairs(minetest.luaentities) do if wagon.is_wagon and wagon.initialized and wagon.unique_id==uid then local pname=player:get_player_name() @@ -731,13 +757,6 @@ function wagon:reattach_all() end end end -minetest.register_on_joinplayer(function(player) - for _,wagon in pairs(minetest.luaentities) do - if wagon.is_wagon and wagon.initialized then - wagon:reattach_all() - end - end -end) function advtrains.register_wagon(sysname, prototype, desc, inv_img) setmetatable(prototype, {__index=wagon}) @@ -772,7 +791,6 @@ function advtrains.register_wagon(sysname, prototype, desc, inv_img) local le=ob:get_luaentity() le.owner=placer:get_player_name() - le.infotext=desc..", owned by "..placer:get_player_name() local wagon_uid=le:init_new_instance(id, {}) diff --git a/advtrains/advtrains_train_japan/init.lua b/advtrains/advtrains_train_japan/init.lua index ffe169f..8816db3 100644 --- a/advtrains/advtrains_train_japan/init.lua +++ b/advtrains/advtrains_train_japan/init.lua @@ -66,6 +66,7 @@ advtrains.register_wagon("engine_japan", { [1]={frames={x=60, y=80}, time=1} } }, + door_entry={-1}, visual_size = {x=1, y=1}, wagon_span=2.5, is_locomotive=true, @@ -134,6 +135,7 @@ advtrains.register_wagon("wagon_japan", { [1]={frames={x=60, y=80}, time=1} } }, + door_entry={-1, 1}, visual_size = {x=1, y=1}, wagon_span=2.3, collisionbox = {-1.0,-0.5,-1.0, 1.0,2.5,1.0}, diff --git a/advtrains/advtrains_train_subway/init.lua b/advtrains/advtrains_train_subway/init.lua index faf8ceb..8864e92 100644 --- a/advtrains/advtrains_train_subway/init.lua +++ b/advtrains/advtrains_train_subway/init.lua @@ -66,6 +66,7 @@ advtrains.register_wagon("subway_wagon", { [1]={frames={x=60, y=80}, time=1} } }, + door_entry={-1, 1}, visual_size = {x=1, y=1}, wagon_span=2, --collisionbox = {-1.0,-0.5,-1.8, 1.0,2.5,1.8},