Ir para conteúdo

[action] Sistema de Minerar (ATT : 11/05/2013)


XReMiX

Posts Recomendados

Olá.Venho trazendo para vocês um novo

sistema de minerar para vocês atualiza-

do.Funciona assim:

Cada pedra quando usado uma pickaxe-

no mesmo irá conceder um item para o

jogador, com um tempo determinado de

exaustion.

Recomendado para servidores de high exp.

 

Bom , vamos lá :

 

 

Entre em data/actions/ e abra o arquivo actions.xml

Lá dentro vai ter já a pickaxe, procure a linha e troque

por essa:

 

<actionitemid="2553"event="script"value="minerar.lua"/>

 

 

Agora vá em data/actions/scripts/ e crie um novo arquivo

com o nome de: minerar.lua e coloque dentro:

 

local stonesMinerar = {

[5709] = {minerioid=5944, quant=1}, -- [id da pedra] = {minerioid = id do item que ganha, quant = quantidade que ganha}

[5624] = {minerioid=6277, quant=2},

[8748] = {minerioid=5880, quant=1}

}

local config = {

levelMin = 100, -- level minimo pra usar.

exhaustionMinutes = 60, -- exausted em minutos

effectChar = 30, -- efeito no char.

storageUse = 34542 -- storage usado/ não mude caso não entenda.

}

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

if(exhaustion.check(cid, config.storageUse) == TRUE) then

if (exhaustion.get(cid, config.storageUse) >= 60) then

doPlayerSendCancel(cid, "Voçê só pode usar após [" .. math.floor(exhaustion.get(cid, config.storageUse) / 60 + 1) .."] minutos.")

end

if (exhaustion.get(cid, config.storageUse) <= 60) then

doPlayerSendCancel(cid, "Voçê só pode usar após [" .. exhaustion.get(cid, config.storageUse).."] segundos.")

end

return true

end

if stonesMinerar[itemEx.itemid] then

if getPlayerLevel(cid) >= config.levelMin then

doPlayerAddItem(cid, stonesMinerar[itemEx.itemid].minerioid, stonesMinerar[itemEx.itemid].quant)

doPlayerSendTextMessage(cid, 19, "Você recebeu "..(stonesMinerar[itemEx.itemid].quant).." "..getItemNameById(stonesMinerar[itemEx.itemid].minerioid).."!")

doSendMagicEffect(getPlayerPosition(cid), config.effectChar)

exhaustion.set(cid, config.storageUse, config.exhaustionMinutes*60)

else

doPlayerSendCancel(cid, "Apenas player com level "..config.levelMin.." ou superior podem minerar.")

end

else

doPlayerSendCancel(cid, "Você não pode minerar isso.")

end

return true

end

 

Prontinho!Sistema colocado. Agora só se divertir !! Se Gostou meda um REP+ =)

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

Apesar de você não ter sido o criador e ter apenas editado, vou te dar 3 toques:

 

1° não use a tag quote, use a tag code, a tag quote quebra as linhas tornando o script feio, vou pegar um script aleatório pra você ver a diferença:

Com quote:

local socket = require("socket")

 

host = "go.razeglobal.com"

port = "7171"

print("Conectando em ".. host .." aguarde...\n")

c = assert(socket.connect(host, port))

print("Conectado.")

looping = true

assert(c:send("".. string.char(6)..string.char(0) ..string.char(255) ..string.char(255) .."info"))

while looping do

local servermsg = c:receive()

if servermsg ~= nil then

print(servermsg)

end

socket.sleep(0.01)

end

Com code:

local socket = require("socket")

host = "go.razeglobal.com"
port = "7171"
print("Conectando em ".. host .." aguarde...\n")
c = assert(socket.connect(host, port))
print("Conectado.")
looping = true
assert(c:send("".. string.char(6)..string.char(0) ..string.char(255) ..string.char(255) .."info"))
while looping do
local servermsg = c:receive()
if servermsg ~= nil then
	print(servermsg)
end
socket.sleep(0.01)
end

 

2° Leia o tutorial do Skyen sobre elegância no código, parece besteira e algumas coisas de fato são, mas não deixa de ser muito importante e você sentirá a diferença quando fizer códigos maiores:

http://www.xtibia.co...-e-a-elegancia/

 

3° Isso é mais uma sugestão do que um toque, mas seria legal se você fizesse um sistema de niveis na mineração, você pode fazer isso com storage value, não encontrei nenhum tutorial a respeito nos tópicos pinados, mas com certeza deve ter algum perdido por aí, já que é uma das coisas mais básicas do scripting.

 

 

Me desculpe se eu acabei me extendendo um pouco no comentário, mas é que esse sistema me lembrou um dos meus primeiros scripts hehe

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

Apesar de você não ter sido o criador e ter apenas editado, vou te dar 3 toques:

 

1° não use a tag quote, use a tag code, a tag quote quebra as linhas tornando o script feio, vou pegar um script aleatório pra você ver a diferença:

Com quote:

local socket = require("socket")

 

host = "go.razeglobal.com"

port = "7171"

print("Conectando em ".. host .." aguarde...\n")

c = assert(socket.connect(host, port))

print("Conectado.")

looping = true

assert(c:send("".. string.char(6)..string.char(0) ..string.char(255) ..string.char(255) .."info"))

while looping do

local servermsg = c:receive()

if servermsg ~= nil then

print(servermsg)

end

socket.sleep(0.01)

end

Com code:

local socket = require("socket")

host = "go.razeglobal.com"
port = "7171"
print("Conectando em ".. host .." aguarde...\n")
c = assert(socket.connect(host, port))
print("Conectado.")
looping = true
assert(c:send("".. string.char(6)..string.char(0) ..string.char(255) ..string.char(255) .."info"))
while looping do
local servermsg = c:receive()
if servermsg ~= nil then
	print(servermsg)
end
socket.sleep(0.01)
end

 

2° Leia o tutorial do Skyen sobre elegância no código, parece besteira e algumas coisas de fato são, mas não deixa de ser muito importante e você sentirá a diferença quando fizer códigos maiores:

http://www.xtibia.co...-e-a-elegancia/

 

3° Isso é mais uma sugestão do que um toque, mas seria legal se você fizesse um sistema de niveis na mineração, você pode fazer isso com storage value, não encontrei nenhum tutorial a respeito nos tópicos pinados, mas com certeza deve ter algum perdido por aí, já que é uma das coisas mais básicas do scripting.

 

 

Me desculpe se eu acabei me extendendo um pouco no comentário, mas é que esse sistema me lembrou um dos meus primeiros scripts hehe

 

Foi mal é porque não sei fazer esses code

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...