Jump to content

VIP


MisterZ

Recommended Posts

Posted

Hola a todos.

quería saber como podría hacer para que en el scoreboard muestre en una columna si es VIP o no, lo de la columna ya lo tengo echo solo me falta eso para que muestre si es VIP que diga Si, si no lo es que diga No.

Gracias.

  • MTA Team
Posted

Crea una columna llamada VIP, con el export del scoreboard, luego al jugador que es vip, seteale VIP con:

setElementData(player,"VIP","VIP") 

Posted
Crea una columna llamada VIP, con el export del scoreboard, luego al jugador que es vip, seteale VIP con:
setElementData(player,"VIP","VIP") 

Mm podrias darme un pequeño ejemplo el Scoreboard lo e creado yo nose si interfiera en algo eso

Gracias de antemano :D

Posted

¡Hola!

  
function AdicionarColumna() 
    exports.scoreboard:scoreboardAddColumn("VIP", 25) 
end 
addEventHandler("onClientResourceStart", resourceRoot, AdicionarColumna) 
  

Esto es para adicionar la columna VIP, usando el scoreboard default.. Para poner si es VIP o no en esa Columna, lo que tienes que hacer es usar un setElementData como lo Explico Ciber.

Suerte, saludos!

Posted
¡Hola!
  
function AdicionarColumna() 
    exports.scoreboard:scoreboardAddColumn("VIP", 25) 
end 
addEventHandler("onClientResourceStart", resourceRoot, AdicionarColumna) 
  

Esto es para adicionar la columna VIP, usando el scoreboard default.. Para poner si es VIP o no en esa Columna, lo que tienes que hacer es usar un setElementData como lo Explico Ciber.

Suerte, saludos!

Vle gracias todo perfecto lo que no entiendo es donde tendría que poner ese setElementData si me podes dar un ejemplo de eso Te agradecería mucho

Gracias ha los 2 por responder :D

Posted

Ah, pero entonces no tenes un sistema de VIP, lo que significa que no podes hacer lo que queres, solamente ponerle el estado de "VIP" cuando se loguean y estan en ese grupo ACL.

Deberias crearte un comando para agregar usuarios al ACL "VIP", que es muy facil.

Posted
Ah, pero entonces no tenes un sistema de VIP, lo que significa que no podes hacer lo que queres, solamente ponerle el estado de "VIP" cuando se loguean y estan en ese grupo ACL.

Deberias crearte un comando para agregar usuarios al ACL "VIP", que es muy facil.

y como deveria hacerlo ?

Posted
addCommandHandler 
aclGetGroup 
isObjectInACLGroup 
aclGroupAddObject 
getAccount 
getAccountPlayer 
setElementData 

Hice esto soli mira dime si esta bien

addCommandHandler ("add", 
function (playerSource, commandName, accountName) 
    if accountName then 
    aclGroupAddObject (aclGetGroup("VIP"), "user. "..accountName)  
    outputChatBox ("Cuenta '"..accountName.."' Has Agregado El Jugador Con Exito", playerSource) 
    setElementData(player,"VIP") 
    else  
    outputChatBox ("[ERROR]: Para Agregar Ah Un Jugador Ah VIP usa /add (Nombre Del Jugador)", playerSource) 
end 
end 
) 

EDIT: Me falto el playerSource en el setElementData esta player en ves de playerSource

Posted

Si pones playerSource en el setElementData, entonces le pondra el element data al que uso el comando.

Para eso es el getAccount y getAccountPlayer, para obtener un jugador de un nombre de cuenta ( si es que esta online ).

Posted

Client:

call ( getResourceFromName ( "scoreboard" ), "scoreboardAddColumn", "VIP", root, 25 ) 
  
function funcion ( ) 
    local Deadusergroup = getAccountName(getPlayerAccount(source)) 
        if isObjectInACLGroup("user."..Deadusergroup, aclGetGroup("VIP")) then 
            setElementData ( source, "VIP", "Si" ) 
        else 
            setElementData ( source, "VIP", "No" ) 
        end 
end 
addEventHandler ( "onPlayerLogin", getRootElement(), funcion ) 
  
  
  

Posted

Vale en el scoreboard lo hice haci:

{name = "VIP", width = 80, data = function (element) return getElementData(element, "VIP") or "No" end }, 

y en el Script Server-side de agregar los VIP lo hice haci:

addCommandHandler ("add", 
function (playerSource, commandName, accountName) 
    if accountName then 
    aclGroupAddObject(aclGetGroup("VIP"), "user."..accountName)  
    outputChatBox ("Cuenta '"..accountName.."' Has Agregado El Jugador Con Exito", playerSource) 
    else  
    outputChatBox ("[ERROR]: Deves Usar /add (Nombre Del Jugador)", playerSource) 
end 
end 
) 
  
addCommandHandler("remove", 
function (playerSource, commandName, accountName) 
    if accountName then 
    aclGroupRemoveObject(aclGetGroup("VIP"), "user."..accountName)  
    outputChatBox("Cuenta '"..accountName.."' Has Agregado El Jugador Con Exito", playerSource) 
    else  
    outputChatBox("[ERROR]: Deves Usar /remove (Nombre Del Jugador)", playerSource) 
end 
end 
) 
  
function funcion () 
    local Deadusergroup = getAccountName(getPlayerAccount(source)) 
    if isObjectInACLGroup("user."..Deadusergroup, aclGetGroup("VIP")) then 
    setElementData (source, "VIP", "Si") 
    else 
    setElementData (source, "VIP", "No") 
end 
end 
addEventHandler("onPlayerLogin", getRootElement(), funcion) 
addEventHandler("onPlayerLogout", getRootElement(), funcion) 
addEventHandler("onPlayerChangeNick", getRootElement(), funcion) 

ahora lo que me faltaría es hacer lo que tu dices Soli que el vip se le de al jugador que le doy no a mi mismo como devo hacer eso ?

Gracias

Posted
{name = "VIP", width = 80, data = function (element) return getElementData(element, "VIP") or "No" end }, 

Para que hiciste eso? solamente tenes que agregar la columna con la funcion exportada y luego usar setElementData.

Posted
{name = "VIP", width = 80, data = function (element) return getElementData(element, "VIP") or "No" end }, 

Para que hiciste eso? solamente tenes que agregar la columna con la funcion exportada y luego usar setElementData.

Es que no uso el Scoreboard de MTA uso uno diferente pero eso funciona correctamente ya lo probe y marca perfecto lo de si es VIP o no cuando estoy en el acl VIP dice en el scoreboar que SI soy vip y cuando me salgo del acl Dice que No

asi que eso ya funcióna, ahora lo que me decías es como hago eso que tu dices del getAccount?.

Posted

tengo un Problema cuando le doy el VIP marca bien en el scoreboard pero al reconectar me marca que no soy VIP

addEvent("onPlayerVIP",true) 
addEventHandler("onPlayerVIP", getRootElement(), 
function (target) 
    local account = getPlayerAccount(target) 
    local ACL = aclGetGroup("VIP") 
    if (ACL) then 
    aclGroupAddObject(ACL, "user."..getAccountName (account)) 
    setElementData(target, "VIP", "Si") 
    outputChatBox("[sYSTEMA-VIP]#FFFFFF: Se Le Ha Otorgado VIP Ha La cuenta: ( "..getAccountName(getPlayerAccount(target)).." )",root,0,255,0,true) 
    else 
    outputChatBox("[sYSTEMA-VIP]#FFFFFF: No Has Especificado La Cuenta Del Jugador!",source,255,0,0, true) 
end 
end) 

  • MTA Team
Posted

Proba así, lo hice del celular.

addEvent("onPlayerVIP",true) 
addEventHandler("onPlayerVIP", getRootElement(), 
function (target) 
    local account = getPlayerAccount(target) 
    local ACL = aclGetGroup("VIP") 
    if (ACL) then 
    aclGroupAddObject(ACL, "user."..getAccountName (account)) 
    setElementData(target, "VIP", "Si") 
    setAccountData(account,"VIP","Si") 
    outputChatBox("[sYSTEMA-VIP]#FFFFFF: Se Le Ha Otorgado VIP Ha La cuenta: ( "..getAccountName(account).." )",root,0,255,0,true) 
    else 
    outputChatBox("[sYSTEMA-VIP]#FFFFFF: No Has Especificado La Cuenta Del Jugador!",source,255,0,0, true) 
end 
end) 
addEventHandler( "onPlayerLogin", root, 
function (prev,act) 
    local data = getAccountData(act,"VIP") 
    if data then 
        setElementData(source,"VIP","Si") 
    end 
end 
) 

Posted
Proba así, lo hice del celular.
addEvent("onPlayerVIP",true) 
addEventHandler("onPlayerVIP", getRootElement(), 
function (target) 
    local account = getPlayerAccount(target) 
    local ACL = aclGetGroup("VIP") 
    if (ACL) then 
    aclGroupAddObject(ACL, "user."..getAccountName (account)) 
    setElementData(target, "VIP", "Si") 
    setAccountData(account,"VIP","Si") 
    outputChatBox("[sYSTEMA-VIP]#FFFFFF: Se Le Ha Otorgado VIP Ha La cuenta: ( "..getAccountName(account).." )",root,0,255,0,true) 
    else 
    outputChatBox("[sYSTEMA-VIP]#FFFFFF: No Has Especificado La Cuenta Del Jugador!",source,255,0,0, true) 
end 
end) 
addEventHandler( "onPlayerLogin", root, 
function (prev,act) 
    local data = getAccountData(act,"VIP") 
    if data then 
        setElementData(source,"VIP","Si") 
    end 
end 
) 

Gracias CiBeR, pero ahora cuando lo remuevo del vip y me logueo sigo apreciendo VIP en el Scoreboard le hice esto pero nada:

addEvent("onPlayerRemoverVIP",true) 
addEventHandler("onPlayerRemoverVIP", getRootElement(), 
function (target) 
    local account = getPlayerAccount(target) 
    if (account) then 
    aclGroupRemoveObject(aclGetGroup("VIP"), "user."..getAccountName(account)) 
    setElementData(target, "VIP", "No") 
    setAccountData(account,"VIP","No") 
    outputChatBox("[sYSTEMA-VIP]#FFFFFF: La Cuenta ( "..getAccountName(getPlayerAccount(target)).." ) Feu Eliminado De La Lista VIP",root,255,0,0,true) 
    else 
    outputChatBox("[sYSTEMA-VIP]#FFFFFF: No Has Especificado La Cuenta Del Jugador!",source,255,0,0, true) 
end 
end) 

  • Recently Browsing   0 members

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