FelipeMallmann Posted April 20, 2015 Share Posted April 20, 2015 Fala pessoal, estou com duvida em como restringir esse comando apenas para vips usarem: o comando é esse: function vehGUI() vehicleGUI = guiCreateWindow(477, 384, 301, 194, " || VEICULO ||", false) guiWindowSetSizable(vehicleGUI, false) vehMemo = guiCreateMemo(9, 18, 157, 133, "Obrigado por ser VIP, voce pode\n\n- Ligar/Desligar Luzes\n- Ligar/Desligar Motor\n- Trancar/Destrancar Veiculo", false, vehicleGUI) guiMemoSetReadOnly(vehMemo, true) vehLights = guiCreateButton(178, 30, 107, 26, "Luzes", false, vehicleGUI) vehEngine = guiCreateButton(178, 70, 107, 26, "Motor", false, vehicleGUI) vehLock = guiCreateButton(178, 115, 107, 26, "Tranca", false, vehicleGUI) vehClose = guiCreateButton(12, 158, 71, 26, "Sair", false, vehicleGUI) showCursor ( true ) end bindKey ( "m", "down", vehGUI ) addCommandHandler("vehmanager",vehGUI) Criei encima dele uma funçao local: local function isVip(thePlayer) local accName = getAccountName(getPlayerAccount (thePlayer)) return isObjectInACLGroup("user."..accName, aclGetGroup( "Vip" )) end Porem nao sei aonde colocar os IFs dentro do codigo Link to comment
#RooTs Posted April 20, 2015 Share Posted April 20, 2015 é mais ou menos assim server.lua function isVip(thePlayer) local accName = getAccountName ( getPlayerAccount ( thePlayer ) ) if isObjectInACLGroup ("user."..accName, aclGetGroup ( "Admin" ) ) then --code end end addEventHandler( "onResourceStart", root, isVip ) mais informações acesse: https://wiki.multitheftauto.com/wiki/IsObjectInACLGroup Link to comment
n3wage Posted April 21, 2015 Share Posted April 21, 2015 Como a função isObjectInACLGroup é usada apenas no lado do servidor vc tera que usar element datas (modo inseguro) ou um triggerClientEvent, assim: -- Script type="server" local function isVip(thePlayer) local accName = getAccountName(getPlayerAccount (thePlayer)) return isObjectInACLGroup("user."..accName, aclGetGroup( "Vip" )) end function abrirJanela (player) if isVip ( player ) then triggerClientEvent ( player, "showVIPGUI", player ) else outputChatBox ( "Apenas vips podem usar o painel !", player, 255, 0, 0 ) end end addCommandHandler ( "vehmanager", abrirJanela, false, false ) -- Script type="client" function vehGUI() vehicleGUI = guiCreateWindow(477, 384, 301, 194, " || VEICULO ||", false) guiWindowSetSizable(vehicleGUI, false) vehMemo = guiCreateMemo(9, 18, 157, 133, "Obrigado por ser VIP, voce pode\n\n- Ligar/Desligar Luzes\n- Ligar/Desligar Motor\n- Trancar/Destrancar Veiculo", false, vehicleGUI) guiMemoSetReadOnly(vehMemo, true) vehLights = guiCreateButton(178, 30, 107, 26, "Luzes", false, vehicleGUI) vehEngine = guiCreateButton(178, 70, 107, 26, "Motor", false, vehicleGUI) vehLock = guiCreateButton(178, 115, 107, 26, "Tranca", false, vehicleGUI) vehClose = guiCreateButton(12, 158, 71, 26, "Sair", false, vehicleGUI) showCursor ( true ) end addEvent ( "showVIPGUI", true ) addEventHandler ( "showVIPGUI", root, vehGUI ) Veja isso se quiser saber porque n usar element data: Script security Link to comment
FelipeMallmann Posted April 21, 2015 Author Share Posted April 21, 2015 é mais ou menos assim server.lua function isVip(thePlayer) local accName = getAccountName ( getPlayerAccount ( thePlayer ) ) if isObjectInACLGroup ("user."..accName, aclGetGroup ( "Admin" ) ) then --code end end addEventHandler( "onResourceStart", root, isVip ) mais informações acesse: https://wiki.multitheftauto.com/wiki/IsObjectInACLGroup Ai que tá, estou me atrapalhando nisso, pois o code tmb é uma funçao, eu devo remover a funçao: function vehGUI() e no final retirar o vehGUI addCommandHandler("vehmanager",vehGUI) ?? Link to comment
#RooTs Posted April 21, 2015 Share Posted April 21, 2015 da uma olhada no exemplo do @FuSioN_ .... se não entender, pode voltar aqui! Link to comment
FelipeMallmann Posted April 21, 2015 Author Share Posted April 21, 2015 Entendi! em partes kk, nao sabia que essa funçao so podia ser chamada em server-side, criei um novo arquivo do tipo server agora, só que mesmo estando no grupo acl 'Vip' ele fala que preciso ser vip.. erro: [Expected acl-group at argument 2, got boolean o que é esse erro? Link to comment
FelipeMallmann Posted April 21, 2015 Author Share Posted April 21, 2015 client: function vehGUI() vehicleGUI = guiCreateWindow(477, 384, 301, 194, " || VEICULO ||", false) guiWindowSetSizable(vehicleGUI, false) vehMemo = guiCreateMemo(9, 18, 157, 133, "Obrigado por ser VIP, voce pode\n\n- Ligar/Desligar Luzes\n- Ligar/Desligar Motor\n- Trancar/Destrancar Veiculo", false, vehicleGUI) guiMemoSetReadOnly(vehMemo, true) vehLights = guiCreateButton(178, 30, 107, 26, "Luzes", false, vehicleGUI) vehEngine = guiCreateButton(178, 70, 107, 26, "Motor", false, vehicleGUI) vehLock = guiCreateButton(178, 115, 107, 26, "Tranca", false, vehicleGUI) vehClose = guiCreateButton(12, 158, 71, 26, "Sair", false, vehicleGUI) showCursor ( true ) end addEvent ( "showVIPGUI", true ) addEventHandler ( "showVIPGUI", root, vehGUI ) server: local function isVip(thePlayer) local accName = getAccountName(getPlayerAccount (thePlayer)) return isObjectInACLGroup("user."..accName, aclGetGroup( "Vip" )) end function abrirJanela (player) if isVip ( player ) then triggerClientEvent ( player, "showVIPGUI", player ) else outputChatBox ( "Apenas vips podem usar o painel !", player, 255, 0, 0 ) end end addCommandHandler ( "meucarro", abrirJanela, false, false ) Link to comment
DNL291 Posted April 21, 2015 Share Posted April 21, 2015 erro: [Expected acl-group at argument 2, got boolean o que é esse erro? O nome do grupo tá errado, ou não tem esse grupo. Tenta com "VIP". A propósito, recomendo que você crie a interface no evento "onClientResourceStart", e apenas use guiSetVisible para mostrar/ocultar a janela. Link to comment
FelipeMallmann Posted April 21, 2015 Author Share Posted April 21, 2015 Cara, verifiquei diversas vezes, o nome nao está errado, e fica dando esse erro sempre, o que é isso? Link to comment
DNL291 Posted April 22, 2015 Share Posted April 22, 2015 Bem, tudo o que sei é que no 2º argumento da função isObjectInACLGroup que deve ser o grupo da ACL, deve estar retornando false. O grupo da ACL não está retornando. Se realmente não há erro no nome do grupo, tente executando a função aclReload e reinicie o script. Link to comment
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now