Build 01
- initial beta version
This commit is contained in:
commit
8edea73845
47
README.txt
Normal file
47
README.txt
Normal file
@ -0,0 +1,47 @@
|
||||
Player Coords Mod v1.0
|
||||
By Leslie Krause
|
||||
|
||||
Player Coords is an esy-to-use debugging tool for game developers to record player
|
||||
movement via a dedicated log file. It is intended for singleplayer, but can also prove
|
||||
useful in multiplayer (the "server" privilege is required).
|
||||
|
||||
The results are output to the "coords.txt" file in the world directory. Hence, you can
|
||||
use the "tail -f" command to observe player movement from a secondary terminal window.
|
||||
|
||||
|
||||
Compatability
|
||||
----------------------
|
||||
|
||||
Minetest 0.4.15+ required
|
||||
|
||||
Installation
|
||||
----------------------
|
||||
|
||||
1) Unzip the archive into the mods directory of your game.
|
||||
2) Rename the player_coords-master directory to "player_coords".
|
||||
|
||||
Source Code License
|
||||
----------------------
|
||||
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2020, Leslie E. Krause (leslie@searstower.org)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this
|
||||
software and associated documentation files (the "Software"), to deal in the Software
|
||||
without restriction, including without limitation the rights to use, copy, modify, merge,
|
||||
publish, distribute, sublicense, and/or sell copies of the Software, and to permit
|
||||
persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or
|
||||
substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
|
||||
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
|
||||
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
|
||||
FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
||||
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
DEALINGS IN THE SOFTWARE.
|
||||
|
||||
For more details:
|
||||
https://opensource.org/licenses/MIT
|
0
depends.txt
Normal file
0
depends.txt
Normal file
53
init.lua
Normal file
53
init.lua
Normal file
@ -0,0 +1,53 @@
|
||||
--------------------------------------------------------
|
||||
-- Minetest :: Player Coords Mod (player_coords)
|
||||
--
|
||||
-- See README.txt for licensing and release notes.
|
||||
-- Copyright (c) 2020, Leslie E. Krause
|
||||
--
|
||||
-- ./games/minetest_game/mods/player_coords/init.lua
|
||||
--------------------------------------------------------
|
||||
|
||||
local track_player
|
||||
local log_file
|
||||
local last_pos
|
||||
local last_dir
|
||||
|
||||
minetest.register_on_joinplayer( function ( player )
|
||||
local player_name = player:get_player_name( )
|
||||
|
||||
if player_name == "singleplayer" or minetest.check_player_privs( player_name, "server" ) then
|
||||
log_file = io.open( minetest.get_worldpath( ) .. "/coords.txt", "w" )
|
||||
|
||||
if log_file then
|
||||
track_player = player
|
||||
last_pos = player:get_pos( )
|
||||
last_dir = vector.new( )
|
||||
end
|
||||
end
|
||||
end )
|
||||
|
||||
minetest.register_on_leaveplayer( function ( player )
|
||||
if log_file then
|
||||
log_file:close( )
|
||||
track_player = nil
|
||||
end
|
||||
end )
|
||||
|
||||
minetest.register_on_shutdown( function ( )
|
||||
if log_file then log_file:close( ) end
|
||||
end )
|
||||
|
||||
minetest.register_globalstep( function( dtime )
|
||||
if track_player then
|
||||
local pos = track_player:get_pos( )
|
||||
local dir = vector.direction( last_pos, pos )
|
||||
|
||||
if math.abs( last_dir.x - dir.x ) > 0.1 or math.abs( last_dir.y - dir.y ) > 0.1 or math.abs( last_dir.z - dir.z ) > 0.1 then
|
||||
log_file:write( minetest.pos_to_string( last_pos ) .. "\n" )
|
||||
log_file:flush( )
|
||||
last_dir = dir
|
||||
end
|
||||
|
||||
last_pos = pos
|
||||
end
|
||||
end )
|
Loading…
x
Reference in New Issue
Block a user