Ir para conteúdo
Banner com Efeitos

Featured Replies

Postado

Olá galera,

venho trazer a vocês o StoneCraft system, um sisteminha com iniciativa mais para treino pessoal, mas que ficou bem legal.

Como este 1.0 ainda é simples, não está em mod, só é necessário um action.

Intro >

Vamos lá, o script serve para coletar pedras, no exemplo eu coloquei só algumas como, ancient stone, battle stone, que em meu server (Arcadia) eu usarei para complementar receitas e forjar items, agora vocês usem a criatividade.

é basicamente assim, você usa a pick em alguma pedra que está configurado em sua tabela, ficará usando até quebrar (configurado por breakChance, em porcentagem) a pedra. Quando quebrar você pode 'dropar' uma pedra ou não, depende da sua sorte (configurado por dropChance, em porcentagem). Caso não consiga dropar, vá para outra pedra e tente novamente sua sorte, ou espera a pedra voltar ao seu estado normal em tantos minutos (configurado por respawnTime, em minutos). Caso consiga dropar algo, será de acordo com sua sorte um dos items presentes na array drops da pedra quebrada.

O script é praticamente isso só, caso não entenda, pergunte.

Imagem >

1322188965-U4.png

Instalando >

Crie um arquivo lua em actions/scripts com o nome stonecraft.lua, e dentro ponha:


-- Name: StoneMining
-- Version: 1.0
-- Author: Renato Ribeiro
-- Official Forum: www.tibiaking.com
-- About Script: read in (http://tibiaking.com/forum/topic/8998-stonemining-system/) -> brazilian portuguese only
-- Read: GNU General Public License
function createItem(pos, itemid)
  doSendMagicEffect(pos, 34)
  doCreateItem(itemid, 1, pos)
  doSendMagicEffect(pos, 34)
end
function onUse(cid, item, fromPosition, itemEx, toPosition)
  stones = { -- time in minutes, chance in percent '%', drops separated by comma (virgula)
	[1285] = { breakChance = 35, respawnTime = 3, dropChance = 50, drops = {10549, 10549, 10549, 10549, 12403}},
	[3609] = { breakChance = 25, respawnTime = 7, dropChance = 30, drops = {10549, 10549, 12403}},
	[3608] = { breakChance = 25, respawnTime = 7, dropChance = 30, drops = {10549, 10549, 12403}},
	[3607] = { breakChance = 20, respawnTime = 7, dropChance = 30, drops = {10549, 10549, 12403}},
	[3616] = { breakChance = 15, respawnTime = 7, dropChance = 30, drops = {10549, 10549, 12403}},
	[3615] = { breakChance = 20, respawnTime = 7, dropChance = 20, drops = {10549, 10549, 10549, 13943, 13943, 11227, 11232}},
	[1356] = { breakChance = 20, respawnTime = 15, dropChance = 20, drops = {10549, 10549, 10549, 13943, 13943, 11227, 11232}},
	[1355] = { breakChance = 20, respawnTime = 15, dropChance = 20, drops = {10549, 10549, 10549, 13943, 13943, 11227, 11232}},
	[1357] = { breakChance = 20, respawnTime = 20, dropChance = 20, drops = {10549, 10549, 13943, 13943, 11227, 11232}},
	[1358] = { breakChance = 20, respawnTime = 20, dropChance = 15, drops = {10549, 13943, 13943, 11227, 11232}},
	[1359] = { breakChance = 20, respawnTime = 25, dropChance = 15, drops = {13943, 11227, 11232}}
  }
  if isInArray({0, 65535}, toPosition.x) then
	return false
  elseif stones[itemEx.itemid] then
	stoneEx = stones[itemEx.itemid]
	if (math.random(1, 100) < stoneEx.breakChance) then
	  doRemoveItem(getTileItemById(toPosition, itemEx.itemid).uid)
	  addEvent(createItem, stoneEx.respawnTime * 60000, toPosition, itemEx.itemid)
	  if (math.random(1, 100) < stoneEx.dropChance) then
		itemDrop = stoneEx.drops[math.random(1, #stoneEx.drops)]
		doPlayerAddItem(cid, itemDrop)
		doSendMagicEffect(toPosition, 12)
		return doPlayerSendCancel(cid, "Your craft sucess, you found " .. getItemArticleById(itemDrop) .. " " .. getItemNameById(itemDrop) ..".")
	  else
		doSendMagicEffect(toPosition, 9)
		return doPlayerSendCancel(cid, "Your craft sucess, but they found nothing.")
	  end	
	else
	  doSendMagicEffect(toPosition, 2)
	  return doPlayerSendCancel(cid, "Your craft fail, try again.")
	end
  else
	return doPlayerSendCancel(cid, "You must craft in a specially stone.")
  end
end
[/code]




[b]Agora vá em actions/actions.xml e ponha:[/b]

[code]
<action itemid="2553" event="script" value="stonecraft.lua">

Adicionando novas pedras >

Siga o exemplo da tabela:

Assim: [iD_DA_PEDRA] = { breakChance = CHANCE_DE_QUEBRAR_A_PEDRA, respawnTime = MINUTOS_PARA_RESPAWN_DA_PEDRA, dropChance = CHANCE_DE_DROPAR_ALGUM_ITEM, drops = {ITEMS_QUE_DROPAM, SEPARADOS_POR_VIRGULA}},

Ficará: [3609] = { breakChance = 25, respawnTime = 7, dropChance = 30, drops = {10549, 10549, 12403}},

Script Funcionando

Testado em: Crystal Server 0.1.5, e TFS 0.4

--

Até a próxima, estou desenvolvento um sistema para fusão de summons (: aguardem!

Abraços.</action>

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo