server
--[[ moderator Panel
Author: TheSm@rt
Description : Moderator Panel Panel script
Copyright 2015 (C) TheSm@rt
All rights reserved.
==== Client Side Functions ====
]]--
---- Please Don't remove my rights ----
function rights ()
outputChatBox("Moderator Panel v1.0 by TheSm@rt", getRootElement(), 0, 255, 0, false)
outputChatBox("Press o to open moderator panel", getRootElement(), 0, 255, 0, false)
end
addEventHandler("onResourceStart",getResourceRootElement(getThisResource()),rights)
function permission (player)
local accName = getAccountName ( getPlayerAccount ( player ) )
if isObjectInACLGroup ("user."..accName, aclGetGroup ( "Moderator" ) ) then
triggerClientEvent(player, "openModerator", getRootElement())
end
end
addEventHandler("onResourceStart", getRootElement(), permission)
function bind (player)
bindKey ( player,"o", "down", bind )
addEventHandler("onResourceStart", getRootElement(), bind)
function info (player)
info = {}
local user = getPlayerFromName(player)
if not isGuestAccount(getPlayerAccount(user)) then
local username = getAccountName(getPlayerAccount(user))
local team = getTeamName(getPlayerTeam(user))
local ip = getPlayerIP(user)
local serial = getPlayerSerial(user)
local veh = getVehicleName(getPedOccupiedVehicle(user))
triggerClientEvent(source, "sendInformationClient",root,username,team,ip,serial,veh)
end
end
addEvent("sendInfoServer", true)
addEventHandler("sendInfoServer", getRootElement(), info)
function mute (client)
player = getPlayerFromName(client)
if isPlayerMuted(player) == false then
setPlayerMuted(player, true)
outputChatBox(getPlayerName(player).." has been muted by "..getPlayerName(source), getRootElement(), 255, 0, 0, false)
elseif isPlayerMuted(player) == true then
setPlayerMuted(player, false)
outputChatBox(getPlayerName(player).." has been unmuted by "..getPlayerName(source), getRootElement(), 0, 255, 0, false)
end
end
addEvent("mutePlayer", true)
addEventHandler("mutePlayer", getRootElement(), mute)
function freeze (client)
player = getPlayerFromName(client)
if isElementFrozen(player) == false then
setElementFrozen(player, true)
outputChatBox(getPlayerName(player).." has been frozen by "..getPlayerName(source), getRootElement(), 255, 0, 0, false)
elseif isElementFrozen(player) == true then
setElementFrozen(player, false)
outputChatBox(getPlayerName(player).." has been unfrozen by "..getPlayerName(source), getRootElement(), 0, 255, 0, false)
end
end
addEvent("freezePlayer", true)
addEventHandler("freezePlayer", getRootElement(), freeze)
function warpto (thePlayer)
local player = getPlayerFromName(thePlayer)
local x,y,z = getElementPosition(player)
if isPedInVehicle(source) == true then removePedFromVehicle(source,getPedOccupiedVehicle(source))
setElementPosition(source, x, y+1, z+1)
outputChatBox("You have warped to "..getPlayerName(player), source, 0, 255, 0, false)
elseif isPedInVehicle(source) == false then setElementPosition(source, x, y+1, z+1)
outputChatBox("You have warped to "..getPlayerName(player), source, 0, 255, 0, false)
end
end
addEvent("warptoPlayer", true)
addEventHandler("warptoPlayer", getRootElement(), warpto)
function warphere (thePlayer)
local player = getPlayerFromName(thePlayer)
local x,y,z = getElementPosition(source)
if isPedInVehicle(player) == true then removePedFromVehicle(player,getPedOccupiedVehicle(player))
setElementPosition(player, x, y+1, z+1)
outputChatBox("You have been warped to "..getPlayerName(source), player, 0, 255, 0, false)
elseif isPedInVehicle(player) == false then
setElementPosition(player, x, y+1, z+1)
outputChatBox("You have been warped to "..getPlayerName(source), player, 0, 255, 0, false)
end
end
addEvent("warpPlayerhere", true)
addEventHandler("warpPlayerhere", getRootElement(), warphere)
function killgay (gay)
setElementHealth(getPlayerFromName(gay),0)
end
addEvent("killNigga", true)
addEventHandler("killNigga", getRootElement(), killgay)
function kickgay (client, respon, reason)
player = getPlayerFromName(client)
kickPlayer(player, respon, reason)
outputChatBox(getPlayerName(player).." has been kicked by "..getPlayerName(respon), getRootElement())
end
addEvent("kickPlayeraway", true)
addEventHandler("kickPlayeraway", getRootElement(), kickgay)
function destroycar (client)
player = getPlayerFromName(client)
car = getPedOccupiedVehicle(player)
if isPedInVehicle(player) then
destroyElement(car)
outputChatBox("Your car has been destroyed by "..getPlayerName(source), player, 255, 0, 0, false)
outputChatBox("You have destroyed "..getPlayerName(player).."'s car", source, 255, 0, 0, false)
else
outputChatBox(getPlayerName(player).." isn't in a vehicle", source, 255, 0, 0, false)
end
end
addEvent("destroyveh", true)
addEventHandler("destroyveh", getRootElement(), destroycar)
function fixcar (client)
player = getPlayerFromName(client)
car = getPedOccupiedVehicle(player)
if isPedInVehicle(player) then
fixVehicle(car)
outputChatBox("Your car has been fixed by "..getPlayerName(source), player, 255, 0, 0, false)
outputChatBox("You have fixed "..getPlayerName(player).."'s car", source, 255, 0, 0, false)
else
outputChatBox(getPlayerName(player).." isn't in a vehicle", source, 255, 0, 0, false)
end
end
addEvent("fixveh", true)
addEventHandler("fixveh", getRootElement(), fixcar)
end
client
--[[ moderator Panel
Author: TheSm@rt
Description : Moderator Panel Panel script
Copyright 2015 (C) TheSm@rt
All rights reserved.
==== Client Side Functions ====
]]--
---- Please Don't remove my rights ----
local screenWidth, screenHeight = guiGetScreenSize()
window = guiCreateWindow(181, 288, 937, 461, "Moderator Panel by TheSm@rt", false)
guiWindowSetSizable(window, false)
gridplayer = guiCreateGridList(9, 51, 170, 400, false, window)
guiGridListAddColumn(gridplayer, "Player", 0.9)
editplayer = guiCreateEdit(0.01, 0.07, 0.18, 0.05, "", true, window)
label = guiCreateLabel(193, 35, 248, 26, "Player Information", false, window)
local font0_EmblemaOne = guiCreateFont("EmblemaOne.ttf", 11)
guiSetFont(label, font0_EmblemaOne)
guiLabelSetColor(label, 255, 0, 0)
PlayerN = guiCreateLabel(191, 71, 94, 27, "Player Name:", false, window)
PlayerU = guiCreateLabel(191, 108, 94, 27, "Player Username:", false, window)
playerS = guiCreateLabel(191, 145, 94, 27, "Player Serial:", false, window)
PlayerIP = guiCreateLabel(191, 188, 94, 27, "Player IP:", false, window)
PlayerT = guiCreateLabel(191, 232, 94, 27, "Player Team:", false, window)
PlayerV = guiCreateLabel(191, 274, 94, 27, "Player Vehicle:", false, window)
PlayerNL = guiCreateLabel(314, 71, 94, 27, "", false, window)
PlayerUL = guiCreateLabel(314, 108, 94, 27, "", false, window)
PlayerSL = guiCreateLabel(314, 145, 94, 27, "", false, window)
PlayerIPL = guiCreateLabel(314, 188, 94, 27, "", false, window)
PlayerTL = guiCreateLabel(314, 232, 94, 27, "", false, window)
PlayerVL = guiCreateLabel(314, 274, 94, 27, "", false, window)
mutebtn = guiCreateButton(769, 50, 150, 35, "Mute", false, window)
local font1_EmblemaOne = guiCreateFont("EmblemaOne.ttf", 19)
guiSetFont(mutebtn, font1_EmblemaOne)
freezebtn = guiCreateButton(769, 100, 150, 35, "Freeze", false, window)
guiSetFont(freezebtn, font1_EmblemaOne)
killbtn = guiCreateButton(769, 149, 150, 35, "KIll Player", false, window)
local font2_EmblemaOne = guiCreateFont("EmblemaOne.ttf", 10)
guiSetFont(killbtn, font1_EmblemaOne)
warptpbtn = guiCreateButton(769, 194, 150, 35, "Warp to player", false, window)
guiSetFont(warptpbtn, font1_EmblemaOne)
warphbtn = guiCreateButton(769, 239, 150, 35, "warp here", false, window)
guiSetFont(warphbtn, font1_EmblemaOne)
kickbtn = guiCreateButton(769, 284, 150, 35, "Kick player", false, window)
guiSetFont(kickbtn, font1_EmblemaOne)
reasonedit = guiCreateEdit(549, 288, 203, 31, "Enter Reason here", false, window)
fixbtn = guiCreateButton(769, 333, 150, 35, "Fix Vehicle", false, window)
guiSetFont(fixbtn, font1_EmblemaOne)
destroybtn = guiCreateButton(769, 384, 150, 35, "Destroy Vehicle", false, window)
guiSetFont(destroybtn, font1_EmblemaOne)
guiSetVisible(window, false)
function openModPanel ()
if guiGetVisible(window) == false then
guiSetVisible(window, true)
showCursor(true)
getplayers ()
elseif guiGetVisible(window) == true then
guiSetVisible(window, false)
showCursor(false)
guiGridListClear(gridplayer)
resetall()
end
end
addEvent("openModerator", true)
addEventHandler("openModerator", getRootElement(), openModPanel)
function getplayers ()
guiGridListClear(gridplayer)
for index, player in ipairs(getElementsByType("player")) do
local row = guiGridListAddRow(gridplayer)
guiGridListSetItemText(gridplayer, row, 1, getPlayerName(player), false, false)
guiGridListSetItemData(gridplayer, row, 1, player)
end
end
addEventHandler("onClientPlayerChangeNick", getRootElement(), getplayers)
function information (username,team,ip,serial,veh)
guiSetText(PlayerUL,""..username)
guiSetText(PlayerTL,""..team)
guiSetText(PlayerIPL,""..ip)
guiSetText(PlayerSL,""..serial)
guiSetText(PlayerVL,""..veh)
end
addEvent("sendInformationClient", true)
addEventHandler("sendInformationClient", getRootElement(), information)
function infoget ()
local nigga = guiGridListGetItemText ( gridplayer, guiGridListGetSelectedItem(gridplayer), 1 )
if nigga then
triggerServerEvent('sendInfoServer', getLocalPlayer(), nigga)
end
end
addEventHandler('onClientGUIClick', gridplayer, infoget)
function clicks ()
selected = guiGridListGetItemText(gridplayerguiGridListGetSelectedItem(gridplayer), 1)
if (guiGridListGetSelectedItem(gridplayer~= -1)) then
if source == mutebtn then triggerServerEvent("mutePlayer", getLocalPlayer(), selected)
elseif source == freezebtn then triggerServerEvent("freezePlayer", getLocalPlayer(), selected)
elseif source == killbtn then triggerServerEvent("killNigga", getLocalPlayer(), selected)
elseif source == warptpbtn then triggerServerEvent('warptoPlayer', getLocalPlayer(), selected)
elseif source == warphbtn then triggerServerEvent("warpPlayerhere", getLocalPlayer(), selected)
elseif source == kickbtn then triggerServerEvent("kickPlayeraway", getLocalPlayer(), selected, guiGetText(reasonedit))
elseif source == fixbtn then triggerServerEvent("fixveh", getLocalPlayer(), selected)
elseif source == destroybtn then triggerServerEvent("destroyveh", getLocalPlayer(), selected)
end
end
end
addEventHandler('onClientGUIClick', window, clicks)
function boxes ()
if source == reasonedit then guiSetText(reasonedit, "")
end
addEventHandler('onClientGUIClick', window, boxes)
function resetall ()
guiSetText(PlayerUL,"")
guiSetText(PlayerTL,"")
guiSetText(PlayerIPL,"")
guiSetText(PlayerSL,"")
guiSetText(PlayerVL,"")
end
end