• 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!
  • 2026 staff recruitment is open! Check it out and consider applying!

[LUA] Pick use on shiny stone?

kito2

www.masteria.net
Joined
Mar 9, 2009
Messages
3,764
Solutions
1
Reaction score
227
Location
Chile, Santiago
Hi there, well I need this part of the tools/pick.lua part:

You can get Gold Coin, Platinum Coin, Small Diamond, Crystal Coin, and more items by refining it (using with a Pick).

Can someone make this part?
 
CHECK ID OF SHINY STONE, BECAUSE I USE BUGGED ITEMS.OTB AND IT CAN BE WRONG ID!
LUA:
local random_items = {2148,2152,2145,2160} -- gold coin, platinum coin, small diamond, crystal coin
local shiny_stone_id = 11221 -- id of shiny stone

function onUse(cid, item, fromPosition, itemEx, toPosition)
	if((itemEx.uid <= 65535 or itemEx.actionid > 0) and isInArray({354, 355}, itemEx.itemid)) then
		doTransformItem(itemEx.uid, 392)
		doDecayItem(itemEx.uid)
		doSendMagicEffect(toPosition, CONST_ME_POFF)
		return true
	end

	if(itemEx.itemid == 7200) then
		doTransformItem(itemEx.uid, 7236)
		doSendMagicEffect(toPosition, CONST_ME_BLOCKHIT)
		return true
	end

	if(itemEx.itemid == shiny_stone_id) then
		doPlayerAddItem(cid, random_items[math.random(1, #random_items)], 1, true)
		doRemoveItem(itemEx.uid)
		doSendMagicEffect(toPosition, CONST_ME_MAGIC_BLUE)
		return true
	end
	return false
end
It remove shiny stone when you use pick on it and give random item from list.

VERSION WITH EDITABLE NUMBER OF ITEMS
LUA:
local random_items = {{2148,50,100},{2152,5,10},{2145,1,2},{2160,1,1}} -- gold coin, platinum coin, small diamond, crystal coin
local shiny_stone_id = 11221 -- id of shiny stone

function onUse(cid, item, fromPosition, itemEx, toPosition)
	if((itemEx.uid <= 65535 or itemEx.actionid > 0) and isInArray({354, 355}, itemEx.itemid)) then
		doTransformItem(itemEx.uid, 392)
		doDecayItem(itemEx.uid)
		doSendMagicEffect(toPosition, CONST_ME_POFF)
		return true
	end

	if(itemEx.itemid == 7200) then
		doTransformItem(itemEx.uid, 7236)
		doSendMagicEffect(toPosition, CONST_ME_BLOCKHIT)
		return true
	end

	if(itemEx.itemid == shiny_stone_id) then
		local new_item = random_items[math.random(1, #random_items)]
		doPlayerAddItem(cid, new_item[1], math.random(new_item[2], new_item[3]), true)
		doRemoveItem(itemEx.uid)
		doSendMagicEffect(toPosition, CONST_ME_MAGIC_BLUE)
		return true
	end
	return false
end
 
Last edited:
Back
Top