Advertisement
JUNIORCEDE1

Grupo.lua

Oct 28th, 2018
239
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 4.47 KB | None | 0 0
  1. --- Funciones de Grupos
  2. Group.create = function(jugador,nombre,mensaje)
  3.     if not mensaje then
  4.         mensaje=""
  5.     end
  6.     outputDebugString('creando grupo')
  7.     local date, time = getTheTime()
  8.     date = date.." - "..time
  9.     local cuenta = getAccountName(getPlayerAccount(jugador))
  10.     if not cuenta then return end
  11.     local color = RGBToHex(math.random(255), math.random(255), math.random(255),nil)
  12.     local qh = dbQuery(db, "SELECT * FROM groups where UPPER(name) like UPPER('"..nombre.."')" )
  13.     local result = dbPoll( qh, -1 )
  14.     if #result >= 1 then
  15.         outputDebugString("Nombre no disponible")
  16.         return
  17.     end
  18.     --Se crea el Grupo
  19.     dbExec(db, "INSERT INTO groups (name,leaderAcc,message,chatcolor,date) "..
  20.     "VALUES (?, ?, ?, ?, ?)", nombre,cuenta,mensaje,color,date)
  21.     --Se obtiene el id del grupo recien creado
  22.     local qh = dbQuery(db, "SELECT * FROM groups where UPPER(name) like UPPER('"..nombre.."')" )
  23.     local result = dbPoll( qh, -1 )
  24.     if not result or #result == 0 then return end
  25.     local id_rank = "Fundador_"..result[1].id
  26.     local id_rank2 = "DePrueba_"..result[1].id
  27.     local id_group = result[1].id
  28.     ---Se crea el rango Fundador en el grupo
  29.     dbExec(db, "INSERT INTO groupRanks (id,id_group,name,kick,adv,changerank,createrank,inv,changemsg, "..
  30.     "colorchat,changeNameTeam) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",
  31.     id_rank,id_group,"Fundador",1,1,1,1,1,1,1,1)
  32.     dbExec(db, "INSERT INTO groupRanks (id,id_group,name)VALUES (?, ?, ?)", id_rank,id_group,"A Prueba")
  33.     --Se crea el miembro en el grupo, con el rango fundador
  34.     dbExec(db, "INSERT INTO groupMembers (id_group,account,date,last_activity,rank_id)VALUES (?, ?, ?, ?, ?)",
  35.     id_group,cuenta,date,date,id_rank)
  36.     outputDebugString(getPlayerName(jugador).." joined group: "..nombre.." as: "..id_rank.." at: "..date)
  37. end
  38.  
  39. Group.delete = function(id_group)
  40.     dbExec(db, "Delete From invit where id_group = ? ", id_group)
  41.     dbExec(db, "Delete From groupMembers where id_group = ? ", id_group)
  42.     dbExec(db, "Delete From groupRanks where id_group = ? ", id_group)
  43.     dbExec(db, "Delete From groups where id = ? ", id_group)
  44. end
  45.  
  46. Group.UpdateName = function (id_group,newName)
  47.     dbExec(db, "Update groups SET name = ? where id == ?", newName,id_group)
  48.     for k, l in ipairs(getPlayersFromGroup(id_group)) do
  49.         local tabla = getElementData(l,'GrupoInfo')
  50.         tabla.name = newName
  51.         setElementData(l,'GrupoInfo',tabla)
  52.     end
  53. end
  54.  
  55. Group.UpdateColorChat = function (id_group,R,G,B)
  56.     local color = RGBToHex(R,G,B,nil)
  57.     dbExec(db, "Update groups SET chatcolor = ? where id == ?", color,id_group)
  58.     for k, l in ipairs(getPlayersFromGroup(id_group)) do
  59.         local tabla = getElementData(l,'GrupoInfo')
  60.         tabla.color = color
  61.         setElementData(l,'GrupoInfo',tabla)
  62.         setElementData(l,'GroupChatColor',color)
  63.     end
  64. end
  65.  
  66. --Funciones de rangos
  67. Group.CreateRank = function (id_group,name,kick,adv,changerank,createrank,inv,changemsg,colorchat,changeNameTeam)
  68.     local id = name.."_"..id_group
  69.     dbExec(db, "INSERT INTO groupRanks (id,id_group,name,kick,adv,changerank,createrank,inv,changemsg, "..
  70.     "colorchat,changeNameTeam) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",
  71.     id_rank,id_group,name,tonumber(kick),tonumber(adv),tonumber(changerank),tonumber(createrank),
  72.     tonumber(inv),tonumber(changemsg),tonumber(colorchat),tonumber(changeNameTeam))
  73. end
  74.  
  75. Group.UpdateRank = function (id_rank,name,kick,adv,changerank,createrank,inv,changemsg,colorchat,changeNameTeam,id_group)
  76.     if string.find(id_rank, "DePrueba_") or string.find(id_rank, "Fundador_") then return false end
  77.     dbExec("Update groupRanks SET name = ?, kick = ?, adv = ?, "..
  78.     "changerank = ?, createrank = ?, inv = ?, changemsg = ?, "..
  79.     "colorchat = ?, changeNameTeam = ? where id = ?",name,kick,adv,changerank,
  80.     createrank,inv,changemsg,colorchat,changeNameTeam,id_rank)
  81. end
  82.  
  83. Group.deleteRank = function (id_rank)
  84.     if string.find(id_rank, "DePrueba_") or string.find(id_rank, "Fundador_") then return false end
  85.     local newUserRank = "DePrueba_"..id_group
  86.     dbExec(db, "Update groupMembers SET rank_id = ? where rank_id == ?",newUserRank,id_rank)
  87.     dbExec(db, "Delete From groupRanks where id = ? ", id_rank)
  88. end
  89.  
  90. --Funciones de miembros
  91. Group.UpdateRankMember = function(MemberAccount,id_rank)
  92.     dbExec(db, "Update groupMembers SET rank_id = ? where account == ?",id_rank,MemberAccount)
  93. end
  94.  
  95. Group.InviteMember(jugador,id_group)
  96.     local cuenta = getAccountName(getPlayerAccount(jugador))
  97.     if not cuenta and not isGuestAccount(cuenta) then return end
  98.     dbExec(db, "Insert into (id_group,account_inv) values (?,?)",id_group,cuenta)
  99. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement