Sign in to follow this  
MaRcell

VipSystem

Recommended Posts

 

 

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?

Share this post


Link to post
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

Share this post


Link to post
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

Share this post


Link to post
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

Share this post


Link to post
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

Share this post


Link to post
Just now, MaRcell said:

if (getElementData(v,"isVIP") then

error :  expected near then

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

Share this post


Link to post

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
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.