Jump to content

Commando por acl


eldelahoz

Recommended Posts

Hola es lo siguiente es que tengo un gui sacado de la comunidad es un panel pero quiero que lo use solamente los admins por asi decirlo tengo que poner

function startTeleportWindow() 
        local accName = getAccountName ( getPlayerAccount ( thePlayer ) ) 
        if isObjectInACLGroup ("user."..accName, aclGetGroup ( "Admin" ) ) then 
    createTeleportWindow() 
    guiSetVisible(window, true) 
    showCursor(true) 
    guiSetInputEnabled(true) 
       end 
end 
  
addCommandHandler("teleport", startTeleportWindow) 
  

pero no meda no me ejecuta que tengo mal?

Link to comment

Algo asi?

function startTeleportWindow() 
    triggerServerEvent ( "submitTeleport", thePlayer ) 
    local accName = getAccountName ( getPlayerAccount ( thePlayer ) ) 
    if isObjectInACLGroup ("user."..accName, aclGetGroup ( "Admin" ) ) then 
    createTeleportWindow() 
    guiSetVisible(window, true) 
    showCursor(true) 
    guiSetInputEnabled(true) 
    end 
end 
  

Link to comment

No, intenta esto

Client

function startTeleportWindow() 
    triggerServerEvent ( "submitTeleport", getRootElement(), getLocalPlayer() ) 
    createTeleportWindow() 
    guiSetVisible(window, true) 
    showCursor(true) 
    guiSetInputEnabled(true) 
    end 

Server

addEvent("submitTeleport", true) 
function private(thePlayer) 
    local accName = getAccountName ( getPlayerAccount ( thePlayer ) ) 
    if isObjectInACLGroup ("user."..accName, aclGetGroup ( "Admin" ) ) then 
    end 
end 
addEventHandler("submitTeleport", root, private) 

Link to comment

Server:

function showGui() 
    local accName = getAccountName ( getPlayerAccount ( thePlayer ) ) 
    if isObjectInACLGroup ("user."..accName, aclGetGroup ( "Admin" ) ) then 
     triggerClientEvent("startTeleportWindow", thePlayer) 
 end 
end 
addCommandHandler("teleport", showGui) 

Client:

function startTele() 
    createTeleportWindow() 
    guiSetVisible(window, true) 
    showCursor(true) 
    guiSetInputEnabled(true) 
addEvent("startTeleportWindow", true) 
addEventHandler("startTeleportWindow", root, startTele) 

Link to comment
Server:
function showGui() 
    local accName = getAccountName ( getPlayerAccount ( thePlayer ) ) 
    if isObjectInACLGroup ("user."..accName, aclGetGroup ( "Admin" ) ) then 
     triggerClientEvent("startTeleportWindow", thePlayer) 
 end 
end 
addCommandHandler("teleport", showGui) 

Client:

function startTele() 
    createTeleportWindow() 
    guiSetVisible(window, true) 
    showCursor(true) 
    guiSetInputEnabled(true) 
addEvent("startTeleportWindow", true) 
addEventHandler("startTeleportWindow", root, startTele) 

Olvidaste definir 'thePlayer'.

Link to comment

Este es el script completo no ce por que algunas cosas no van en el server y en el client

Client

function createTeleportWindow() 
    window = guiCreateWindow(0.3852,0.2075,0.2344,0.2688,"P-Teleport",true) 
    guiSetAlpha(window,0.80000001192093) 
    editX = guiCreateEdit(128,31,161,27,"",false,window) 
    guiSetAlpha(editX,1) 
    editY = guiCreateEdit(128,68,161,27,"",false,window) 
    guiSetAlpha(editY,1) 
    editZ = guiCreateEdit(128,105,161,27,"",false,window) 
    guiSetAlpha(editZ,1) 
    editInterior = guiCreateEdit(128,142,161,27,"",false,window) 
    guiSetAlpha(editInterior,1) 
    buttonTeleport = guiCreateButton(12,179,277,24,"Teleport me!",false,window) 
    guiSetAlpha(buttonTeleport,1) 
    labelX = guiCreateLabel(12,37,106,15,"Insert X",false,window) 
    guiSetAlpha(labelX,1) 
    guiLabelSetColor(labelX,255,255,255) 
    guiLabelSetVerticalAlign(labelX,"top") 
    guiLabelSetHorizontalAlign(labelX,"right",false) 
    labelY = guiCreateLabel(12,75,106,15,"Insert Y",false,window) 
    guiSetAlpha(labelY,1) 
    guiLabelSetColor(labelY,255,255,255) 
    guiLabelSetVerticalAlign(labelY,"top") 
    guiLabelSetHorizontalAlign(labelY,"right",false) 
    labelZ = guiCreateLabel(12,112,106,15,"Insert Z",false,window) 
    guiSetAlpha(labelZ,1) 
    guiLabelSetColor(labelZ,255,255,255) 
    guiLabelSetVerticalAlign(labelZ,"top") 
    guiLabelSetHorizontalAlign(labelZ,"right",false) 
    labelInterior = guiCreateLabel(12,148,106,15,"Insert Interior ID",false,window) 
    guiSetAlpha(labelInterior,1) 
    guiLabelSetColor(labelInterior,255,255,255) 
    guiLabelSetVerticalAlign(labelInterior,"top") 
    guiLabelSetHorizontalAlign(labelInterior,"right",false) 
     
    guiSetVisible(window, false) 
     
    addEventHandler("onClientGUIClick", buttonTeleport, clientSubmitTeleport, false) 
end 
  
