Jump to content

Ayuda


Flipi

Recommended Posts

Usa:

isObjectInACLGroup 

Ejemplo:

function privarSkin() 
accountname = getAccountName( source ) 
if isObjectInACLGroup ( "user." .. accountname, aclGetGroup ( "admin" ) ) then 
setElementModel( source, 0 ) -- En 0 define el skin 
else 
outputChatBox( "Este comando es solo para administradores!", source, 255, 255, 255 ) 
end 
end 
addCommandHandler( "darSkin", privarSkin ) 
  

Espero que te sirva :)

Link to comment

me aparece un error.

[warning] .lua : 2 : Bad argument @ 'getAccountName' [Expected account at argument 1, got nil]

[error] .lua : 3 : attempt to concatenate global 'accountname' (a boolean value)

PD: lo que quiero es que ocupando el comando /ss "numero de skin" de freeroam, al poner por ejemplo /ss 4, diga "este skin es solo para admins". [me explique bien?]

Link to comment
function privarSkin ( source ) 
    local accountname = getAccountName ( getPlayerAccount ( source ) ) 
    if isObjectInACLGroup ( "user." .. accountname, aclGetGroup ( "Admin" ) ) then 
        setElementModel ( source, 0 ) -- En 0 define el skin 
    else 
        outputChatBox ( "Este comando es solo para administradores!", source, 255, 255, 255 ) 
    end 
end 
addCommandHandler ( "darSkin", privarSkin ) 

'source' no estaba definido y getAccountName necesita una cuenta, asi que necesitabas usar getPlayerAccount en conjunto.

P.D: Si lo que queres es restringir los skins, entonces tenes que usar el evento "onElementModelChange".

Link to comment
Usa:
isObjectInACLGroup 

Ejemplo:

function privarSkin() 
accountname = getAccountName( source ) 
if isObjectInACLGroup ( "user." .. accountname, aclGetGroup ( "admin" ) ) then 
setElementModel( source, 0 ) -- En 0 define el skin 
else 
outputChatBox( "Este comando es solo para administradores!", source, 255, 255, 255 ) 
end 
end 
addCommandHandler( "darSkin", privarSkin ) 
  

Espero que te sirva :)

Tienes varios errores: 'source' no esta definido, 'accountname' es un 'boolean' y el grupo se llama 'Admin', no 'admin'.

Link to comment
function privarSkin ( source ) 
    local accountname = getAccountName ( getPlayerAccount ( source ) ) 
    if isObjectInACLGroup ( "user." .. accountname, aclGetGroup ( "Admin" ) ) then 
        setElementModel ( source, 0 ) -- En 0 define el skin 
    else 
        outputChatBox ( "Este comando es solo para administradores!", source, 255, 255, 255 ) 
    end 
end 
addCommandHandler ( "darSkin", privarSkin ) 

'source' no estaba definido y getAccountName necesita una cuenta, asi que necesitabas usar getPlayerAccount en conjunto.

P.D: Si lo que queres es restringir los skins, entonces tenes que usar el evento "onElementModelChange".

Como lo hago, es que no se como ocupar ese evento :/

Link to comment
function privarSkin ( source ) 
    local accountname = getAccountName ( getPlayerAccount ( source ) ) 
    if isObjectInACLGroup ( "user." .. accountname, aclGetGroup ( "Admin" ) ) then 
        setElementModel ( source, 0 ) -- En 0 define el skin 
    else 
        outputChatBox ( "Este comando es solo para administradores!", source, 255, 255, 255 ) 
    end 
end 
addEventHandler("onElementModelChange", root, privarSkin) 

Link to comment

Se me ocurre algo como esto:

function alCambiarSkin( oldModel, newModel ) 
    if ( getElementType( source ) == "player" ) then 
        local accountname = getAccountName ( getPlayerAccount ( source ) ) 
        if not ( isObjectInACLGroup ( "user." .. accountname, aclGetGroup ( "Admin" ) ) ) then 
            if ( newModel == 29 ) then 
                setTimer( setElementModel, 100, 1, source, oldModel ) 
                outputChatBox ( "Este skin es solo para administradores!", source, 255, 0, 0 ) 
            end 
        end 
    end 
end 
addEventHandler( "onElementModelChange", root, alCambiarSkin ) 
  

