Ir para conteúdo
  • Cadastre-se

(Resolvido)Money Por Vip Coins


Ir para solução Resolvido por .Smile,

Posts Recomendados

Boa Tarde Galerinha Do TK

Voces  Podem Me ajudar Com Esse Script

Ele Coloca Um Valor Pela Cabeça de Alguem. Se vc Matar O Player Que Na Lista De Procurados Vc Recebe A Quantia Q Foi Colocada Pela Cabeça Do Player...

Gostaria Que Fosse Por Uma Moeda Que Tenho No meu Ot 11192 Vip Coins

Alguem Pode Ajudar??

 

Script Do npc

--[[
            SISTEMA DE CAÇADOR DE RECOMPENSAS FEITO POR LEORIC [OMEGA]
]]--
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}

function onCreatureAppear(cid)				npcHandler:onCreatureAppear(cid)			end
function onCreatureDisappear(cid)			npcHandler:onCreatureDisappear(cid)			end
function onCreatureSay(cid, type, msg)			npcHandler:onCreatureSay(cid, type, msg)		end
function onThink()					npcHandler:onThink()					end


function creatureSayCallback(cid, type, msg)
	if(not npcHandler:isFocused(cid)) then
		return false
	end

	local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
	
	local playerReward = getPlayerStorageValue(cid, bountyReward)
	local points = getPlayerStorageValue(cid, bountyPoints) > 0 and getPlayerStorageValue(cid, bountyPoints) or 0
	
	if msgcontains(msg,'assassin guild') then
		selfSay('Yess, I am the masster of the assasssinsss. What do you want with the guild? {Post} a bounty on someone? Get your {reward}, check the {most wanted} or your {points}? Or maybe some {information} about our bounty system?',cid)
		talkState[talkUser] = 1
	elseif talkState[talkUser] == 1 then
		if msgcontains(msg,'post') then
			selfSay('Yesss, a bounty?! Good for businessss. The death of whom do you wish? Give me a {name}.',cid)
			talkState[talkUser] = 2
		elseif msgcontains(msg,'information') then
			selfSay('It isss very sssimple. You give me a name and money and I\'ll put it at the bounty board. You can check who hasss an active bounty there too. Who kills that person, gets the money. Ssssimple. And, of course, you don\'t get paid to kill a person whose bounty you posted.',cid)
		elseif msgcontains(msg, 'points') then
			if bountyConfig.points == false and bountyConfig.omegaPointSystem == false then
				selfSay('Point system is currently disabled.',cid)
			else
				selfSay('You have '..points..' bounty points.',cid)
			end
		elseif msgcontains(msg,'reward') then
			if playerReward > 0 then
				doPlayerAddMoney(cid, playerReward)
				selfSay('Here you go, my bounty hunter friend, '..playerReward..' gps.', cid)
				setPlayerStorageValue(cid, bountyReward, 0)
				talkState[talkUser] = 1
			else
				selfSay('Nope, you have no reward to collect.',cid)
				talkState[talkUser] = 1
			end
		elseif msgcontains(msg, 'most wanted') then
			local players = getTopBounties(10)
			local names = {}
			local str = ''
			if not players then
				selfSay('There are no active bounties at this moment.',cid)
				return true
			end
			for index, pid in ipairs(players) do
				table.insert(names,'{'..index..'} '..getPlayerNameByGUID(pid)..' ['..getPlayerBounty(getPlayerNameByGUID(pid))..']\n')
			end
			str = table.concat(names)
			doPlayerPopupFYI(cid, str)
		end			
	elseif talkState[talkUser] == 2 then
		if not playerExist(msg) then
			selfSay('No, no, no. That is not a valid target. Give me a {name}!',cid)
		elseif string.lower(msg) == string.lower(getCreatureName(cid)) then
			selfSay('You can\'t post a bounty on yourself, stupid!', cid)
		else
			playername = {}
			playername[cid] = msg
			selfSay('Very well. The service has a minimum cost of '..bountyConfig.min..' and we take a '..bountyConfig.fee..'% fee of your bounty. How much do you want to deposit on your bounty?',cid)
			talkState[talkUser] = 3
		end
	elseif talkState[talkUser] == 3 then
		if tonumber(msg) ~= nil and tonumber(msg) and tonumber(msg) >= bountyConfig.min then
			bounty = tonumber(msg)
			if doPlayerRemoveMoney(cid, bounty) then
				doPlayerAddBounty(playername[cid], math.ceil(((1-(bountyConfig.fee/100))*bounty)))
				setGlobalStorageValue(getPlayerGUIDByName(playername[cid])+20000, getPlayerGUIDByName(getCreatureName(cid)))
				selfSay('You have sssuccessfully posted a bounty for '..playername[cid]..'.',cid)
				selfSay('Would you like anything else? Maybe {post} a bounty on someone, check the {most wand} or your {points}? Get your {reward}? Or maybe some {information} about our bounty system?',cid)
				playername[cid] = nil
				talkState[talkUser] = 1
			else
				selfSay('You can\'t fool me, you basssstard! You don\'t pay, I add no bounty!',cid)
				talkState[talkUser] = 1
			end
		else
			selfSay('I\'m still expecting a real bounty, my friend... it has to be bigger than '..bountyConfig.min..'.',cid)
		end
	end			
	return true
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

