Advertisement
Rochet2

Scale NPC level according to player level

Dec 4th, 2011
273
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 1.84 KB | None | 0 0
  1. -- Get players inrange and check their parties
  2.  
  3. local Max_possible_NPC_level = 80
  4. local NPC_plus_levels = 3
  5.  
  6. function OnCombat(pUnit, event, pPlayer)
  7.     local Players = pUnit:GetInRangePlayers()
  8.     if(Players ~= nil) then
  9.         local Level = 0
  10.         for a,n in ipairs(Players) do
  11.             if(n:IsInGroup()) then
  12.                 for k,v in ipairs(n:GetGroupPlayers()) do
  13.                     local X = v:GetPlayerLevel()
  14.                     if (X > Level) then
  15.                         Level = X
  16.                     end
  17.                 end
  18.             else
  19.                 local X = n:GetPlayerLevel()
  20.                 if (X > Level) then
  21.                     Level = X
  22.                 end
  23.             end
  24.         end
  25.         if(Level > 0) then
  26.             if(Level > Max_possible_NPC_level - NPC_plus_levels)then
  27.                 Level = Max_possible_NPC_level - NPC_plus_levels
  28.             end
  29.             pUnit:SetLevel(Level + NPC_plus_levels)
  30.         end
  31.     end
  32. end
  33.  
  34. RegisterUnitEvent(6, 1, OnCombat)
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45. -- Get the level of the attacker
  46.  
  47. local Max_possible_NPC_level = 80
  48. local NPC_plus_levels = 3
  49.  
  50. function OnCombat(pUnit, event, pPlayer)
  51.     local Level = pPlayer:GetPlayerLevel()
  52.     if(Level > Max_possible_NPC_level - NPC_plus_levels)then
  53.         Level = Max_possible_NPC_level - NPC_plus_levels
  54.     end
  55.     pUnit:SetLevel(Level + NPC_plus_levels)
  56. end
  57.  
  58. RegisterUnitEvent(6, 1, OnCombat)
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67. -- Get the level of the attacker's party
  68.  
  69. local Max_possible_NPC_level = 80
  70. local NPC_plus_levels = 3
  71.  
  72. function OnCombat(pUnit, event, pPlayer)
  73.     local Level = 0
  74.     if(pPlayer:IsInGroup()) then
  75.         for k,v in ipairs(pPlayer:GetGroupPlayers()) do
  76.             local X = v:GetPlayerLevel()
  77.             if (X > Level) then
  78.                 Level = X
  79.             end
  80.         end
  81.     else
  82.         local X = pPlayer:GetPlayerLevel()
  83.         if (X > Level) then
  84.             Level = X
  85.         end
  86.     end
  87.     if(Level > 0) then
  88.         if(Level > Max_possible_NPC_level - NPC_plus_levels) then
  89.             Level = Max_possible_NPC_level - NPC_plus_levels
  90.         end
  91.         pUnit:SetLevel(Level + NPC_plus_levels)
  92.     end
  93. end
  94.  
  95. RegisterUnitEvent(6, 1, OnCombat)
  96.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement