Ir para conteúdo

Sistema De Mineração V0.2


DeadKennedy

Posts Recomendados

Gostaria de começar com um apelo!

PAREM DE COLOCAR % NOS CRÉDITOS!!!

QUEM DECIDE ISSO É QUEM LÊ OU APROVA O TUTORIAL!!!

90% DAS PESSOAS COLOCAM OS CRÉDITOS TUDO TORTO, ESTRANHO E IRREAL!

Que coisa :mad:



Sistema de Mineração By KingCPI v0.1

Resolvi fazer a minha maneira! Qualquer sujestão postem que eu irei atualizar!!!

Vamos ao que interessa...

 

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

 

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

Obs: em vermelho é o id da dwarven pickaxe.

 

Depois de

<?xml version="1.0"?>

<actions>

 

 

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 amarelo: chance de dar os referidos itens.

 

 

Gostaram???

Espero que sim!!

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

Saliento que o script é diferente do script do D@ark, pois o dele se dava use direto na pedra, e o meu é a pick na parede de cave.

 

Até +

:hi:

Editado por KingCPI
Link para o comentário
Compartilhar em outros sites

  • Respostas 30
  • Created
  • Última resposta

Top Posters In This Topic

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

Vá até o arquivo actions.xml e adicione isto

 

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

 

Um pequeno erro, o correto eu acho que seria:

 

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

 

Fora isto está perfeito, muito bom.

Parabéns :D

Link para o comentário
Compartilhar em outros sites

@KingCPI

Eu fiz um sistema de alquimia e outros baseados nesse seu, mas mesmo mudando o addSkill() e os nomes mais abaixo ainda aparece "You advanced in mining"

 

Eu acho que é por causa disto

skillid = 15895

 

Pode me ajudar?

Link para o comentário
Compartilhar em outros sites

@_ferrari_

Cara, que legal!

Eu ia inventa isso ae quando terminasse meu Ot :p

Bem... olhe na function addSkill.

Tem algo escrito assim:

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

 

Axo que serve né :p

 

Ateh +

e posta ai esse script que eu to ancioso :D

 

:hi:

Link para o comentário
Compartilhar em outros sites

Valew galera!

Usem a vontade!!!

 

@Conde Sapo

Valew por coplementar minha resposta!

 

@_ferrari_

Bem...

O Storage que está ali é do mining. Mude pra qualquer um e

mude a parte do "mining skill".

 

Bye

:hi:

Link para o comentário
Compartilhar em outros sites


×
×
  • Criar Novo...