XReMiX 3 Postado Maio 12, 2013 Share Postado Maio 12, 2013 (editado) 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 Maio 12, 2013 por XReMiX Link para o comentário https://xtibia.com/forum/topic/214218-action-sistema-de-minerar-att-11052013/ Compartilhar em outros sites More sharing options...
Roksas 846 Postado Maio 12, 2013 Share Postado Maio 12, 2013 Devidos créditos por favor... http://homologacao.xtibia.com/forum/topic/190264-ajuda-rapido/ Uma dúvida já foi criada com isto, você não é o criador. Link para o comentário https://xtibia.com/forum/topic/214218-action-sistema-de-minerar-att-11052013/#findComment-1519807 Compartilhar em outros sites More sharing options...
XReMiX 3 Postado Maio 12, 2013 Autor Share Postado Maio 12, 2013 Eu não criei , apenas editei! Link para o comentário https://xtibia.com/forum/topic/214218-action-sistema-de-minerar-att-11052013/#findComment-1519829 Compartilhar em outros sites More sharing options...
Eventide 23 Postado Maio 15, 2013 Share Postado Maio 15, 2013 (editado) 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 Maio 15, 2013 por Eventide Link para o comentário https://xtibia.com/forum/topic/214218-action-sistema-de-minerar-att-11052013/#findComment-1520883 Compartilhar em outros sites More sharing options...
XReMiX 3 Postado Maio 15, 2013 Autor Share Postado Maio 15, 2013 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 https://xtibia.com/forum/topic/214218-action-sistema-de-minerar-att-11052013/#findComment-1520891 Compartilhar em outros sites More sharing options...
Posts Recomendados