Guest User

Untitled

a guest
Apr 8th, 2012
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 55.91 KB | None | 0 0
  1. settings = {
  2. ["useanimation"] = nil,
  3. ["toggleable"] = nil,
  4. ["showserverinfo"] = nil,
  5. ["showgamemodeinfo"] = nil,
  6. ["showteams"] = nil,
  7. ["usecolors"] = nil,
  8. ["drawspeed"] = nil,
  9. ["scale"] = nil,
  10. ["columnfont"] = nil,
  11. ["contentfont"] = nil,
  12. ["teamfont"] = nil,
  13. ["serverinfofont"] = nil,
  14. ["bg_color"] = {},
  15. ["selection_color"] = {},
  16. ["highlight_color"] = {},
  17. ["header_color"] = {},
  18. ["team_color"] = {},
  19. ["border_color"] = {},
  20. ["serverinfo_color"] = {},
  21. ["content_color"] = {}
  22. }
  23. defaultSettings = {
  24. ["useanimation"] = true,
  25. ["toggleable"] = false,
  26. ["showserverinfo"] = false,
  27. ["showgamemodeinfo"] = false,
  28. ["showteams"] = true,
  29. ["usecolors"] = true,
  30. ["drawspeed"] = 1.5,
  31. ["scale"] = 1.0,
  32. ["columnfont"] = "default-bold",
  33. ["contentfont"] = "default-bold",
  34. ["teamfont"] = "clear",
  35. ["serverinfofont"] = "default",
  36. ["bg_color"] = {
  37. ["r"] = 0,
  38. ["g"] = 0,
  39. ["b"] = 0,
  40. ["a"] = 170
  41. },
  42. ["selection_color"] = {
  43. ["r"] = 82,
  44. ["g"] = 103,
  45. ["b"] = 188,
  46. ["a"] = 170
  47. },
  48. ["highlight_color"] = {
  49. ["r"] = 255,
  50. ["g"] = 255,
  51. ["b"] = 255,
  52. ["a"] = 50
  53. },
  54. ["header_color"] = {
  55. ["r"] = 100,
  56. ["g"] = 100,
  57. ["b"] = 100,
  58. ["a"] = 255
  59. },
  60. ["team_color"] = {
  61. ["r"] = 100,
  62. ["g"] = 100,
  63. ["b"] = 100,
  64. ["a"] = 100
  65. },
  66. ["border_color"] = {
  67. ["r"] = 100,
  68. ["g"] = 100,
  69. ["b"] = 100,
  70. ["a"] = 50
  71. },
  72. ["serverinfo_color"] = {
  73. ["r"] = 150,
  74. ["g"] = 150,
  75. ["b"] = 150,
  76. ["a"] = 255
  77. },
  78. ["content_color"] = {
  79. ["r"] = 255,
  80. ["g"] = 255,
  81. ["b"] = 255,
  82. ["a"] = 255
  83. }
  84. }
  85.  
  86. tempColors = {
  87. ["bg_color"] = {
  88. ["r"] = nil,
  89. ["g"] = nil,
  90. ["b"] = nil,
  91. ["a"] = nil
  92. },
  93. ["selection_color"] = {
  94. ["r"] = nil,
  95. ["g"] = nil,
  96. ["b"] = nil,
  97. ["a"] = nil
  98. },
  99. ["highlight_color"] = {
  100. ["r"] = nil,
  101. ["g"] = nil,
  102. ["b"] = nil,
  103. ["a"] = nil
  104. },
  105. ["header_color"] = {
  106. ["r"] = nil,
  107. ["g"] = nil,
  108. ["b"] = nil,
  109. ["a"] = nil
  110. },
  111. ["team_color"] = {
  112. ["r"] = nil,
  113. ["g"] = nil,
  114. ["b"] = nil,
  115. ["a"] = nil
  116. },
  117. ["border_color"] = {
  118. ["r"] = nil,
  119. ["g"] = nil,
  120. ["b"] = nil,
  121. ["a"] = nil
  122. },
  123. ["serverinfo_color"] = {
  124. ["r"] = nil,
  125. ["g"] = nil,
  126. ["b"] = nil,
  127. ["a"] = nil
  128. },
  129. ["content_color"] = {
  130. ["r"] = nil,
  131. ["g"] = nil,
  132. ["b"] = nil,
  133. ["a"] = nil
  134. }
  135. }
  136. MAX_DRAWSPEED = 4.0
  137. MIN_DRAWSPEED = 0.5
  138. MAX_SCALE = 2.5
  139. MIN_SCALE = 0.5
  140. fontIndexes = {
  141. ["column"] = 1,
  142. ["content"] = 1,
  143. ["team"] = 1,
  144. ["serverinfo"] = 1
  145. }
  146. fontNames = { "default", "default-bold", "clear", "arial", "sans","pricedown", "bankgothic", "diploma", "beckett" }
  147.  
  148. function readScoreboardSettings()
  149. local settingsFile = xmlLoadFile( "settings.xml" )
  150. if not settingsFile then
  151. settingsFile = xmlCreateFile( "settings.xml", "settings" )
  152. if not settingsFile then return false end
  153.  
  154. local useanimationTag = xmlCreateChild( settingsFile, "useanimation" )
  155. xmlNodeSetValue( useanimationTag, tostring( defaultSettings.useanimation ) )
  156. local toggleableTag = xmlCreateChild( settingsFile, "toggleable" )
  157. xmlNodeSetValue( toggleableTag, tostring( defaultSettings.toggleable ) )
  158. local showserverinfoTag = xmlCreateChild( settingsFile, "showserverinfo" )
  159. xmlNodeSetValue( showserverinfoTag, tostring( defaultSettings.showserverinfo ) )
  160. local showgamemodeinfoTag = xmlCreateChild( settingsFile, "showgamemodeinfo" )
  161. xmlNodeSetValue( showgamemodeinfoTag, tostring( defaultSettings.showgamemodeinfo ) )
  162. local showteamsTag = xmlCreateChild( settingsFile, "showteams" )
  163. xmlNodeSetValue( showteamsTag, tostring( defaultSettings.showteams ) )
  164. local usecolorsTag = xmlCreateChild( settingsFile, "usecolors" )
  165. xmlNodeSetValue( usecolorsTag, tostring( defaultSettings.usecolors ) )
  166. local drawspeedTag = xmlCreateChild( settingsFile, "drawspeed" )
  167. xmlNodeSetValue( drawspeedTag, tostring( defaultSettings.drawspeed ) )
  168. local scaleTag = xmlCreateChild( settingsFile, "scale" )
  169. xmlNodeSetValue( scaleTag, tostring( defaultSettings.scale ) )
  170. local columnfontTag = xmlCreateChild( settingsFile, "columnfont" )
  171. xmlNodeSetValue( columnfontTag, tostring( defaultSettings.columnfont ) )
  172. local contentfontTag = xmlCreateChild( settingsFile, "contentfont" )
  173. xmlNodeSetValue( contentfontTag, tostring( defaultSettings.contentfont ) )
  174. local teamfontTag = xmlCreateChild( settingsFile, "teamfont" )
  175. xmlNodeSetValue( teamfontTag, tostring( defaultSettings.teamfont ) )
  176. local serverinfofontTag = xmlCreateChild( settingsFile, "serverinfofont" )
  177. xmlNodeSetValue( serverinfofontTag, tostring( defaultSettings.serverinfofont ) )
  178. local bg_colorTag = xmlCreateChild( settingsFile, "bg_color" )
  179. xmlNodeSetAttribute( bg_colorTag, "r", tostring( defaultSettings.bg_color.r ) )
  180. xmlNodeSetAttribute( bg_colorTag, "g", tostring( defaultSettings.bg_color.g ) )
  181. xmlNodeSetAttribute( bg_colorTag, "b", tostring( defaultSettings.bg_color.b ) )
  182. xmlNodeSetAttribute( bg_colorTag, "a", tostring( defaultSettings.bg_color.a ) )
  183. local selection_colorTag = xmlCreateChild( settingsFile, "selection_color" )
  184. xmlNodeSetAttribute( selection_colorTag, "r", tostring( defaultSettings.selection_color.r ) )
  185. xmlNodeSetAttribute( selection_colorTag, "g", tostring( defaultSettings.selection_color.g ) )
  186. xmlNodeSetAttribute( selection_colorTag, "b", tostring( defaultSettings.selection_color.b ) )
  187. xmlNodeSetAttribute( selection_colorTag, "a", tostring( defaultSettings.selection_color.a ) )
  188. local highlight_colorTag = xmlCreateChild( settingsFile, "highlight_color" )
  189. xmlNodeSetAttribute( highlight_colorTag, "r", tostring( defaultSettings.highlight_color.r ) )
  190. xmlNodeSetAttribute( highlight_colorTag, "g", tostring( defaultSettings.highlight_color.g ) )
  191. xmlNodeSetAttribute( highlight_colorTag, "b", tostring( defaultSettings.highlight_color.b ) )
  192. xmlNodeSetAttribute( highlight_colorTag, "a", tostring( defaultSettings.highlight_color.a ) )
  193. local header_colorTag = xmlCreateChild( settingsFile, "header_color" )
  194. xmlNodeSetAttribute( header_colorTag, "r", tostring( defaultSettings.header_color.r ) )
  195. xmlNodeSetAttribute( header_colorTag, "g", tostring( defaultSettings.header_color.g ) )
  196. xmlNodeSetAttribute( header_colorTag, "b", tostring( defaultSettings.header_color.b ) )
  197. xmlNodeSetAttribute( header_colorTag, "a", tostring( defaultSettings.header_color.a ) )
  198. local team_colorTag = xmlCreateChild( settingsFile, "team_color" )
  199. xmlNodeSetAttribute( team_colorTag, "r", tostring( defaultSettings.team_color.r ) )
  200. xmlNodeSetAttribute( team_colorTag, "g", tostring( defaultSettings.team_color.g ) )
  201. xmlNodeSetAttribute( team_colorTag, "b", tostring( defaultSettings.team_color.b ) )
  202. xmlNodeSetAttribute( team_colorTag, "a", tostring( defaultSettings.team_color.a ) )
  203. local border_colorTag = xmlCreateChild( settingsFile, "border_color" )
  204. xmlNodeSetAttribute( border_colorTag, "r", tostring( defaultSettings.border_color.r ) )
  205. xmlNodeSetAttribute( border_colorTag, "g", tostring( defaultSettings.border_color.g ) )
  206. xmlNodeSetAttribute( border_colorTag, "b", tostring( defaultSettings.border_color.b ) )
  207. xmlNodeSetAttribute( border_colorTag, "a", tostring( defaultSettings.border_color.a ) )
  208. local serverinfo_colorTag = xmlCreateChild( settingsFile, "serverinfo_color" )
  209. xmlNodeSetAttribute( serverinfo_colorTag, "r", tostring( defaultSettings.serverinfo_color.r ) )
  210. xmlNodeSetAttribute( serverinfo_colorTag, "g", tostring( defaultSettings.serverinfo_color.g ) )
  211. xmlNodeSetAttribute( serverinfo_colorTag, "b", tostring( defaultSettings.serverinfo_color.b ) )
  212. xmlNodeSetAttribute( serverinfo_colorTag, "a", tostring( defaultSettings.serverinfo_color.a ) )
  213. local content_colorTag = xmlCreateChild( settingsFile, "content_color" )
  214. xmlNodeSetAttribute( content_colorTag, "r", tostring( defaultSettings.content_color.r ) )
  215. xmlNodeSetAttribute( content_colorTag, "g", tostring( defaultSettings.content_color.g ) )
  216. xmlNodeSetAttribute( content_colorTag, "b", tostring( defaultSettings.content_color.b ) )
  217. xmlNodeSetAttribute( content_colorTag, "a", tostring( defaultSettings.content_color.a ) )
  218. xmlSaveFile( settingsFile )
  219. end
  220.  
  221. local useanimationTag = xmlFindChild( settingsFile, "useanimation", 0 )
  222. if not useanimationTag then
  223. useanimationTag = xmlCreateChild( settingsFile, "useanimation" )
  224. xmlNodeSetValue( useanimationTag, tostring( defaultSettings.useanimation ) )
  225. xmlSaveFile( settingsFile )
  226. end
  227.  
  228. local toggleableTag = xmlFindChild( settingsFile, "toggleable", 0 )
  229. if not toggleableTag then
  230. toggleableTag = xmlCreateChild( settingsFile, "toggleable" )
  231. xmlNodeSetValue( toggleableTag, tostring( defaultSettings.toggleable ) )
  232. xmlSaveFile( settingsFile )
  233. end
  234.  
  235. local showserverinfoTag = xmlFindChild( settingsFile, "showserverinfo", 0 )
  236. if not showserverinfoTag then
  237. showserverinfoTag = xmlCreateChild( settingsFile, "showserverinfo" )
  238. xmlNodeSetValue( showserverinfoTag, tostring( defaultSettings.showserverinfo ) )
  239. xmlSaveFile( settingsFile )
  240. end
  241.  
  242. local showgamemodeinfoTag = xmlFindChild( settingsFile, "showgamemodeinfo", 0 )
  243. if not showgamemodeinfoTag then
  244. showgamemodeinfoTag = xmlCreateChild( settingsFile, "showgamemodeinfo" )
  245. xmlNodeSetValue( showgamemodeinfoTag, tostring( defaultSettings.showgamemodeinfo ) )
  246. xmlSaveFile( settingsFile )
  247. end
  248.  
  249. local showteamsTag = xmlFindChild( settingsFile, "showteams", 0 )
  250. if not showteamsTag then
  251. showteamsTag = xmlCreateChild( settingsFile, "showteams" )
  252. xmlNodeSetValue( showteamsTag, tostring( defaultSettings.showteams ) )
  253. xmlSaveFile( settingsFile )
  254. end
  255.  
  256. local usecolorsTag = xmlFindChild( settingsFile, "usecolors", 0 )
  257. if not usecolorsTag then
  258. usecolorsTag = xmlCreateChild( settingsFile, "usecolors" )
  259. xmlNodeSetValue( usecolorsTag, tostring( defaultSettings.usecolors ) )
  260. xmlSaveFile( settingsFile )
  261. end
  262.  
  263. local drawspeedTag = xmlFindChild( settingsFile, "drawspeed", 0 )
  264. if not drawspeedTag then
  265. drawspeedTag = xmlCreateChild( settingsFile, "drawspeed" )
  266. xmlNodeSetValue( drawspeedTag, tostring( defaultSettings.drawspeed ) )
  267. xmlSaveFile( settingsFile )
  268. end
  269.  
  270. local scaleTag = xmlFindChild( settingsFile, "scale", 0 )
  271. if not scaleTag then
  272. scaleTag = xmlCreateChild( settingsFile, "scale" )
  273. xmlNodeSetValue( scaleTag, tostring( defaultSettings.scale ) )
  274. xmlSaveFile( settingsFile )
  275. end
  276.  
  277.  
  278.  
  279. local columnfontTag = xmlFindChild( settingsFile, "columnfont", 0 )
  280. if not columnfontTag then
  281. columnfontTag = xmlCreateChild( settingsFile, "columnfont" )
  282. xmlNodeSetValue( columnfontTag, tostring( defaultSettings.columnfont ) )
  283. xmlSaveFile( settingsFile )
  284. end
  285.  
  286. local contentfontTag = xmlFindChild( settingsFile, "contentfont", 0 )
  287. if not contentfontTag then
  288. contentfontTag = xmlCreateChild( settingsFile, "contentfont" )
  289. xmlNodeSetValue( contentfontTag, tostring( defaultSettings.contentfont ) )
  290. xmlSaveFile( settingsFile )
  291. end
  292.  
  293. local teamfontTag = xmlFindChild( settingsFile, "teamfont", 0 )
  294. if not teamfontTag then
  295. teamfontTag = xmlCreateChild( settingsFile, "teamfont" )
  296. xmlNodeSetValue( teamfontTag, tostring( defaultSettings.teamfont ) )
  297. xmlSaveFile( settingsFile )
  298. end
  299.  
  300. local serverinfofontTag = xmlFindChild( settingsFile, "serverinfofont", 0 )
  301. if not serverinfofontTag then
  302. serverinfofontTag = xmlCreateChild( settingsFile, "serverinfofont" )
  303. xmlNodeSetValue( serverinfofontTag, tostring( defaultSettings.serverinfofont ) )
  304. xmlSaveFile( settingsFile )
  305. end
  306.  
  307.  
  308.  
  309. local bg_colorTag = xmlFindChild( settingsFile, "bg_color", 0 )
  310. if not bg_colorTag then
  311. bg_colorTag = xmlCreateChild( settingsFile, "bg_color" )
  312. xmlNodeSetAttribute( bg_colorTag, "r", tostring( defaultSettings.bg_color.r ) )
  313. xmlNodeSetAttribute( bg_colorTag, "g", tostring( defaultSettings.bg_color.g ) )
  314. xmlNodeSetAttribute( bg_colorTag, "b", tostring( defaultSettings.bg_color.b ) )
  315. xmlNodeSetAttribute( bg_colorTag, "a", tostring( defaultSettings.bg_color.a ) )
  316. xmlSaveFile( settingsFile )
  317. end
  318.  
  319. local selection_colorTag = xmlFindChild( settingsFile, "selection_color", 0 )
  320. if not selection_colorTag then
  321. selection_colorTag = xmlCreateChild( settingsFile, "selection_color" )
  322. xmlNodeSetAttribute( selection_colorTag, "r", tostring( defaultSettings.selection_color.r ) )
  323. xmlNodeSetAttribute( selection_colorTag, "g", tostring( defaultSettings.selection_color.g ) )
  324. xmlNodeSetAttribute( selection_colorTag, "b", tostring( defaultSettings.selection_color.b ) )
  325. xmlNodeSetAttribute( selection_colorTag, "a", tostring( defaultSettings.selection_color.a ) )
  326. xmlSaveFile( settingsFile )
  327. end
  328.  
  329. local highlight_colorTag = xmlFindChild( settingsFile, "highlight_color", 0 )
  330. if not highlight_colorTag then
  331. highlight_colorTag = xmlCreateChild( settingsFile, "highlight_color" )
  332. xmlNodeSetAttribute( highlight_colorTag, "r", tostring( defaultSettings.highlight_color.r ) )
  333. xmlNodeSetAttribute( highlight_colorTag, "g", tostring( defaultSettings.highlight_color.g ) )
  334. xmlNodeSetAttribute( highlight_colorTag, "b", tostring( defaultSettings.highlight_color.b ) )
  335. xmlNodeSetAttribute( highlight_colorTag, "a", tostring( defaultSettings.highlight_color.a ) )
  336. xmlSaveFile( settingsFile )
  337. end
  338.  
  339. local header_colorTag = xmlFindChild( settingsFile, "header_color", 0 )
  340. if not header_colorTag then
  341. header_colorTag = xmlCreateChild( settingsFile, "header_color" )
  342. xmlNodeSetAttribute( header_colorTag, "r", tostring( defaultSettings.header_color.r ) )
  343. xmlNodeSetAttribute( header_colorTag, "g", tostring( defaultSettings.header_color.g ) )
  344. xmlNodeSetAttribute( header_colorTag, "b", tostring( defaultSettings.header_color.b ) )
  345. xmlNodeSetAttribute( header_colorTag, "a", tostring( defaultSettings.header_color.a ) )
  346. xmlSaveFile( settingsFile )
  347. end
  348.  
  349. local team_colorTag = xmlFindChild( settingsFile, "team_color", 0 )
  350. if not team_colorTag then
  351. team_colorTag = xmlCreateChild( settingsFile, "team_color" )
  352. xmlNodeSetAttribute( team_colorTag, "r", tostring( defaultSettings.team_color.r ) )
  353. xmlNodeSetAttribute( team_colorTag, "g", tostring( defaultSettings.team_color.g ) )
  354. xmlNodeSetAttribute( team_colorTag, "b", tostring( defaultSettings.team_color.b ) )
  355. xmlNodeSetAttribute( team_colorTag, "a", tostring( defaultSettings.team_color.a ) )
  356. xmlSaveFile( settingsFile )
  357. end
  358.  
  359. local border_colorTag = xmlFindChild( settingsFile, "border_color", 0 )
  360. if not border_colorTag then
  361. border_colorTag = xmlCreateChild( settingsFile, "border_color" )
  362. xmlNodeSetAttribute( border_colorTag, "r", tostring( defaultSettings.border_color.r ) )
  363. xmlNodeSetAttribute( border_colorTag, "g", tostring( defaultSettings.border_color.g ) )
  364. xmlNodeSetAttribute( border_colorTag, "b", tostring( defaultSettings.border_color.b ) )
  365. xmlNodeSetAttribute( border_colorTag, "a", tostring( defaultSettings.border_color.a ) )
  366. xmlSaveFile( settingsFile )
  367. end
  368.  
  369. local serverinfo_colorTag = xmlFindChild( settingsFile, "serverinfo_color", 0 )
  370. if not serverinfo_colorTag then
  371. serverinfo_colorTag = xmlCreateChild( settingsFile, "serverinfo_color" )
  372. xmlNodeSetAttribute( serverinfo_colorTag, "r", tostring( defaultSettings.serverinfo_color.r ) )
  373. xmlNodeSetAttribute( serverinfo_colorTag, "g", tostring( defaultSettings.serverinfo_color.g ) )
  374. xmlNodeSetAttribute( serverinfo_colorTag, "b", tostring( defaultSettings.serverinfo_color.b ) )
  375. xmlNodeSetAttribute( serverinfo_colorTag, "a", tostring( defaultSettings.serverinfo_color.a ) )
  376. xmlSaveFile( settingsFile )
  377. end
  378.  
  379. local content_colorTag = xmlFindChild( settingsFile, "content_color", 0 )
  380. if not content_colorTag then
  381. content_colorTag = xmlCreateChild( settingsFile, "content_color" )
  382. xmlNodeSetAttribute( content_colorTag, "r", tostring( defaultSettings.content_color.r ) )
  383. xmlNodeSetAttribute( content_colorTag, "g", tostring( defaultSettings.content_color.g ) )
  384. xmlNodeSetAttribute( content_colorTag, "b", tostring( defaultSettings.content_color.b ) )
  385. xmlNodeSetAttribute( content_colorTag, "a", tostring( defaultSettings.content_color.a ) )
  386. xmlSaveFile( settingsFile )
  387. end
  388.  
  389. settings.useanimation = xmlNodeGetValue( useanimationTag )
  390. settings.useanimation = iif( settings.useanimation and tostring( settings.useanimation ) == "false", false, true )
  391.  
  392. settings.toggleable = xmlNodeGetValue( toggleableTag )
  393. settings.toggleable = iif( settings.toggleable and tostring( settings.toggleable ) == "true", true, false )
  394.  
  395. settings.showserverinfo = xmlNodeGetValue( showserverinfoTag )
  396. settings.showserverinfo = iif( settings.showserverinfo and tostring( settings.showserverinfo ) == "true", true, false )
  397.  
  398. settings.showgamemodeinfo = xmlNodeGetValue( showgamemodeinfoTag )
  399. settings.showgamemodeinfo = iif( settings.showgamemodeinfo and tostring( settings.showgamemodeinfo ) == "true", true, false )
  400.  
  401. settings.showteams = xmlNodeGetValue( showteamsTag )
  402. settings.showteams = iif( settings.showteams and tostring( settings.showteams ) == "false", false, true )
  403.  
  404. settings.usecolors = xmlNodeGetValue( usecolorsTag )
  405. settings.usecolors = iif( settings.usecolors and tostring( settings.usecolors ) == "false", false, true )
  406.  
  407. settings.drawspeed = tonumber( xmlNodeGetValue( drawspeedTag ) )
  408. settings.drawspeed = iif( type( settings.drawspeed ) == "number" and settings.drawspeed >= MIN_DRAWSPEED and settings.drawspeed <= MAX_DRAWSPEED, settings.drawspeed, defaultSettings.drawspeed )
  409.  
  410. settings.scale = tonumber( xmlNodeGetValue( scaleTag ) )
  411. settings.scale = iif( type( settings.scale ) == "number" and settings.scale >= MIN_SCALE and settings.scale <= MAX_SCALE, settings.scale, defaultSettings.scale )
  412.  
  413. settings.columnfont = xmlNodeGetValue( columnfontTag )
  414. settings.columnfont = iif( fontScale[settings.columnfont], settings.columnfont, defaultSettings.columnfont )
  415.  
  416. settings.contentfont = xmlNodeGetValue( contentfontTag )
  417. settings.contentfont = iif( fontScale[settings.contentfont], settings.contentfont, defaultSettings.contentfont )
  418.  
  419. settings.teamfont = xmlNodeGetValue( teamfontTag )
  420. settings.teamfont = iif( fontScale[settings.teamfont], settings.teamfont, defaultSettings.teamfont )
  421.  
  422. settings.serverinfofont = xmlNodeGetValue( serverinfofontTag )
  423. settings.serverinfofont = iif( fontScale[settings.serverinfofont], settings.serverinfofont, defaultSettings.serverinfofont )
  424.  
  425. settings.bg_color.r = validateRange( tonumber( xmlNodeGetAttribute( bg_colorTag, "r" ) ) ) or defaultSettings.bg_color.r
  426. settings.bg_color.g = validateRange( tonumber( xmlNodeGetAttribute( bg_colorTag, "g" ) ) ) or defaultSettings.bg_color.g
  427. settings.bg_color.b = validateRange( tonumber( xmlNodeGetAttribute( bg_colorTag, "b" ) ) ) or defaultSettings.bg_color.b
  428. settings.bg_color.a = validateRange( tonumber( xmlNodeGetAttribute( bg_colorTag, "a" ) ) ) or defaultSettings.bg_color.a
  429.  
  430. settings.selection_color.r = validateRange( tonumber( xmlNodeGetAttribute( selection_colorTag, "r" ) ) ) or defaultSettings.selection_color.r
  431. settings.selection_color.g = validateRange( tonumber( xmlNodeGetAttribute( selection_colorTag, "g" ) ) ) or defaultSettings.selection_color.g
  432. settings.selection_color.b = validateRange( tonumber( xmlNodeGetAttribute( selection_colorTag, "b" ) ) ) or defaultSettings.selection_color.b
  433. settings.selection_color.a = validateRange( tonumber( xmlNodeGetAttribute( selection_colorTag, "a" ) ) ) or defaultSettings.selection_color.a
  434.  
  435. settings.highlight_color.r = validateRange( tonumber( xmlNodeGetAttribute( highlight_colorTag, "r" ) ) ) or defaultSettings.highlight_color.r
  436. settings.highlight_color.g = validateRange( tonumber( xmlNodeGetAttribute( highlight_colorTag, "g" ) ) ) or defaultSettings.highlight_color.g
  437. settings.highlight_color.b = validateRange( tonumber( xmlNodeGetAttribute( highlight_colorTag, "b" ) ) ) or defaultSettings.highlight_color.b
  438. settings.highlight_color.a = validateRange( tonumber( xmlNodeGetAttribute( highlight_colorTag, "a" ) ) ) or defaultSettings.highlight_color.a
  439.  
  440. settings.header_color.r = validateRange( tonumber( xmlNodeGetAttribute( header_colorTag, "r" ) ) ) or defaultSettings.header_color.r
  441. settings.header_color.g = validateRange( tonumber( xmlNodeGetAttribute( header_colorTag, "g" ) ) ) or defaultSettings.header_color.g
  442. settings.header_color.b = validateRange( tonumber( xmlNodeGetAttribute( header_colorTag, "b" ) ) ) or defaultSettings.header_color.b
  443. settings.header_color.a = validateRange( tonumber( xmlNodeGetAttribute( header_colorTag, "a" ) ) ) or defaultSettings.header_color.a
  444.  
  445. settings.team_color.r = validateRange( tonumber( xmlNodeGetAttribute( team_colorTag, "r" ) ) ) or defaultSettings.team_color.r
  446. settings.team_color.g = validateRange( tonumber( xmlNodeGetAttribute( team_colorTag, "g" ) ) ) or defaultSettings.team_color.g
  447. settings.team_color.b = validateRange( tonumber( xmlNodeGetAttribute( team_colorTag, "b" ) ) ) or defaultSettings.team_color.b
  448. settings.team_color.a = validateRange( tonumber( xmlNodeGetAttribute( team_colorTag, "a" ) ) ) or defaultSettings.team_color.a
  449.  
  450. settings.border_color.r = validateRange( tonumber( xmlNodeGetAttribute( border_colorTag, "r" ) ) ) or defaultSettings.border_color.r
  451. settings.border_color.g = validateRange( tonumber( xmlNodeGetAttribute( border_colorTag, "g" ) ) ) or defaultSettings.border_color.g
  452. settings.border_color.b = validateRange( tonumber( xmlNodeGetAttribute( border_colorTag, "b" ) ) ) or defaultSettings.border_color.b
  453. settings.border_color.a = validateRange( tonumber( xmlNodeGetAttribute( border_colorTag, "a" ) ) ) or defaultSettings.border_color.a
  454.  
  455. settings.serverinfo_color.r = validateRange( tonumber( xmlNodeGetAttribute( serverinfo_colorTag, "r" ) ) ) or defaultSettings.serverinfo_color.r
  456. settings.serverinfo_color.g = validateRange( tonumber( xmlNodeGetAttribute( serverinfo_colorTag, "g" ) ) ) or defaultSettings.serverinfo_color.g
  457. settings.serverinfo_color.b = validateRange( tonumber( xmlNodeGetAttribute( serverinfo_colorTag, "b" ) ) ) or defaultSettings.serverinfo_color.b
  458. settings.serverinfo_color.a = validateRange( tonumber( xmlNodeGetAttribute( serverinfo_colorTag, "a" ) ) ) or defaultSettings.serverinfo_color.a
  459.  
  460. settings.content_color.r = validateRange( tonumber( xmlNodeGetAttribute( content_colorTag, "r" ) ) ) or defaultSettings.content_color.r
  461. settings.content_color.g = validateRange( tonumber( xmlNodeGetAttribute( content_colorTag, "g" ) ) ) or defaultSettings.content_color.g
  462. settings.content_color.b = validateRange( tonumber( xmlNodeGetAttribute( content_colorTag, "b" ) ) ) or defaultSettings.content_color.b
  463. settings.content_color.a = validateRange( tonumber( xmlNodeGetAttribute( content_colorTag, "a" ) ) ) or defaultSettings.content_color.a
  464.  
  465.  
  466. xmlUnloadFile( settingsFile )
  467. -- EDIT BY MEFISTO_PL
  468. useAnimation = settings.useanimation
  469. scoreboardIsToggleable = settings.toggleable
  470. showServerInfo = --[[settings.showserverinfo]] false
  471. showGamemodeInfo = --[[settings.showgamemodeinfo]] false
  472. showTeams = --[[settings.showteams]] true
  473. useColors =--[[ settings.usecolors]] true
  474. drawSpeed = settings.drawspeed
  475. scoreboardScale = settings.scale
  476.  
  477. columnFont = "beckett"
  478. contentFont = "bankgothic"
  479. teamHeaderFont = "default-bold"
  480. serverInfoFont = "clear"
  481. --[[
  482. cScoreboardBackground = tocolor( settings.bg_color.r, settings.bg_color.g, settings.bg_color.b, settings.bg_color.a )
  483. cSelection = tocolor( settings.selection_color.r, settings.selection_color.g, settings.selection_color.b, settings.selection_color.a )
  484. cHighlight = tocolor( settings.highlight_color.r, settings.highlight_color.g, settings.highlight_color.b, settings.highlight_color.a )
  485. cHeader = tocolor( settings.header_color.r, settings.header_color.g, settings.header_color.b, settings.header_color.a )
  486. cTeam = tocolor( settings.team_color.r, settings.team_color.g, settings.team_color.b, settings.team_color.a )
  487. cBorder = tocolor( settings.border_color.r, settings.border_color.g, settings.border_color.b, settings.border_color.a )
  488. cServerInfo = tocolor( settings.serverinfo_color.r, settings.serverinfo_color.g, settings.serverinfo_color.b, settings.serverinfo_color.a )
  489. cContent = tocolor( settings.content_color.r, settings.content_color.g, settings.content_color.b, settings.content_color.a )
  490. ]]
  491. cScoreboardBackground = tocolor( 0,0,0,200 )
  492. cSelection = tocolor( 155,155,155,40 )
  493. cHighlight = tocolor( settings.highlight_color.r, settings.highlight_color.g, settings.highlight_color.b, settings.highlight_color.a )
  494. cHeader = tocolor( 0,170,255,255 )
  495. cTeam = tocolor( 155,155,155,40 )
  496. cBorder = tocolor( 155,155,155,40 )
  497. cServerInfo = tocolor( 255,255,255,255 )
  498. cContent = tocolor( settings.content_color.r, settings.content_color.g, settings.content_color.b, settings.content_color.a )
  499.  
  500. --------------
  501. end
  502.  
  503.  
  504.  
  505. function createScoreboardSettingsWindow( posX, posY )
  506. if not windowSettings then
  507. windowSettings = guiCreateWindow( posX, posY, 323, 350, "Scoreboard settings", false )
  508. guiSetText( windowSettings, "Scoreboard settings" )
  509. guiWindowSetSizable( windowSettings, false )
  510.  
  511. labelUseAnimation = guiCreateLabel( 10, 26, 64, 15, "Use animation:", false, windowSettings )
  512. guiSetFont( labelUseAnimation, "default-small" )
  513. checkAnimationYes = guiCreateCheckBox( 101, 26, 42, 14, "yes", false, false, windowSettings )
  514. checkAnimationNo = guiCreateCheckBox( 167, 26, 42, 14, "no", false, false, windowSettings )
  515.  
  516. labelMode = guiCreateLabel( 10, 43, 64, 15, "Mode:", false, windowSettings )
  517. guiSetFont( labelMode, "default-small" )
  518. checkModeHolding = guiCreateCheckBox( 101, 43, 64, 14, "holding", false, false, windowSettings )
  519. checkModeToggled = guiCreateCheckBox( 167, 43, 64, 14, "toggled", false, false, windowSettings )
  520.  
  521. labelShowInfoOf = guiCreateLabel( 10, 60, 64, 15, "Show info of:", false, windowSettings )
  522. guiSetFont( labelShowInfoOf, "default-small" )
  523. checkServerInfoServer = guiCreateCheckBox( 101, 60, 64, 14, "server", false, false, windowSettings )
  524. checkServerInfoGamemode = guiCreateCheckBox( 167, 60, 84, 14, "gamemode", false, false, windowSettings )
  525.  
  526. labelShowTeams = guiCreateLabel( 10, 77, 64, 15, "Show teams:", false, windowSettings )
  527. guiSetFont( labelShowTeams, "default-small" )
  528. checkShowTeamsYes = guiCreateCheckBox( 101, 77, 64, 14, "yes", false, false, windowSettings )
  529. checkShowTeamsNo = guiCreateCheckBox( 167, 77, 84, 14, "no", false, false, windowSettings )
  530.  
  531. labelUseColors = guiCreateLabel( 10, 94, 64, 15, "Use colors:", false, windowSettings )
  532. guiSetFont( labelUseColors, "default-small" )
  533. checkUseColorsYes = guiCreateCheckBox( 101, 94, 64, 14, "yes", false, false, windowSettings )
  534. checkUseColorsNo = guiCreateCheckBox( 167, 94, 84, 14, "no", false, false, windowSettings )
  535.  
  536. labelDrawSpeed = guiCreateLabel( 10, 111, 64, 15, "Draw speed:", false, windowSettings )
  537. guiSetFont( labelDrawSpeed, "default-small" )
  538. scrollDrawSpeed = guiCreateScrollBar( 101, 111, 172, 14, true, false, windowSettings )
  539.  
  540. labelScale = guiCreateLabel( 10, 128, 64, 15, "Scale:", false, windowSettings )
  541. guiSetFont( labelScale, "default-small" )
  542. scrollScale = guiCreateScrollBar( 101, 128, 172, 14, true, false, windowSettings )
  543.  
  544. labelFonts = guiCreateLabel( 10, 145, 64, 15, "Fonts:", false, windowSettings )
  545. guiSetFont( labelFonts, "default-small" )
  546. buttonColumnFont = guiCreateButton( 101, 145, 87, 14, " ", false, windowSettings )
  547. buttonContentFont = guiCreateButton( 187, 145, 87, 14, " ", false, windowSettings )
  548. buttonTeamFont = guiCreateButton( 101, 162, 87, 14, " ", false, windowSettings )
  549. buttonServerInfoFont = guiCreateButton( 187, 162, 87, 14, " ", false, windowSettings )
  550.  
  551. labelBackgroundColor = guiCreateLabel( 10, 179, 74, 12, "Background color:", false, windowSettings)
  552. guiSetFont( labelBackgroundColor, "default-small" )
  553. buttonChangeBackgroundColor = guiCreateButton( 187, 179, 87, 14, "Change", false, windowSettings )
  554. guiSetFont( buttonChangeBackgroundColor, "default-bold-small" )
  555.  
  556. labelSelectionColor = guiCreateLabel( 10, 196, 74, 12, "Local player color:", false, windowSettings )
  557. guiSetFont( labelSelectionColor, "default-small" )
  558. buttonChangeSelectionColor = guiCreateButton( 187, 196, 87, 14, "Change", false, windowSettings )
  559. guiSetFont( buttonChangeSelectionColor, "default-bold-small" )
  560.  
  561. labelHighlightColor = guiCreateLabel( 10, 213, 64, 12, "Selection color:", false, windowSettings )
  562. guiSetFont( labelHighlightColor, "default-small" )
  563. buttonChangeHighlightColor = guiCreateButton( 187, 213, 87, 14, "Change", false, windowSettings )
  564. guiSetFont( buttonChangeHighlightColor, "default-bold-small" )
  565.  
  566. labelColumnHeaderColor = guiCreateLabel( 10, 230, 87, 12, "Column header color:", false, windowSettings )
  567. guiSetFont( labelColumnHeaderColor, "default-small" )
  568. buttonChangeColumnHeaderColor = guiCreateButton( 187, 230, 87, 14, "Change", false, windowSettings )
  569. guiSetFont( buttonChangeColumnHeaderColor, "default-bold-small" )
  570.  
  571. labelTeamHeaderColor = guiCreateLabel( 10, 247, 85, 12, "Team header color:", false, windowSettings )
  572. guiSetFont( labelTeamHeaderColor, "default-small" )
  573. buttonChangeTeamHeaderColor = guiCreateButton( 187, 247, 87, 14, "Change", false, windowSettings )
  574. guiSetFont( buttonChangeTeamHeaderColor, "default-bold-small" )
  575.  
  576. labelBorderlineColor = guiCreateLabel( 10, 264, 86, 12, "Border line color:", false, windowSettings )
  577. guiSetFont( labelBorderlineColor, "default-small" )
  578. buttonChangeBorderlineColor = guiCreateButton( 187, 264, 87, 14, "Change", false, windowSettings )
  579. guiSetFont( buttonChangeBorderlineColor, "default-bold-small" )
  580.  
  581. labelServerInfoColor = guiCreateLabel( 10, 281, 86, 12, "Server info color:", false, windowSettings )
  582. guiSetFont( labelServerInfoColor, "default-small" )
  583. buttonChangeServerInfoColor = guiCreateButton( 187, 281, 87, 14, "Change", false, windowSettings )
  584. guiSetFont( buttonChangeServerInfoColor, "default-bold-small" )
  585.  
  586. labelContentColor = guiCreateLabel( 10, 298, 86, 12, "Content color:", false, windowSettings )
  587. guiSetFont( labelContentColor, "default-small" )
  588. buttonChangeContentColor = guiCreateButton( 187, 298, 87, 14, "Change", false, windowSettings )
  589. guiSetFont( buttonChangeContentColor, "default-bold-small" )
  590.  
  591. buttonSaveChanges = guiCreateButton( 10, 322, 80, 15, "Save changes", false, windowSettings )
  592. guiSetFont( buttonSaveChanges, "default-small" )
  593. buttonRestoreDefaults = guiCreateButton( 95, 322, 80, 15, "Restore defaults", false, windowSettings )
  594. guiSetFont( buttonRestoreDefaults, "default-small" )
  595. buttonCancel = guiCreateButton( 200, 322, 120, 15, "Cancel", false, windowSettings )
  596. guiSetFont( buttonCancel, "default-small" )
  597. end
  598.  
  599. if type( settings.useanimation ) == "boolean" and not settings.useanimation then
  600. guiCheckBoxSetSelected( checkAnimationNo, true )
  601. guiCheckBoxSetSelected( checkAnimationYes, false )
  602. else
  603. guiCheckBoxSetSelected( checkAnimationNo, false )
  604. guiCheckBoxSetSelected( checkAnimationYes, true )
  605. end
  606. if type( settings.toggleable ) == "boolean" and settings.toggleable then
  607. guiCheckBoxSetSelected( checkModeToggled, true )
  608. guiCheckBoxSetSelected( checkModeHolding, false )
  609. else
  610. guiCheckBoxSetSelected( checkModeToggled, false )
  611. guiCheckBoxSetSelected( checkModeHolding, true )
  612. end
  613. if type( settings.showteams ) == "boolean" and not settings.showteams then
  614. guiCheckBoxSetSelected( checkShowTeamsNo, true )
  615. guiCheckBoxSetSelected( checkShowTeamsYes, false )
  616. else
  617. guiCheckBoxSetSelected( checkShowTeamsNo, false )
  618. guiCheckBoxSetSelected( checkShowTeamsYes, true )
  619. end
  620. if type( settings.usecolors ) == "boolean" and not settings.usecolors then
  621. guiCheckBoxSetSelected( checkUseColorsNo, true )
  622. guiCheckBoxSetSelected( checkUseColorsYes, false )
  623. else
  624. guiCheckBoxSetSelected( checkUseColorsNo, false )
  625. guiCheckBoxSetSelected( checkUseColorsYes, true )
  626. end
  627. guiCheckBoxSetSelected( checkServerInfoServer, settings.showserverinfo or defaultSettings.showserverinfo )
  628. guiCheckBoxSetSelected( checkServerInfoGamemode, settings.showgamemodeinfo or defaultSettings.showgamemodeinfo )
  629.  
  630. guiScrollBarSetScrollPosition( scrollDrawSpeed, ((settings.drawspeed or defaultSettings.drawspeed)-MIN_DRAWSPEED)/(MAX_DRAWSPEED-MIN_DRAWSPEED)*100 )
  631. guiScrollBarSetScrollPosition( scrollScale, ((settings.scale or defaultSettings.scale)-MIN_SCALE)/(MAX_SCALE-MIN_SCALE)*100 )
  632.  
  633. for k, v in ipairs( fontNames ) do
  634. if settings.columnfont == v then fontIndexes.column = k end
  635. if settings.contentfont == v then fontIndexes.content = k end
  636. if settings.teamfont == v then fontIndexes.team = k end
  637. if settings.serverinfofont == v then fontIndexes.serverinfo = k end
  638. end
  639.  
  640. tempColors.bg_color.r = settings.bg_color.r or defaultSettings.bg_color.r
  641. tempColors.bg_color.g = settings.bg_color.g or defaultSettings.bg_color.g
  642. tempColors.bg_color.b = settings.bg_color.b or defaultSettings.bg_color.b
  643. tempColors.bg_color.a = settings.bg_color.a or defaultSettings.bg_color.a
  644. tempColors.selection_color.r = settings.selection_color.r or defaultSettings.selection_color.r
  645. tempColors.selection_color.g = settings.selection_color.g or defaultSettings.selection_color.g
  646. tempColors.selection_color.b = settings.selection_color.b or defaultSettings.selection_color.b
  647. tempColors.selection_color.a = settings.selection_color.a or defaultSettings.selection_color.a
  648. tempColors.highlight_color.r = settings.highlight_color.r or defaultSettings.highlight_color.r
  649. tempColors.highlight_color.g = settings.highlight_color.g or defaultSettings.highlight_color.g
  650. tempColors.highlight_color.b = settings.highlight_color.b or defaultSettings.highlight_color.b
  651. tempColors.highlight_color.a = settings.highlight_color.a or defaultSettings.highlight_color.a
  652. tempColors.header_color.r = settings.header_color.r or defaultSettings.header_color.r
  653. tempColors.header_color.g = settings.header_color.g or defaultSettings.header_color.g
  654. tempColors.header_color.b = settings.header_color.b or defaultSettings.header_color.b
  655. tempColors.header_color.a = settings.header_color.a or defaultSettings.header_color.a
  656. tempColors.team_color.r = settings.team_color.r or defaultSettings.team_color.r
  657. tempColors.team_color.g = settings.team_color.g or defaultSettings.team_color.g
  658. tempColors.team_color.b = settings.team_color.b or defaultSettings.team_color.b
  659. tempColors.team_color.a = settings.team_color.a or defaultSettings.team_color.a
  660. tempColors.border_color.r = settings.border_color.r or defaultSettings.border_color.r
  661. tempColors.border_color.g = settings.border_color.g or defaultSettings.border_color.g
  662. tempColors.border_color.b = settings.border_color.b or defaultSettings.border_color.b
  663. tempColors.border_color.a = settings.border_color.a or defaultSettings.border_color.a
  664. tempColors.serverinfo_color.r = settings.serverinfo_color.r or defaultSettings.serverinfo_color.r
  665. tempColors.serverinfo_color.g = settings.serverinfo_color.g or defaultSettings.serverinfo_color.g
  666. tempColors.serverinfo_color.b = settings.serverinfo_color.b or defaultSettings.serverinfo_color.b
  667. tempColors.serverinfo_color.a = settings.serverinfo_color.a or defaultSettings.serverinfo_color.a
  668. tempColors.content_color.r = settings.content_color.r or defaultSettings.content_color.r
  669. tempColors.content_color.g = settings.content_color.g or defaultSettings.content_color.g
  670. tempColors.content_color.b = settings.content_color.b or defaultSettings.content_color.b
  671. tempColors.content_color.a = settings.content_color.a or defaultSettings.content_color.a
  672.  
  673. addEventHandler( "onClientGUIClick", windowSettings, settingsWindowClickHandler )
  674. addEventHandler( "onClientRender", getRootElement(), drawSettingsWindowColors )
  675. end
  676.  
  677. function destroyScoreboardSettingsWindow()
  678. removeEventHandler( "onClientGUIClick", windowSettings, settingsWindowClickHandler )
  679. removeEventHandler( "onClientRender", getRootElement(), drawSettingsWindowColors )
  680. destroyElement( windowSettings )
  681. if not getKeyState( "mouse2" ) then
  682. showCursor( false )
  683. end
  684. colorPicker.closeSelect()
  685. windowSettings = nil
  686. end
  687.  
  688. function settingsWindowClickHandler( button, state )
  689. if source == buttonSaveChanges then
  690. saveSettingsFromSettingsWindow()
  691. elseif source == buttonRestoreDefaults then
  692. restoreDefaultSettings()
  693. elseif source == buttonCancel then
  694. destroyScoreboardSettingsWindow()
  695.  
  696. elseif source == buttonColumnFont then
  697. if fontIndexes.column + 1 > #fontNames then
  698. fontIndexes.column = 1
  699. else
  700. fontIndexes.column = fontIndexes.column + 1
  701. end
  702. elseif source == buttonContentFont then
  703. if fontIndexes.content + 1 > #fontNames then
  704. fontIndexes.content = 1
  705. else
  706. fontIndexes.content = fontIndexes.content + 1
  707. end
  708. elseif source == buttonTeamFont then
  709. if fontIndexes.team + 1 > #fontNames then
  710. fontIndexes.team = 1
  711. else
  712. fontIndexes.team = fontIndexes.team + 1
  713. end
  714. elseif source == buttonServerInfoFont then
  715. if fontIndexes.serverinfo + 1 > #fontNames then
  716. fontIndexes.serverinfo = 1
  717. else
  718. fontIndexes.serverinfo = fontIndexes.serverinfo + 1
  719. end
  720.  
  721. elseif source == buttonChangeBackgroundColor then
  722. colorPicker.openSelect( "bg_color" )
  723. elseif source == buttonChangeSelectionColor then
  724. colorPicker.openSelect( "selection_color" )
  725. elseif source == buttonChangeHighlightColor then
  726. colorPicker.openSelect( "highlight_color" )
  727. elseif source == buttonChangeColumnHeaderColor then
  728. colorPicker.openSelect( "header_color" )
  729. elseif source == buttonChangeTeamHeaderColor then
  730. colorPicker.openSelect( "team_color" )
  731. elseif source == buttonChangeBorderlineColor then
  732. colorPicker.openSelect( "border_color" )
  733. elseif source == buttonChangeServerInfoColor then
  734. colorPicker.openSelect( "serverinfo_color" )
  735. elseif source == buttonChangeContentColor then
  736. colorPicker.openSelect( "content_color" )
  737.  
  738. elseif source == checkAnimationNo or source == checkAnimationYes then
  739. guiCheckBoxSetSelected( checkAnimationYes, false )
  740. guiCheckBoxSetSelected( checkAnimationNo, false )
  741. guiCheckBoxSetSelected( source, true )
  742. elseif source == checkModeToggled or source == checkModeHolding then
  743. guiCheckBoxSetSelected( checkModeToggled, false )
  744. guiCheckBoxSetSelected( checkModeHolding, false )
  745. guiCheckBoxSetSelected( source, true )
  746. elseif source == checkShowTeamsNo or source == checkShowTeamsYes then
  747. guiCheckBoxSetSelected( checkShowTeamsYes, false )
  748. guiCheckBoxSetSelected( checkShowTeamsNo, false )
  749. guiCheckBoxSetSelected( source, true )
  750. elseif source == checkUseColorsNo or source == checkUseColorsYes then
  751. guiCheckBoxSetSelected( checkUseColorsYes, false )
  752. guiCheckBoxSetSelected( checkUseColorsNo, false )
  753. guiCheckBoxSetSelected( source, true )
  754. end
  755. end
  756.  
  757. function drawSettingsWindowColors()
  758. local x, y = guiGetPosition( windowSettings, false )
  759.  
  760. local drawSpeed = MIN_DRAWSPEED + ((guiScrollBarGetScrollPosition( scrollDrawSpeed )/100)*(MAX_DRAWSPEED-MIN_DRAWSPEED))
  761. dxDrawText( string.format( "%.2f", drawSpeed ), x+280, y+111, x+280+33, y+111+16, cWhite, 1, "default", "left", "top", true, false, true )
  762.  
  763. local scale = MIN_SCALE + ((guiScrollBarGetScrollPosition( scrollScale )/100)*(MAX_SCALE-MIN_SCALE))
  764. dxDrawText( string.format( "%.2f", scale ), x+280, y+128, x+280+33, y+128+16, cWhite, 1, "default", "left", "top", true, false, true )
  765.  
  766. dxDrawText( "Column", x+101, y+145, x+101+87, y+145+14, cWhite, fontscale( fontNames[fontIndexes.column], 1 ), fontNames[fontIndexes.column], "center", "center", true, false, true )
  767. dxDrawText( "Content", x+187, y+145, x+187+87, y+145+14, cWhite, fontscale( fontNames[fontIndexes.content], 1 ), fontNames[fontIndexes.content], "center", "center", true, false, true )
  768. dxDrawText( "Team", x+101, y+162, x+101+87, y+162+14, cWhite, fontscale( fontNames[fontIndexes.team], 1 ), fontNames[fontIndexes.team], "center", "center", true, false, true )
  769. dxDrawText( "Server info", x+187, y+162, x+187+87, y+162+14, cWhite, fontscale( fontNames[fontIndexes.serverinfo], 1 ), fontNames[fontIndexes.serverinfo], "center", "center", true, false, true )
  770.  
  771. if tempColors.bg_color.r and tempColors.bg_color.g and tempColors.bg_color.b and tempColors.bg_color.a then
  772. dxDrawRectangle( x+101, y+179, 84, 16, tocolor( tempColors.bg_color.r, tempColors.bg_color.g, tempColors.bg_color.b, tempColors.bg_color.a ), true )
  773. end
  774. if tempColors.selection_color.r and tempColors.selection_color.g and tempColors.selection_color.b and tempColors.selection_color.a then
  775. dxDrawRectangle( x+101, y+196, 84, 16, tocolor( tempColors.selection_color.r, tempColors.selection_color.g, tempColors.selection_color.b, tempColors.selection_color.a ), true )
  776. end
  777. if tempColors.highlight_color.r and tempColors.highlight_color.g and tempColors.highlight_color.b and tempColors.highlight_color.a then
  778. dxDrawRectangle( x+101, y+213, 84, 16, tocolor( tempColors.highlight_color.r, tempColors.highlight_color.g, tempColors.highlight_color.b, tempColors.highlight_color.a ), true )
  779. end
  780. if tempColors.header_color.r and tempColors.header_color.g and tempColors.header_color.b and tempColors.header_color.a then
  781. dxDrawRectangle( x+101, y+230, 84, 16, tocolor( tempColors.header_color.r, tempColors.header_color.g, tempColors.header_color.b, tempColors.header_color.a ), true )
  782. end
  783. if tempColors.team_color.r and tempColors.team_color.g and tempColors.team_color.b and tempColors.team_color.a then
  784. dxDrawRectangle( x+101, y+247, 84, 16, tocolor( tempColors.team_color.r, tempColors.team_color.g, tempColors.team_color.b, tempColors.team_color.a ), true )
  785. end
  786. if tempColors.border_color.r and tempColors.border_color.g and tempColors.border_color.b and tempColors.border_color.a then
  787. dxDrawRectangle( x+101, y+264, 84, 16, tocolor( tempColors.border_color.r, tempColors.border_color.g, tempColors.border_color.b, tempColors.border_color.a ), true )
  788. end
  789. if tempColors.serverinfo_color.r and tempColors.serverinfo_color.g and tempColors.serverinfo_color.b and tempColors.serverinfo_color.a then
  790. dxDrawRectangle( x+101, y+281, 84, 16, tocolor( tempColors.serverinfo_color.r, tempColors.serverinfo_color.g, tempColors.serverinfo_color.b, tempColors.serverinfo_color.a ), true )
  791. end
  792. if tempColors.content_color.r and tempColors.content_color.g and tempColors.content_color.b and tempColors.content_color.a then
  793. dxDrawRectangle( x+101, y+298, 84, 16, tocolor( tempColors.content_color.r, tempColors.content_color.g, tempColors.content_color.b, tempColors.content_color.a ), true )
  794. end
  795. end
  796.  
  797. function saveSettingsFromSettingsWindow()
  798. local userSettings = {
  799. ["useanimation"] = nil,
  800. ["toggleable"] = nil,
  801. ["showserverinfo"] = nil,
  802. ["showgamemodeinfo"] = nil,
  803. ["showteams"] = nil,
  804. ["usecolors"] = nil,
  805. ["drawspeed"] = nil,
  806. ["scale"] = nil,
  807. ["columnfont"] = nil,
  808. ["contentfont"] = nil,
  809. ["teamfont"] = nil,
  810. ["serverinfofont"] = nil,
  811. ["bg_color"] = {},
  812. ["selection_color"] = {},
  813. ["highlight_color"] = {},
  814. ["header_color"] = {},
  815. ["team_color"] = {},
  816. ["border_color"] = {},
  817. ["serverinfo_color"] = {},
  818. ["content_color"] = {}
  819. }
  820.  
  821. userSettings.useanimation = iif( guiCheckBoxGetSelected( checkAnimationNo ), false, true )
  822. userSettings.toggleable = iif( guiCheckBoxGetSelected( checkModeToggled ), true, false )
  823. userSettings.showteams = iif( guiCheckBoxGetSelected( checkShowTeamsNo ), false, true )
  824. userSettings.usecolors = iif( guiCheckBoxGetSelected( checkUseColorsNo ), false, true )
  825. userSettings.showserverinfo = guiCheckBoxGetSelected( checkServerInfoServer )
  826. userSettings.showgamemodeinfo = guiCheckBoxGetSelected( checkServerInfoGamemode )
  827.  
  828. userSettings.drawspeed = string.format( "%.2f", MIN_DRAWSPEED + ( (guiScrollBarGetScrollPosition( scrollDrawSpeed )/100)*(MAX_DRAWSPEED-MIN_DRAWSPEED) ) )
  829. userSettings.drawspeed = tonumber( userSettings.drawspeed )
  830.  
  831. userSettings.scale = string.format( "%.2f", MIN_SCALE + ( (guiScrollBarGetScrollPosition( scrollScale )/100)*(MAX_SCALE-MIN_SCALE) ) )
  832. userSettings.scale = tonumber( userSettings.scale )
  833.  
  834. userSettings.columnfont = fontNames[fontIndexes.column]
  835. userSettings.contentfont = fontNames[fontIndexes.content]
  836. userSettings.teamfont = fontNames[fontIndexes.team]
  837. userSettings.serverinfofont = fontNames[fontIndexes.serverinfo]
  838.  
  839. userSettings.bg_color.r = tempColors.bg_color.r or defaultSettings.bg_color.r
  840. userSettings.bg_color.g = tempColors.bg_color.g or defaultSettings.bg_color.g
  841. userSettings.bg_color.b = tempColors.bg_color.b or defaultSettings.bg_color.b
  842. userSettings.bg_color.a = tempColors.bg_color.a or defaultSettings.bg_color.a
  843.  
  844. userSettings.selection_color.r = tempColors.selection_color.r or defaultSettings.selection_color.r
  845. userSettings.selection_color.g = tempColors.selection_color.g or defaultSettings.selection_color.g
  846. userSettings.selection_color.b = tempColors.selection_color.b or defaultSettings.selection_color.b
  847. userSettings.selection_color.a = tempColors.selection_color.a or defaultSettings.selection_color.a
  848.  
  849. userSettings.highlight_color.r = tempColors.highlight_color.r or defaultSettings.highlight_color.r
  850. userSettings.highlight_color.g = tempColors.highlight_color.g or defaultSettings.highlight_color.g
  851. userSettings.highlight_color.b = tempColors.highlight_color.b or defaultSettings.highlight_color.b
  852. userSettings.highlight_color.a = tempColors.highlight_color.a or defaultSettings.highlight_color.a
  853.  
  854. userSettings.header_color.r = tempColors.header_color.r or defaultSettings.header_color.r
  855. userSettings.header_color.g = tempColors.header_color.g or defaultSettings.header_color.g
  856. userSettings.header_color.b = tempColors.header_color.b or defaultSettings.header_color.b
  857. userSettings.header_color.a = tempColors.header_color.a or defaultSettings.header_color.a
  858.  
  859. userSettings.team_color.r = tempColors.team_color.r or defaultSettings.team_color.r
  860. userSettings.team_color.g = tempColors.team_color.g or defaultSettings.team_color.g
  861. userSettings.team_color.b = tempColors.team_color.b or defaultSettings.team_color.b
  862. userSettings.team_color.a = tempColors.team_color.a or defaultSettings.team_color.a
  863.  
  864. userSettings.border_color.r = tempColors.border_color.r or defaultSettings.border_color.r
  865. userSettings.border_color.g = tempColors.border_color.g or defaultSettings.border_color.g
  866. userSettings.border_color.b = tempColors.border_color.b or defaultSettings.border_color.b
  867. userSettings.border_color.a = tempColors.border_color.a or defaultSettings.border_color.a
  868.  
  869. userSettings.serverinfo_color.r = tempColors.serverinfo_color.r or defaultSettings.serverinfo_color.r
  870. userSettings.serverinfo_color.g = tempColors.serverinfo_color.g or defaultSettings.serverinfo_color.g
  871. userSettings.serverinfo_color.b = tempColors.serverinfo_color.b or defaultSettings.serverinfo_color.b
  872. userSettings.serverinfo_color.a = tempColors.serverinfo_color.a or defaultSettings.serverinfo_color.a
  873.  
  874. userSettings.content_color.r = tempColors.content_color.r or defaultSettings.content_color.r
  875. userSettings.content_color.g = tempColors.content_color.g or defaultSettings.content_color.g
  876. userSettings.content_color.b = tempColors.content_color.b or defaultSettings.content_color.b
  877. userSettings.content_color.a = tempColors.content_color.a or defaultSettings.content_color.a
  878.  
  879. saveSettings( userSettings )
  880. end
  881.  
  882. function restoreDefaultSettings()
  883. saveSettings( defaultSettings )
  884. end
  885.  
  886. function saveSettings( settingsTable )
  887. local settingsFile = xmlLoadFile( "settings.xml" )
  888. if not settingsFile then
  889. settingsFile = xmlCreateFile( "settings.xml", "settings" )
  890. if not settingsFile then return false end
  891. local useanimationTag = xmlCreateChild( settingsFile, "useanimation" )
  892. local toggleableTag = xmlCreateChild( settingsFile, "toggleable" )
  893. local showserverinfoTag = xmlCreateChild( settingsFile, "showserverinfo" )
  894. local showgamemodeinfoTag = xmlCreateChild( settingsFile, "showgamemodeinfo" )
  895. local showteamsTag = xmlCreateChild( settingsFile, "showteams" )
  896. local usecolorsTag = xmlCreateChild( settingsFile, "usecolors" )
  897. local drawspeedTag = xmlCreateChild( settingsFile, "drawspeed" )
  898. local scaleTag = xmlCreateChild( settingsFile, "scale" )
  899. local columnfontTag = xmlCreateChild( settingsFile, "columnfont" )
  900. local contentfontTag = xmlCreateChild( settingsFile, "contentfont" )
  901. local teamfontTag = xmlCreateChild( settingsFile, "teamfont" )
  902. local serverinfofontTag = xmlCreateChild( settingsFile, "serverinfofont" )
  903. local bg_colorTag = xmlCreateChild( settingsFile, "bg_color" )
  904. local selection_colorTag = xmlCreateChild( settingsFile, "selection_color" )
  905. local highlight_colorTag = xmlCreateChild( settingsFile, "highlight_color" )
  906. local header_colorTag = xmlCreateChild( settingsFile, "header_color" )
  907. local team_colorTag = xmlCreateChild( settingsFile, "team_color" )
  908. local border_colorTag = xmlCreateChild( settingsFile, "border_color" )
  909. local serverinfo_colorTag = xmlCreateChild( settingsFile, "serverinfo_color" )
  910. local content_colorTag = xmlCreateChild( settingsFile, "content_color" )
  911. end
  912.  
  913. local useanimationTag = xmlFindChild( settingsFile, "useanimation", 0 )
  914. if not useanimationTag then
  915. useanimationTag = xmlCreateChild( settingsFile, "useanimation" )
  916. end
  917.  
  918. local toggleableTag = xmlFindChild( settingsFile, "toggleable", 0 )
  919. if not toggleableTag then
  920. toggleableTag = xmlCreateChild( settingsFile, "toggleable" )
  921. end
  922.  
  923. local showserverinfoTag = xmlFindChild( settingsFile, "showserverinfo", 0 )
  924. if not showserverinfoTag then
  925. showserverinfoTag = xmlCreateChild( settingsFile, "showserverinfo" )
  926. end
  927.  
  928. local showgamemodeinfoTag = xmlFindChild( settingsFile, "showgamemodeinfo", 0 )
  929. if not showgamemodeinfoTag then
  930. showgamemodeinfoTag = xmlCreateChild( settingsFile, "showgamemodeinfo" )
  931. end
  932.  
  933. local showteamsTag = xmlFindChild( settingsFile, "showteams", 0 )
  934. if not showteamsTag then
  935. showteamsTag = xmlCreateChild( settingsFile, "showteams" )
  936. end
  937.  
  938. local usecolorsTag = xmlFindChild( settingsFile, "usecolors", 0 )
  939. if not usecolorsTag then
  940. usecolorsTag = xmlCreateChild( settingsFile, "usecolors" )
  941. end
  942.  
  943. local drawspeedTag = xmlFindChild( settingsFile, "drawspeed", 0 )
  944. if not drawspeedTag then
  945. drawspeedTag = xmlCreateChild( settingsFile, "drawspeed" )
  946. end
  947.  
  948. local scaleTag = xmlFindChild( settingsFile, "scale", 0 )
  949. if not scaleTag then
  950. scaleTag = xmlCreateChild( settingsFile, "scale" )
  951. end
  952.  
  953. local columnfontTag = xmlFindChild( settingsFile, "columnfont", 0 )
  954. if not columnfontTag then
  955. columnfontTag = xmlCreateChild( settingsFile, "columnfont" )
  956. end
  957.  
  958. local contentfontTag = xmlFindChild( settingsFile, "contentfont", 0 )
  959. if not contentfontTag then
  960. contentfontTag = xmlCreateChild( settingsFile, "contentfont" )
  961. end
  962.  
  963. local teamfontTag = xmlFindChild( settingsFile, "teamfont", 0 )
  964. if not teamfontTag then
  965. teamfontTag = xmlCreateChild( settingsFile, "teamfont" )
  966. end
  967.  
  968. local serverinfofontTag = xmlFindChild( settingsFile, "serverinfofont", 0 )
  969. if not serverinfofontTag then
  970. serverinfofontTag = xmlCreateChild( settingsFile, "serverinfofont" )
  971. end
  972.  
  973. local bg_colorTag = xmlFindChild( settingsFile, "bg_color", 0 )
  974. if not bg_colorTag then
  975. bg_colorTag = xmlCreateChild( settingsFile, "bg_color" )
  976. end
  977.  
  978. local selection_colorTag = xmlFindChild( settingsFile, "selection_color", 0 )
  979. if not selection_colorTag then
  980. selection_colorTag = xmlCreateChild( settingsFile, "selection_color" )
  981. end
  982.  
  983. local highlight_colorTag = xmlFindChild( settingsFile, "highlight_color", 0 )
  984. if not highlight_colorTag then
  985. highlight_colorTag = xmlCreateChild( settingsFile, "highlight_color" )
  986. end
  987.  
  988. local header_colorTag = xmlFindChild( settingsFile, "header_color", 0 )
  989. if not header_colorTag then
  990. header_colorTag = xmlCreateChild( settingsFile, "header_color" )
  991. end
  992.  
  993. local team_colorTag = xmlFindChild( settingsFile, "team_color", 0 )
  994. if not team_colorTag then
  995. team_colorTag = xmlCreateChild( settingsFile, "team_color" )
  996. end
  997.  
  998. local border_colorTag = xmlFindChild( settingsFile, "border_color", 0 )
  999. if not border_colorTag then
  1000. border_colorTag = xmlCreateChild( settingsFile, "border_color" )
  1001. end
  1002.  
  1003. local serverinfo_colorTag = xmlFindChild( settingsFile, "serverinfo_color", 0 )
  1004. if not serverinfo_colorTag then
  1005. serverinfo_colorTag = xmlCreateChild( settingsFile, "serverinfo_color" )
  1006. end
  1007.  
  1008. local content_colorTag = xmlFindChild( settingsFile, "content_color", 0 )
  1009. if not content_colorTag then
  1010. content_colorTag = xmlCreateChild( settingsFile, "content_color" )
  1011. end
  1012.  
  1013. xmlNodeSetValue( useanimationTag, tostring( settingsTable.useanimation ) )
  1014. xmlNodeSetValue( toggleableTag, tostring( settingsTable.toggleable ) )
  1015. xmlNodeSetValue( showserverinfoTag, tostring( settingsTable.showserverinfo ) )
  1016. xmlNodeSetValue( showgamemodeinfoTag, tostring( settingsTable.showgamemodeinfo ) )
  1017. xmlNodeSetValue( showteamsTag, tostring( settingsTable.showteams ) )
  1018. xmlNodeSetValue( usecolorsTag, tostring( settingsTable.usecolors ) )
  1019. xmlNodeSetValue( drawspeedTag, tostring( settingsTable.drawspeed ) )
  1020. xmlNodeSetValue( scaleTag, tostring( settingsTable.scale ) )
  1021.  
  1022. xmlNodeSetValue( columnfontTag, tostring( settingsTable.columnfont ) )
  1023. xmlNodeSetValue( contentfontTag, tostring( settingsTable.contentfont ) )
  1024. xmlNodeSetValue( teamfontTag, tostring( settingsTable.teamfont ) )
  1025. xmlNodeSetValue( serverinfofontTag, tostring( settingsTable.serverinfofont ) )
  1026.  
  1027. xmlNodeSetAttribute( bg_colorTag, "r", tostring( settingsTable.bg_color.r ) )
  1028. xmlNodeSetAttribute( bg_colorTag, "g", tostring( settingsTable.bg_color.g ) )
  1029. xmlNodeSetAttribute( bg_colorTag, "b", tostring( settingsTable.bg_color.b ) )
  1030. xmlNodeSetAttribute( bg_colorTag, "a", tostring( settingsTable.bg_color.a ) )
  1031.  
  1032. xmlNodeSetAttribute( selection_colorTag, "r", tostring( settingsTable.selection_color.r ) )
  1033. xmlNodeSetAttribute( selection_colorTag, "g", tostring( settingsTable.selection_color.g ) )
  1034. xmlNodeSetAttribute( selection_colorTag, "b", tostring( settingsTable.selection_color.b ) )
  1035. xmlNodeSetAttribute( selection_colorTag, "a", tostring( settingsTable.selection_color.a ) )
  1036.  
  1037. xmlNodeSetAttribute( highlight_colorTag, "r", tostring( settingsTable.highlight_color.r ) )
  1038. xmlNodeSetAttribute( highlight_colorTag, "g", tostring( settingsTable.highlight_color.g ) )
  1039. xmlNodeSetAttribute( highlight_colorTag, "b", tostring( settingsTable.highlight_color.b ) )
  1040. xmlNodeSetAttribute( highlight_colorTag, "a", tostring( settingsTable.highlight_color.a ) )
  1041.  
  1042. xmlNodeSetAttribute( header_colorTag, "r", tostring( settingsTable.header_color.r ) )
  1043. xmlNodeSetAttribute( header_colorTag, "g", tostring( settingsTable.header_color.g ) )
  1044. xmlNodeSetAttribute( header_colorTag, "b", tostring( settingsTable.header_color.b ) )
  1045. xmlNodeSetAttribute( header_colorTag, "a", tostring( settingsTable.header_color.a ) )
  1046.  
  1047. xmlNodeSetAttribute( team_colorTag, "r", tostring( settingsTable.team_color.r ) )
  1048. xmlNodeSetAttribute( team_colorTag, "g", tostring( settingsTable.team_color.g ) )
  1049. xmlNodeSetAttribute( team_colorTag, "b", tostring( settingsTable.team_color.b ) )
  1050. xmlNodeSetAttribute( team_colorTag, "a", tostring( settingsTable.team_color.a ) )
  1051.  
  1052. xmlNodeSetAttribute( border_colorTag, "r", tostring( settingsTable.border_color.r ) )
  1053. xmlNodeSetAttribute( border_colorTag, "g", tostring( settingsTable.border_color.g ) )
  1054. xmlNodeSetAttribute( border_colorTag, "b", tostring( settingsTable.border_color.b ) )
  1055. xmlNodeSetAttribute( border_colorTag, "a", tostring( settingsTable.border_color.a ) )
  1056.  
  1057. xmlNodeSetAttribute( serverinfo_colorTag, "r", tostring( settingsTable.serverinfo_color.r ) )
  1058. xmlNodeSetAttribute( serverinfo_colorTag, "g", tostring( settingsTable.serverinfo_color.g ) )
  1059. xmlNodeSetAttribute( serverinfo_colorTag, "b", tostring( settingsTable.serverinfo_color.b ) )
  1060. xmlNodeSetAttribute( serverinfo_colorTag, "a", tostring( settingsTable.serverinfo_color.a ) )
  1061.  
  1062. xmlNodeSetAttribute( content_colorTag, "r", tostring( settingsTable.content_color.r ) )
  1063. xmlNodeSetAttribute( content_colorTag, "g", tostring( settingsTable.content_color.g ) )
  1064. xmlNodeSetAttribute( content_colorTag, "b", tostring( settingsTable.content_color.b ) )
  1065. xmlNodeSetAttribute( content_colorTag, "a", tostring( settingsTable.content_color.a ) )
  1066.  
  1067. xmlSaveFile( settingsFile )
  1068. xmlUnloadFile( settingsFile )
  1069. destroyScoreboardSettingsWindow()
  1070. readScoreboardSettings()
  1071. end
  1072.  
  1073. function validateRange( number )
  1074. if type( number ) == "number" then
  1075. local isValid = number >= 0 and number <= 255
  1076. if isValid then
  1077. return number
  1078. end
  1079. end
  1080. return false
  1081. end
Advertisement
Add Comment
Please, Sign In to add comment