Script Da Lib

 

--[[
			SISTEMA DE CAÇADOR DE RECOMPENSAS FEITO POR LEORIC [OMEGA]
]]--

bountyReward = 7050
bountyPoints = 7051
bountyRank = 7052
bountyHire = 7053

bountyConfig = 
{
	min = 10000, -- Mínimo aceito para adicionar uma recompensa
	fee = 10, -- Taxa para adicionar uma recompensa por algum jogador
	omegaPointSystem = true, -- [true -> cálculo automático dos pontos de acordo com a recompensa / false -> desabilitado]
	points = true, -- [false -> desabilitado / número de pontos que o jogador receberá por caçar um procurado]
}

function isHunted(cid)
	if isPlayer(cid) then
		local id = getPlayerGUID(cid)
		local bounty = db.getResult("SELECT `bounty` FROM `players` WHERE `id` = "..id..";")
		return bounty:getDataInt("bounty") > 0 and true or false
	end
	return false
end

function getPlayerBounty(playername)
	if playerExists(playername) then
		local id = getPlayerGUIDByName(playername)
		local bounty = db.getResult("SELECT `bounty` FROM `players` WHERE `id` = "..id..";")
		return bounty:getDataInt("bounty") ~= 0 and bounty:getDataInt("bounty") or 0
	end		
	return false
end

function doPlayerAddBounty(playername, bounty)
	if not tonumber(bounty) or tonumber(bounty) < 1 or tonumber(bounty) == nil then
		return false
	end
	if getPlayerBounty(playername) then
		local pid = getPlayerGUIDByName(playername)
		local bounty_ = bounty + getPlayerBounty(playername)
		if db.query("UPDATE `players` SET `bounty` = "..bounty_.." WHERE `id` = "..pid..";") then
			return true
		end
	end
	return false
end

function doPlayerClearBounty(playername)
	if playerExists(playername) then
		local pid = getPlayerGUIDByName(playername)
		if db.query("UPDATE `players` SET `bounty` = 0 WHERE `id` = "..pid..";") then
			return true
		end
	end
	return false
end

function getTopBounties(max)
	local query = db.getResult("SELECT `id` FROM `players` WHERE `bounty` > 0 ORDER BY `bounty` DESC;")
	if query:getID() == -1 then
		return false
	end
	local tabela = {}
	i = 0
	repeat
		table.insert(tabela, query:getDataInt("id"))		
		i = i + 1
	until i >= max or not query:next()
	return tabela
end

function doPlayerAddBountyPoints(cid, bounty)
	local points = 0
	if bountyConfig.omegaPointSystem then
		points = math.ceil(bounty / 10000)
	elseif bountyConfig.points == true then
		points = 1
	elseif type(bountyConfig.points) == 'number' then
		points = bountyConfig.points
	end
	if points > 0 then
		setPlayerStorageValue(cid, bountyPoints, getPlayerStorageValue(cid, bountyPoints) + points)
	end
	return points > 0 and points or false
end

function playerExist(playername)
	exist = db.getResult("SELECT `id` FROM `players` WHERE `name` = '"..playername.."';")
	return exist:getID() ~= -1 and true or false
end

Script Do CreatureScripts

 

--[[
            SISTEMA DE CAÇADOR DE RECOMPENSAS FEITO POR LEORIC [OMEGA]
]]--
function onLook(cid, thing, position, lookDistance)
	if thing.actionid == 3550 then
		local hunted = {}
		for _,pid in ipairs(getPlayersOnline()) do
			if isHunted(pid) then
				local bounty = getPlayerBounty(getCreatureName(pid))
				table.insert(hunted, getCreatureName(pid)..' [Bounty: '..bounty..'] <Level '..getPlayerLevel(pid)..'>')
			end
		end
		if #hunted < 1 then			
			doPlayerSendTextMessage(cid,25,'There is no bounty posted for current online players.')
			return false
		end
		local str = ""
		for _, string in ipairs(hunted) do
			str = str..''..string..'\n'
		end
		str = str ~= '' and 'Hunted Players Online:\n'..str or false
		if str then
			doPlayerPopupFYI(cid, str)
		end		
		return false
	elseif thing.actionid == 3551 then
		local query = db.getResult("SELECT `player_id`, `value` FROM `player_storage` WHERE `key` = 7052 and `value` > 0 ORDER BY `value` DESC")
		if query:getID() == -1 then
			doPlayerSendTextMessage(cid, 25, 'There are no registered bounty hunters.')
			return false
		end
		local str = "BOUNTY HUNTER RANK\n"
		local j = 0
		repeat			
			str = str..""..getPlayerNameByGUID(query:getDataInt("player_id")).." ["..query:getDataInt("value").."]\n"
			j = j + 1
		until not query:next() or j >= 10
		doPlayerPopupFYI(cid, str)
		return false
	end
	return true
end
--[[
            SISTEMA DE CAÇADOR DE RECOMPENSAS FEITO POR LEORIC [OMEGA]
]]--
function onKill(cid, target, damage, flags)
	if isHunted(target) then
		if getGlobalStorageValue(getPlayerGUID(target) + 20000) == getPlayerGUID(cid) then
			return true
		end
		local bounty = getPlayerBounty(getCreatureName(target))
		local prev_reward = getPlayerStorageValue(cid, bountyReward) > 0 and getPlayerStorageValue(cid, bountyReward) or 0
		local prev_rank = getPlayerStorageValue(cid, bountyRank) > 0 and getPlayerStorageValue(cid, bountyRank) or 0
		setPlayerStorageValue(cid, bountyReward, prev_reward + bounty)
		setPlayerStorageValue(cid, bountyRank, prev_rank + bounty)
		
		doPlayerClearBounty(getCreatureName(target))
		if bountyConfig.points == false and bountyConfig.omegaPointSystem == false then
			doPlayerSendTextMessage(cid, 21, 'You have killed a hunted target and won '..bounty..'gps.')
			return true
		end
		local points = doPlayerAddBountyPoints(cid, bounty) 
		doPlayerSendTextMessage(cid, 21, 'You have killed a hunted target and won '..bounty..'gps and '..points..' bounty points. Talk to the Assassin leader to withdraw your money.')
	end
	return true
end

Obrigado A Todos + Rep

Ajudem Ai @Vodkart @Igorzerah 

Link para o post
Compartilhar em outros sites

npc

--[[
            SISTEMA DE CAÇADOR DE RECOMPENSAS FEITO POR LEORIC [OMEGA]
]]--
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}

function onCreatureAppear(cid)				npcHandler:onCreatureAppear(cid)			end
function onCreatureDisappear(cid)			npcHandler:onCreatureDisappear(cid)			end
function onCreatureSay(cid, type, msg)			npcHandler:onCreatureSay(cid, type, msg)		end
function onThink()					npcHandler:onThink()					end


function creatureSayCallback(cid, type, msg)
	if(not npcHandler:isFocused(cid)) then
		return false
	end

	local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
	
  	local moneyId = 11192 -- ID da moeda
	local playerReward = getPlayerStorageValue(cid, bountyReward)
	local points = getPlayerStorageValue(cid, bountyPoints) > 0 and getPlayerStorageValue(cid, bountyPoints) or 0
	
	if msgcontains(msg,'assassin guild') then
		selfSay('Yess, I am the masster of the assasssinsss. What do you want with the guild? {Post} a bounty on someone? Get your {reward}, check the {most wanted} or your {points}? Or maybe some {information} about our bounty system?',cid)
		talkState[talkUser] = 1
	elseif talkState[talkUser] == 1 then
		if msgcontains(msg,'post') then
			selfSay('Yesss, a bounty?! Good for businessss. The death of whom do you wish? Give me a {name}.',cid)
			talkState[talkUser] = 2
		elseif msgcontains(msg,'information') then
			selfSay('It isss very sssimple. You give me a name and money and I\'ll put it at the bounty board. You can check who hasss an active bounty there too. Who kills that person, gets the money. Ssssimple. And, of course, you don\'t get paid to kill a person whose bounty you posted.',cid)
		elseif msgcontains(msg, 'points') then
			if bountyConfig.points == false and bountyConfig.omegaPointSystem == false then
				selfSay('Point system is currently disabled.',cid)
			else
				selfSay('You have '..points..' bounty points.',cid)
			end
		elseif msgcontains(msg,'reward') then
			if playerReward > 0 then
				doPlayerAddItem(cid, moneyId, playerReward)
				selfSay('Here you go, my bounty hunter friend, '..playerReward..' gps.', cid)
				setPlayerStorageValue(cid, bountyReward, 0)
				talkState[talkUser] = 1
			else
				selfSay('Nope, you have no reward to collect.',cid)
				talkState[talkUser] = 1
			end
		elseif msgcontains(msg, 'most wanted') then
			local players = getTopBounties(10)
			local names = {}
			local str = ''
			if not players then
				selfSay('There are no active bounties at this moment.',cid)
				return true
			end
			for index, pid in ipairs(players) do
				table.insert(names,'{'..index..'} '..getPlayerNameByGUID(pid)..' ['..getPlayerBounty(getPlayerNameByGUID(pid))..']\n')
			end
			str = table.concat(names)
			doPlayerPopupFYI(cid, str)
		end			
	elseif talkState[talkUser] == 2 then
		if not playerExist(msg) then
			selfSay('No, no, no. That is not a valid target. Give me a {name}!',cid)
		elseif string.lower(msg) == string.lower(getCreatureName(cid)) then
			selfSay('You can\'t post a bounty on yourself, stupid!', cid)
		else
			playername = {}
			playername[cid] = msg
			selfSay('Very well. The service has a minimum cost of '..bountyConfig.min..' and we take a '..bountyConfig.fee..'% fee of your bounty. How much do you want to deposit on your bounty?',cid)
			talkState[talkUser] = 3
		end
	elseif talkState[talkUser] == 3 then
		if tonumber(msg) ~= nil and tonumber(msg) and tonumber(msg) >= bountyConfig.min then
			bounty = tonumber(msg)
			if doPlayerRemoveItem(cid, moneyId, bounty) then
				doPlayerAddBounty(playername[cid], math.ceil(((1-(bountyConfig.fee/100))*bounty)))
				setGlobalStorageValue(getPlayerGUIDByName(playername[cid])+20000, getPlayerGUIDByName(getCreatureName(cid)))
				selfSay('You have sssuccessfully posted a bounty for '..playername[cid]..'.',cid)
				selfSay('Would you like anything else? Maybe {post} a bounty on someone, check the {most wand} or your {points}? Get your {reward}? Or maybe some {information} about our bounty system?',cid)
				playername[cid] = nil
				talkState[talkUser] = 1
			else
				selfSay('You can\'t fool me, you basssstard! You don\'t pay, I add no bounty!',cid)
				talkState[talkUser] = 1
			end
		else
			selfSay('I\'m still expecting a real bounty, my friend... it has to be bigger than '..bountyConfig.min..'.',cid)
		end
	end			
	return true
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

Editado por .Smile (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
5 horas atrás, .Smile disse:

npc


--[[
            SISTEMA DE CAÇADOR DE RECOMPENSAS FEITO POR LEORIC [OMEGA]
]]--
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}

function onCreatureAppear(cid)				npcHandler:onCreatureAppear(cid)			end
function onCreatureDisappear(cid)			npcHandler:onCreatureDisappear(cid)			end
function onCreatureSay(cid, type, msg)			npcHandler:onCreatureSay(cid, type, msg)		end
function onThink()					npcHandler:onThink()					end


function creatureSayCallback(cid, type, msg)
	if(not npcHandler:isFocused(cid)) then
		return false
	end

	local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
	
  	local moneyId = 11192 -- ID da moeda
	local playerReward = getPlayerStorageValue(cid, bountyReward)
	local points = getPlayerStorageValue(cid, bountyPoints) > 0 and getPlayerStorageValue(cid, bountyPoints) or 0
	
	if msgcontains(msg,'assassin guild') then
		selfSay('Yess, I am the masster of the assasssinsss. What do you want with the guild? {Post} a bounty on someone? Get your {reward}, check the {most wanted} or your {points}? Or maybe some {information} about our bounty system?',cid)
		talkState[talkUser] = 1
	elseif talkState[talkUser] == 1 then
		if msgcontains(msg,'post') then
			selfSay('Yesss, a bounty?! Good for businessss. The death of whom do you wish? Give me a {name}.',cid)
			talkState[talkUser] = 2
		elseif msgcontains(msg,'information') then
			selfSay('It isss very sssimple. You give me a name and money and I\'ll put it at the bounty board. You can check who hasss an active bounty there too. Who kills that person, gets the money. Ssssimple. And, of course, you don\'t get paid to kill a person whose bounty you posted.',cid)
		elseif msgcontains(msg, 'points') then
			if bountyConfig.points == false and bountyConfig.omegaPointSystem == false then
				selfSay('Point system is currently disabled.',cid)
			else
				selfSay('You have '..points..' bounty points.',cid)
			end
		elseif msgcontains(msg,'reward') then
			if playerReward > 0 then
				doPlayerAddItem(cid, bountyMoney, playerReward)
				selfSay('Here you go, my bounty hunter friend, '..playerReward..' gps.', cid)
				setPlayerStorageValue(cid, bountyReward, 0)
				talkState[talkUser] = 1
			else
				selfSay('Nope, you have no reward to collect.',cid)
				talkState[talkUser] = 1
			end
		elseif msgcontains(msg, 'most wanted') then
			local players = getTopBounties(10)
			local names = {}
			local str = ''
			if not players then
				selfSay('There are no active bounties at this moment.',cid)
				return true
			end
			for index, pid in ipairs(players) do
				table.insert(names,'{'..index..'} '..getPlayerNameByGUID(pid)..' ['..getPlayerBounty(getPlayerNameByGUID(pid))..']\n')
			end
			str = table.concat(names)
			doPlayerPopupFYI(cid, str)
		end			
	elseif talkState[talkUser] == 2 then
		if not playerExist(msg) then
			selfSay('No, no, no. That is not a valid target. Give me a {name}!',cid)
		elseif string.lower(msg) == string.lower(getCreatureName(cid)) then
			selfSay('You can\'t post a bounty on yourself, stupid!', cid)
		else
			playername = {}
			playername[cid] = msg
			selfSay('Very well. The service has a minimum cost of '..bountyConfig.min..' and we take a '..bountyConfig.fee..'% fee of your bounty. How much do you want to deposit on your bounty?',cid)
			talkState[talkUser] = 3
		end
	elseif talkState[talkUser] == 3 then
		if tonumber(msg) ~= nil and tonumber(msg) and tonumber(msg) >= bountyConfig.min then
			bounty = tonumber(msg)
			if doPlayerRemoveItem(cid, bountyMoney, bounty) then
				doPlayerAddBounty(playername[cid], math.ceil(((1-(bountyConfig.fee/100))*bounty)))
				setGlobalStorageValue(getPlayerGUIDByName(playername[cid])+20000, getPlayerGUIDByName(getCreatureName(cid)))
				selfSay('You have sssuccessfully posted a bounty for '..playername[cid]..'.',cid)
				selfSay('Would you like anything else? Maybe {post} a bounty on someone, check the {most wand} or your {points}? Get your {reward}? Or maybe some {information} about our bounty system?',cid)
				playername[cid] = nil
				talkState[talkUser] = 1
			else
				selfSay('You can\'t fool me, you basssstard! You don\'t pay, I add no bounty!',cid)
				talkState[talkUser] = 1
			end
		else
			selfSay('I\'m still expecting a real bounty, my friend... it has to be bigger than '..bountyConfig.min..'.',cid)
		end
	end			
	return true
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

 

Obrigado mano ... Assim que chegar em casa irei testar

10 horas atrás, .Smile disse:

npc


--[[
            SISTEMA DE CAÇADOR DE RECOMPENSAS FEITO POR LEORIC [OMEGA]
]]--
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}

function onCreatureAppear(cid)				npcHandler:onCreatureAppear(cid)			end
function onCreatureDisappear(cid)			npcHandler:onCreatureDisappear(cid)			end
function onCreatureSay(cid, type, msg)			npcHandler:onCreatureSay(cid, type, msg)		end
function onThink()					npcHandler:onThink()					end


