Jump to content

VIP


MisterZ

Recommended Posts

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

Link to comment

¡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!

Link to comment
¡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

Link to comment

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.

Link to comment
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 ?

Link to comment
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

Link to comment

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 ) 
  
  
  

Link to comment

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

Link to comment
{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?.

Link to comment

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) 

Link to comment
  • Administrators

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 
) 

Link to comment
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) 

Link to comment
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...