Jump to content

[help] Level


Reggae

Recommended Posts

I have a level system system for dayz, the death of each player or zombies the player earns a certain amount of experience ... plus it's not earning level .. for example when it comes to experience in 1000 want it to be set to it level 1, but not arrow .. the only way of setting level that is working is the panel .. more I want it to be automatic, so he gets the 1000 experience he wins the level 1

-- Level System 
local sW, sH = guiGetScreenSize() 
local windowRank = guiCreateWindow ( (sW-500)/2, (sH-400)/2, 500, 400, "Manage Players Level System", false ) 
guiWindowSetSizable ( windowRank, false ) 
guiSetVisible ( windowRank, false) 
local windowRankGridList = guiCreateGridList ( 10, 28, 360, 360, false, windowRank ) 
local windowRankColumn = guiGridListAddColumn( windowRankGridList, "Name", 0.90 ) 
local windowRankEdit = guiCreateEdit( 383, 150, 100, 30, "", false, windowRank) 
local windowRankEdit2 = guiCreateEdit( 383, 250, 100, 30, "", false, windowRank) 
local windowRankButton = guiCreateButton( 383, 358, 100, 30, "Change", false, windowRank) 
local windowRankLabelLevel = guiCreateLabel(383, 120, 100, 20,"Level: None", false, windowRank) 
guiLabelSetHorizontalAlign (windowRankLabelLevel, "center") 
local windowRankLabelExp = guiCreateLabel(383, 220, 100, 20,"Experience: None", false, windowRank) 
guiLabelSetHorizontalAlign (windowRankLabelExp, "center") 
  
local ranksTable = 
{ 
  {"0","Teste","0"}, 
  {"1","Cabo","1000"}, 
  {"2","Recruta","2000"}, 
  {"3","Privado","3000"}, 
  {"4","Privado Primeira Classe","4000"}, 
  {"5","Corporal","5000"}, 
  {"6","Sargento","5800"}, 
  {"7","Sargento |","8100"}, 
  {"8","Sargento ||","11000"}, 
  {"9","Sergento |||","14600"}, 
  {"10","Sargento Primeira Classe |","18800"}, 
  {"11","Sargento Primeira Classe ||","23800"}, 
  {"12","Sargento Primeira Classe |||","29600"}, 
  {"13","Sargento Mestre |","36300"}, 
  {"14","Sargento Mestre ||","44100"}, 
  {"15","Sargento Mestre |||","53000"}, 
  {"16","Sargento Mestre ||||","63000"}, 
  {"17","Comandante Sargento Major |","74500"}, 
  {"18","Comandante Sargento Major |||","87400"}, 
  {"19","Comandante Sargento Major ||||","102000"}, 
  {"20","Comandante Sargento Major ||||","118400"}, 
  {"21","Comandante Sargento Major |||||","136700"}, 
  {"22","Segundo Tenente |","157200"}, 
  {"23","Segundo Tenente ||","180000"}, 
  {"24","Segundo Tenente |||","205200"}, 
  {"25","Segundo Tenente ||||","233300"}, 
  {"26","Segundo Tenente |||||","264400"}, 
  {"27","Primeiro Tenente |","298700"}, 
  {"28","Primeiro Tenente ||","336500"}, 
  {"29","Primeiro Tenente |||","378000"}, 
  {"30","Primeiro Tenente ||||","423700"}, 
  {"31","Primeiro Tenente |||||","473700"}, 
  {"32","Capitão |","528400"}, 
  {"33","Capitão |||","588100"}, 
  {"34","Capitão ||||","653400"}, 
  {"35","Capitão ||||","724400"}, 
  {"36","Capitão |||||","801600"}, 
  {"37","Major |","885500"}, 
  {"38","Major |||","976400"}, 
  {"39","Major ||||","1074800"}, 
  {"40","Major ||||","1181100"}, 
  {"41","Major |||||","1296000"}, 
  {"42","Tenente Coronel |","1419700"}, 
  {"43","Tenente Coronel ||","1552900"}, 
  {"44","Tenente Coronel |||","1696200"}, 
  {"45","Tenente Coronel ||||","1849900"}, 
  {"46","Tenente Coronel |||||","2014800"}, 
  {"47","Coronel |","2191200"}, 
  {"48","Coronel ||","2380000"}, 
  {"49","Coronel |||","2581500"}, 
  {"50","Coronel |||| ","2796400"}, 
} 
  
  
function getPlayerRankName() 
  for i=0,50 do 
    if getElementData(localPlayer, "level") == tonumber(ranksTable[i][0]) then 
      return ranksTable[i][2] 
    end 
  end 
end 
  