function creatureSayCallback(cid, type, msg)
	if(not npcHandler:isFocused(cid)) then
		return false
	end

	local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
	
  	local moneyId = 11192 -- ID da moeda
	local playerReward = getPlayerStorageValue(cid, bountyReward)
	local points = getPlayerStorageValue(cid, bountyPoints) > 0 and getPlayerStorageValue(cid, bountyPoints) or 0
	
	if msgcontains(msg,'assassin guild') then
		selfSay('Yess, I am the masster of the assasssinsss. What do you want with the guild? {Post} a bounty on someone? Get your {reward}, check the {most wanted} or your {points}? Or maybe some {information} about our bounty system?',cid)
		talkState[talkUser] = 1
	elseif talkState[talkUser] == 1 then
		if msgcontains(msg,'post') then
			selfSay('Yesss, a bounty?! Good for businessss. The death of whom do you wish? Give me a {name}.',cid)
			talkState[talkUser] = 2
		elseif msgcontains(msg,'information') then
			selfSay('It isss very sssimple. You give me a name and money and I\'ll put it at the bounty board. You can check who hasss an active bounty there too. Who kills that person, gets the money. Ssssimple. And, of course, you don\'t get paid to kill a person whose bounty you posted.',cid)
		elseif msgcontains(msg, 'points') then
			if bountyConfig.points == false and bountyConfig.omegaPointSystem == false then
				selfSay('Point system is currently disabled.',cid)
			else
				selfSay('You have '..points..' bounty points.',cid)
			end
		elseif msgcontains(msg,'reward') then
			if playerReward > 0 then
				doPlayerAddItem(cid, bountyMoney, playerReward)
				selfSay('Here you go, my bounty hunter friend, '..playerReward..' gps.', cid)
				setPlayerStorageValue(cid, bountyReward, 0)
				talkState[talkUser] = 1
			else
				selfSay('Nope, you have no reward to collect.',cid)
				talkState[talkUser] = 1
			end
		elseif msgcontains(msg, 'most wanted') then
			local players = getTopBounties(10)
			local names = {}
			local str = ''
			if not players then
				selfSay('There are no active bounties at this moment.',cid)
				return true
			end
			for index, pid in ipairs(players) do
				table.insert(names,'{'..index..'} '..getPlayerNameByGUID(pid)..' ['..getPlayerBounty(getPlayerNameByGUID(pid))..']\n')
			end
			str = table.concat(names)
			doPlayerPopupFYI(cid, str)
		end			
	elseif talkState[talkUser] == 2 then
		if not playerExist(msg) then
			selfSay('No, no, no. That is not a valid target. Give me a {name}!',cid)
		elseif string.lower(msg) == string.lower(getCreatureName(cid)) then
			selfSay('You can\'t post a bounty on yourself, stupid!', cid)
		else
			playername = {}
			playername[cid] = msg
			selfSay('Very well. The service has a minimum cost of '..bountyConfig.min..' and we take a '..bountyConfig.fee..'% fee of your bounty. How much do you want to deposit on your bounty?',cid)
			talkState[talkUser] = 3
		end
	elseif talkState[talkUser] == 3 then
		if tonumber(msg) ~= nil and tonumber(msg) and tonumber(msg) >= bountyConfig.min then
			bounty = tonumber(msg)
			if doPlayerRemoveItem(cid, bountyMoney, bounty) then
				doPlayerAddBounty(playername[cid], math.ceil(((1-(bountyConfig.fee/100))*bounty)))
				setGlobalStorageValue(getPlayerGUIDByName(playername[cid])+20000, getPlayerGUIDByName(getCreatureName(cid)))
				selfSay('You have sssuccessfully posted a bounty for '..playername[cid]..'.',cid)
				selfSay('Would you like anything else? Maybe {post} a bounty on someone, check the {most wand} or your {points}? Get your {reward}? Or maybe some {information} about our bounty system?',cid)
				playername[cid] = nil
				talkState[talkUser] = 1
			else
				selfSay('You can\'t fool me, you basssstard! You don\'t pay, I add no bounty!',cid)
				talkState[talkUser] = 1
			end
		else
			selfSay('I\'m still expecting a real bounty, my friend... it has to be bigger than '..bountyConfig.min..'.',cid)
		end
	end			
	return true
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

 

mesmo eu com as moedas na bp e tbm com grana agora nao add fala que nao tenho o item

02:21 Player Hunter: You can't fool me, you basssstard! You don't pay, I add no bounty!

Link para o post
Compartilhar em outros sites
  • Solução

Corrigido, lembre-se de editar o valor minimo e o fee na lib e veja se tem os requisitos.

npc

--[[
            SISTEMA DE CAÇADOR DE RECOMPENSAS FEITO POR LEORIC [OMEGA]
]]--
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}

function onCreatureAppear(cid)				npcHandler:onCreatureAppear(cid)			end
function onCreatureDisappear(cid)			npcHandler:onCreatureDisappear(cid)			end
function onCreatureSay(cid, type, msg)			npcHandler:onCreatureSay(cid, type, msg)		end
function onThink()					npcHandler:onThink()					end


