mirror of
https://github.com/PHIDIAS0303/ExpCluster.git
synced 2026-11-14 08:14:52 +09:00
Input acctions blocked (abilty to)
This commit is contained in:
1 parent
2b4de7cf1c
commit
8bd75b1090
2 files changed
+20
-15
No files matched your search
+1
-1
@@ -1 +1 @@
|
||||
entityRemoved={}entityCache={}guis={frames={},buttons={}}defaults={itemRotated={},ranks={{name='Owner',shortHand='Owner',tag='[Owner]',power=0,colour={r=170,g=0,b=0}},{name='Community Manager',shortHand='CM',tag='[Com Mngr]',power=1,colour={r=150,g=68,b=161}},{name='Developer',shortHand='Dev',tag='[Dev]',power=1,colour={r=179,g=125,b=46}},{name='Admin',shortHand='Admin',tag='[Admin]',power=2,colour={r=170,g=41,b=170}},{name='Mod',shortHand='Mod',tag='[Mod]',power=3,colour={r=233,g=63,b=233}},{name='Donator',shortHand='P2W',tag='[P2W]',power=4,colour={r=233,g=63,b=233}},{name='Member',shortHand='Mem',tag='[Member]',power=5,colour={r=24,g=172,b=188}},{name='Regular',shortHand='Reg',tag='[Regukar]',power=5,colour={r=24,g=172,b=188}},{name='Guest',shortHand='',tag='[Guest]',power=6,colour={r=255,g=159,b=27}},{name='Jail',shortHand='Jail',tag='[Jail]',power=7,colour={r=50,g=50,b=50}}},autoRanks={Owner={'badgamernl'},['Community Manager']={'arty714'},Developer={'Cooldude2606'},Admin={'eissturm','PropangasEddy'},Mod={'Alanore','Aquaday','cafeslacker','CrashKonijn','Drahc_pro','Flip','freek18','Hobbitkicker','hud','Matthias','MeDDish','Mindxt20','MottledPetrel','Mr_Happy_212','Phoenix27833','Sand3r205','ScarbVis','Smou','steentje77','TopHatGaming123'},Donator={},Member={},Regular={},Guest={},Jail={}},selected={},jail={}}warningAllowed=nil;timeForRegular=180;CHUNK_SIZE=32;function loadVar(a)if a==nil then local b=nil;if game.players[1].gui.left.hidden then b=game.players[1].gui.left.hidden.caption else b=game.players[1].gui.left.add{type='frame',name='hidden',caption=table.tostring(defaults)}.caption;game.players[1].gui.left.hidden.style.visible=false end;gTable=loadstring('return '..b)()else gTable=a end;itemRotated=gTable.itemRotated;ranks=gTable.ranks;autoRanks=gTable.autoRanks;selected=gTable.selected;jail=gTable.jail end;loadVar(defaults)function saveVar()gTable.itemRotated=itemRotated;gTable.ranks=ranks;gTable.autoRanks=autoRanks;gTable.selected=selected;gTable.jail=jail;game.players[1].gui.left.hidden.caption=table.tostring(gTable)end;function getRank(c)if c then for d,rank in pairs(ranks)do if c.permission_group==game.permissions.get_group(rank.name)then return rank end end;return stringToRank('Guest')end end;function stringToRank(string)if type(string)=='string'then local e={}for d,rank in pairs(ranks)do if rank.name:lower()==string:lower()then return rank end;if rank.name:lower():find(string:lower())then table.insert(e,rank)end end;if#e==1 then return e[1]end end end;function callRank(f,rank,g)local rank=stringToRank(rank)or stringToRank('Mod')local g=g or false;for d,c in pairs(game.players)do rankPower=getRank(c).power;if g then if rankPower>=rank.power then c.print('[Everyone]: '..f)end else if rankPower<=rank.power then if rank.shortHand~=''then c.print('['..rank.shortHand..']: '..f)else c.print('[Everyone]: '..f)end end end end end;function giveRank(c,rank,h,i)local h=h or'system'local rank=stringToRank(rank)or rank;local j=getRank(c)local k='demoted'if rank.power<=j.power then k='promoted'end;if h.name then callRank(c.name..' was '..k..' to '..rank.name..' by '..h.name,j.name)else callRank(c.name..' was '..k..' to '..rank.name..' by <system>',j.name)end;c.permission_group=game.permissions.get_group(rank.name)drawToolbar(c)drawPlayerList()if i then else game.print(jail[c.index][1])game.print(rank.name)game.print(jail[c.index][1]and rank.name~='Jail')if rank.name=='Jail'and not jail[c.index][1]then jailPlayer(c,h)elseif jail[c.index][1]and rank.name~='Jail'then game.print('Unjail')jail[c.index][1]=false;c.character.active=true end end end;function autoRank(c)local l=getRank(c)local m=nil;for rank,n in pairs(autoRanks)do local o=false;for d,p in pairs(n)do if c.name==p then m=stringToRank(rank)o=true;break end end;if o then break end end;if m then if l.power>m.power then c.permission_group=game.permissions.get_group(m.name)end elseif ticktominutes(c.online_time)>=timeForRegular then c.permission_group=game.permissions.get_group('Regular')end;if getRank(c).power<=3 and not c.admin then callRank(c.name..' needs to be promoted.')end;if jail[c.index]==nil then jail[c.index]={false,getRank(c).name}end;if jail[c.index][1]then c.permission_group=game.permissions.get_group('Jail')if c.character then c.character.active=false end end;saveVar()end;function jailPlayer(c,q)if c.character then if c.character.active then jail[c.index][1]=true;jail[c.index][2]=getRank(c).name;giveRank(c,'Jail',q,true)c.character.active=false else jail[c.index][1]=false;local rank=jail[c.index][2]or'Guest'giveRank(c,rank,q,true)c.character.active=true end;saveVar()end end;function ticktohour(r)local s=tostring(math.floor(r/(216000*game.speed)))return s end;function ticktominutes(r)local t=math.floor(r/(3600*game.speed))return t end;function clearSelection(c)selected[c.index]={}end;function autoMessage()local u='Regular'local v='Mod'callRank('There are '..#game.connected_players..' players online',v,true)callRank('This map has been on fLine truncated
|
||||
entityRemoved={}entityCache={}guis={frames={},buttons={}}defaults={itemRotated={},ranks={{name='Owner',shortHand='Owner',tag='[Owner]',power=0,colour={r=170,g=0,b=0},disallow={}},{name='Community Manager',shortHand='CM',tag='[Com Mngr]',power=1,colour={r=150,g=68,b=161},disallow={}},{name='Developer',shortHand='Dev',tag='[Dev]',power=1,colour={r=179,g=125,b=46},disallow={}},{name='Admin',shortHand='Admin',tag='[Admin]',power=2,colour={r=170,g=41,b=170},disallow={}},{name='Mod',shortHand='Mod',tag='[Mod]',power=3,colour={r=233,g=63,b=233},disallow={}},{name='Donator',shortHand='P2W',tag='[P2W]',power=4,colour={r=233,g=63,b=233},disallow={}},{name='Member',shortHand='Mem',tag='[Member]',power=5,colour={r=24,g=172,b=188},disallow={}},{name='Regular',shortHand='Reg',tag='[Regukar]',power=5,colour={r=24,g=172,b=188},disallow={}},{name='Guest',shortHand='',tag='[Guest]',power=6,colour={r=255,g=159,b=27},disallow={}},{name='Jail',shortHand='Jail',tag='[Jail]',power=7,colour={r=50,g=50,b=50},disallow={}}},autoRanks={Owner={'badgamernl'},['Community Manager']={'arty714'},Developer={'Cooldude2606'},Admin={'eissturm','PropangasEddy'},Mod={'Alanore','Aquaday','cafeslacker','CrashKonijn','Drahc_pro','Flip','freek18','Hobbitkicker','hud','Matthias','MeDDish','Mindxt20','MottledPetrel','Mr_Happy_212','Phoenix27833','Sand3r205','ScarbVis','Smou','steentje77','TopHatGaming123'},Donator={},Member={},Regular={},Guest={},Jail={}},selected={},jail={}}warningAllowed=nil;timeForRegular=180;CHUNK_SIZE=32;function loadVar(a)if a==nil then local b=nil;if game.players[1].gui.left.hidden then b=game.players[1].gui.left.hidden.caption else b=game.players[1].gui.left.add{type='frame',name='hidden',caption=table.tostring(defaults)}.caption;game.players[1].gui.left.hidden.style.visible=false end;gTable=loadstring('return '..b)()else gTable=a end;itemRotated=gTable.itemRotated;ranks=gTable.ranks;autoRanks=gTable.autoRanks;selected=gTable.selected;jail=gTable.jail end;loadVar(defaults)function saveVar()gTable.itemRotated=itemRotated;gTable.ranks=ranks;gTable.autoRanks=autoRanks;gTable.selected=selected;gTable.jail=jail;game.players[1].gui.left.hidden.caption=table.tostring(gTable)end;function getRank(c)if c then for d,rank in pairs(ranks)do if c.permission_group==game.permissions.get_group(rank.name)then return rank end end;return stringToRank('Guest')end end;function stringToRank(string)if type(string)=='string'then local e={}for d,rank in pairs(ranks)do if rank.name:lower()==string:lower()then return rank end;if rank.name:lower():find(string:lower())then table.insert(e,rank)end end;if#e==1 then return e[1]end end end;function callRank(f,rank,g)local rank=stringToRank(rank)or stringToRank('Mod')local g=g or false;for d,c in pairs(game.players)do rankPower=getRank(c).power;if g then if rankPower>=rank.power then c.print('[Everyone]: '..f)end else if rankPower<=rank.power then if rank.shortHand~=''then c.print('['..rank.shortHand..']: '..f)else c.print('[Everyone]: '..f)end end end end end;function giveRank(c,rank,h,i)local h=h or'system'local rank=stringToRank(rank)or rank;local j=getRank(c)local k='demoted'if rank.power<=j.power then k='promoted'end;if h.name then callRank(c.name..' was '..k..' to '..rank.name..' by '..h.name,j.name)else callRank(c.name..' was '..k..' to '..rank.name..' by <system>',j.name)end;c.permission_group=game.permissions.get_group(rank.name)drawToolbar(c)drawPlayerList()if i then else game.print(jail[c.index][1])game.print(rank.name)game.print(jail[c.index][1]and rank.name~='Jail')if rank.name=='Jail'and not jail[c.index][1]then jailPlayer(c,h)elseif jail[c.index][1]and rank.name~='Jail'then game.print('Unjail')jail[c.index][1]=false;c.character.active=true end end end;function autoRank(c)local l=getRank(c)local m=nil;for rank,n in pairs(autoRanks)do local o=false;for d,p in pairs(n)do if c.name==p then m=stringToRank(rank)o=true;break end end;if o then break end end;if m then if l.power>m.power then c.permission_group=game.permissions.get_group(m.name)end elseif ticktominutes(c.online_time)>=timeForRegular then c.permission_group=game.permissions.get_group('Regular')end;if getRank(c).power<=3 and not c.admin then callRank(c.name..' needs to be promoted.')end;if jail[c.index]==nil then jail[c.index]={false,getRank(c).name}end;if jail[c.index][1]then c.permission_group=game.permissions.get_group('Jail')if c.character then c.character.active=false end end;saveVar()end;function jailPlayer(c,q)if c.character then if c.character.active then jail[c.index][1]=true;jail[c.index][2]=getRank(c).name;giveRank(c,'Jail',q,true)c.character.active=false else jail[c.index][1]=false;local rank=jail[c.index][2]or'Guest'giveRank(c,rank,q,true)c.character.active=true end;saveVar()end end;function ticktohour(r)local s=tostring(math.floor(r/(216000*game.speed)))return s end;function ticktominutes(r)local t=math.floor(r/(3600*game.speed))return t end;function clearSelection(c)selected[c.index]={}end;function autoMessage()local u='RegulaLine truncated
|
||||
+19
-14
@@ -5,17 +5,20 @@ guis = {frames={},buttons={}}
|
||||
--functions can not be included in the default list or be added by code
|
||||
defaults = {
|
||||
itemRotated = {},
|
||||
--for disallow add to the list the end part of the input action
|
||||
--example: defines.input_action.drop_item -> 'drop_item'
|
||||
--http://lua-api.factorio.com/latest/defines.html#defines.input_action
|
||||
ranks={
|
||||
{name='Owner',shortHand='Owner',tag='[Owner]',power=0,colour={r=170,g=0,b=0}},
|
||||
{name='Community Manager',shortHand='CM',tag='[Com Mngr]',power=1,colour={r=150,g=68,b=161}},
|
||||
{name='Developer',shortHand='Dev',tag='[Dev]',power=1,colour={r=179,g=125,b=46}},
|
||||
{name='Admin',shortHand='Admin',tag='[Admin]',power=2,colour={r=170,g=41,b=170}},
|
||||
{name='Mod',shortHand='Mod',tag='[Mod]',power=3,colour={r=233,g=63,b=233}},
|
||||
{name='Donator',shortHand='P2W',tag='[P2W]',power=4,colour={r=233,g=63,b=233}},
|
||||
{name='Member',shortHand='Mem',tag='[Member]',power=5,colour={r=24,g=172,b=188}},
|
||||
{name='Regular',shortHand='Reg',tag='[Regukar]',power=5,colour={r=24,g=172,b=188}},
|
||||
{name='Guest',shortHand='',tag='[Guest]',power=6,colour={r=255,g=159,b=27}},
|
||||
{name='Jail',shortHand='Jail',tag='[Jail]',power=7,colour={r=50,g=50,b=50}}
|
||||
{name='Owner',shortHand='Owner',tag='[Owner]',power=0,colour={r=170,g=0,b=0},disallow={}},
|
||||
{name='Community Manager',shortHand='CM',tag='[Com Mngr]',power=1,colour={r=150,g=68,b=161},disallow={}},
|
||||
{name='Developer',shortHand='Dev',tag='[Dev]',power=1,colour={r=179,g=125,b=46},disallow={}},
|
||||
{name='Admin',shortHand='Admin',tag='[Admin]',power=2,colour={r=170,g=41,b=170},disallow={}},
|
||||
{name='Mod',shortHand='Mod',tag='[Mod]',power=3,colour={r=233,g=63,b=233},disallow={}},
|
||||
{name='Donator',shortHand='P2W',tag='[P2W]',power=4,colour={r=233,g=63,b=233},disallow={}},
|
||||
{name='Member',shortHand='Mem',tag='[Member]',power=5,colour={r=24,g=172,b=188},disallow={}},
|
||||
{name='Regular',shortHand='Reg',tag='[Regukar]',power=5,colour={r=24,g=172,b=188},disallow={}},
|
||||
{name='Guest',shortHand='',tag='[Guest]',power=6,colour={r=255,g=159,b=27},disallow={}},
|
||||
{name='Jail',shortHand='Jail',tag='[Jail]',power=7,colour={r=50,g=50,b=50},disallow={}}
|
||||
},
|
||||
autoRanks={
|
||||
Owner={'badgamernl'},
|
||||
@@ -337,6 +340,9 @@ script.on_event(defines.events.on_player_joined_game, function(event)
|
||||
if #game.players == 1 then
|
||||
for _,rank in pairs(ranks) do
|
||||
game.permissions.create_group(rank.name)
|
||||
for _,toRemove in pairs(rank.disallow) do
|
||||
game.permissions.get_group(rank.name).set_allows_action(defines.input_action[toRemove],false)
|
||||
end
|
||||
end
|
||||
end
|
||||
local player = game.players[event.player_index]
|
||||
@@ -723,7 +729,7 @@ addButton('add_dev_items',function(player,frame) player.insert{name="deconstruct
|
||||
addButton('sendMessage',function(player,frame) local rank = stringToRank(frame.parent.message.rank.text) if rank then callRank(frame.parent.message.message.text,rank.name) else for _,rank in pairs(ranks) do player.print(rank.name) end end end)
|
||||
addButton('setRanks',
|
||||
function(player,frame)
|
||||
rank = stringToRank(frame.parent.rank_input.text)
|
||||
rank = stringToRank(frame.parent.rank_input.selected_index)
|
||||
if rank then
|
||||
for _,playerName in pairs(selected[player.index]) do
|
||||
p=game.players[playerName]
|
||||
@@ -733,8 +739,6 @@ addButton('setRanks',
|
||||
player.print('You can not edit '..p.name.."'s rank there rank is too high (or the rank you have slected is above you)")
|
||||
end
|
||||
end
|
||||
else
|
||||
player.print(frame.parent.rank_input.text..' is not a Rank, Ranks are:') for _,rank in pairs(ranks) do if rank.power > getRank(player).power then player.print(rank.name) end end
|
||||
end
|
||||
end)
|
||||
addButton('clearSelection',function(player,frame) clearSelection(player) drawPlayerTable(player, frame.parent.parent, false, true, {}) end)
|
||||
@@ -761,7 +765,8 @@ addTab('Admin','Edit Ranks', 'Edit the ranks of players below you',
|
||||
frame.filterTable.add{name='sel_input',type='textfield'}
|
||||
frame.add{type='flow',name='rank',direction='horizontal'}
|
||||
frame.rank.add{name='rank_label',type='label',caption='Rank'}
|
||||
frame.rank.add{name='rank_input',type='textfield'}
|
||||
frame.rank.add{name='rank_input',type='drop-down'}
|
||||
for _,rank in pairs(ranks) do if rank.power > getRank(player).power then frame.rank.rank_input.add_item(rank.name) end end
|
||||
drawButton(frame.rank,'setRanks','Set Ranks','Sets the rank of all selected players')
|
||||
drawButton(frame.rank,'clearSelection','Clear Selection','Clears all currently selected players')
|
||||
drawPlayerTable(player, frame, false, true, {'lower'})
|
||||
|
||||
Reference in new issue
Block a user