function getPlayerRankExperience() 
  for i=0,50 do 
    if getElementData(localPlayer, "level") == tonumber(ranksTable[i][0]) then 
      return tonumber(ranksTable[i][3]) 
    end 
  end 
end 
  
function mainRanks() 
  if getElementData(localPlayer, "logedin") == true then 
    if getElementData(localPlayer, "experience") > getPlayerRankExperience() then 
      if getElementData(localPlayer, "level") < 50 then 
        setElementData(localPlayer, "level", getElementData(localPlayer, "level") + 1) 
        local _ll = getElementData(localPlayer, "level") 
        DarItemsPorLevelUp(localPlayer,_ll)     
      end 
    end 
    dxDrawImage ( sW/65, sH/2.0, sW/20, sH/20, "images/level/rank"..getElementData(localPlayer, "level")..".jpg" )  
    dxDrawText ( getPlayerRankName().." ("..getElementData(localPlayer, "level")..")",sW/65, sH/1.8, sW/0, sH/0, tocolor ( 250, 0, 0, 255 ), 1.02, "default-bold" )  
    dxDrawText ( "Sua Experiencia: "..getElementData(localPlayer, "experience"), sW/65, sH/1.7, sW/0, sH/0, tocolor ( 250, 0, 0, 255 ), 1.02, "default-bold" ) 
    if getElementData(localPlayer, "level") < 50 then 
      dxDrawText ( "Proximo Level: "..getPlayerRankExperience(),sW/65, sH/1.6, sW/0, sH/0, tocolor ( 250, 0, 0, 255 ), 1.02, "default-bold" ) 
    else 
      dxDrawText ( "Patente Maxima Atingida",sW/65, sH/1.6, sW/0, sH/0, tocolor ( 0, 250, 0, 255 ), 1.02, "default-bold" ) 
    end    
  end 
end 
addEventHandler ( "onClientRender", root, mainRanks ) 
  
function toggleWindowRanks() 
  if getElementData(localPlayer, "adminRanks") == true then 
    if guiGetVisible(windowRank) == false then 
      guiSetVisible(windowRank, true) 
      showCursor(true) 
      for k, v in ipairs (getElementsByType("player")) do 
        if getElementData (v, "logedin") == true then 
          local row = guiGridListAddRow ( windowRankGridList ) 
          guiGridListSetItemText ( windowRankGridList, row, windowRankColumn, getPlayerName ( v ), false, false ) 
        end 
      end 
    else 
      guiSetVisible(windowRank, false) 
      showCursor(false) 
      guiGridListClear(windowRankGridList) 
    end 
  end 
end 
bindKey("F7", "down", toggleWindowRanks) 
  
function windowRankClick() 
local playerName = guiGridListGetItemText ( windowRankGridList, guiGridListGetSelectedItem ( windowRankGridList ), 1 ) 
  if source == windowRankGridList then 
    if guiGridListGetSelectedCount(windowRankGridList) == 0 then 
      guiSetText(windowRankLabelLevel, "Level: "..getElementData(getPlayerFromName(playerName), "level")) 
      guiSetText(windowRankLabelExp, "Experience: "..getElementData(getPlayerFromName(playerName), "experience")) 
    else 
      guiSetText(windowRankLabelLevel, "Level: None") 
      guiSetText(windowRankLabelExp, "Experience: None") 
    end 
  end 
  if source == windowRankButton then 
    if guiGridListGetSelectedCount(windowRankGridList) == 0 then 
    local playerName = guiGridListGetItemText ( windowRankGridList, guiGridListGetSelectedItem ( windowRankGridList ), 1 ) 
      if guiGetText(windowRankEdit) ~= "" then 
        setElementData(getPlayerFromName(playerName), "level", tonumber(guiGetText(windowRankEdit))) 
        guiSetText(windowRankLabelLevel, "Level: "..getElementData(getPlayerFromName(playerName), "level")) 
      end 
      if guiGetText(windowRankEdit2) ~= "" then 
        setElementData(getPlayerFromName(playerName), "experience", tonumber(guiGetText(windowRankEdit2))) 
        guiSetText(windowRankLabelExp, "Experience: "..getElementData(getPlayerFromName(playerName), "experience")) 
      end    
    else 
      outputChatBox("#FF0000[LEVEL SYSTEM]: #FFFFFFSelect the player!", thePlayer, 171, 205, 239, true) 
    end 
  end 
end 
addEventHandler ("onClientGUIClick", windowRank, windowRankClick) 
  
function DarItemsPorLevelUp(thePlayer,level) 
triggerServerEvent("onLevelUpRewards",thePlayer,level) 
end 

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

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