function creatureSayCallback(cid, type, msg)
	if(not npcHandler:isFocused(cid)) then
		return false
	end

	local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
	
  	local moneyId = 11192 -- ID da moeda
	local playerReward = getPlayerStorageValue(cid, bountyReward)
	local points = getPlayerStorageValue(cid, bountyPoints) > 0 and getPlayerStorageValue(cid, bountyPoints) or 0
	
	if msgcontains(msg,'assassin guild') then
		selfSay('Yess, I am the masster of the assasssinsss. What do you want with the guild? {Post} a bounty on someone? Get your {reward}, check the {most wanted} or your {points}? Or maybe some {information} about our bounty system?',cid)
		talkState[talkUser] = 1
	elseif talkState[talkUser] == 1 then
		if msgcontains(msg,'post') then
			selfSay('Yesss, a bounty?! Good for businessss. The death of whom do you wish? Give me a {name}.',cid)
			talkState[talkUser] = 2
		elseif msgcontains(msg,'information') then
			selfSay('It isss very sssimple. You give me a name and money and I\'ll put it at the bounty board. You can check who hasss an active bounty there too. Who kills that person, gets the money. Ssssimple. And, of course, you don\'t get paid to kill a person whose bounty you posted.',cid)
		elseif msgcontains(msg, 'points') then
			if bountyConfig.points == false and bountyConfig.omegaPointSystem == false then
				selfSay('Point system is currently disabled.',cid)
			else
				selfSay('You have '..points..' bounty points.',cid)
			end
		elseif msgcontains(msg,'reward') then
			if playerReward > 0 then
				doPlayerAddItem(cid, moneyId, playerReward)
				selfSay('Here you go, my bounty hunter friend, '..playerReward..' gps.', cid)
				setPlayerStorageValue(cid, bountyReward, 0)
				talkState[talkUser] = 1
			else
				selfSay('Nope, you have no reward to collect.',cid)
				talkState[talkUser] = 1
			end
		elseif msgcontains(msg, 'most wanted') then
			local players = getTopBounties(10)
			local names = {}
			local str = ''
			if not players then
				selfSay('There are no active bounties at this moment.',cid)
				return true
			end
			for index, pid in ipairs(players) do
				table.insert(names,'{'..index..'} '..getPlayerNameByGUID(pid)..' ['..getPlayerBounty(getPlayerNameByGUID(pid))..']\n')
			end
			str = table.concat(names)
			doPlayerPopupFYI(cid, str)
		end			
	elseif talkState[talkUser] == 2 then
		if not playerExist(msg) then
			selfSay('No, no, no. That is not a valid target. Give me a {name}!',cid)
		elseif string.lower(msg) == string.lower(getCreatureName(cid)) then
			selfSay('You can\'t post a bounty on yourself, stupid!', cid)
		else
			playername = {}
			playername[cid] = msg
			selfSay('Very well. The service has a minimum cost of '..bountyConfig.min..' and we take a '..bountyConfig.fee..'% fee of your bounty. How much do you want to deposit on your bounty?',cid)
			talkState[talkUser] = 3
		end
	elseif talkState[talkUser] == 3 then
		if tonumber(msg) ~= nil and tonumber(msg) and tonumber(msg) >= bountyConfig.min then
			bounty = tonumber(msg)
			if doPlayerRemoveItem(cid, moneyId, bounty) then
				doPlayerAddBounty(playername[cid], math.ceil(((1-(bountyConfig.fee/100))*bounty)))
				setGlobalStorageValue(getPlayerGUIDByName(playername[cid])+20000, getPlayerGUIDByName(getCreatureName(cid)))
				selfSay('You have sssuccessfully posted a bounty for '..playername[cid]..'.',cid)
				selfSay('Would you like anything else? Maybe {post} a bounty on someone, check the {most wand} or your {points}? Get your {reward}? Or maybe some {information} about our bounty system?',cid)
				playername[cid] = nil
				talkState[talkUser] = 1
			else
				selfSay('You can\'t fool me, you basssstard! You don\'t pay, I add no bounty!',cid)
				talkState[talkUser] = 1
			end
		else
			selfSay('I\'m still expecting a real bounty, my friend... it has to be bigger than '..bountyConfig.min..'.',cid)
		end
	end			
	return true
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

Editado por .Smile (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
53 minutos atrás, .Smile disse:

Corrigido, lembre-se de editar o valor minimo e o fee na lib e veja se tem os requisitos.

npc


--[[
            SISTEMA DE CAÇADOR DE RECOMPENSAS FEITO POR LEORIC [OMEGA]
]]--
local keywordHandler = KeywordHandler:new()
local npcHandler = NpcHandler:new(keywordHandler)
NpcSystem.parseParameters(npcHandler)
local talkState = {}

function onCreatureAppear(cid)				npcHandler:onCreatureAppear(cid)			end
function onCreatureDisappear(cid)			npcHandler:onCreatureDisappear(cid)			end
function onCreatureSay(cid, type, msg)			npcHandler:onCreatureSay(cid, type, msg)		end
function onThink()					npcHandler:onThink()					end


function creatureSayCallback(cid, type, msg)
	if(not npcHandler:isFocused(cid)) then
		return false
	end

	local talkUser = NPCHANDLER_CONVBEHAVIOR == CONVERSATION_DEFAULT and 0 or cid
	
  	local moneyId = 11192 -- ID da moeda
	local playerReward = getPlayerStorageValue(cid, bountyReward)
	local points = getPlayerStorageValue(cid, bountyPoints) > 0 and getPlayerStorageValue(cid, bountyPoints) or 0
	
	if msgcontains(msg,'assassin guild') then
		selfSay('Yess, I am the masster of the assasssinsss. What do you want with the guild? {Post} a bounty on someone? Get your {reward}, check the {most wanted} or your {points}? Or maybe some {information} about our bounty system?',cid)
		talkState[talkUser] = 1
	elseif talkState[talkUser] == 1 then
		if msgcontains(msg,'post') then
			selfSay('Yesss, a bounty?! Good for businessss. The death of whom do you wish? Give me a {name}.',cid)
			talkState[talkUser] = 2
		elseif msgcontains(msg,'information') then
			selfSay('It isss very sssimple. You give me a name and money and I\'ll put it at the bounty board. You can check who hasss an active bounty there too. Who kills that person, gets the money. Ssssimple. And, of course, you don\'t get paid to kill a person whose bounty you posted.',cid)
		elseif msgcontains(msg, 'points') then
			if bountyConfig.points == false and bountyConfig.omegaPointSystem == false then
				selfSay('Point system is currently disabled.',cid)
			else
				selfSay('You have '..points..' bounty points.',cid)
			end
		elseif msgcontains(msg,'reward') then
			if playerReward > 0 then
				doPlayerAddItem(cid, moneyId, playerReward)
				selfSay('Here you go, my bounty hunter friend, '..playerReward..' gps.', cid)
				setPlayerStorageValue(cid, bountyReward, 0)
				talkState[talkUser] = 1
			else
				selfSay('Nope, you have no reward to collect.',cid)
				talkState[talkUser] = 1
			end
		elseif msgcontains(msg, 'most wanted') then
			local players = getTopBounties(10)
			local names = {}
			local str = ''
			if not players then
				selfSay('There are no active bounties at this moment.',cid)
				return true
			end
			for index, pid in ipairs(players) do
				table.insert(names,'{'..index..'} '..getPlayerNameByGUID(pid)..' ['..getPlayerBounty(getPlayerNameByGUID(pid))..']\n')
			end
			str = table.concat(names)
			doPlayerPopupFYI(cid, str)
		end			
	elseif talkState[talkUser] == 2 then
		if not playerExist(msg) then
			selfSay('No, no, no. That is not a valid target. Give me a {name}!',cid)
		elseif string.lower(msg) == string.lower(getCreatureName(cid)) then
			selfSay('You can\'t post a bounty on yourself, stupid!', cid)
		else
			playername = {}
			playername[cid] = msg
			selfSay('Very well. The service has a minimum cost of '..bountyConfig.min..' and we take a '..bountyConfig.fee..'% fee of your bounty. How much do you want to deposit on your bounty?',cid)
			talkState[talkUser] = 3
		end
	elseif talkState[talkUser] == 3 then
		if tonumber(msg) ~= nil and tonumber(msg) and tonumber(msg) >= bountyConfig.min then
			bounty = tonumber(msg)
			if doPlayerRemoveItem(cid, moneyId, bounty) then
				doPlayerAddBounty(playername[cid], math.ceil(((1-(bountyConfig.fee/100))*bounty)))
				setGlobalStorageValue(getPlayerGUIDByName(playername[cid])+20000, getPlayerGUIDByName(getCreatureName(cid)))
				selfSay('You have sssuccessfully posted a bounty for '..playername[cid]..'.',cid)
				selfSay('Would you like anything else? Maybe {post} a bounty on someone, check the {most wand} or your {points}? Get your {reward}? Or maybe some {information} about our bounty system?',cid)
				playername[cid] = nil
				talkState[talkUser] = 1
			else
				selfSay('You can\'t fool me, you basssstard! You don\'t pay, I add no bounty!',cid)
				talkState[talkUser] = 1
			end
		else
			selfSay('I\'m still expecting a real bounty, my friend... it has to be bigger than '..bountyConfig.min..'.',cid)
		end
	end			
	return true
end

npcHandler:setCallback(CALLBACK_MESSAGE_DEFAULT, creatureSayCallback)
npcHandler:addModule(FocusModule:new())

 

 

ele desconta os vip coins normal 

mas quando matamos o player que esta em hunt nao da os vip coins

6:22 You have killed a hunted target and won 45gps and 1 bounty points. Talk to the Assassin leader to withdraw your money.

opaa

deu certo sim

era erro meu

eu nao falei com o npc pra pegar o premium

obrigado

 

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo