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:
[/color]<?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 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