Ir para conteúdo

[Recuperando] Sistema Mineração


XJhoow

Posts Recomendados

Primeiramente, este tuto eu estou recuperando do XTibia, ele deu problema, e muita gente usa, então só estou botando denovo, ele é totalemente do King CPI, eu só mudei as fontes, arrumei erros gramaticais, tirei coisas desnecessárias, deixei cores mais visíveis, etc..

Vamos lá:

 

Apartir de agora é ele que fala:

 

Sistema de Mineração By KingCPI v0.1

 

Como funciona??

Você precisa de uma dwarven pickaxe(id:4874). (Clique na pick e clique na parede da caverna.)

As paredes são os item2.itemid.

Ao conseguir 1 item ele fala um som diferente de quando não consegue nada.

Pro exhausted funcionar nessecita do OtScript.lib 0.1 ou superior.

 

1º passo:

Crie um arquivo na pasta data/actions/scripts com o nome de minerando.lua

Vá até o arquivo actions.xml e adicione isto:[/size]

 

<action itemid="4874" script="minerando.lua" />

Obs: em vermelho é o id da dwarven pickaxe.

 

Depois de:

<?xml version="1.0"?>

<actions>

[/color]

 

 

2º passo:

Volte ao arquivo mineracao.lua.

Abra-o, delete TUDO que tem dentro e coloque isto:

 

--==--Sistema de Mineração By KingCPI--==--

function onUse(cid, item, frompos, item2, topos)

 

difskill = 200 --Dificuldade do skill(quanto maior mais dificil)

dif =600 --Dificuldade

skillid = 15895

 

-- Minerando pedras preciosas

smallrand = math.random(1, 10)

if smallrand == 1 then

smallpremio = 2145 -- Small Diamond

elseif smallrand == 2 or smallrand == 3 then

smallpremio = 2146 -- Small Sapphire

elseif smallrand == 4 or smallrand == 5 then

smallpremio = 2147 -- Small Ruby

elseif smallrand == 6 or smallrand == 7 then

smallpremio = 2149 -- Small Emerald

else

smallpremio = 2150 -- Small Amethysh

end

 

-- Minerando Gems

gemrand = math.random(1, 5)

if gemrand == 1 then

gempremio = 2153 -- Violet Gem

elseif gemrand == 2 then

gempremio = 2154 -- Yellow Gem

elseif gemrand == 3 then

gempremio = 2155 -- Big Emerald

elseif gemrand == 4 then

gempremio = 2156 -- Big Ruby

else

gempremio = 2158 -- Blue Gem

end

 

--Minerando Porcarias

porcrand = math.random(1,3)

if porcrand == 1 then

porcpremio = 1293 -- Stone

elseif porcrand == 2 then

porcpremio = 1294 -- Small Stone

else

porcpremio = 1295 -- Stone

end

 

-- Minerando coisas legais

lglrand = math.random(1, 4)

if lglrand == 1 then

lglpremio = 2320 -- Skull

elseif lglrand == 2 then

lglpremio = 2151 -- Talon

elseif lglrand == 3 then

lglpremio = 2225 -- Piece of Iron

else

lglpremio = 2260 -- Blank Rune

end

 

rand = math.random(1, dif)

if item2.itemid == 356 or

item2.itemid == 357 or

item2.itemid == 358 or

item2.itemid == 359 or

item2.itemid == 360 or

item2.itemid == 361 or

item2.itemid == 362 or

item2.itemid == 363 or

item2.itemid == 364 or

item2.itemid == 365 or

item2.itemid == 366 or

item2.itemid == 367 or

item2.itemid == 371 or

item2.itemid == 372 or

item2.itemid == 373 or

item2.itemid == 374 or

item2.itemid == 375 or

item2.itemid == 376 or

item2.itemid == 378 or

item2.itemid == 379 or

item2.itemid == 380 or

item2.itemid == 381 or

item2.itemid == 382 then

 

if rand <= 50 then

doSendAnimatedText(topos,'Tck',210)

doSendMagicEffect(topos,3)

pedra = doPlayerAddItem(cid,porcpremio,1)

doSetItemSpecialDescription(pedra, "Minerado por "..getPlayerName(cid)..".")

AddSkill(cid,skillid,2)

elseif rand >50 and rand <= 70 then

doSendAnimatedText(topos,'Tuk',210)

doSendMagicEffect(topos,3)

pedra = doPlayerAddItem(cid,lglpremio,1)

doSetItemSpecialDescription(pedra, "Minerado por "..getPlayerName(cid)..".")

AddSkill(cid,skillid,2)

elseif rand >70 and rand <= 80 then

doSendAnimatedText(topos,'Tnk',210)

doSendMagicEffect(topos,3)

pedra = doPlayerAddItem(cid,smallpremio,1)

doSetItemSpecialDescription(pedra, "Minerado por "..getPlayerName(cid)..".")

AddSkill(cid,skillid,2)

elseif rand >80 and rand <= 85 then

doSendAnimatedText(topos,'Tnk',210)

doSendMagicEffect(topos,3)

pedra = doPlayerAddItem(cid,gempremio,1)

doSetItemSpecialDescription(pedra, "Minerado por "..getPlayerName(cid)..".")

AddSkill(cid,skillid,2)

else

doSendAnimatedText(topos,'Tin',210)

doSendMagicEffect(topos,2)

AddSkill(cid,skillid,1)

end

end

end

--==--By Conde Sapo--==--

function AddSkill(cid,num,skill)

skill = getPlayerStorageValue(cid,num)

if skill > 59 then

coef = 1600

else

coef = 1000

end

-- É primeiro skill ???

if skill < 0 then skill = 0 end

Valor = difskill + (skill * 10)

if skill + valor + rand <= coef then

skill = skill + 1

setPlayerStorageValue(cid,num,skill)

if skill < 100 then

doPlayerSendTextMessage(cid,22,"You advanced in smithing ("..skill..").")

else

doPlayerSendTextMessage(cid,4,"Congratulations!!You advanced to last skill of smithing (100).")

end

end

end

 

*Altere como quiser*

Em azul: dificuldade

Em rosa: o storage value do skill

Em vermelho: itens que serão dados como prêmio

Em roxo: chance de dar os referidos itens.[/color]

 

 

Gostaram???

Espero que sim!!

Lembrando que esta é apenas a 1ª versão da mineração, qualquer dúvida, sugestão, ou critica POSTEM!

Até +

:hi:

 

Agora sou eu XJhoow

 

Eu gostei do script, espero que gostem também.. valeu ;)

Link para o comentário
Compartilhar em outros sites

  • 4 months later...

pq aki em casa deu esse erro ai ?

fiz tudo certinho!..

 

[23/10/2010 04:39:56] [Error - Action Interface]

[23/10/2010 04:39:56] data/actions/scripts/mineracao.lua:onUse

[23/10/2010 04:39:56] Description:

[23/10/2010 04:39:56] data/actions/scripts/mineracao.lua:125: attempt to perform arithmetic on global 'valor' (a nil value)

[23/10/2010 04:39:56] stack traceback:

[23/10/2010 04:39:56] data/actions/scripts/mineracao.lua:125: in function 'AddSkill'

[23/10/2010 04:39:56] data/actions/scripts/mineracao.lua:110: in function <data/actions/scripts/mineracao.lua:2>

Link para o comentário
Compartilhar em outros sites

  • 2 months later...
  • 2 weeks later...
×
×
  • Criar Novo...