Jump to content

[Ayuda] Comando a un solo usuario


Recommended Posts

Hola a todos ando con un problema creando mi script.

Quiero que sólo una cuenta determinada pueda utilizar el comando /añadirlg y /eliminarlg que la funcion de los comandos es añadir o eliminar cuentas de un ACL.

Aqui el script:

-- [ CLAN LG ] -- 
  
function darlg (playerSource, commandName, accountName) 
    if accountName and isObjectInACLGroup( 'user.'..getAccountName( getPlayerAccount(playerSource) ), aclGetGroup( 'Clan-LG' ) ) then  
        aclGroupAddObject (aclGetGroup("Clan-LG"), "user."..accountName)  
        outputChatBox ("[LPM] Cuenta '"..accountName.."' añadida al Clan LG.", playerSource, 0,255,0) 
    else  
        outputChatBox ("No se especifico la cuenta.", playerSource, 255,0,0) 
        outputChatBox ("Escritura correcta: /añadirlg [CUENTA]", playerSource, 255,255,0) 
    end 
end 
  
addCommandHandler ("añadirlg", darlg)  
  
  
-- 
  
function eliminarlg (playerSource, commandName, accountName) 
local account = getPlayerAccount(thePlayer) 
    if accountName and isObjectInACLGroup( 'user.'..getAccountName( getPlayerAccount(playerSource) ), aclGetGroup( 'Clan-LG' ) ) then  
        aclGroupRemoveObject (aclGetGroup("Clan-LG"), "user."..accountName)  
        outputChatBox ("[LPM] Cuenta '"..accountName.."' eliminada del Clan LG.", playerSource, 255,0,0) 
    else  
        outputChatBox ("No se especifico la cuenta.", playerSource, 255,0,0) 
        outputChatBox ("Escritura correcta: /eliminarlg [CUENTA]", playerSource, 255,255,0) 
    end 
end 
  
addCommandHandler ("eliminarlg", eliminarlg)  
  

¿Podrán ayudarme?

Gracias :3

Saludos

Link to comment
Hola a todos ando con un problema creando mi script.

Quiero que sólo una cuenta determinada pueda utilizar el comando /añadirlg y /eliminarlg que la funcion de los comandos es añadir o eliminar cuentas de un ACL.

Aqui el script:

-- [ CLAN LG ] -- 
  
function darlg (playerSource, commandName, accountName) 
    if accountName and isObjectInACLGroup( 'user.'..getAccountName( getPlayerAccount(playerSource) ), aclGetGroup( 'Clan-LG' ) ) then  
        aclGroupAddObject (aclGetGroup("Clan-LG"), "user."..accountName)  
        outputChatBox ("[LPM] Cuenta '"..accountName.."' añadida al Clan LG.", playerSource, 0,255,0) 
    else  
        outputChatBox ("No se especifico la cuenta.", playerSource, 255,0,0) 
        outputChatBox ("Escritura correcta: /añadirlg [CUENTA]", playerSource, 255,255,0) 
    end 
end 
  
addCommandHandler ("añadirlg", darlg)  
  
  
-- 
  
function eliminarlg (playerSource, commandName, accountName) 
local account = getPlayerAccount(thePlayer) 
    if accountName and isObjectInACLGroup( 'user.'..getAccountName( getPlayerAccount(playerSource) ), aclGetGroup( 'Clan-LG' ) ) then  
        aclGroupRemoveObject (aclGetGroup("Clan-LG"), "user."..accountName)  
        outputChatBox ("[LPM] Cuenta '"..accountName.."' eliminada del Clan LG.", playerSource, 255,0,0) 
    else  
        outputChatBox ("No se especifico la cuenta.", playerSource, 255,0,0) 
        outputChatBox ("Escritura correcta: /eliminarlg [CUENTA]", playerSource, 255,255,0) 
    end 
end 
  
addCommandHandler ("eliminarlg", eliminarlg)  
  