function startTeleportWindow() 
    createTeleportWindow() 
    guiSetVisible(window, true) 
    showCursor(true) 
    guiSetInputEnabled(true) 
end 
  
function clientSubmitTeleport(button,state) 
    if button == "left" and state == "up" then 
        local teleX = guiGetText(editX) 
        local teleY = guiGetText(editY) 
        local teleZ = guiGetText(editZ) 
        local teleI = guiGetText(editInterior) 
  
        localPlayer = getLocalPlayer() 
        setElementInterior(localPlayer, teleI, teleX, teleY, teleZ) 
         
        guiSetInputEnabled(false) 
        guiSetVisible(window, false) 
        showCursor(false) 
    end 
end 
  
addCommandHandler("teleport", startTeleportWindow) 

Server

function teleportHandler(teleX, teleY, teleZ, teleI) 
    localPlayer = getLocalPlayer() 
    setElementInterior(localPlayer, teleI, teleX, teleY, teleZ) 
end 
  
addEvent("submitTeleport", true) 
addEventHandler("submitTeleport", root, teleportHandler) 

Link to comment

Client:

  
function startTeleportWindow() 
    createTeleportWindow() 
    guiSetVisible(window, true) 
    showCursor(true) 
    guiSetInputEnabled(true) 
end 
addEvent("mostrarVentana",true)  
addEventHandler("mostrarVentana",root,startTeleportWindow) 
  

Server:

addCommandHandler("teleport",function() 
local cuenta = getAccountName ( getPlayerAccount ( thePlayer ) ) 
if isObjectInACLGroup ("user."..cuenta, aclGetGroup ( "Admin" ) ) then 
triggerClientEvent(thePlayer,"mostrarVentana",thePlayer) 
else 
outputChatBox("No tienes permiso para usar este comando",thePlayer,255,0,0,false) 
end end) 
  

Link to comment

Este es el resource original, editalo a tu gusto.

CLIENT:

function createTeleportWindow() 
    window = guiCreateWindow(0.3852,0.2075,0.2344,0.2688,"P-Teleport",true) 
    guiSetAlpha(window,0.80000001192093) 
    editX = guiCreateEdit(128,31,161,27,"",false,window) 
    guiSetAlpha(editX,1) 
    editY = guiCreateEdit(128,68,161,27,"",false,window) 
    guiSetAlpha(editY,1) 
    editZ = guiCreateEdit(128,105,161,27,"",false,window) 
    guiSetAlpha(editZ,1) 
    editInterior = guiCreateEdit(128,142,161,27,"",false,window) 
    guiSetAlpha(editInterior,1) 
    buttonTeleport = guiCreateButton(12,179,277,24,"Teleport me!",false,window) 
    guiSetAlpha(buttonTeleport,1) 
    labelX = guiCreateLabel(12,37,106,15,"Insert X",false,window) 
    guiSetAlpha(labelX,1) 
    guiLabelSetColor(labelX,255,255,255) 
    guiLabelSetVerticalAlign(labelX,"top") 
    guiLabelSetHorizontalAlign(labelX,"right",false) 
    labelY = guiCreateLabel(12,75,106,15,"Insert Y",false,window) 
    guiSetAlpha(labelY,1) 
    guiLabelSetColor(labelY,255,255,255) 
    guiLabelSetVerticalAlign(labelY,"top") 
    guiLabelSetHorizontalAlign(labelY,"right",false) 
    labelZ = guiCreateLabel(12,112,106,15,"Insert Z",false,window) 
    guiSetAlpha(labelZ,1) 
    guiLabelSetColor(labelZ,255,255,255) 
    guiLabelSetVerticalAlign(labelZ,"top") 
    guiLabelSetHorizontalAlign(labelZ,"right",false) 
    labelInterior = guiCreateLabel(12,148,106,15,"Insert Interior ID",false,window) 
    guiSetAlpha(labelInterior,1) 
    guiLabelSetColor(labelInterior,255,255,255) 
    guiLabelSetVerticalAlign(labelInterior,"top") 
    guiLabelSetHorizontalAlign(labelInterior,"right",false) 
     
    guiSetVisible(window, false) 
     
    addEventHandler("onClientGUIClick", buttonTeleport, clientSubmitTeleport, false) 
end 
  
function startTeleportWindow() 
    createTeleportWindow() 
    guiSetVisible(window, true) 
    showCursor(true) 
    guiSetInputEnabled(true) 
end 
addEvent("onAdminTeleport", true) 
addEventHandler("onAdminTeleport", getRootElement(), startTeleportWindow) 
  
function clientSubmitTeleport(button,state) 
    if button == "left" and state == "up" then 
        local teleX = guiGetText(editX) 
        local teleY = guiGetText(editY) 
        local teleZ = guiGetText(editZ) 
        local teleI = guiGetText(editInterior) 
  
        localPlayer = getLocalPlayer() 
        setElementInterior(localPlayer, teleI, teleX, teleY, teleZ) 
         
        guiSetInputEnabled(false) 
        guiSetVisible(window, false) 
        showCursor(false) 
    end 
end 

SERVER:

function checkAdminTeleport (thePlayer) 
    local accName = getAccountName ( getPlayerAccount ( thePlayer ) )  
    if isObjectInACLGroup ("user."..accName, aclGetGroup ( "Admin" ) ) then 
        triggerClientEvent(thePlayer, "onAdminTeleport", getRootElement()) 
    else 
        outputChatBox("Este comando es solo para Administradores.",player,255,12,15) 
    end 
end 
addCommandHandler("teleport", checkAdminTeleport ) 

EDIT: me confundi en el evento xD!. ya lo arregle.

Link to comment
  • Recently Browsing   0 members

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