-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathKarma.lua
More file actions
53 lines (47 loc) · 1.74 KB
/
Karma.lua
File metadata and controls
53 lines (47 loc) · 1.74 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
--init a plugin
--Author theJian,Lorain.Li
g_Plugin = nil
function Initialize(a_Plugin)
a_Plugin:SetName("Karma")
a_Plugin:SetVersion(1)
g_Plugin = a_Plugin
Merits:Load()
cPluginManager:AddHook(cPluginManager.HOOK_KILLED, MyOnKilled)
cPluginManager:AddHook(cPluginManager.HOOK_PLAYER_JOINED, MyOnPlayerJoined)
cPluginManager:AddHook(cPluginManager.HOOK_PLAYER_DESTROYED, MyOnPlayerDestroyed)
cPluginManager:AddHook(cPluginManager.HOOK_PLAYER_BROKEN_BLOCK, MyOnPlayerBrokenBlock)
cPluginManager:AddHook(cPluginManager.HOOK_PLAYER_PLACED_BLOCK, MyOnPlayerPlacedBlock)
return true
end
function OnDisable()
LOG("Karma v" .. g_Plugin:GetVersion() .. " is disabling")
Merits:Save()
end
function MyOnPlayerJoined(a_Player)
Merits:PlayerJoin(a_Player)
end
function MyOnPlayerDestroyed(a_Player)
Merits:PlayerQuit(a_Player)
end
function MyOnKilled(a_Victim, a_TDI, a_DeathMessage)
if(cMonster:FamilyFromType(a_Victim:GetMonsterType()) == mfHostile) then
if(a_TDI.Attacker:IsPlayer()) then
Merits:PlayerDoMerits(a_TDI.Attacker, 10)
end
end
if(cMonster:FamilyFromType(a_Victim:GetMonsterType()) == mfPassive) then
if(a_TDI.Attacker:IsPlayer()) then
Merits:PlayerDoMerits(a_TDI.Attacker, -10)
end
end
end
function MyOnPlayerBrokenBlock(a_Player, a_BlockX, a_BlockY, a_BlockZ, a_BlockFace, a_BlockType, a_BlockMeta)
if(a_BlockType == E_BLOCK_LOG or a_BlockType == E_BLOCK_NEW_LOG) then
Merits:PlayerDoMerits(a_Player, -1)
end
end
function MyOnPlayerPlacedBlock(a_Player, a_BlockX, a_BlockY, a_BlockZ, a_BlockFace, a_BlockType, a_BlockMeta)
if((a_BlockType == E_BLOCK_LOG or a_BlockType == E_BLOCK_NEW_LOG) and (a_BlockMeta <= E_META_SAPLING_DARK_OAK)) then
Merits:PlayerDoMerits(a_Player, 1)
end
end