Ir para conteúdo

[Action] Mining


joaohd

Posts Recomendados

Este script foi desenvolvido inteiramente por mim, para uma equipe que, infelizmente, não deu continuidade ao trabalho. Então, estava mofando aqui e decidi postar para vocês. É uma action onde você pode minerar diferentes rochas e obter prêmios. Pode até não ser usado, mas considero que está bem interessante:

 

Vá em actions/scripts/tools e substitua o conteúdo do arquivo pick.lua por este:

 

function onUse(cid, item, fromPosition, itemEx, toPosition)

CreatureEventChecker = function(event, ...) -- Colex
if isCreature(arg[1]) or isCreature(arg[3]) or isCreature(arg[4]) then
	event(unpack(arg))
end
end

CreatureEvent = function(event, delay, ...) -- Colex
addEvent(CreatureEventChecker, delay, event, unpack(arg))
end


local txt = {"Crush", "Creeck", "Pihn", "Bosh"}
local effects = {2, 3, 9, 34, 44}
local tempo = 10

local rocks = {
[5619] = {
	rockProvides = {
		{rew = 2143, count = 1},
		{rew = 2144, count = 1},
		{rew = 5887, count = 1}},
	chance = 10},

[5866] = {
	rockProvides = {
		{rew = 5880, count = 1},
		{rew = 2225, count = 1},
		{rew = 2147, count = 1}},
	chance = 10},

[8740] = {
	rockProvides = {
		{rew = 2143, count = 1},
		{rew = 2145, count = 1},
		{rew = 5889, count = 1},
		{rew = 1294, count = 1}},
	chance = 10},

[8748] = {
	rockProvides = {
		{rew = 2225, count = 1},
		{rew = 5880, count = 1},
		{rew = 5888, count = 1},
		{rew = 8305, count = 1},
		{rew = 8299, count = 1}},
	chance = 10},

[5750]= {
	rockProvides = {
		{rew = 2225, count = 1},
		{rew = 5880, count = 1},
		{rew = 5888, count = 1}},
	chance = 10},

[8633] = {
	rockProvides = {
		{rew = 8300, count = 1},
		{rew = 8302, count = 1},
		{rew = 8306, count = 1},
		{rew = 2146, count = 1}},
	chance = 10},

[8634] = {
	rockProvides = {
		{rew = 10169, count = 1},
		{rew = 2177, count = 1},
		{rew = 2158, count = 1}},
	chance = 10},

[8635] = {
	rockProvides = {
		{rew = 8303, count = 1},
		{rew = 2156, count = 1},
		{rew = 2147, count = 1}},
	chance = 10},

[8636] = {
	rockProvides = {
		{rew = 2149, count = 1},
		{rew = 2155, count = 1}},
	chance = 10}

}

-- Blocos de encurtamento --
rocks[5867] = rocks[5866]
rocks[5868] = rocks[5866]
rocks[5920] = rocks[5619]
rocks[5921] = rocks[5619]
rocks[5922] = rocks[5619]
rocks[5923] = rocks[5619]
rocks[5924] = rocks[5619]
rocks[5622] = rocks[5619]
rocks[5623] = rocks[5619]
rocks[5751] = rocks[5750]
rocks[5752] = rocks[5750]
rocks[5753] = rocks[5750]
rocks[5754] = rocks[5750]
rocks[8741] = rocks[8740]
rocks[8742] = rocks[8740]
rocks[8743] = rocks[8740]
rocks[8749] = rocks[8748]
rocks[8750] = rocks[8748]
rocks[8751] = rocks[8748]
-------- fim blocos -------

	if rocks[itemEx.itemid] then

local provides = rocks[itemEx.itemid].rockProvides
local itemToGive = provides[math.random(#provides)]

		if not exhaustion.check(cid, 65866) then
			exhaustion.make(cid, 65866, tempo)
			doCreatureSetNoMove(cid, 1)
			for i = 1, tempo do
				if i ~= tempo then
					CreatureEvent(doSendMagicEffect, 1000*i, toPosition, effects[math.random(#effects)], cid)
					CreatureEvent(doSendAnimatedText, 1000*i, toPosition, txt[math.random(#txt)], math.random(255), cid)
				else
					if math.random(100) <= rocks[itemEx.itemid].chance then
						CreatureEvent(doCreatureSetNoMove, 1000*tempo, cid, 0)
						CreatureEvent(doPlayerAddItem, 1000*tempo, cid, itemToGive.rew,itemToGive.count)
						CreatureEvent(doPlayerSendTextMessage, 1000*tempo, cid, 25, "Você encontrou um ".. getItemNameById(itemToGive.rew) ..".")
					else
						CreatureEvent(doPlayerSendCancel, 1000*tempo, cid, "Você não conseguiu extrair nada.")
						CreatureEvent(doCreatureSetNoMove, 1000*tempo, cid, 0)
					end
				end
			end
		else
			doPlayerSendCancel(cid, "Você só pode escavar uma rocha por vez.")
		end

		elseif(itemEx.uid <= 65535 or itemEx.actionid > 0) and (itemEx.itemid == 354 or itemEx.itemid == 355) then
			doTransformItem(itemEx.uid, 392)
			doDecayItem(itemEx.uid)
			doSendMagicEffect(toPosition, CONST_ME_POFF)
	else
		doPlayerSendCancel(cid, "Sorry not possible.")
	end
return true
end

 

Salve e feche. Pronto. Sua pick agora pode minerar e também abrir os buracos normalmente.

 

 

flw

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...