¿Podrán ayudarme?

Gracias :3

Saludos

No se mucho de Grupos de ACL, pero puedes intentar esto:

-- [ CLAN LG ] -- 
  
function darlg (playerSource, commandName, accountName) 
    if accountName and isObjectInACLGroup( 'user.CUENTA', aclGetGroup( 'Clan-LG' ) ) then  
        aclGroupAddObject (aclGetGroup("Clan-LG"), "user."..accountName)  
        outputChatBox ("[LPM] Cuenta '"..accountName.."' añadida al Clan LG.", playerSource, 0,255,0) 
    else  
        outputChatBox ("No se especifico la cuenta.", playerSource, 255,0,0) 
        outputChatBox ("Escritura correcta: /añadirlg [CUENTA]", playerSource, 255,255,0) 
    end 
end 
  
addCommandHandler ("añadirlg", darlg)  
  
  
-- 
  
function eliminarlg (playerSource, commandName, accountName) 
local account = getPlayerAccount(thePlayer) 
    if accountName and isObjectInACLGroup( 'user.CUENTA', aclGetGroup( 'Clan-LG' ) ) then  
        aclGroupRemoveObject (aclGetGroup("Clan-LG"), "user."..accountName)  
        outputChatBox ("[LPM] Cuenta '"..accountName.."' eliminada del Clan LG.", playerSource, 255,0,0) 
    else  
        outputChatBox ("No se especifico la cuenta.", playerSource, 255,0,0) 
        outputChatBox ("Escritura correcta: /eliminarlg [CUENTA]", playerSource, 255,255,0) 
    end 
end 
  
addCommandHandler ("eliminarlg", eliminarlg)  
  

intenta ese a ver, no se que otras formas podrías usar ya que usas Grupos de ACL :fadein:

solo cambie la linea del "if .... then", solo reemplaza "CUENTA" por la cuenta de la persona que quieres que use ese comando.

EDIT: tambien podrias crear otro Grupo ACL especial para los lideres o personas que puedan usar ese Comando, Como

Lideres-Clan-LG. Solo digo, como dije no se mucho del ACL.

Link to comment
Hola a todos ando con un problema creando mi script.

Quiero que sólo una cuenta determinada pueda utilizar el comando /añadirlg y /eliminarlg que la funcion de los comandos es añadir o eliminar cuentas de un ACL.

Aqui el script:

-- [ CLAN LG ] -- 
  
function darlg (playerSource, commandName, accountName) 
    if accountName and isObjectInACLGroup( 'user.'..getAccountName( getPlayerAccount(playerSource) ), aclGetGroup( 'Clan-LG' ) ) then  
        aclGroupAddObject (aclGetGroup("Clan-LG"), "user."..accountName)  
        outputChatBox ("[LPM] Cuenta '"..accountName.."' añadida al Clan LG.", playerSource, 0,255,0) 
    else  
        outputChatBox ("No se especifico la cuenta.", playerSource, 255,0,0) 
        outputChatBox ("Escritura correcta: /añadirlg [CUENTA]", playerSource, 255,255,0) 
    end 
end 
  
addCommandHandler ("añadirlg", darlg)  
  
  
-- 
  
function eliminarlg (playerSource, commandName, accountName) 
local account = getPlayerAccount(thePlayer) 
    if accountName and isObjectInACLGroup( 'user.'..getAccountName( getPlayerAccount(playerSource) ), aclGetGroup( 'Clan-LG' ) ) then  
        aclGroupRemoveObject (aclGetGroup("Clan-LG"), "user."..accountName)  
        outputChatBox ("[LPM] Cuenta '"..accountName.."' eliminada del Clan LG.", playerSource, 255,0,0) 
    else  
        outputChatBox ("No se especifico la cuenta.", playerSource, 255,0,0) 
        outputChatBox ("Escritura correcta: /eliminarlg [CUENTA]", playerSource, 255,255,0) 
    end 
end 
  
addCommandHandler ("eliminarlg", eliminarlg)  
  

¿Podrán ayudarme?

Gracias :3

Saludos

No se mucho de Grupos de ACL, pero puedes intentar esto:

-- [ CLAN LG ] -- 
  
function darlg (playerSource, commandName, accountName) 
    if accountName and isObjectInACLGroup( 'user.CUENTA', aclGetGroup( 'Clan-LG' ) ) then  
        aclGroupAddObject (aclGetGroup("Clan-LG"), "user."..accountName)  
        outputChatBox ("[LPM] Cuenta '"..accountName.."' añadida al Clan LG.", playerSource, 0,255,0) 
    else  
        outputChatBox ("No se especifico la cuenta.", playerSource, 255,0,0) 
        outputChatBox ("Escritura correcta: /añadirlg [CUENTA]", playerSource, 255,255,0) 
    end 
end 
  
addCommandHandler ("añadirlg", darlg)  
  
  
-- 
  
function eliminarlg (playerSource, commandName, accountName) 
local account = getPlayerAccount(thePlayer) 
    if accountName and isObjectInACLGroup( 'user.CUENTA', aclGetGroup( 'Clan-LG' ) ) then  
        aclGroupRemoveObject (aclGetGroup("Clan-LG"), "user."..accountName)  
        outputChatBox ("[LPM] Cuenta '"..accountName.."' eliminada del Clan LG.", playerSource, 255,0,0) 
    else  
        outputChatBox ("No se especifico la cuenta.", playerSource, 255,0,0) 
        outputChatBox ("Escritura correcta: /eliminarlg [CUENTA]", playerSource, 255,255,0) 
    end 
end 
  
addCommandHandler ("eliminarlg", eliminarlg)  
  

intenta ese a ver, no se que otras formas podrías usar ya que usas Grupos de ACL :fadein:

solo cambie la linea del "if .... then", solo reemplaza "CUENTA" por la cuenta de la persona que quieres que use ese comando.

EDIT: tambien podrias crear otro Grupo ACL especial para los lideres o personas que puedan usar ese Comando, Como

Lideres-Clan-LG. Solo digo, como dije no se mucho del ACL.

Gracias! Lo intentaré :D

EDIT: No funciono :\

Link to comment
function darlg (playerSource, commandName, accountName) 
local account = getPlayerAccount ( playerSource ) 
if not isGuestAccount(account) and getAccountName(account) == "tucuenta" then 
  if accountName then 
        aclGroupAddObject (aclGetGroup("Clan-LG"), "user."..accountName) 
        outputChatBox ("[LPM] Cuenta '"..accountName.."' añadida al Clan LG.", playerSource, 0,255,0) 
    else 
        outputChatBox ("No se especifico la cuenta.", playerSource, 255,0,0) 
        outputChatBox ("Escritura correcta: /añadirlg [CUENTA]", playerSource, 255,255,0) 
    end 
else 
outputChatBox ("No puedes usar este comando", playerSource, 255,255,0) 
end 
 end 
addCommandHandler ("añadirlg", darlg) 

Tu sigue con el resto del codigo

Link to comment
function darlg (playerSource, commandName, accountName) 
local account = getPlayerAccount ( playerSource ) 
if not isGuestAccount(account) and getAccountName(account) == "tucuenta" then 
  if accountName then 
        aclGroupAddObject (aclGetGroup("Clan-LG"), "user."..accountName) 
        outputChatBox ("[LPM] Cuenta '"..accountName.."' añadida al Clan LG.", playerSource, 0,255,0) 
    else 
        outputChatBox ("No se especifico la cuenta.", playerSource, 255,0,0) 
        outputChatBox ("Escritura correcta: /añadirlg [CUENTA]", playerSource, 255,255,0) 
    end 
else 
outputChatBox ("No puedes usar este comando", playerSource, 255,255,0) 
end 
 end 
addCommandHandler ("añadirlg", darlg) 

Tu sigue con el resto del codigo

Basado en otro script he creado algo mejor, con GUI incluida y todo...el problema es que a veces funciona y aveces no, es raro, que podra ser? client:

  
function unfuck(text) 
    return string.gsub(text, "(#%x%x%x%x%x%x)", function(colorString) return "" end) 
end 
  
  
function onModeratorButtonClick() 
    local row, col = guiGridListGetSelectedItem(playerList) 
    if row == -1 or col == -1 then 
        return 
    end 
    local name = guiGridListGetItemText(playerList, row, col) 
    local target = getPlayerFromName(name) 
    if target then 
        triggerServerEvent("darvsk", getLocalPlayer(), target, "Moderator") 
    end 
end 
  
function onSuperModeratorButtonClick() 
    local row, col = guiGridListGetSelectedItem(playerList) 
    if row == -1 or col == -1 then 
        return 
    end 
    local name = guiGridListGetItemText(playerList, row, col) 
    local target = getPlayerFromName(name) 
    if target then 
        triggerServerEvent("sacarvsk", getLocalPlayer(), target, "SuperModerator") 
    end 
end 
  
addEventHandler("onClientResourceStart",resourceRoot, 
function() 
    GUIEditor_Grid = {} 
    Window1 = guiCreateWindow(207,287,400,300,"MTA-LPM | Clanes",false) 
  
  
    Moderator = guiCreateButton(18,32,83,37,"Agregar",false,Window1) 
    guiSetFont(Moderator,"default-bold-small") 
    addEventHandler("onClientGUIClick", Moderator, onModeratorButtonClick, true ) 
  
    SuperModerator = guiCreateButton(18,94,86,40,"Sacar",false,Window1) 
    guiSetFont(SuperModerator,"default-bold-small") 
    addEventHandler("onClientGUIClick", SuperModerator, onSuperModeratorButtonClick, true ) 
  
    playerList = guiCreateGridList ( 112, 35, 290, 200, false,Window1 ) 
    local column = guiGridListAddColumn( playerList, "Lista de jugadores ONLINE", 0.9   ) 
    for id, player in ipairs(getElementsByType("player")) do 
    local row = guiGridListAddRow ( playerList ) 
        guiGridListSetItemText ( playerList, row, column, unfuck(getPlayerName(player)), false, false ) 
        guiGridListSetItemColor ( playerList, row, column, 0, 250, 154, 255 ) 
        end 
  
    guiCreateStaticImage( 15,175, 100, 100, "data/logo.png", false,Window1 ) 
  
    fechar = guiCreateButton(300,250,100,35,"Cerrar",false,Window1) 
    guiSetVisible(Window1, false) 
  
    addEventHandler("onClientGUIClick", fechar, function() 
        guiSetVisible( Window1, false) 
        showCursor( false) 
    end, false ) 
end) 
  
addEvent("openWindowVSK",true) 
function openWindowVSK() 
    guiSetVisible(Window1, true) 
    showCursor(true) 
end 
addEventHandler("openWindowVSK", getRootElement(), openWindowVSK) 
  
function atualizarlista() 
    guiGridListClear(playerList) 
    for id, players in ipairs (getElementsByType("player")) do 
        local row = guiGridListAddRow(playerList) 
        guiGridListSetItemText(playerList, row, 1, unfuck(getPlayerName(players)), false, false) 
        guiGridListSetItemColor ( playerList, row, 1, 0, 250, 154, 255 ) 
    end 
end 
addEventHandler("onClientPlayerJoin", getRootElement(), atualizarlista) 
addEventHandler("onClientPlayerQuit", getRootElement(), atualizarlista) 
addEventHandler("onClientPlayerChangeNick", getRootElement(), atualizarlista) 
  

Link to comment
  • Recently Browsing   0 members

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