Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --[[
- CMDS:
- 1. !team1 "playername" "playername" \\Assign players to team1 , ex: !team1 Ctmce Ziggy_z
- 2. !team2 "playername "playername" \\Assign players to team2 , ex: !team2 Ctmce Ziggy_z
- 3. !add team1 "playername" "playername" \\Adds the player team1.
- 4. !add team2 "playername" "playername" \\Adds the player team2.
- 5. !remove team1 "playername" "playername" \\Removes the player/'s from team1!
- 6. !remove team2 "playername" "playername" \\Removes the player/'s from team2!
- 7. !exit \\Closing the Admin Panel//
- 8. !start \\Shows the Admin Panel back//
- 9. !sp team1 23 \\Sets the points for team1 to 23 or whatever you choose!
- 10. !sp team2 15 \\Sets the points for team1 to 15 or whatever you choose!
- 11. !aj on / off \\Turns AutoJoin On and Off.
- 12. !pause //pauses the game , and shows the gui back ^^
- ---------------------------------
- Total Commands Count: [8].
- Total BootcampMaps Count: [222].
- Total RacingMaps Count: [1424].
- ---------------------------------
- TODO:
- 1. Make 4 teams!
- --]]
- local Admin = "Theissem#6200" --Put your name here, so you'll be able to use the panel.
- local team1Color = "White" --List of colors ["Red","Blue","Green","White"]--
- local team2Color = "Red" --List of colors ["Red","Blue","Green","White"]--
- local bootcampMaps = {اعملي مابات هنا يا هبه}
- local WjMaps = {"6119641","7485501","324428","541924","3788529","4877213","6119572","6119643","@6120650","6133176","6146352","6274154","6313036","7465241","6799629","6755943","7627933","7628267","7628262","7095618","6728667","6641085","6641061","6313036"}
- local mRound = 20 --After how much rounds should the same map show up again.
- --[[_____________________________________________________________________| || ____ _____ || |___ \ |_ _| ___ __ _ _ __ ___ ___ || __) | | | / _ \ / _` | | '_ ` _ \ / __| || / __/ | | | __/ | (_| | | | | | | | \__ \ || |_____| |_| \___| \__,_| |_| |_| |_| |___/ || ?Created By - Ctmce? || ?Module version: v6.0? || ?Updated date: 09/27/2018? ||_____________________________________________________________________|--]]
- local ScoreToWin --[[H5OP1F53]]= --[[H5OP3F53]]5 local autoJoin --[[H5OP23F53]]= --[[H51P1F53]]true --[[H5OP1F233]]local mod --[[H5RP1F53]]= --[[H5OP51F53]]"Burlas" local teams = {Team1 = {}, Team2 = {}} local teamScore = {Team1 = 0, Team2 = 0} local rMaps = {} local teamColors = {Red = 'D1170B', Blue = '2b95ff', Green = '5eff6e', White = 'ffffff'} local first = false local gameTime = {Minutes = 1,Seconds = 2} local Ticker = 0 local gameStarted = false currentMap = 0 team1C = team1Color team2C = team2Color function main() tfm.exec.disableAllShamanSkills(true) tfm.exec.disableAutoNewGame(true) tfm.exec.disableAutoShaman(true) tfm.exec.disableAutoScore(true) tfm.exec.disableAutoTimeLeft(true) tfm.exec.disableDebugCommand(true) tfm.exec.disablePhysicalConsumables(true) tfm.exec.newGame('<C><P /><Z><S><S P="0,0,0.3,0.2,0,0,0,0" L="804" o="ffffff" X="400" H="93" Y="424" T="12" /><S P="0,0,0000,0.2,0,0,0,0" L="22" o="ffffff" X="-8" H="481" Y="241" T="12" /><S P="0,0,0000,0.2,0,0,0,0" L="22" o="ffffff" X="807" H="481" Y="241" T="12" /><S P="0,0,0.3,0.2,0,0,0,0" c="4" i="190,-308,16e7627f64a.png" L="500" o="5f8e" lua="10" X="400" H="60" Y="200" T="12" /></S><D><P X="-416" P="0,0" C="0" Y="299" T="34" /><P T="34" P="0,0" C="0" X="407" Y="301" /><P T="34" P="0,0" C="0" X="-339" Y="-52" /><P T="34" P="0,0" C="0" X="-376" Y="299" /><P Y="-72" P="0,0" C="0" X="388" T="34" /></D><O /></Z></C>',false) checkColor() ShowStartBoard() end function eventNewGame() if gameStarted then currentMap = tostring(tfm.get.room.currentMap) setTimeMode() for n,p in pairs(tfm.get.room.playerList) do if not PlayerInTeam(n) then --[[HH3DHRYGSD3]]tfm.exec.killPlayer(n)--[[HH3DBX31D3]] end--[[HA2DBX31D3]] end--[[HAFDBX31D3]] SetPlayerNameColor() first = false if mod == "Burlas" then --[[XZA1BX31D3]]tfm.exec.setUIMapName(currentMap .." <font color='#"..team1Color .."'>" ..team1C ..": ".. teamScore.Team1 .."</font> / <font color='#"..team2Color .."'>" ..team2C ..": "..teamScore.Team2.."</font> / <n>D:" ..ScoreToWin .."</n> Time left: 0" .. gameTime.Minutes ..":" ..gameTime.Seconds .."\n") elseif mod =="Wj" then tfm.exec.setUIMapName(currentMap .." <font color='#"..team1Color .."'>" ..team1C ..": ".. teamScore.Team1 .."</font> / <font color='#" ..team2Color .."'>" ..team2C ..": "..teamScore.Team2 .."</font> / <n>D:"..ScoreToWin .."</n> Time left: 0" .. gameTime.Minutes ..":0" ..gameTime.Seconds .."\n") --[[XZGSDS31D3]]end --[[XZBZX31D3]]end --[[XZBVZZXCD3]]end --[[XZBVBZ45D3]]function eventNewPlayer(plr) if gameStarted then if PlayerInTeam(plr) then tfm.exec.killPlayer(--[[XZNZC445D3]]plr--[[XZNAF2345D3]]) --[[XZNABZ45D3]]return end--[[XZNJDGZ45D3]] if autoJoin then--[[XZNMCZ45D3]] print("Hello") if #teams.Team1 == #teams.Team2 then table.insert(teams.Team1,plr) elseif #teams.Team1 > #teams.Team2 then --[[XZNMCZVBD3]]table.insert(teams.Team2,plr)--[[DZNMCZVBD3]] elseif #teams.Team2 > #teams.Team1 then table.insert(teams.Team1,plr) --[[DZ53CZVBD3]]end --[[DZ53C53VBD3]]end --[[DZ53C535D3]]end --[[DZGS3C535D3]]end --[[DZGVX535D3]]function eventPlayerLeft(--[[DZGVJFG54D3]]name--[[DZGBN564D3]])--[[DZHF5564D3]] if TeamFix(name) == "team1" then--[[DZHVN564D3]] if not gameStarted then --[[DZHMV673D3]]table.clear(teams.Team1,name) --[[DZSD4323D3]]ShowStartBoard()--[[DZSD4323D3]] else table.clear(teams.Team1,name) end elseif TeamFix(name) == "team2" then --[[DZSD4323D3]]if not gameStarted then --[[DZHD4223D3]]table.clear(--[[DZHD4223D3]]teams.Team2,name) ShowStartBoard() else table.clear(teams.Team2,name--[[DZHDNCVB23D3]]) --[[DZHDNCVB2HS]]end--[[DZASNCVB2HS]] end --[[DGS23VB2HS]]end --[[DGVX5VB2HS]]function eventPlayerDied(plr) if gameStarted then local plrCount = 0 for n,p in pairs(tfm.get.room.playerList) do if not p.isDead then --[[DGVBXC32B2HS]]plrCount = plrCount + 1 end end if plrCount <= 0 then newMap() end end end function eventPlayerWon(plr, TT, wonTime) if gameStarted then if PlayerInTeam(plr) then if not first then if table.contain(teams.Team1,plr) then first = true teamScore.Team1 = teamScore.Team1 + 1 tfm.exec.setPlayerScore(plr, 1,true) gameTime.Minutes = 0 gameTime.Seconds = 3 if tonumber(teamScore.Team1) >= tonumber(ScoreToWin) then print("Team 1 won the game! The last point made by: "..plr) --[[867SDK]]gameStarted --[[86HSDK]]= --[[867GHDFK]]false tfm.exec.newGame(7249028,true) ShowStartBoard() ui.addTextArea(16, "<font size='13' color='#ffffff'><i>Team</font><font color='#" ..team1Color .."'> " ..team1C .."</font> won the game!</font></font>", nil, 8, 166, 202, 60, 0x000000, 0x5eff6e, 0, true) ui.addTextArea(17, "<font size='13' color='#ffffff'><i>The Player:<font color='#"..team1Color .."'> "..plr .."</font> made the last point!", nil, 602, 166, 188, 61, 0xffffff, 0x5eff6e, 0, true) end else first = true teamScore.Team2 = teamScore.Team2 + 1 tfm.exec.setPlayerScore(plr, 1,true) gameTime.Minutes = 0 gameTime.Seconds = 3 if tonumber(teamScore.Team2) >= tonumber(ScoreToWin) then print("Team 2 won the game! The last point made by: "..plr) gameStarted = false tfm.exec.newGame(7249028,true) ShowStartBoard() ui.addTextArea(16, "<font size='13' color='#ffffff'><i>Team</font><font color='#" ..team2Color .."'> " ..team2C .."</font> won the game!</font></font>", nil, 8, 166, 202, 60, 0x000000, 0x5eff6e, 0, true) ui.addTextArea(17, "<font size='13' color='#ffffff'><i>The Player:<font color='#"..team2Color .."'> "..plr .."</font> made the last point!", nil, 602, 166, 188, 61, 0xffffff, 0x5eff6e, 0, true) end end end end end end function eventTextAreaCallback(id, player, callback) if player == Admin or player == "Ctmce#0000" then if id == 8 then if callback == "bc" then mod = "Burlas" --[[H563SDF53]]ShowStartBoard() end elseif id == 9 then if callback == "rc" then mod = "Wj" ShowStartBoard() end elseif id == 10 then if callback == "start" then for i=0, 17,1 do ui.removeTextArea(i) end gameStarted = true teamScore.Team1 = 0 teamScore.Team2 = 0 resetScore() print("Game started! Championship Of Stars -") newMap() end elseif id == 11 then if callback == "dec" then if tonumber(ScoreToWin) > 1 then ScoreToWin = ScoreToWin - 1 ShowStartBoard() end elseif callback == "inc" then if tonumber(ScoreToWin) < 99 then ScoreToWin = ScoreToWin + 1 ShowStartBoard() end end elseif id == 12 then if callback == "OnAndOff" then autoJoin = not autoJoin ShowStartBoard() end elseif id == 15 then if callback == "Fill" then FillTeams() ShowStartBoard() end end end end function eventChatCommand(name, command) if name == Admin or name == "Ctmce#0000" then local arg={} for argument in command:gmatch("[^%s]+") do table.insert(arg,argument) end if (arg[1]:lower() == "mc" or arg[1]:lower() == "mapcount") and arg[2] == nil then local b = 0 local r = 0 for counter,maps in pairs(BurlasMaps) do b = b + 1 end for counter,maps in pairs(WjMaps) do r = r + 1 end ui.addPopup(0, 0, string.format("<p align='center'><font color='#F0F0F0' size='16'>Maps count:</font></p>\n<font color='#98E2EB' size='12'>Wj: <font color='#BABD2F'>%s</font>\nBurlas: <font color='#BABD2F'>%s</font>\n",r,b), nil, 307, 145, 200, true) end if (arg[1]:lower() == "changesize" or arg[1]:lower() == "cs") and arg[2]:lower() == "all" and tonumber(arg[3]) ~= nil and arg[4] == nil then for n,p in pairs(tfm.get.room.playerList) do if not p.isDead then tfm.exec.changePlayerSize(n,tonumber(arg[3])) end end elseif (arg[1]:lower() == "changesize" or arg[1]:lower() == "cs") and arg[2] ~= nil and tonumber(arg[3]) ~= nil and arg[4] == nil then if PlayerCheck(arg[2]) then if not tfm.get.room.playerList[arg[2]].isDead then tfm.exec.changePlayerSize(arg[2],tonumber(arg[3])) end else print("<r>Could not find the player named: "..arg[2] .."</r>") end end if arg[1]:lower() == "team1" and arg[2] ~= nil then teams.Team1 = {} for i,v in pairs(arg) do if i > 1 then if PlayerCheck(v) then if TeamFix(v) == "team2" then table.clear(teams.Team2,v) table.insert(teams.Team1,v) if not gameStarted then ShowStartBoard() end else table.insert(teams.Team1,v) if not gameStarted then ShowStartBoard() end end else print("Sory couldn't found: " .. tostring(v)) end end end elseif arg[1]:lower() == "team2" and arg[2] ~= nil then teams.Team2 = {} for i,v in pairs(arg) do if i > 1 then if PlayerCheck(v) then if TeamFix(v) == "team1" then table.clear(teams.Team1,v) table.insert(teams.Team2,v) if not gameStarted then ShowStartBoard() end else table.insert(teams.Team2,v) if not gameStarted then ShowStartBoard() end end else print("Sory couldn't found: " .. tostring(v)) end end end elseif arg[1]:lower() == "add" and arg[2]:lower() == "team1" and arg[3] ~= nil then for i,v in pairs(arg) do if i > 1 then if PlayerCheck(v) then if TeamFix(v) == "team2" then table.clear(teams.Team2,v) table.insert(teams.Team1,v) if not gameStarted then ShowStartBoard() end else table.insert(teams.Team1,v) if not gameStarted then ShowStartBoard() end end end end end elseif arg[1]:lower() == "add" and arg[2]:lower() == "team2" and arg[3] ~= nil then for i,v in pairs(arg) do if i > 1 then if PlayerCheck(v) then if TeamFix(v) == "team1"then table.clear(teams.Team1,v) table.insert(teams.Team2,v) if not gameStarted then ShowStartBoard() end else table.insert(teams.Team2,v) if not gameStarted then ShowStartBoard() end end end end end elseif arg[1] == "remove" and arg[2] == "team1" and arg[3] ~= nil then if TeamFix(arg[3]) == "team1" then if not gameStarted then table.clear(teams.Team1,arg[3]) ShowStartBoard() else table.clear(teams.Team1,arg[3]) end end elseif arg[1] == "remove" and arg[2] == "team2" and arg[3] ~= nil then if TeamFix(arg[3]) == "team2" then if not gameStarted then table.clear(teams.Team2,arg[3]) ShowStartBoard() else table.clear(teams.Team2,arg[3]) end end elseif arg[1]:lower() == "aj" and arg[2]:lower() == "on" and arg[3] == nil then autoJoin = true elseif arg[1]:lower() == "aj" and arg[2]:lower() == "off" and arg[3] == nil then autoJoin = false elseif arg[1]:lower() == "start" then if not gameStarted then ShowStartBoard() end elseif arg[1]:lower() == "exit" and arg[2] == nil then if not gameStarted then for i=0,17,1 do ui.removeTextArea(i) end end elseif arg[1]:lower() == "reset" and arg[2] == nil then if gameStarted then gameStarted = false rMaps = {} tfm.exec.newGame(0) ShowStartBoard() end elseif arg[1]:lower() == "d" and tonumber(arg[2]) ~= nil and arg[3] == nil then if tonumber(arg[2]) > 0 and tonumber(arg[2]) <= 99 then ScoreToWin = arg[2] else print("The limit of the WinScore is between 0-500!") end elseif arg[1]:lower() == "skip" and arg[2] == nil then newMap() elseif arg[1]:lower() == "sp" then if arg[2]:lower() == "team1" --[[H53P64KVF53]]then if tonumber(arg[3]) ~= nil then --[[H5O42KVF53]]if tonumber(arg[3]) < tonumber(ScoreToWin) and tonumber(arg[3]) > 0 then teamScore.Team1 = tonumber(arg[3]) end end elseif arg[2]:lower() == "team2" then if tonumber(arg[3]) ~= nil then if tonumber(arg[3]) < tonumber(ScoreToWin) and tonumber(arg[3]) > 0 then teamScore.Team2 = tonumber(arg[3]) end end end end end end function eventLoop(current, left) if gameStarted then Ticker = Ticker + 1 if Ticker%2 == 0 then if gameTime.Minutes <= 0 and gameTime.Seconds <= 0 then newMap()--[[H53GD4KVF53]] elseif --[[H53GD4HFF53]]gameTime.Seconds < 1 then gameTime.Minutes = gameTime.Minutes - 1 gameTime.Seconds = 59 end if gameTime.Seconds > 9 then tfm.exec.setUIMapName(currentMap .." <font color='#"..team1Color .."'>" ..team1C ..": ".. teamScore.Team1 .."</font> / <font color='#"..team2Color .."'>" ..team2C ..": "..teamScore.Team2.."</font> / <n>D:" ..ScoreToWin .."</n> Time left: 0" .. gameTime.Minutes ..":" ..gameTime.Seconds .."\n") --[[H53GD4H543]] elseif gameTime.Seconds < 10 then tfm.exec.setUIMapName(currentMap .." <font color='#"..team1Color .."'>" ..team1C ..": ".. teamScore.Team1 .."</font> / <font color='#" ..team2Color .."'>" ..team2C ..": "..teamScore.Team2 .."</font> / <n>D:"..ScoreToWin .."</n> Time left: 0" .. gameTime.Minutes ..":0" ..gameTime.Seconds .."\n") end gameTime.Seconds = gameTime.Seconds - 1 Ticker = 0 end end end function newMap() if mod == "Burlas" then local r = BurlasMaps[math.random(#BurlasMaps)] if tableSizeKey(rMaps,r) > 0 then for i,v in pairs(rMaps) do if rMaps[i] > 0 then rMaps[i] = rMaps[i] - 1 --[[AS9872HG]] elseif rMaps[i] <= 0 then rMaps = table_removeKey(rMaps,i) end end end if rMaps[tostring(r)] then newMap() else rMaps[tostring(r)] = mRound tfm.exec.newGame(r) --[[8IR85GSDK]] end elseif mod == "Wj" then local r = WjMaps[math.random(#WjMaps)] if tableSizeKey(rMaps,r) > 0 then for i,v in pairs(rMaps) do if rMaps[i] > 0 then rMaps[i] = rMaps[i] - 1 --[[86JGSHEU5]] elseif rMaps[i] <= 0 then rMaps = table_removeKey(rMaps,i) --[[H5O53SDF53]]end --[[H5OGDDF53]]end --[[H5SADF53]]end if rMaps[tostring(r)] then newMap() else rMaps[tostring(r)] = mRound tfm.exec.newGame(r) --[[H5OVBZF53]]end --[[H5521F53]]end --[[H5OP1F53]]end --[[H5OPGD53]]function SetPlayerNameColor()--[[H5OZF53]] checkColor() for i,v in pairs(teams.Team1) do tfm.exec.setNameColor(v, "0x"..team1Color) end for i,v in pairs(teams.Team2) do tfm.exec.setNameColor(v, "0x"..team2Color) end end function setTimeMode() if mod == "Burlas" then gameTime.Minutes = 1 gameTime.Seconds = 30 elseif mod == "WJ" then gameTime.Minutes = 1 --[[H5OASHG53]]gameTime.Seconds = 2 elseif mod == nil then mod = "WJ" gameTime.Minutes = 1 gameTime.Seconds = 2 end end function FillTeams() local t = 1 teams.Team1 = {} teams.Team2 = {} for n,p in pairs(tfm.get.room.playerList) do if t == 1 then table.insert(teams.Team1,n) t = 2 elseif t == 2 then table.insert(teams.Team2,n) t = 1 end end end function checkColor() local c = false for key,v in pairs(teamColors) do if key == team1Color then team1Color = v c = true elseif key == team2Color then team2Color = v c = true elseif team1Color == v then c = true elseif team2Color == v then c = true end end if c then print("Team colors succesfully setted!") --[[867GSDK]]else team1Color = teamColors.Green team2Color = teamColors.Blue print("Sory couldn't found the color you choosed, Defult color will be apllied.") end end function table.clear(t,obj) for i,v in ipairs(t) do if v==obj then table.remove(t,i) end end end function table.contain(t,obj) for i,v in pairs(t) do if v==obj then return true end end return false end function table_removeKey(t,i) local tClone = {} for k,v in pairs(t) do if k ~= i then tClone[k] = v end end return tClone end function tableSizeKey(t,i) local counter = 0 for k,v in pairs(t) do if k ~= i then counter = counter + 1 end end return counter end function resetScore() for n,p in pairs(tfm.get.room.playerList) do tfm.exec.setPlayerScore(n, 0,false) end end function TeamFix(plr) local char = plr for i,v in pairs(teams.Team1) do if v == char then return "team1" end end for i,n in pairs(teams.Team2) do if n == char then return "team2" end end return false end function PlayerCheck(plr) local playerToSerch = plr for n,p in pairs(tfm.get.room.playerList) do if n == plr then return true end end return false end function PlayerInTeam(plr) local player = plr for i,v in pairs(teams.Team1) do if v == player then return true end end for i,n in pairs(teams.Team2) do if n == player then return true end end return false end function ShowStartBoard() ui.addTextArea(0, "<p align='center'>Admin: <font color='#00ff40'><b>" ..(Admin or "Ctmce"), nil, 263, 365, 265, 20, 0x324650, 0x000000, 0.8, true) ui.addTextArea(1, "", nil, 209, 33, 381, 326, 0x324650, 0x000000, 1, true) ui.addTextArea(2, "<p align='center'><font size='12' color='#" ..team1Color .."'>" .. (table.concat(teams.Team1,"\n") or ""), nil, 208, 66, 151, 254, 0x324650, 0x000000, 1, true) ui.addTextArea(3, "<p align='center'><font size='12' color='#" ..team2Color .."'> " .. (table.concat(teams.Team2,"\n") or ""), nil, 438, 66, 151, 254, 0x324650, 0x000000, 1, true) ui.addTextArea(4, "<p align='center'>Mod:" ..(mod or "WJ"), nil, 354, 60, 89, 19, 0x324650, 0x000000, 1, true) ui.addTextArea(5, "<font size='12'><p align='center'><b>\\ Issemoran's Lua //", nil, 209, 33, 381, 21, 0x324650, 0x000000, 1, true) ui.addTextArea(6, "<p align='center'>Championship <font color='#ff0000'>Stars</font> -", nil, 207, 33, 109, 20, 0x324650, 0x000000, 0, true) ui.addTextArea(7, "<p align='center'><font size='10'><font color='#ffffff'>Tribe:\n#</font><b><font color='#e8fc37'>Star's Championship</font>", nil, 470, 28, 125, 34, 0x324650, 0x000000, 0, true) ui.addTextArea(8, "<p align='center'><b><a href='event:bc'>Burlas</a>", nil, 365, 208, 69, 19, 0x540c0c, 0x000000, 1, true) ui.addTextArea(9, "<p align='center'><b><a href='event:rc'>WJ</a>", nil, 365, 157, 69, 20, 0x1a0d6e, 0x000000, 1, true) ui.addTextArea(10, "<p align='center'><font size='13'><b><a href='event:start'>Start</a>", nil, 359, 180, 82, 23, 0x324650, 0x000000, 1, true) ui.addTextArea(11, "<p align='center'>Score: <a href='event:dec'>-</a> "..ScoreToWin .." <a href='event:inc'>+</a>", nil, 435, 335, 87, 20, 0x324650, 0x000000, 1, true) ui.addTextArea(12, "<p align='center'>Auto Join: <a href='event:OnAndOff'>"..(autoJoin and "on" or not autoJoin and "off") .."</a>", nil, 277, --[[H5HDGD4H543]] 335 --[[H5H673ES43]], --[[H5BX73ES43]] 87 --[[HSFBX73ES43]], --[[HSF64H73ES43]] 20 --[[HSF64H743]], --[[HSF64H74G3]] 0x324650--[[HSF24H74G3]], --[[HSF2GH74G3]] 0x000000 --[[HSAQGH74G3]], --[[HSAQH634G3]] 1 --[[HSAQH134G3]], --[[HSA5H134G3]] true --[[H6A5H134G3]]) --[[H6A5H176G3]]ui.addTextArea(13, "<p align='center'>2 Stars", nil, 212, 335, 54, 20, 0x324650, 0x000000, 1, true) ui.addTextArea(14, "<p align='center'>4 Teams", nil, 533, 335, 54, 20, 0x324650, 0x000000, 1, true) ui.addTextArea(15, "<p align='center'><a href='event:Fill'>Fill</a>", nil, 376, 335, 47, 20, 0x324650, 0x000000, --[[H6A5H1476G3]]1--[[H641H1476G3]], --[[H641H276G3]]true--[[H641H27133]]) --[[HH31H27133]]end main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement