Ce script est destiné au PvP. Celui-ci vous indique qui vous avez tué lorsque vous tuez quelqu'un, le nombre de série de kills, il vous conserve l'âme lorsque vous tuez quelqu'un (résurrection rapide avec % de hp/mana bas) et vous donne un token modifiable dans les locals en haut du script. Il affiche également le nom du joueur qui vous a tué.
Les configs :
Code :
KILL.TokenId = 29434 - ID de l'item Token.
KILL.Count = 3 - Nombre de fois que vous pouvez tuer la même personne pour avoir un token. Si je tue 3 fois la même personne je ne recevrais plus de token de cette personne.
KILL.TokenOne = 1 -- Combien de tokens le joueur gagne lorsqu'il fait entre 1 et 10 kills d'affilée.
KILL.TokenTwo = 2 -- Combien de tokens le joueur gagne lorsqu'il fait 10 kills d'affilée.
KILL.TokenThree = 3 -- Combien de tokens le joueur gagne lorsqu'il fait entre 11 et 20 kills d'affilée.
KILL.TokenFour = 4 -- Combien de tokens le joueur gagne lorsqu'il fait 20 kills d'affilée.
KILL.TokenFive = 5 -- Combien de tokens le joueur gagne lorsqu'il fait entre 21 et 30 kills d'affilée.
KILL.TokenSix = 6 -- ETC ... (30)
KILL.TokenSeven = 7 -- ETC ... (31 - 40)
KILL.TokenEight = 8 -- ETC ... (40)
KILL.TokenNine = 9 -- ETC ... (41-50)
KILL.TokenTen = 10 -- ETC ... (50)
KILL.TokenEleven = 12 -- Combien de tokens le joueur gagne lorsqu'il fait plus de 50 kills d'affilée.
[code=lua]KILL = {}
KILL.TokenId = 29434 -- Put your PvPToken ID here.
KILL.Count = 50 -- How many times a player will be rewarded killing the same other player. For example 3,
-- player is able to kill the same player 3 times, after that he will not get rewarded a token for killing that player anymore.
KILL.TokenOne = 1 -- How many tokens players get (kills 1 - 10)
KILL.TokenTwo = 2 -- How many tokens players get (Reached 10 kills without dying)
KILL.TokenThree = 3 -- How many tokens players get (kills 11 - 20)
KILL.TokenFour = 4 -- How many tokens players get (Reached 20 kills without dying)
KILL.TokenFive = 5 -- How many tokens players get (kills 20 - 30)
KILL.TokenSix = 6 -- How many tokens players get (Reached 30 kills without dying)
KILL.TokenSeven = 7 -- How many tokens players get (kills 30 - 40)
KILL.TokenEight = 8 -- How many tokens players get (Reached 40 kills without dying)
KILL.TokenNine = 9 -- How many tokens players get (kills 40 - 50)
KILL.TokenTen = 10 -- How many tokens players get (Reached 50 kills without dying)
KILL.TokenEleven = 12 -- How many tokens players get (Kills > 50)
pt = {29434, 1, 3, 3, 5, 5, 7, 7, 9, 9, 11, 11}
function KILL.OnKillPlayer(event, player, victim)
if (KILL[player:GetName()] == nil) then
KILL[player:GetName()] = {}
KILL[player:GetName()].killstreak = 1
KILL[victim:GetName()] = {}
KILL[victim:GetName()].killstreak = 0
player:SendBroadcastMessage("You have killed player: |cFF90EE90"..victim:GetName().."")
player:SendBroadcastMessage("Killstreak: |cFF90EE90"..KILL[player:GetName()].killstreak.."")
victim:SendBroadcastMessage("You have been killed by: |cFF90EE90"..player:GetName().."")
player:AddItem(pt[1], pt[2]) --Look here if doesn't work this time
player:CastSpell(20763)
elseif (KILL[player:GetName()].killstreak == nil) then
KILL[player:GetName()].killstreak = 1
KILL[victim:GetName()] = {}
KILL[victim:GetName()].killstreak = 0
player:SendBroadcastMessage("You have killed player: |cFF90EE90"..victim:GetName().."")
player:SendBroadcastMessage("Killstreak: |cFF90EE90"..KILL[player:GetName()].killstreak.."")
victim:SendBroadcastMessage("You have been killed by: |cFF90EE90"..player:GetName().."")
player:AddItem(pt[1], pt[2])
player:CastSpell(20763)
else
if (KILL.PlayerCheck(player, victim) == true) then
KILL[player:GetName()].killstreak = KILL[player:GetName()].killstreak + 1
KILL[victim:GetName()] = {}
KILL[victim:GetName()].killstreak = 0
player:SendBroadcastMessage("You have killed player: |cFF90EE90"..victim:GetName().."")
player:SendBroadcastMessage("Killstreak: |cFF90EE90"..KILL[player:GetName()].killstreak.."")
victim:SendBroadcastMessage("You have been killed by: |cFF90EE90"..player:GetName().."")
if (KILL[player:GetName()].killstreak > 0) then
if (KILL[player:GetName()].killstreak < 10) then
player:AddItem(pt[1], pt[2])
player:CastSpell(20763)
end
end
if (KILL[player:GetName()].killstreak == 10) then
local plrs = GetPlayersInWorld()
for k, v in pairs(plrs) do
v:SendBroadcastMessage("|cFFADD8E6[PvP System]: |cFFFFFF00"..player:GetName().." is on a "..KILL[player:GetName()].killstreak.." kill streak.")
player:AddItem(pt[1], pt[3])
player:CastSpell(20763)
end
end
if (KILL[player:GetName()].killstreak > 10) then
if (KILL[player:GetName()].killstreak < 20) then
player:AddItem(pt[1], pt[4])
player:CastSpell(20763)
end
end
if (KILL[player:GetName()].killstreak == 20) then
local plrs = GetPlayersInWorld()
for k, v in pairs(plrs) do
v:SendBroadcastMessage("|cFFADD8E6[PvP System]: |cFFFFFF00"..player:GetName().." is on a "..KILL[player:GetName()].killstreak.." kill streak.")
player:AddItem(pt[1], pt[5])
player:CastSpell(20763)
end
end
if (KILL[player:GetName()].killstreak > 20) then
if (KILL[player:GetName()].killstreak < 30) then
player:AddItem(pt[1], pt[6])
player:CastSpell(20763)
end
end
if (KILL[player:GetName()].killstreak == 30) then
local plrs = GetPlayersInWorld()
for k, v in pairs(plrs) do
v:SendBroadcastMessage("|cFFADD8E6[PvP System]: |cFFFFFF00"..player:GetName().." is on a "..KILL[player:GetName()].killstreak.." kill streak.")
player:AddItem(pt[1], pt[7])
player:CastSpell(20763)
end
end
if (KILL[player:GetName()].killstreak > 30) then
if (KILL[player:GetName()].killstreak < 40) then
player:AddItem(pt[1], pt[8])
player:CastSpell(20763)
end
end
if (KILL[player:GetName()].killstreak == 40) then
local plrs = GetPlayersInWorld()
for k, v in pairs(plrs) do
v:SendBroadcastMessage("|cFFADD8E6[PvP System]: |cFFFFFF00"..player:GetName().." is on a "..KILL[player:GetName()].killstreak.." kill streak.")
player:AddItem(pt[1], pt[9])
player:CastSpell(20763)
end
end
if (KILL[player:GetName()].killstreak > 40) then
if (KILL[player:GetName()].killstreak < 50) then
player:AddItem(pt[1], pt[10])
player:CastSpell(20763)
end
end
if (KILL[player:GetName()].killstreak == 50) then
local plrs = GetPlayersInWorld()
for k, v in pairs(plrs) do
v:SendBroadcastMessage("|cFFADD8E6[PvP System]: |cFFFFFF00"..player:GetName().." is on a "..KILL[player:GetName()].killstreak.." kill streak.")
player:AddItem(pt[1], pt[11])
player:CastSpell(20763)
end
end
if (KILL[player:GetName()].killstreak > 50) then
player:AddItem(pt[1], pt[12])
player:CastSpell(20763)
end
else
player:SendBroadcastMessage("You have to kill another player first in order to get more PvP tokens.")
victim:SendBroadcastMessage("You have been killed by: |cFF90EE90"..player:GetName().."")
end
end
end
function KILL.PlayerCheck(player, victim)
if (KILL[player:GetName()].target == victim:GetName()) then
KILL[player:GetName()].killcount = KILL[player:GetName()].killcount + 1
if (KILL[player:GetName()].killcount >= KILL.Count) then
return false
else
return true
end
else
KILL[player:GetName()].target = victim:GetName()
KILL[player:GetName()].killcount = 1
return true
end
end
RegisterServerHook(2, "KILL.OnKillPlayer")
[/code]
Testé et fonctionnel.