MisterZ Posted December 29, 2014 Share Posted December 29, 2014 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. Link to comment
MTA Team 0xCiBeR Posted January 1, 2015 MTA Team Share Posted January 1, 2015 Crea una columna llamada VIP, con el export del scoreboard, luego al jugador que es vip, seteale VIP con: setElementData(player,"VIP","VIP") Link to comment
MisterZ Posted January 2, 2015 Author Share Posted January 2, 2015 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 Link to comment
Calculador Posted January 3, 2015 Share Posted January 3, 2015 ¡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
MisterZ Posted January 3, 2015 Author Share Posted January 3, 2015 ¡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 Link to comment
Castillo Posted January 3, 2015 Share Posted January 3, 2015 Pues, usas setElementData cuando le des VIP al jugador. Link to comment
MisterZ Posted January 3, 2015 Author Share Posted January 3, 2015 Pues, usas setElementData cuando le des VIP al jugador. Disculpen mi ignorancia pero sigo sin entender Link to comment
MTA Team 0xCiBeR Posted January 5, 2015 MTA Team Share Posted January 5, 2015 Como le das el VIP al jugador?. Link to comment
MisterZ Posted January 6, 2015 Author Share Posted January 6, 2015 Como le das el VIP al jugador?. Pues lo agrego al Grupo ACL VIP Link to comment
Castillo Posted January 6, 2015 Share Posted January 6, 2015 Osea, lo agregas manualmente? Link to comment
MisterZ Posted January 6, 2015 Author Share Posted January 6, 2015 Osea, lo agregas manualmente? Exacto Soli Link to comment
Castillo Posted January 6, 2015 Share Posted January 6, 2015 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
MisterZ Posted January 6, 2015 Author Share Posted January 6, 2015 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
Castillo Posted January 6, 2015 Share Posted January 6, 2015 addCommandHandler aclGetGroup isObjectInACLGroup aclGroupAddObject getAccount getAccountPlayer setElementData Link to comment
MisterZ Posted January 6, 2015 Author Share Posted January 6, 2015 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
Castillo Posted January 6, 2015 Share Posted January 6, 2015 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 ). Link to comment
Cocodrilo Posted January 7, 2015 Share Posted January 7, 2015 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
MisterZ Posted January 7, 2015 Author Share Posted January 7, 2015 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
Castillo Posted January 7, 2015 Share Posted January 7, 2015 {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. Link to comment
MisterZ Posted January 7, 2015 Author Share Posted January 7, 2015 {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
MisterZ Posted January 7, 2015 Author Share Posted January 7, 2015 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
MTA Team 0xCiBeR Posted January 8, 2015 MTA Team Share Posted January 8, 2015 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
MisterZ Posted January 8, 2015 Author Share Posted January 8, 2015 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
Recommended Posts