• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!
  • New resources must be posted under Resources tab. A discussion thread will be created automatically, you can't open threads manually anymore.

[MODS] Mining System

vakacjus

Lua & C++ Study.
Joined
Oct 23, 2008
Messages
255
Solutions
1
Reaction score
26
I took idea from : Weed Cuting System

HTML:
<?xml version="1.0" encoding="UTF-8"?>
<mod name="Miner System" version="1.0" author="Cero" contact="" enabled="yes">
<config name="Miner Lib"><![CDATA[
miner = {}
 
miner.reward = {2146, 2147, 2150, 2149, 7759, 7760, 7761, 7762}
miner.kam = {1285, 1303, 1306, 1304, 1299, 1286}
miner.maxLevel = 100
miner.stor = {878, 877}
miner.showLevel = true
 
function miner.getPlayerSkill(cid)
	return getPlayerStorageValue(cid, miner.stor[1])
end
 
function miner.addSkillTry(cid)
	if(getPlayerStorageValue(cid, miner.stor[1]) >= miner.maxLevel) then
		return true
	end
	local formula = getPlayerStorageValue(cid, miner.stor[1]) / 10
	if(math.random(1, formula) == 1) then
		if(getPlayerStorageValue(cid, miner.stor[2]) >= 99) then
			setPlayerStorageValue(cid, miner.stor[2], 0)
			setPlayerStorageValue(cid, miner.stor[1], getPlayerStorageValue(cid, miner.stor[1])+1)
			doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "You advanced in Mining. "..(miner.showLevel == true and "["..getPlayerStorageValue(cid, miner.stor[1]).."]" or "").."")
		else
			setPlayerStorageValue(cid, miner.stor[2], getPlayerStorageValue(cid, miner.stor[2])+1)
		end
	end
return true
end
]]></config>
 
<action itemid="4847" event="script"><![CDATA[
	domodlib("Miner Lib")
	function onUse(cid, item, fromPosition, itemEx, toPosition)		
		if(isInArray(miner.kam, itemEx.itemid) == false) then
			return false
		end
 
		miner.addSkillTry(cid)
		doSendMagicEffect(toPosition, 9)		
		if(math.random(miner.getPlayerSkill(cid), miner.maxLevel) == miner.maxLevel) then
			local itemid = itemEx.itemid
			doRemoveItem(itemEx.uid, 1)
			doCreateItem(1293, 1, toPosition)
			doPlayerAddExperience(cid, 50)
			doPlayerAddItem(cid, miner.reward[1], 3) 
			addEvent(function()
				doRemoveItem(getThingFromPos(toPosition).uid)
				pien = doCreateItem(3607, 1, toPosition)
				addEvent(function()
					doRemoveItem(getThingFromPos(toPosition).uid)
					doCreateItem(itemid, 1, toPosition)
				end, 5 * 1000, {itemid = itemid, toPosition = toPosition})
			end, 5 * 1000, {itemid = itemid, toPosition = toPosition})
		end
	return true
	end]]></action>
 
<event type="login" name="Miner Login" event="script"><![CDATA[
	domodlib("Miner Lib")
	function onLogin(cid)
		if(getPlayerStorageValue(cid, miner.stor[1]) < 10) then
			setPlayerStorageValue(cid, miner.stor[1], 10)
		end
		if(getPlayerStorageValue(cid, miner.stor[2]) < 0) then
			setPlayerStorageValue(cid, miner.stor[2], 0)
		end
	return true
	end
]]></event>
</mod>

Atleast If someone can help me with reward random cuz it also giving me one reward.
Can't set this randomly
PHP:
			doPlayerAddItem(cid, miner.reward[1], 3)
 
Back
Top