Jump to content

Recommended Posts

Hey, I have a freeroam server and for that I have a "Clan Panel" or "Clan System" script, which have a problem :(. The problem of the resource is that when I use the respective bind ("H") the clan panel is not showed on the server. I am now in a sad situation :(, it would be great if someone helps me out. The script :

clan_c.lua :

  1. Clan = {
  2.     Button = {},
  3.     Window = {},
  4.     Gridlist = {},
  5.     Edit = {}
  6. }
  7. Clan.Window[1] = guiCreateWindow(306, 174, 320, 346, "Clan panel", false)
  8. guiWindowSetSizable(Clan.Window[1], false)
  9. Clan.Window[2] = guiCreateWindow(401, 281, 252, 99, "Set Player Rank", false)
  10. guiWindowSetSizable(Clan.Window[2], false)
  11. Clan.Window[3] = guiCreateWindow(401, 281, 252, 99, "Set Player Rank", false)
  12. guiWindowSetSizable(Clan.Window[3], false)
  13.  
  14. Clan.Gridlist[1] = guiCreateGridList(9, 25, 188, 311, false, Clan.Window[1])
  15. local column = guiGridListAddColumn(Clan.Gridlist[1], "Players", 0.9)
  16. if ( column ) then --If the column has been created, fill it with players
  17.     for _,v in ipairs(getElementsByType("player"))do
  18.         local row = guiGridListAddRow(Clan.Gridlist[1])
  19.         local players = getPlayerName(v)
  20.         guiGridListSetItemText(Clan.Gridlist[1],row,column,players,false,false)
  21.     end
  22. end
  23. Clan.Button[1] = guiCreateButton(204, 51, 106, 38, "Add", false, Clan.Window[1])
  24. Clan.Button[2] = guiCreateButton(204, 96, 106, 38, "Kick", false, Clan.Window[1])
  25. Clan.Button[3] = guiCreateButton(204, 144, 106, 38, "Promote", false, Clan.Window[1])
  26. Clan.Button[4] = guiCreateButton(204, 192, 106, 38, "Demote", false, Clan.Window[1])
  27. Clan.Button[5] = guiCreateButton(204, 288, 106, 38, "Close", false, Clan.Window[1])
  28. Clan.Button[6] = guiCreateButton(13, 62, 87, 23, "Cancel", false, Clan.Window[2])
  29. Clan.Button[7] = guiCreateButton(143, 62, 87, 23, "Set", false, Clan.Window[2])
  30. Clan.Button[8] = guiCreateButton(13, 62, 87, 23, "Cancel", false, Clan.Window[3])
  31. Clan.Button[9] = guiCreateButton(143, 62, 87, 23, "Set", false, Clan.Window[3])
  32. Clan.Edit[1] = guiCreateEdit(13, 29, 227, 28, "", false, Clan.Window[2])
  33. Clan.Edit[2] = guiCreateEdit(13, 29, 227, 28, "", false, Clan.Window[3])
  34. guiSetVisible(Clan.Window[1], false)
  35. guiSetVisible(Clan.Window[2], false)
  36. guiSetVisible(Clan.Window[3], false)
  37. showCursor(false)
  38. if getElementData(localPlayer, "clan.rank") == "leader" or getElementData(localPlayer, "player.key") == "Snowwhite" or getElementData(localPlayer, "player.key") == "danksta" or getElementData(localPlayer, "player.key") == "[ET]Snowwhite" or getElementData(localPlayer, "player.key") == "[ET]Danksta" or getElementData(localPlayer, "player.key") == "Danksta" then
  39. guiSetEnabled(Clan.Button[3], true)
  40. guiSetEnabled(Clan.Button[4], true)
  41. else
  42. guiSetEnabled(Clan.Button[3], false)
  43. guiSetEnabled(Clan.Button[4], false)
  44. end
  45.  
  46. function toggleClanControl( source )
  47. if getElementData(localPlayer, "player.key") == "Snowwhite" or getElementData(localPlayer, "player.key") == "[ET]Snowwhite" or getElementData(localPlayer, "player.key") == "danksta" or getElementData(localPlayer, "player.key") == "[ET]Danksta" or getElementData(localPlayer, "player.key") == "Danksta" then
  48.     if not guiGetVisible( Clan.Window[1] ) then
  49.         showCursor ( true )
  50.         guiSetVisible( Clan.Window[1], true )
  51.         guiGridListClear ( Clan.Gridlist[1] )
  52.         if ( column ) then
  53.             guiGridListClear ( Clan.Gridlist[1] )
  54.             for _,v in ipairs(getElementsByType("player"))do
  55.                 local row = guiGridListAddRow(Clan.Gridlist[1])
  56.                 local playerName = getPlayerName(v)
  57.                 guiGridListSetItemText(Clan.Gridlist[1],row,column,playerName,false,false)
  58.             end
  59.         end
  60.         if getElementData(localPlayer, "clan.rank") == "leader" or getElementData(localPlayer, "player.key") == "Snowwhite" or getElementData(localPlayer, "player.key") == "danksta" or getElementData(localPlayer, "player.key") == "[ET]Snowwhite" or getElementData(localPlayer, "player.key") == "Danksta" or getElementData(localPlayer, "player.key") == "[ET]Danksta" then
  61.             guiSetEnabled(Clan.Button[3], true)
  62.             guiSetEnabled(Clan.Button[4], true)
  63.         else
  64.             guiSetEnabled(Clan.Button[3], false)
  65.             guiSetEnabled(Clan.Button[4], false)
  66.         end
  67.     else
  68.         showCursor ( false )
  69.         guiSetVisible( Clan.Window[1], false )
  70.     end
  71. end
  72. end
  73. bindKey( "H", "down", toggleClanControl )
  74. addCommandHandler("clan", toggleClanControl)
  75.  
  76. addEventHandler("onClientGUIClick", guiRoot,
  77. function()
  78.     if source == Clan.Button[1] then
  79.         local row, column = guiGridListGetSelectedItem(Clan.Gridlist[1])
  80.         if row == -1 then return end
  81.         local playerName = guiGridListGetItemText(Clan.Gridlist[1],row,column)
  82.         local player = getPlayerFromName(playerName)
  83.         local team = getPlayerTeam(localPlayer)
  84.         local teamName = getTeamName(team)
  85.         if not playerName then
  86.             guiGridListRemoveRow(row)
  87.             return
  88.         end
  89.             triggerServerEvent("addToTeam", localPlayer,playerName,teamName)
  90.         end
  91. end)
  92.  
  93. addEventHandler("onClientGUIClick", guiRoot,
  94. function()
  95.     if source == Clan.Button[2] then
  96.         local row, column = guiGridListGetSelectedItem(Clan.Gridlist[1])
  97.         if row == -1 then return end
  98.         local playerName = guiGridListGetItemText(Clan.Gridlist[1],row,column)
  99.         local player = getPlayerFromName(playerName)
  100.         local team = getPlayerTeam(localPlayer)
  101.         local teamName = getTeamName(team)
  102.         if not playerName then
  103.             guiGridListRemoveRow(row)
  104.             return
  105.         end
  106.             triggerServerEvent("kickFromTeam", localPlayer,playerName,teamName)
  107.         end
  108. end)
  109.  
  110. function closeClan()
  111.     if guiGetVisible(Clan.Window[1]) then 
  112.         guiSetVisible(Clan.Window[1],false)
  113.         showCursor(false)
  114.     end
  115. end
  116. addEventHandler ("onClientGUIClick", Clan.Button[5], closeClan, false)
  117.  
  118. function togglePromote( source )
  119. -- Show the panel
  120.     if not guiGetVisible( Clan.Window[2] ) then
  121.         showCursor ( true )
  122.         guiSetVisible( Clan.Window[2], true )
  123.         guiMoveToBack( Clan.Window[1] )
  124.     else
  125.         showCursor ( true )
  126.         guiSetVisible( Clan.Window[2], false )
  127.     end
  128. end
  129. addEventHandler ( "onClientGUIClick", Clan.Button[3], togglePromote, false )
  130.  
  131. addEventHandler("onClientGUIClick",Clan.Button[7],
  132. function()
  133.         local row, column = guiGridListGetSelectedItem(Clan.Gridlist[1])
  134.         if row == -1 then return end
  135.         local playerName = guiGridListGetItemText(Clan.Gridlist[1],row,column)
  136.         local player = getPlayerFromName(playerName)
  137.         if not playerName then
  138.         guiGridListRemoveRow(row)
  139.         return
  140.         end
  141.     triggerServerEvent("promotePlayer",localPlayer,playerName,tostring(guiGetText(Clan.Edit[1])) or "Member")
  142.     guiSetVisible( Clan.Window[2], false )
  143.     showCursor ( true )
  144. end,false)
  145.  
  146. function closeClan()
  147.     if guiGetVisible(Clan.Window[2]) then 
  148.         guiSetVisible(Clan.Window[2],false)
  149.         showCursor(true)
  150.     end
  151. end
  152. addEventHandler ("onClientGUIClick", Clan.Button[6], closeClan, false)
  153.  
  154. function toggleDemote( source )
  155. -- Show the panel
  156.     if not guiGetVisible( Clan.Window[2] ) then
  157.         showCursor ( true )
  158.         guiSetVisible( Clan.Window[2], true )
  159.         guiMoveToBack( Clan.Window[1] )
  160.     else
  161.         showCursor ( true )
  162.         guiSetVisible( Clan.Window[2], false )
  163.     end
  164. end
  165. addEventHandler ( "onClientGUIClick", Clan.Button[4], toggleDemote, false )
  166.  
  167. addEventHandler("onClientGUIClick",Clan.Button[9],
  168. function()
  169.         local row, column = guiGridListGetSelectedItem(Clan.Gridlist[1])
  170.         if row == -1 then return end
  171.         local playerName = guiGridListGetItemText(Clan.Gridlist[1],row,column)
  172.         local player = getPlayerFromName(playerName)
  173.         if not playerName then
  174.         guiGridListRemoveRow(row)
  175.         return
  176.         end
  177.     triggerServerEvent("DemotePlayer",localPlayer,playerName,tostring(guiGetText(Clan.Edit[2])) or "Member")
  178.     guiSetVisible( Clan.Window[3], false )
  179.     showCursor ( true )
  180. end,false)
  181.  
  182. function closeClan()
  183.     if guiGetVisible(Clan.Window[3]) then 
  184.         guiSetVisible(Clan.Window[3],false)
  185.         showCursor(true)
  186.     end
  187. end
  188. addEventHandler ("onClientGUIClick", Clan.Button[8], closeClan, false)

and the clan_s.lua :

  1. function RGBToHex(red, green, blue, alpha)
  2.     if((red < 0 or red > 255 or green < 0 or green > 255 or blue < 0 or blue > 255) or (alpha and (alpha < 0 or alpha > 255))) then
  3.         return nil
  4.     end
  5.     if(alpha) then
  6.         return string.format("#%.2X%.2X%.2X%.2X", red,green,blue,alpha)
  7.     else
  8.         return string.format("#%.2X%.2X%.2X", red,green,blue)
  9.     end
  10. end
  11.  
  12.  
  13.  
  14. local blip = {}
  15.  
  16. addEvent("addToTeam", true)
  17. addEventHandler("addToTeam", root,
  18. function (playername, teamname)
  19. local player = getPlayerFromName(playername or "")
  20. local team = getTeamFromName(teamname or "")
  21.     if player and team then
  22.         local r, g, b = getTeamColor ( team )
  23.         setPlayerTeam(player, team)
  24.         if not isElement(blip[source]) then
  25.         blip[source] = createBlipAttachedTo(source)
  26.     end
  27.     local theTeam = getPlayerTeam(source)
  28.     if theTeam then
  29.         local r, g, b = getTeamColor(theTeam)
  30.         setPlayerNametagColor(source, r, g, b)
  31.         setBlipColor(blip[source], r, g, b, 255)
  32.         setPlayerName(source,getPlayerName(source):gsub('#%x%x%x%x%x%x',RGBToHex(r,g,b)))
  33.         outputChatBox("You've been added to "..getTeamName(team).."", player, 255, 255, 255, r,g,b,true)
  34.    end
  35. end
  36. end)
  37.  
  38. addEvent("kickFromTeam", true)
  39. addEventHandler("kickFromTeam", root,
  40. function (playername, teamname)
  41. local player = getPlayerFromName(playername or "")
  42. local team = getTeamFromName(teamname or "")
  43.     if player and team then
  44.         local red, green, blue = math.random (50, 255), math.random (50, 255), math.random (50, 255)
  45.         setPlayerTeam(player, nil)
  46.         setPlayerNametagColor(player, red, green, blue)
  47.         outputChatBox("You've been kicked from #FFFFFF"..getTeamName(team).."#FF0000.", player, 255, 0, 0, true)
  48.     end
  49. end)
  50.  
  51. addEvent("promotePlayer",true)
  52. addEventHandler("promotePlayer",root,
  53. function(playername, rank)
  54. local player = getPlayerFromName(playername or "")
  55.     if player then
  56.         if rank then
  57.             setElementData(player, "clan.rank", rank)
  58.             outputChatBox("You Have Been promoted To A #FFFFFF"..tostring(rank), player, 255, 0, 0, true)
  59.         end
  60.     end
  61. end)
  62.  
  63. addEvent("DemotePlayer",true)
  64. addEventHandler("DemotePlayer",root,
  65. function(playername, rank)
  66. local player = getPlayerFromName(playername or "")
  67.     if player then
  68.         if rank then
  69.             setElementData(player, "clan.rank", rank)
  70.             outputChatBox("You Have Been Demoted To A #FFFFFF"..tostring(rank), player, 255, 0, 0, true)
  71.         end
  72.     end
  73. end)
  74.  
  75. function loopFix( thePlayer, _, who, lossp )
  76. if getElementData(thePlayer, "player.key") == "Snowwhite" then
  77.     if ( who ) then
  78.         local LossC = tonumber (lossp) or 0
  79.         local ThePlayer = getPlayerFromParticalName ( who )
  80.             if ( ThePlayer ) then
  81.                 setElementData( ThePlayer,"EXP",LossC )
  82.             end
  83.         end
  84.     end
  85. end
  86. addCommandHandler ( "fixbug", loopFix)
  87.  
  88. function getPlayerFromParticalName(thePlayerName)
  89.     local thePlayer = getPlayerFromName(thePlayerName)
  90.     if thePlayer then
  91.         return thePlayer
  92.     end
  93.     for _,thePlayer in ipairs(getElementsByType("player")) do
  94.         if string.find(string.gsub(getPlayerName(thePlayer):lower(),"#%x%x%x%x%x%x", ""), thePlayerName:lower(), 1, true) then
  95.             return thePlayer
  96.         end
  97.     end
  98. return false
  99. end
  100.  
  101.  
  102.  
  103. addEventHandler("onPlayerQuit", root,
  104. function()
  105.     if isElement(blip[source]) then
  106.         destroyElement(blip[source])
  107.   end
  108.  end
  109. )

It would be great if someone finds what is the problem and help me to fix it our :( 

Edited by Clonex
Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...