This script is a request of GarQet, here -> http://otland.net/f132/script-server-hardcore-pvp-60276/
First, execute this in phpMyAdmin:
Now, go to /data/creaturescripts/scripts, create a file named anticheat.lua and paste this:
Paste this in login.lua:
Paste this in creaturescripts.xml:
How this works?
If the player kill another player 'killsLimit' times or (3) times before 'timeWithinKill' minutes or (5) minutes, the killer dies.
First, execute this in phpMyAdmin:
PHP:
alter table players add lastKill int(11) not null default 0;
alter table players add lastKillTime int(11) not null default 0;
Now, go to /data/creaturescripts/scripts, create a file named anticheat.lua and paste this:
Lua:
function onKill(cid, target, lastHit)
local timeWithinKill = 300 --in seconds
local killsLimit = 3 --limit to die
local lastKill, lastKillTime = nil, nil
local storage = 65535 --storage to check if player has killed another player 'killsLimit' times
if(isPlayer(target) == false) or (isMonster(cid) == true) then
return true
end
query = db.getResult("select lastKill, lastKillTime from players where id = " .. getPlayerGUID(cid) .. ";")
if(query:getID() ~= -1) then
lastKill, lastKillTime = query:getDataInt("lastKill"), query:getDataInt("lastKillTime")
if(lastKill == getPlayerGUID(target)) then
if(os.clock() - lastKillTime) < timeWithinKill then
if(getPlayerStorageValue(cid, storage) < 0) then
doPlayerSetStorageValue(cid, storage, 0)
end
doPlayerSetStorageValue(cid, storage, getPlayerStorageValue(cid, storage) + 1)
if(getPlayerStorageValue(cid, storage) >= killsLimit) then
doCreatureAddHealth(cid, -getCreatureHealth(cid))
end
else
doPlayerSetStorageValue(cid, storage, 0)
end
end
db.executeQuery("update players set lastKill = " .. getPlayerGUID(target) .. ", lastKillTime = " .. os.clock() .. " where id = " .. getPlayerGUID(cid) .. ";")
else
return LUA_ERROR
end
return true
end
Paste this in login.lua:
Lua:
registerCreatureEvent(cid, "AntiCheat")
Paste this in creaturescripts.xml:
PHP:
<event type="kill" name="AntiCheat" event="script" value="anticheat.lua"/>
How this works?
If the player kill another player 'killsLimit' times or (3) times before 'timeWithinKill' minutes or (5) minutes, the killer dies.
Last edited: