E aí galera, vim apresentar o hunted system, é um sistema que consiste em um "caçador de recompensa", você diz "!hunt Nome do Player,quantidade de dinheiro" e então o player definido fica hunted para o servidor todo e quem mata-lo ganha a quantia de dinheiro que você ofereceu ( o dinheiro é descontado do seu char)..
Fotos:

Diga !hunt para saber os players hunted online... Vou parar de falar e ir ao sistema!
Em talkactions/scripts crie um arquivo lua e coloque isso dentro:
function onSay(cid, words, param)
local multiplier = 10000
local str = string.explode(param, ",")
if not str[1] then
doShowTextDialog(cid, 2366, huntedsOnline())
return true
end
local hunt = getPlayerByNameWildcard(string.lower(str[1]))
if (not isPlayer(hunt)) then
return doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "[Hunted System] This player does not exist or is not online.")
end
local formula = (getPlayerLevel(hunt) * 10 / 50 * multiplier)
if (cid == hunt) then
return doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "[Hunted System] Sorry but you can not put a contract on yourself.")
end
if (getPlayerAccess(hunt) >= 3) then
return doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "[Hunted System] You can not put a contract in this player.")
end
if (not str[2]) or (not isNumber(str[2])) then
return doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "[Hunted System] Enter amount of golds that will be paid.")
end
if (getPlayerStorageValue(hunt, 201310251658) >= 1) then
return doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "[Hunted System] Can not perform this operation. The chosen player already has contracts.")
end
if (getPlayerMoney(cid) < tonumber(str[2])) or (tonumber(str[2]) < formula) then
return doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "[Hunted System] You do not have enough money. For the player ["..str[1].."], you need pay ["..tostring(formula).."] or more golds.")
end
doPlayerRemoveMoney(cid, str[2])
setPlayerStorageValue(hunt, 201310251658, str[2])
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "[Hunted System] You have created a contract of reward for the player ["..str[1].."] by ["..tostring(str[2]).."] golds.")
doBroadcastMessage("[Hunted System] "..getCreatureName(cid).." created a contract to kill the player ["..str[1].."] by ["..tostring(str[2]).."] golds.", MESSAGE_STATUS_CONSOLE_RED)
return true
end
function huntedsOnline()
local str = "Hunteds Online:\n\n"
for _, a in ipairs(checkHunt()) do
if #checkHunt() > 0 then
str = ""..str.." - "..getCreatureName(a).." ["..tostring(getPlayerStorageValue(a, 201310251658)).." golds];\n"
else
str = "There are no contracts online.\n\n"
end
end
return str
end
function checkHunt()
local hunteds = {}
for _, b in ipairs(getPlayersOnline()) do
if getPlayerStorageValue(b, 201310251658) ~= -1 then
table.insert(hunteds, b)
end
end
return hunteds or #hunteds
end
em talkactions.xml coloque:
<talkaction words="!hunt" event="script" value="b_hunterTalk.lua"/>
Em creaturescripts/scripts coloque:
function onPrepareDeath(cid, lastHitKiller, mostDamageKiller)
local golds = getPlayerStorageValue(cid, 201310251658)
if getTileInfo(getThingPos(cid)).nologout then
return true
end
if (not isPlayer(cid)) or (not isPlayer(lastHitKiller[1])) then
return true
end
if golds > 0 then
setPlayerStorageValue(cid, 201310251658, -1)
doPlayerAddMoney(lastHitKiller[1], tonumber(golds))
doBroadcastMessage("[Hunted System] ["..getCreatureName(lastHitKiller[1]).."] fulfilled in ["..getCreatureName(cid).."] the contract and received ["..tostring(golds).."] golds.", MESSAGE_STATUS_CONSOLE_RED)
doPlayerSendTextMessage(lastHitKiller[1], 20, "[Hunted System] "..getCreatureName(lastHitKiller[1]).." fulfilled in ["..getCreatureName(cid).."] the contract and received a reward of ["..tostring(golds).."] golds.")
return true
end
return true
end
e em creaturescripts.xml coloque:
<event type="preparedeath" name="b_hunterKill" event="script" value="b_hunterKill.lua"/>
Existe uma quantia mínima dependendo do level do player. Existe um sistema parecido só que é por NPC, achei mais legal essa por talkaction. Esse sistema é exclusivo do Global War, feito pelo scripter Roksas e sendo liberado por mim (Keilost).


