You've already forked ComfyFactorio
mirror of
https://github.com/ComfyFactory/ComfyFactorio.git
synced 2025-11-23 22:22:34 +02:00
Statistics fix join_count and maps_played
This commit is contained in:
@@ -22,7 +22,6 @@ local events =
|
|||||||
machines_built = e.on_built_entity,
|
machines_built = e.on_built_entity,
|
||||||
items_picked_up = e.on_picked_up_item,
|
items_picked_up = e.on_picked_up_item,
|
||||||
tiles_built = e.on_player_built_tile,
|
tiles_built = e.on_player_built_tile,
|
||||||
join_count = e.on_player_joined_game,
|
|
||||||
deaths = e.on_player_died,
|
deaths = e.on_player_died,
|
||||||
entities_repaired = e.on_player_repaired_entity,
|
entities_repaired = e.on_player_repaired_entity,
|
||||||
items_crafted = e.on_player_crafted_item,
|
items_crafted = e.on_player_crafted_item,
|
||||||
@@ -118,7 +117,7 @@ end
|
|||||||
local function get_data(player)
|
local function get_data(player)
|
||||||
local player_index = player and type(player) == 'number' and player or player and player.valid and player.index or false
|
local player_index = player and type(player) == 'number' and player or player and player.valid and player.index or false
|
||||||
if not player_index then
|
if not player_index then
|
||||||
log('Invalid player index at get_data')
|
Server.output_script_data('Invalid player index at statistics:get_data')
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -193,6 +192,28 @@ local try_upload_data_token =
|
|||||||
end
|
end
|
||||||
)
|
)
|
||||||
|
|
||||||
|
local on_player_created_token =
|
||||||
|
Token.register(
|
||||||
|
function (event)
|
||||||
|
local player = game.get_player(event.player_index)
|
||||||
|
if not player or not player.valid then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
get_data(player):increase('maps_played')
|
||||||
|
end
|
||||||
|
)
|
||||||
|
|
||||||
|
local on_player_joined_game_token =
|
||||||
|
Token.register(
|
||||||
|
function (event)
|
||||||
|
local player = game.get_player(event.player_index)
|
||||||
|
if not player or not player.valid then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
get_data(player):increase('join_count')
|
||||||
|
end
|
||||||
|
)
|
||||||
|
|
||||||
-- Increase a statistic by a delta value
|
-- Increase a statistic by a delta value
|
||||||
function Public:increase(name, delta)
|
function Public:increase(name, delta)
|
||||||
if not self[name] then
|
if not self[name] then
|
||||||
@@ -299,6 +320,8 @@ Event.add(
|
|||||||
e.on_player_joined_game,
|
e.on_player_joined_game,
|
||||||
function (event)
|
function (event)
|
||||||
get_data(event.player_index):try_get_data()
|
get_data(event.player_index):try_get_data()
|
||||||
|
|
||||||
|
set_timeout_in_ticks(10, on_player_joined_game_token, { player_index = event.player_index })
|
||||||
end
|
end
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -497,7 +520,7 @@ Event.on_nth_tick(
|
|||||||
Event.add(
|
Event.add(
|
||||||
e.on_player_created,
|
e.on_player_created,
|
||||||
function (event)
|
function (event)
|
||||||
get_data(event.player_index):increase('maps_played')
|
set_timeout_in_ticks(10, on_player_created_token, { player_index = event.player_index })
|
||||||
end
|
end
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user