Jump to content

VipSystem


MaRcell

Recommended Posts

Posted

 

 

I have a vip system and I wanted to know how to put those nametag over the head of the player only to whom and vip, what functions do you need?

Posted
Quote
Quote
Quote



function serverAbrirPainel(player)
	if (isObjectInACLGroup("user."..getAccountName(getPlayerAccount(player)), aclGetGroup("Vip"))) then
		triggerClientEvent(player, "hidePWindow", player)
	else
		player:outputChat("Você não tem permissão para abrir esse painel!", 255, 0, 0, false)
	end
end
addEvent("hidePaWindow", true)
addEventHandler("hidePaWindow", getRootElement(), serverAbrirPainel)

 

 

 

ACL

Posted (edited)
7 hours ago, MaRcell said:

ACL

client side

function dxDrawTextOnElement(TheElement,text,height,distance,R,G,B,alpha,size,font,checkBuildings,checkVehicles,checkPeds,checkDummies,seeThroughStuff,ignoreSomeObjectsForCamera,ignoredElement)
				local x, y, z = getElementPosition(TheElement)
				local x2, y2, z2 = getElementPosition(localPlayer)
				local distance = distance or 20
				local height = height or 1
                                local checkBuildings = checkBuildings or true
                                local checkVehicles = checkVehicles or false
                                local checkPeds = checkPeds or false
                                local checkObjects = checkObjects or true
                                local checkDummies = checkDummies or true
                                local seeThroughStuff = seeThroughStuff or false
                                local ignoreSomeObjectsForCamera = ignoreSomeObjectsForCamera or false
                                local ignoredElement = ignoredElement or nil
				if (isLineOfSightClear(x, y, z, x2, y2, z2, checkBuildings, checkVehicles, checkPeds , checkObjects,checkDummies,seeThroughStuff,ignoreSomeObjectsForCamera,ignoredElement)) then
					local sx, sy = getScreenFromWorldPosition(x, y, z+height)
					if(sx) and (sy) then
						local distanceBetweenPoints = getDistanceBetweenPoints3D(x, y, z, x2, y2, z2)
						if(distanceBetweenPoints < distance) then
							dxDrawText(text, sx+2, sy+2, sx, sy, tocolor(R or 255, G or 255, B or 255, alpha or 255), (size or 1)-(distanceBetweenPoints / distance), font or "arial", "center", "center")
			end
		end
	end
end

addEventHandler("onClientRender",root,function()
	for _,v in pairs(getElementsByType("player")) do
		if (isObjectInACLGroup("user."..getAccountName(getPlayerAccount(v)),aclGetGroup("Vip"))) then
			dxDrawTextOnElement(v,"VIP",1,50,255,20,20,255,1,"arial")
		end
	end
end)

 

Edited by Fist
Posted (edited)
Quote

if (isObjectInACLGroup("user."..getAccountName(getPlayerAccount(v)),aclGetGroup("Vip"))) then

 

 

It gave error in the part of acl, I say that it has no value, do I have to put it separate?

Edited by MaRcell
Posted (edited)
3 hours ago, Gordon_G said:

isObjectInACLGroup

it's a server func' only.

oh didn't pay attention on that. :D

16 minutes ago, MaRcell said:

thank you <3

here is working version.

client:

function dxDrawTextOnElement(TheElement,text,height,distance,R,G,B,alpha,size,font,checkBuildings,checkVehicles,checkPeds,checkDummies,seeThroughStuff,ignoreSomeObjectsForCamera,ignoredElement)
				local x, y, z = getElementPosition(TheElement)
				local x2, y2, z2 = getElementPosition(localPlayer)
				local distance = distance or 20
				local height = height or 1
                                local checkBuildings = checkBuildings or true
                                local checkVehicles = checkVehicles or false
                                local checkPeds = checkPeds or false
                                local checkObjects = checkObjects or true
                                local checkDummies = checkDummies or true
                                local seeThroughStuff = seeThroughStuff or false
                                local ignoreSomeObjectsForCamera = ignoreSomeObjectsForCamera or false
                                local ignoredElement = ignoredElement or nil
				if (isLineOfSightClear(x, y, z, x2, y2, z2, checkBuildings, checkVehicles, checkPeds , checkObjects,checkDummies,seeThroughStuff,ignoreSomeObjectsForCamera,ignoredElement)) then
					local sx, sy = getScreenFromWorldPosition(x, y, z+height)
					if(sx) and (sy) then
						local distanceBetweenPoints = getDistanceBetweenPoints3D(x, y, z, x2, y2, z2)
						if(distanceBetweenPoints < distance) then
							dxDrawText(text, sx+2, sy+2, sx, sy, tocolor(R or 255, G or 255, B or 255, alpha or 255), (size or 1)-(distanceBetweenPoints / distance), font or "arial", "center", "center")
			end
		end
	end
end

addEventHandler("onClientRender",root,function()
	for _,v in pairs(getElementsByType("player")) do
		if (getElementData(v,"isVIP")) then
			dxDrawTextOnElement(v,"VIP",1,50,255,20,20,255,1,"arial")
		end
	end
end)

server:

addEventHandler("onPlayerLogin",root,function()
	if (isObjectInACLGroup("user."..getAccountName(getPlayerAccount(source)),aclGetGroup("Vip"))) then
    	setElementData(source,"isVIP",true)
    end
end)

 

Edited by Fist
Posted
Just now, MaRcell said:

if (getElementData(v,"isVIP") then

error :  expected near then

if (getElementData(v, "isVIP") ) then

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...