Edited by Guest
Link to comment
Se me ocurre algo como esto:
function alCambiarSkin( oldModel, newModel ) 
    if ( getElementType( source ) == "player" ) then 
        local accountname = getAccountName ( getPlayerAccount ( source ) ) 
        if not ( isObjectInACLGroup ( "user." .. accountname, aclGetGroup ( "Admin" ) ) ) then 
            if ( newModel == 29 ) then 
                setElementModel ( source, oldModel ) 
                outputChatBox ( "Este skin es solo para administradores!", source, 255, 0, 0 ) 
            end 
        end 
    end 
end 
addEventHandler( "onElementModelChange", root, alCambiarSkin ) 

Funciona solo la parte del outputChatBox, pero igual permite cambiar el skin :/

yo hice algo asi pero no funciona :/

models = { 
[29] = true ; 
[294] = true ; 
} 
  
function alCambiarSkin( oldModel, newModel ) 
    if ( models[getElementType( source ) == "player"] ) then 
        local accountname = getAccountName ( getPlayerAccount ( source ) ) 
        if not ( isObjectInACLGroup ( "user." .. accountname, aclGetGroup ( "Admin" ) ) ) then 
                setElementModel ( source, oldModel ) 
                outputChatBox ( "Este skin es solo para 'admins'!", source, 0, 128, 255 ) 
            end 
        end 
    end 
addEventHandler( "onElementModelChange", root, alCambiarSkin ) 

Link to comment
copia y prueba de nuevo

pasa lo mismo, pero como lo puedo hacer con el que modifique?

models = { 
[29] = true ; 
[294] = true ; 
} 
  
function alCambiarSkin( oldModel, newModel ) 
    if ( models[getElementType( source ) == "player"] ) then 
        local accountname = getAccountName ( getPlayerAccount ( source ) ) 
        if not ( isObjectInACLGroup ( "user." .. accountname, aclGetGroup ( "Admin" ) ) ) then 
                setElementModel ( source, oldModel ) 
                outputChatBox ( "Este skin es solo para 'admins'!", source, 0, 128, 255 ) 
            end 
        end 
    end 
addEventHandler( "onElementModelChange", root, alCambiarSkin ) 

Link to comment
copia y prueba de nuevo

pasa lo mismo, pero como lo puedo hacer con el que modifique?

models = { 
[29] = true ; 
[294] = true ; 
} 
  
function alCambiarSkin( oldModel, newModel ) 
    if ( models[getElementType( source ) == "player"] ) then 
        local accountname = getAccountName ( getPlayerAccount ( source ) ) 
        if not ( isObjectInACLGroup ( "user." .. accountname, aclGetGroup ( "Admin" ) ) ) then 
                setElementModel ( source, oldModel ) 
                outputChatBox ( "Este skin es solo para 'admins'!", source, 0, 128, 255 ) 
            end 
        end 
    end 
addEventHandler( "onElementModelChange", root, alCambiarSkin ) 

que raro, yo lo acabo de probar y funciona, me regresa al skin anterior.

EDIT: Había puesto "aaa" en "Admin".

Link to comment

Con el mio, con lo que quieres agregar sería así:

models = { 
[29] = true , 
[294] = true , 
} 
  
function alCambiarSkin( oldModel, newModel ) 
    if ( getElementType( source ) == "player" ) then 
        local accountname = getAccountName ( getPlayerAccount ( source ) ) 
        if not ( isObjectInACLGroup ( "user." .. accountname, aclGetGroup ( "Admin" ) ) ) then 
            if ( models[ newModel ] ) then 
                setTimer( setElementModel, 100, 1, source, oldModel ) 
                outputChatBox ( "Este skin es solo para administradores!", source, 255, 0, 0 ) 
            end 
        end 
    end 
end 
addEventHandler( "onElementModelChange", root, alCambiarSkin ) 

Link to comment
Con el mio, con lo que quieres agregar sería así:
models = { 
[29] = true , 
[294] = true , 
} 
  
function alCambiarSkin( oldModel, newModel ) 
    if ( getElementType( source ) == "player" ) then 
        local accountname = getAccountName ( getPlayerAccount ( source ) ) 
        if not ( isObjectInACLGroup ( "user." .. accountname, aclGetGroup ( "Admin" ) ) ) then 
            if ( models[ newModel ] ) then 
                setTimer( setElementModel, 100, 1, source, oldModel ) 
                outputChatBox ( "Este skin es solo para administradores!", source, 255, 0, 0 ) 
            end 
        end 
    end 
end 
addEventHandler( "onElementModelChange", root, alCambiarSkin ) 

Ahora funciona :D! gracias :)!!

Link to comment
  • Recently Browsing   0 members

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