mirror of
https://github.com/ComfyFactory/ComfyFactorio.git
synced 2025-02-11 13:39:14 +02:00
minor tweaks
This commit is contained in:
parent
41f49ad943
commit
4b8e8ca326
@ -8,12 +8,10 @@ local Public = {}
|
|||||||
local main_tile_name = 'black-refined-concrete'
|
local main_tile_name = 'black-refined-concrete'
|
||||||
|
|
||||||
local function validate_entity(entity)
|
local function validate_entity(entity)
|
||||||
if not entity then
|
if not (entity and entity.valid) then
|
||||||
return false
|
|
||||||
end
|
|
||||||
if not entity.valid then
|
|
||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
|
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -39,24 +37,43 @@ local function upperCase(str)
|
|||||||
return (str:gsub('^%l', string.upper))
|
return (str:gsub('^%l', string.upper))
|
||||||
end
|
end
|
||||||
|
|
||||||
local function render_owner_text(player, entity)
|
local function render_owner_text(renders, player, entity, new_owner)
|
||||||
local color = {
|
local color = {
|
||||||
r = player.color.r * 0.6 + 0.25,
|
r = player.color.r * 0.6 + 0.25,
|
||||||
g = player.color.g * 0.6 + 0.25,
|
g = player.color.g * 0.6 + 0.25,
|
||||||
b = player.color.b * 0.6 + 0.25,
|
b = player.color.b * 0.6 + 0.25,
|
||||||
a = 1
|
a = 1
|
||||||
}
|
}
|
||||||
rendering.draw_text {
|
if renders[player.index] then
|
||||||
text = '## - ' .. player.name .. "'s " .. entity.name .. ' - ##',
|
rendering.destroy(renders[player.index])
|
||||||
surface = entity.surface,
|
end
|
||||||
target = entity,
|
if new_owner then
|
||||||
target_offset = {0, -2.6},
|
renders[new_owner.index] =
|
||||||
color = color,
|
rendering.draw_text {
|
||||||
scale = 1.05,
|
text = '## - ' .. new_owner.name .. "'s " .. entity.name .. ' - ##',
|
||||||
font = 'default-large-semibold',
|
surface = entity.surface,
|
||||||
alignment = 'center',
|
target = entity,
|
||||||
scale_with_zoom = false
|
target_offset = {0, -2.6},
|
||||||
}
|
color = color,
|
||||||
|
scale = 1.05,
|
||||||
|
font = 'default-large-semibold',
|
||||||
|
alignment = 'center',
|
||||||
|
scale_with_zoom = false
|
||||||
|
}
|
||||||
|
else
|
||||||
|
renders[player.index] =
|
||||||
|
rendering.draw_text {
|
||||||
|
text = '## - ' .. player.name .. "'s " .. entity.name .. ' - ##',
|
||||||
|
surface = entity.surface,
|
||||||
|
target = entity,
|
||||||
|
target_offset = {0, -2.6},
|
||||||
|
color = color,
|
||||||
|
scale = 1.05,
|
||||||
|
font = 'default-large-semibold',
|
||||||
|
alignment = 'center',
|
||||||
|
scale_with_zoom = false
|
||||||
|
}
|
||||||
|
end
|
||||||
entity.color = color
|
entity.color = color
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -134,18 +151,6 @@ local function get_player_entity(ic, player)
|
|||||||
return false, false
|
return false, false
|
||||||
end
|
end
|
||||||
|
|
||||||
local function is_owner_on_car_surface(ic, player)
|
|
||||||
local cars = ic.cars
|
|
||||||
for k, car in pairs(cars) do
|
|
||||||
if validate_entity(car.surface) then
|
|
||||||
if car.owner == player.index and car.surface.index == player.surface.index then
|
|
||||||
return true
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
return false
|
|
||||||
end
|
|
||||||
|
|
||||||
local function get_owner_car_name(ic, player)
|
local function get_owner_car_name(ic, player)
|
||||||
local cars = ic.cars
|
local cars = ic.cars
|
||||||
local saved_surfaces = ic.saved_surfaces
|
local saved_surfaces = ic.saved_surfaces
|
||||||
@ -168,8 +173,7 @@ local function get_saved_entity(cars, entity, index)
|
|||||||
table.concat(
|
table.concat(
|
||||||
{
|
{
|
||||||
'The built entity is not the same as the saved one. ',
|
'The built entity is not the same as the saved one. ',
|
||||||
'Saved entity is: ' ..
|
'Saved entity is: ' .. upperCase(car.name) .. ' - Built entity is: ' .. upperCase(entity.name) .. '. '
|
||||||
upperCase(car.name) .. ' - Built entity is: ' .. upperCase(entity.name) .. '. '
|
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
return false, msg
|
return false, msg
|
||||||
@ -188,7 +192,6 @@ local function replace_entity(cars, entity, index)
|
|||||||
cars[unit_number].saved_entity = nil
|
cars[unit_number].saved_entity = nil
|
||||||
cars[unit_number].transfer_entities = car.transfer_entities
|
cars[unit_number].transfer_entities = car.transfer_entities
|
||||||
cars[k] = nil
|
cars[k] = nil
|
||||||
break
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -213,7 +216,7 @@ local function replace_surface(surfaces, entity, index)
|
|||||||
local unit_number = entity.unit_number
|
local unit_number = entity.unit_number
|
||||||
if tostring(index.saved_entity) == surface.name then
|
if tostring(index.saved_entity) == surface.name then
|
||||||
if validate_entity(surface) then
|
if validate_entity(surface) then
|
||||||
surface.name = unit_number
|
surface.name = tostring(unit_number)
|
||||||
surfaces[unit_number] = surface
|
surfaces[unit_number] = surface
|
||||||
surfaces[k] = nil
|
surfaces[k] = nil
|
||||||
end
|
end
|
||||||
@ -229,7 +232,7 @@ local function replace_surface_entity(cars, entity, index)
|
|||||||
local unit_number = entity.unit_number
|
local unit_number = entity.unit_number
|
||||||
if index and index.saved_entity == car.saved_entity then
|
if index and index.saved_entity == car.saved_entity then
|
||||||
if validate_entity(car.surface) then
|
if validate_entity(car.surface) then
|
||||||
car.surface.name = unit_number
|
car.surface.name = tostring(unit_number)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
@ -313,13 +316,7 @@ local function kick_players_from_surface(ic, car)
|
|||||||
for _, e in pairs(car.surface.find_entities_filtered({area = car.area})) do
|
for _, e in pairs(car.surface.find_entities_filtered({area = car.area})) do
|
||||||
if validate_entity(e) and e.name == 'character' and e.player then
|
if validate_entity(e) and e.name == 'character' and e.player then
|
||||||
e.player.teleport(
|
e.player.teleport(
|
||||||
main_surface.find_non_colliding_position(
|
main_surface.find_non_colliding_position('character', game.forces.player.get_spawn_position(main_surface), 3, 0, 5),
|
||||||
'character',
|
|
||||||
game.forces.player.get_spawn_position(main_surface),
|
|
||||||
3,
|
|
||||||
0,
|
|
||||||
5
|
|
||||||
),
|
|
||||||
main_surface
|
main_surface
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
@ -364,13 +361,7 @@ local function kick_player_from_surface(ic, player, target)
|
|||||||
target.teleport(p, car.entity.surface)
|
target.teleport(p, car.entity.surface)
|
||||||
else
|
else
|
||||||
target.teleport(
|
target.teleport(
|
||||||
main_surface.find_non_colliding_position(
|
main_surface.find_non_colliding_position('character', game.forces.player.get_spawn_position(main_surface), 3, 0, 5),
|
||||||
'character',
|
|
||||||
game.forces.player.get_spawn_position(main_surface),
|
|
||||||
3,
|
|
||||||
0,
|
|
||||||
5
|
|
||||||
),
|
|
||||||
main_surface
|
main_surface
|
||||||
)
|
)
|
||||||
end
|
end
|
||||||
@ -385,6 +376,7 @@ local function restore_surface(ic, player, entity)
|
|||||||
local saved_surfaces = ic.saved_surfaces
|
local saved_surfaces = ic.saved_surfaces
|
||||||
local cars = ic.cars
|
local cars = ic.cars
|
||||||
local door = ic.doors
|
local door = ic.doors
|
||||||
|
local renders = ic.renders
|
||||||
local surfaces = ic.surfaces
|
local surfaces = ic.surfaces
|
||||||
local index = saved_surfaces[player.index]
|
local index = saved_surfaces[player.index]
|
||||||
if not index then
|
if not index then
|
||||||
@ -402,7 +394,7 @@ local function restore_surface(ic, player, entity)
|
|||||||
replace_surface(surfaces, ce, index)
|
replace_surface(surfaces, ce, index)
|
||||||
replace_surface_entity(cars, ce, index)
|
replace_surface_entity(cars, ce, index)
|
||||||
saved_surfaces[player.index] = nil
|
saved_surfaces[player.index] = nil
|
||||||
render_owner_text(player, ce)
|
render_owner_text(renders, player, ce)
|
||||||
return true
|
return true
|
||||||
end
|
end
|
||||||
return false
|
return false
|
||||||
@ -795,12 +787,11 @@ function Public.create_car(ic, event)
|
|||||||
end
|
end
|
||||||
|
|
||||||
if
|
if
|
||||||
get_owner_car_name(ic, player) == 'car' and ce.name == 'tank' or
|
get_owner_car_name(ic, player) == 'car' and ce.name == 'tank' or get_owner_car_name(ic, player) == 'car' and ce.name == 'spidertron' or
|
||||||
get_owner_car_name(ic, player) == 'car' and ce.name == 'spidertron' or
|
|
||||||
get_owner_car_name(ic, player) == 'tank' and ce.name == 'spidertron'
|
get_owner_car_name(ic, player) == 'tank' and ce.name == 'spidertron'
|
||||||
then
|
then
|
||||||
upgrade_surface(ic, player, ce)
|
upgrade_surface(ic, player, ce)
|
||||||
render_owner_text(player, ce)
|
render_owner_text(ic.renders, player, ce)
|
||||||
player.print('Your car-surface has been upgraded!', Color.success)
|
player.print('Your car-surface has been upgraded!', Color.success)
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
@ -828,7 +819,7 @@ function Public.create_car(ic, event)
|
|||||||
|
|
||||||
car.surface = Public.create_room_surface(ic, un)
|
car.surface = Public.create_room_surface(ic, un)
|
||||||
Public.create_car_room(ic, car)
|
Public.create_car_room(ic, car)
|
||||||
render_owner_text(player, ce)
|
render_owner_text(ic.renders, player, ce)
|
||||||
|
|
||||||
return car
|
return car
|
||||||
end
|
end
|
||||||
@ -887,10 +878,7 @@ function Public.use_door_with_entity(ic, player, door)
|
|||||||
if owner and owner.valid and player.connected then
|
if owner and owner.valid and player.connected then
|
||||||
if not list[player.name] and not player.admin then
|
if not list[player.name] and not player.admin then
|
||||||
player.driving = false
|
player.driving = false
|
||||||
return player.print(
|
return player.print('You have not been approved by ' .. owner.name .. ' to enter their vehicle.', Color.warning)
|
||||||
'You have not been approved by ' .. owner.name .. ' to enter their vehicle.',
|
|
||||||
Color.warning
|
|
||||||
)
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -960,5 +948,7 @@ end
|
|||||||
Public.kick_player_from_surface = kick_player_from_surface
|
Public.kick_player_from_surface = kick_player_from_surface
|
||||||
Public.get_player_surface = get_player_surface
|
Public.get_player_surface = get_player_surface
|
||||||
Public.get_entity_from_player_surface = get_entity_from_player_surface
|
Public.get_entity_from_player_surface = get_entity_from_player_surface
|
||||||
|
Public.get_owner_car_object = get_owner_car_object
|
||||||
|
Public.render_owner_text = render_owner_text
|
||||||
|
|
||||||
return Public
|
return Public
|
||||||
|
@ -7,15 +7,21 @@ local Event = require 'utils.event'
|
|||||||
local Public = {}
|
local Public = {}
|
||||||
|
|
||||||
--! Gui Frames
|
--! Gui Frames
|
||||||
local save_button_name = Gui.uid_name()
|
local save_add_player_button_name = Gui.uid_name()
|
||||||
local discard_button_name = Gui.uid_name()
|
local save_transfer_car_button_name = Gui.uid_name()
|
||||||
|
local discard_add_player_button_name = Gui.uid_name()
|
||||||
|
local discard_transfer_car_button_name = Gui.uid_name()
|
||||||
local main_frame_name = Gui.uid_name()
|
local main_frame_name = Gui.uid_name()
|
||||||
local draw_add_player_frame_name = Gui.uid_name()
|
local draw_add_player_frame_name = Gui.uid_name()
|
||||||
|
local draw_transfer_car_frame_name = Gui.uid_name()
|
||||||
local main_toolbar_name = Gui.uid_name()
|
local main_toolbar_name = Gui.uid_name()
|
||||||
local add_player_name = Gui.uid_name()
|
local add_player_name = Gui.uid_name()
|
||||||
|
local transfer_car_name = Gui.uid_name()
|
||||||
local kick_player_name = Gui.uid_name()
|
local kick_player_name = Gui.uid_name()
|
||||||
|
|
||||||
local raise_event = script.raise_event
|
local raise_event = script.raise_event
|
||||||
|
local add_toolbar
|
||||||
|
local remove_toolbar
|
||||||
|
|
||||||
local function increment(t, k)
|
local function increment(t, k)
|
||||||
t[k] = true
|
t[k] = true
|
||||||
@ -35,6 +41,54 @@ local function create_player_table(player)
|
|||||||
return trust_system[player.index]
|
return trust_system[player.index]
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local function does_player_table_exist(player)
|
||||||
|
local trust_system = ICT.get('trust_system')
|
||||||
|
if not trust_system[player.index] then
|
||||||
|
return false
|
||||||
|
else
|
||||||
|
return true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
local function transfer_player_table(player, new_player)
|
||||||
|
local trust_system = ICT.get('trust_system')
|
||||||
|
if not trust_system[player.index] then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
if player.index == new_player.index then
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
if not trust_system[new_player.index] then
|
||||||
|
local Functions = require 'maps.mountain_fortress_v3.ic.functions'
|
||||||
|
|
||||||
|
trust_system[new_player.index] = trust_system[player.index]
|
||||||
|
local name = new_player.name
|
||||||
|
|
||||||
|
if not trust_system[new_player.index][name] then
|
||||||
|
increment(trust_system[new_player.index], name)
|
||||||
|
end
|
||||||
|
|
||||||
|
local cars = ICT.get('cars')
|
||||||
|
local renders = ICT.get('renders')
|
||||||
|
local c = Functions.get_owner_car_object(cars, player)
|
||||||
|
local car = cars[c]
|
||||||
|
car.owner = new_player.index
|
||||||
|
|
||||||
|
Functions.render_owner_text(renders, player, car.entity, new_player)
|
||||||
|
|
||||||
|
remove_toolbar(player)
|
||||||
|
add_toolbar(new_player)
|
||||||
|
|
||||||
|
trust_system[player.index] = nil
|
||||||
|
else
|
||||||
|
return false
|
||||||
|
end
|
||||||
|
|
||||||
|
return trust_system[new_player.index]
|
||||||
|
end
|
||||||
|
|
||||||
local function remove_main_frame(main_frame)
|
local function remove_main_frame(main_frame)
|
||||||
Gui.remove_data_recursively(main_frame)
|
Gui.remove_data_recursively(main_frame)
|
||||||
main_frame.destroy()
|
main_frame.destroy()
|
||||||
@ -51,7 +105,7 @@ local function draw_add_player(frame)
|
|||||||
}
|
}
|
||||||
)
|
)
|
||||||
local main_frame_style = main_frame.style
|
local main_frame_style = main_frame.style
|
||||||
main_frame_style.width = 325
|
main_frame_style.width = 370
|
||||||
main_frame_style.use_header_filler = true
|
main_frame_style.use_header_filler = true
|
||||||
|
|
||||||
local inside_frame = main_frame.add {type = 'frame', style = 'inside_shallow_frame'}
|
local inside_frame = main_frame.add {type = 'frame', style = 'inside_shallow_frame'}
|
||||||
@ -75,20 +129,71 @@ local function draw_add_player(frame)
|
|||||||
left_flow.style.horizontal_align = 'left'
|
left_flow.style.horizontal_align = 'left'
|
||||||
left_flow.style.horizontally_stretchable = true
|
left_flow.style.horizontally_stretchable = true
|
||||||
|
|
||||||
local close_button = left_flow.add({type = 'button', name = discard_button_name, caption = 'Discard'})
|
local close_button = left_flow.add({type = 'button', name = discard_add_player_button_name, caption = 'Discard'})
|
||||||
close_button.style = 'back_button'
|
close_button.style = 'back_button'
|
||||||
close_button.style.maximal_width = 100
|
close_button.style.maximal_width = 100
|
||||||
|
|
||||||
local right_flow = bottom_flow.add({type = 'flow'})
|
local right_flow = bottom_flow.add({type = 'flow'})
|
||||||
right_flow.style.horizontal_align = 'right'
|
right_flow.style.horizontal_align = 'right'
|
||||||
|
|
||||||
local save_button = right_flow.add({type = 'button', name = save_button_name, caption = 'Save'})
|
local save_button = right_flow.add({type = 'button', name = save_add_player_button_name, caption = 'Save'})
|
||||||
save_button.style = 'confirm_button'
|
save_button.style = 'confirm_button'
|
||||||
save_button.style.maximal_width = 100
|
save_button.style.maximal_width = 100
|
||||||
|
|
||||||
Gui.set_data(save_button, add_player_frame)
|
Gui.set_data(save_button, add_player_frame)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local function draw_transfer_car(frame)
|
||||||
|
local main_frame =
|
||||||
|
frame.add(
|
||||||
|
{
|
||||||
|
type = 'frame',
|
||||||
|
name = draw_transfer_car_frame_name,
|
||||||
|
caption = 'Transfer Car',
|
||||||
|
direction = 'vertical'
|
||||||
|
}
|
||||||
|
)
|
||||||
|
local main_frame_style = main_frame.style
|
||||||
|
main_frame_style.width = 370
|
||||||
|
main_frame_style.use_header_filler = true
|
||||||
|
|
||||||
|
local inside_frame = main_frame.add {type = 'frame', style = 'inside_shallow_frame'}
|
||||||
|
local inside_frame_style = inside_frame.style
|
||||||
|
inside_frame_style.padding = 0
|
||||||
|
local inside_table = inside_frame.add {type = 'table', column_count = 1}
|
||||||
|
local inside_table_style = inside_table.style
|
||||||
|
inside_table_style.vertical_spacing = 5
|
||||||
|
inside_table_style.top_padding = 10
|
||||||
|
inside_table_style.left_padding = 10
|
||||||
|
inside_table_style.right_padding = 0
|
||||||
|
inside_table_style.bottom_padding = 10
|
||||||
|
inside_table_style.width = 325
|
||||||
|
|
||||||
|
local transfer_car_alert_frame = main_frame.add({type = 'label', caption = "Warning, this action can't be undone!"})
|
||||||
|
transfer_car_alert_frame.style.font_color = {r = 255, g = 0, b = 0}
|
||||||
|
local transfer_car_frame = main_frame.add({type = 'textfield', text = 'Name of the player.'})
|
||||||
|
transfer_car_frame.style.width = 140
|
||||||
|
|
||||||
|
local bottom_flow = main_frame.add({type = 'flow', direction = 'horizontal'})
|
||||||
|
|
||||||
|
local left_flow = bottom_flow.add({type = 'flow'})
|
||||||
|
left_flow.style.horizontal_align = 'left'
|
||||||
|
left_flow.style.horizontally_stretchable = true
|
||||||
|
|
||||||
|
local close_button = left_flow.add({type = 'button', name = discard_transfer_car_button_name, caption = 'Discard'})
|
||||||
|
close_button.style = 'back_button'
|
||||||
|
close_button.style.maximal_width = 100
|
||||||
|
|
||||||
|
local right_flow = bottom_flow.add({type = 'flow'})
|
||||||
|
right_flow.style.horizontal_align = 'right'
|
||||||
|
|
||||||
|
local save_button = right_flow.add({type = 'button', name = save_transfer_car_button_name, caption = 'Save'})
|
||||||
|
save_button.style = 'confirm_button'
|
||||||
|
save_button.style.maximal_width = 100
|
||||||
|
|
||||||
|
Gui.set_data(save_button, transfer_car_frame)
|
||||||
|
end
|
||||||
|
|
||||||
local function draw_players(data)
|
local function draw_players(data)
|
||||||
local player_table = data.player_table
|
local player_table = data.player_table
|
||||||
local add_player_frame = data.add_player_frame
|
local add_player_frame = data.add_player_frame
|
||||||
@ -149,7 +254,7 @@ local function draw_main_frame(player)
|
|||||||
|
|
||||||
main_frame.auto_center = true
|
main_frame.auto_center = true
|
||||||
local main_frame_style = main_frame.style
|
local main_frame_style = main_frame.style
|
||||||
main_frame_style.width = 350
|
main_frame_style.width = 400
|
||||||
main_frame_style.use_header_filler = true
|
main_frame_style.use_header_filler = true
|
||||||
|
|
||||||
local inside_frame = main_frame.add {type = 'frame', style = 'inside_shallow_frame'}
|
local inside_frame = main_frame.add {type = 'frame', style = 'inside_shallow_frame'}
|
||||||
@ -166,6 +271,7 @@ local function draw_main_frame(player)
|
|||||||
inside_table_style.width = 350
|
inside_table_style.width = 350
|
||||||
|
|
||||||
local add_player_frame = inside_table.add({type = 'button', caption = 'Add Player', name = add_player_name})
|
local add_player_frame = inside_table.add({type = 'button', caption = 'Add Player', name = add_player_name})
|
||||||
|
local transfer_car_frame = inside_table.add({type = 'button', caption = 'Transfer Car', name = transfer_car_name})
|
||||||
|
|
||||||
local player_table =
|
local player_table =
|
||||||
inside_table.add {
|
inside_table.add {
|
||||||
@ -216,6 +322,7 @@ local function draw_main_frame(player)
|
|||||||
local data = {
|
local data = {
|
||||||
player_table = player_table,
|
player_table = player_table,
|
||||||
add_player_frame = add_player_frame,
|
add_player_frame = add_player_frame,
|
||||||
|
transfer_car_frame = transfer_car_frame,
|
||||||
player = player
|
player = player
|
||||||
}
|
}
|
||||||
draw_players(data)
|
draw_players(data)
|
||||||
@ -242,7 +349,7 @@ local function toggle(player, recreate)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
local function add_toolbar(player, remove)
|
add_toolbar = function(player, remove)
|
||||||
if remove then
|
if remove then
|
||||||
if player.gui.top[main_toolbar_name] then
|
if player.gui.top[main_toolbar_name] then
|
||||||
player.gui.top[main_toolbar_name].destroy()
|
player.gui.top[main_toolbar_name].destroy()
|
||||||
@ -264,7 +371,7 @@ local function add_toolbar(player, remove)
|
|||||||
)
|
)
|
||||||
end
|
end
|
||||||
|
|
||||||
local function remove_toolbar(player)
|
remove_toolbar = function(player)
|
||||||
local screen = player.gui.screen
|
local screen = player.gui.screen
|
||||||
local main_frame = screen[main_frame_name]
|
local main_frame = screen[main_frame_name]
|
||||||
|
|
||||||
@ -301,7 +408,29 @@ Gui.on_click(
|
|||||||
)
|
)
|
||||||
|
|
||||||
Gui.on_click(
|
Gui.on_click(
|
||||||
save_button_name,
|
transfer_car_name,
|
||||||
|
function(event)
|
||||||
|
local player = event.player
|
||||||
|
if not player or not player.valid or not player.character then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
local screen = player.gui.screen
|
||||||
|
local frame = screen[main_frame_name]
|
||||||
|
if not frame or not frame.valid then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
local player_frame = frame[draw_transfer_car_frame_name]
|
||||||
|
if not player_frame or not player_frame.valid then
|
||||||
|
draw_transfer_car(frame)
|
||||||
|
else
|
||||||
|
player_frame.destroy()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
)
|
||||||
|
|
||||||
|
Gui.on_click(
|
||||||
|
save_add_player_button_name,
|
||||||
function(event)
|
function(event)
|
||||||
local player = event.player
|
local player = event.player
|
||||||
if not player or not player.valid or not player.character then
|
if not player or not player.valid or not player.character then
|
||||||
@ -345,6 +474,58 @@ Gui.on_click(
|
|||||||
end
|
end
|
||||||
)
|
)
|
||||||
|
|
||||||
|
Gui.on_click(
|
||||||
|
save_transfer_car_button_name,
|
||||||
|
function(event)
|
||||||
|
local player = event.player
|
||||||
|
if not player or not player.valid or not player.character then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
local screen = player.gui.screen
|
||||||
|
local frame = screen[main_frame_name]
|
||||||
|
local transfer_car_frame = Gui.get_data(event.element)
|
||||||
|
|
||||||
|
if frame and frame.valid then
|
||||||
|
if transfer_car_frame and transfer_car_frame.valid and transfer_car_frame.text then
|
||||||
|
local text = transfer_car_frame.text
|
||||||
|
if not text then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
local player_to_add = game.get_player(text)
|
||||||
|
if not player_to_add or not player_to_add.valid then
|
||||||
|
return player.print('Target player was not valid.', Color.warning)
|
||||||
|
end
|
||||||
|
|
||||||
|
local name = player_to_add.name
|
||||||
|
local does_player_have_a_car = does_player_table_exist(name)
|
||||||
|
if does_player_have_a_car then
|
||||||
|
return player.print(name .. ' already has a vehicle.', Color.warning)
|
||||||
|
end
|
||||||
|
|
||||||
|
local to_add = game.get_player(name)
|
||||||
|
if not (to_add and to_add.valid) then
|
||||||
|
return player.print(name .. ' does not exist.', Color.warning)
|
||||||
|
end
|
||||||
|
|
||||||
|
local success = transfer_player_table(player, to_add)
|
||||||
|
if not success then
|
||||||
|
player.print('Please try again.', Color.warning)
|
||||||
|
else
|
||||||
|
player.print('You have successfully transferred your car to ' .. name, Color.success)
|
||||||
|
to_add.print('You have become the rightfully owner of ' .. player.name .. "'s car!", Color.success)
|
||||||
|
end
|
||||||
|
|
||||||
|
remove_main_frame(event.element)
|
||||||
|
|
||||||
|
if player.gui.screen[main_frame_name] then
|
||||||
|
player.gui.screen[main_frame_name].destroy()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
)
|
||||||
|
|
||||||
Gui.on_click(
|
Gui.on_click(
|
||||||
kick_player_name,
|
kick_player_name,
|
||||||
function(event)
|
function(event)
|
||||||
@ -394,7 +575,7 @@ Gui.on_click(
|
|||||||
)
|
)
|
||||||
|
|
||||||
Gui.on_click(
|
Gui.on_click(
|
||||||
discard_button_name,
|
discard_add_player_button_name,
|
||||||
function(event)
|
function(event)
|
||||||
local player = event.player
|
local player = event.player
|
||||||
if not player or not player.valid or not player.character then
|
if not player or not player.valid or not player.character then
|
||||||
@ -414,6 +595,27 @@ Gui.on_click(
|
|||||||
end
|
end
|
||||||
)
|
)
|
||||||
|
|
||||||
|
Gui.on_click(
|
||||||
|
discard_transfer_car_button_name,
|
||||||
|
function(event)
|
||||||
|
local player = event.player
|
||||||
|
if not player or not player.valid or not player.character then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
|
||||||
|
local screen = player.gui.screen
|
||||||
|
local frame = screen[main_frame_name]
|
||||||
|
if not frame or not frame.valid then
|
||||||
|
return
|
||||||
|
end
|
||||||
|
local player_frame = frame[draw_transfer_car_frame_name]
|
||||||
|
|
||||||
|
if player_frame and player_frame.valid then
|
||||||
|
player_frame.destroy()
|
||||||
|
end
|
||||||
|
end
|
||||||
|
)
|
||||||
|
|
||||||
Gui.on_click(
|
Gui.on_click(
|
||||||
main_toolbar_name,
|
main_toolbar_name,
|
||||||
function(event)
|
function(event)
|
||||||
|
@ -30,6 +30,7 @@ function Public.reset()
|
|||||||
this.restore_on_theft = false
|
this.restore_on_theft = false
|
||||||
this.doors = {}
|
this.doors = {}
|
||||||
this.cars = {}
|
this.cars = {}
|
||||||
|
this.renders = {}
|
||||||
this.saved_surfaces = {}
|
this.saved_surfaces = {}
|
||||||
this.allowed_surface = 'nauvis'
|
this.allowed_surface = 'nauvis'
|
||||||
this.trust_system = {}
|
this.trust_system = {}
|
||||||
|
@ -406,8 +406,7 @@ function Public.extra_settings(player)
|
|||||||
local conjure_input_style = conjure_input.style
|
local conjure_input_style = conjure_input.style
|
||||||
conjure_input_style.height = 35
|
conjure_input_style.height = 35
|
||||||
conjure_input_style.vertical_align = 'center'
|
conjure_input_style.vertical_align = 'center'
|
||||||
conjure_gui_input =
|
conjure_gui_input = create_input_element(conjure_input, 'dropdown', false, names, rpg_t[player.index].dropdown_select_index)
|
||||||
create_input_element(conjure_input, 'dropdown', false, names, rpg_t[player.index].dropdown_select_index)
|
|
||||||
|
|
||||||
for _, entity in pairs(spells) do
|
for _, entity in pairs(spells) do
|
||||||
if entity.type == 'item' then
|
if entity.type == 'item' then
|
||||||
@ -482,8 +481,7 @@ function Public.extra_settings(player)
|
|||||||
local name_input_style = name_input.style
|
local name_input_style = name_input.style
|
||||||
name_input_style.height = 35
|
name_input_style.height = 35
|
||||||
name_input_style.vertical_align = 'center'
|
name_input_style.vertical_align = 'center'
|
||||||
auto_allocate_gui_input =
|
auto_allocate_gui_input = create_input_element(name_input, 'dropdown', false, names, rpg_t[player.index].allocate_index)
|
||||||
create_input_element(name_input, 'dropdown', false, names, rpg_t[player.index].allocate_index)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
local data = {
|
local data = {
|
||||||
@ -523,15 +521,13 @@ function Public.extra_settings(player)
|
|||||||
left_flow.style.horizontal_align = 'left'
|
left_flow.style.horizontal_align = 'left'
|
||||||
left_flow.style.horizontally_stretchable = true
|
left_flow.style.horizontally_stretchable = true
|
||||||
|
|
||||||
local close_button =
|
local close_button = left_flow.add({type = 'button', name = discard_button_name, caption = ({'rpg_settings.discard_changes'})})
|
||||||
left_flow.add({type = 'button', name = discard_button_name, caption = ({'rpg_settings.discard_changes'})})
|
|
||||||
close_button.style = 'back_button'
|
close_button.style = 'back_button'
|
||||||
|
|
||||||
local right_flow = bottom_flow.add({type = 'flow'})
|
local right_flow = bottom_flow.add({type = 'flow'})
|
||||||
right_flow.style.horizontal_align = 'right'
|
right_flow.style.horizontal_align = 'right'
|
||||||
|
|
||||||
local save_button =
|
local save_button = right_flow.add({type = 'button', name = save_button_name, caption = ({'rpg_settings.save_changes'})})
|
||||||
right_flow.add({type = 'button', name = save_button_name, caption = ({'rpg_settings.save_changes'})})
|
|
||||||
save_button.style = 'confirm_button'
|
save_button.style = 'confirm_button'
|
||||||
|
|
||||||
Gui.set_data(save_button, data)
|
Gui.set_data(save_button, data)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user