Ir para conteúdo

Jnetworks

Membro
  • Registro em

  • Última visita

Tudo que Jnetworks postou

  1. Tente assim, function onUse(cid, item, frompos, item2, topos) local StorageExaust = 722404 -- Mude Aqui caso queira trocar a storage. local Time = 120 -- Valores em segundos que ele terá que esperar. if getPlayerStorageValue(cid, StorageExaust) > os.time() then doPlayerSendCancel(cid, "Você não pode usar este item agora.") return true end local rand = math.random(1, 100) if item.itemid == 11253 and item.actionid == 45492 then if getPlayerStorageValue(cid, 45490) <= 0 then return doPlayerSendCancel(cid, "Speak with Sandomo to use this item.") else if rand > 25 then doTransformItem(item.uid, 12688) doDecayItem(item.uid) doCreateMonster("guzzlemaw", getCreaturePosition(cid), false, true); doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "You ransack the pile but fail to find any useful parts."); doSendMagicEffect(topos, CONST_ME_MAGIC_RED) setPlayerStorageValue(cid, StorageExaust, os.time() + Time) else doTransformItem(item.uid, 12688) doDecayItem(item.uid) local stor = getPlayerStorageValue(cid, 45491) + 1 setPlayerStorageValue(cid, 45491, stor) doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Amidst the pile of various bones you find a large, hollow part, similar to a pipe."); doSendMagicEffect(topos, CONST_ME_MAGIC_GREEN) setPlayerStorageValue(cid, StorageExaust, os.time() + Time) end end elseif item.itemid == 12688 and item.actionid == 45492 then return doCreatureSay(cid, "Wait 2 minutes to use a pile.", TALKTYPE_ORANGE_1, false, 0, getCreaturePosition(cid)) end return true end
  2. Estava pensando em codar ele no tfs 1.3 para volta a lembrar dos anos que passei naquele servidor, me adiciona no discord se eu poder te ajudar em algo Henrique Matheus#7103
  3. up luascript.cpp: In static member function ‘static int32_t LuaInterface::luaGetPlayerLastPing(lua_State*)’: luascript.cpp:11214: error: unused variable ‘timeNow’
  4. Top, so podia ser da equipa da Jnetworks
  5. Antipush o melhor, tanto que faz parte da nossa equipe, a melhor equipe
  6. para adicionar autoloot gold basta digitar !autoloot gold, o dinheiro vai para seu banco!
  7. Posso sim, entrem em contato comigo 75 9 8842-7063
  8. Podemos te ajudar sim, nos mande mensagem privado!
  9. Esse script e 0.4 amigo!
  10. Segue script pedido! em Lib crie um arquivo chamado KilluaRaidSystem2.0.lua e adicione o seguinte script: killuaRaids = {} killuaRaids.raids = { {name = "Aladdins", city = "Tanoris", monsters = {"Aladdin"}, fromTo = { {{x=39010,y=38930,z=7},{x=39045,y=38933,z=7}},{{x=39010,y=38930,z=7},{x=39012,y=38950,z=7}}, {{x=38987,y=38946,z=7},{x=39039,y=38950,z=7}}, {{x=39032,y=38952,z=7},{x=39034,y=38976,z=7}} } }, {name = "Escaravelhos", city = "Real City", monsters = {"Escaravelho"}, fromTo = { {{x=153,y=29,z=7},{x=162,y=41,z=7}},{{x=179,y=18,z=7},{x=193,y=24,z=7}}, {{x=141,y=61,z=7},{x=172,y=63,z=7}}, {{x=181,y=59,z=7},{x=197,y=63,z=7}}, {{x=206,y=36,z=7},{x=214,y=44,z=7}}, {{x=133,y=37,z=7},{x=153,y=40,z=7}}, {{x=100,y=58,z=7},{x=107,y=63,z=7}}, {{x=77,y=35,z=7},{x=107,y=37,z=7}}, {{x=102,y=3,z=7},{x=107,y=11,z=7}} } }, {name = "Ghalapagos", city = "Real City", monsters = {"Ghalapago"}, fromTo = { {{x=153,y=29,z=7},{x=162,y=41,z=7}},{{x=179,y=18,z=7},{x=193,y=24,z=7}}, {{x=141,y=61,z=7},{x=172,y=63,z=7}}, {{x=181,y=59,z=7},{x=197,y=63,z=7}}, {{x=206,y=36,z=7},{x=214,y=44,z=7}}, {{x=133,y=37,z=7},{x=153,y=40,z=7}}, {{x=100,y=58,z=7},{x=107,y=63,z=7}}, {{x=77,y=35,z=7},{x=107,y=37,z=7}}, {{x=102,y=3,z=7},{x=107,y=11,z=7}} } }, {name = "Ghalapagos", city = "Donate City", monsters = {"Ghalapago"}, fromTo = { {{x=8170,y=3824,z=6},{x=8177,y=3828,z=6}}, {{x=8174,y=3819,z=6},{x=8173,y=3797,z=6}}, {{x=8176,y=3808,z=6},{x=8239,y=3809,z=6},{x=8237,y=3811,z=6},{x=8238,y=3829,z=6}}, {{x=8236,y=3828,z=6},{x=8220,y=3829,z=6}}, {{x=8209,y=3829,z=6},{x=8217,y=3836,z=6}}, {{x=8209,y=3827,z=6},{x=8186,y=3826,z=6}} } }, {name = "Escaravelhos", city = "Donate City", monsters = {"Escaravelho"}, fromTo = { {{x=8170,y=3824,z=6},{x=8177,y=3828,z=6}}, {{x=8174,y=3819,z=6},{x=8173,y=3797,z=6}}, {{x=8176,y=3808,z=6},{x=8239,y=3809,z=6},{x=8237,y=3811,z=6},{x=8238,y=3829,z=6}}, {{x=8236,y=3828,z=6},{x=8220,y=3829,z=6}}, {{x=8209,y=3829,z=6},{x=8217,y=3836,z=6}}, {{x=8209,y=3827,z=6},{x=8186,y=3826,z=6}} } }, {name = "Aladdins", city = "Donate City", monsters = {"Aladdin"}, fromTo = { {{x=8170,y=3824,z=6},{x=8177,y=3828,z=6}}, {{x=8174,y=3819,z=6},{x=8173,y=3797,z=6}}, {{x=8176,y=3808,z=6},{x=8239,y=3809,z=6},{x=8237,y=3811,z=6},{x=8238,y=3829,z=6}}, {{x=8236,y=3828,z=6},{x=8220,y=3829,z=6}}, {{x=8209,y=3829,z=6},{x=8217,y=3836,z=6}}, {{x=8209,y=3827,z=6},{x=8186,y=3826,z=6}} } }, } killuaRaids.messages = { "Uma legião de @ está invadindo #, corram para proteger a cidade!", "Um grupo de @ foi visto adentrando #, é uma invasão!", "@ estão invadindo #, corram para salvar a cidade!" } killuaRaids.sort = function() return killuaRaids.raids[math.random(#killuaRaids.raids)] end killuaRaids.warn = function(message,times) local time = times - 1 if time == 0 then return end doBroadcastMessage(message) addEvent(killuaRaids.warn,10000,message,time) end killuaRaids.summon = function(raid,times) local time = times - 1 if time == 0 then return end local fromTo = raid.fromTo[math.random(#raid.fromTo)] local position = {x = math.random(fromTo[1].x, fromTo[2].x), y = math.random(fromTo[1].y, fromTo[2].y), z = fromTo[1].z} doCreateMonster(raid.monsters[math.random(#raid.monsters)],position) doSendMagicEffect(position,CONST_ME_FIREAREA) addEvent(killuaRaids.summon,500,raid,time) end killuaRaids.start = function(raid) killuaRaids.warn(killuaRaids.messages[math.random(#killuaRaids.messages)]:gsub("@",raid.name):gsub("#",raid.city),10) killuaRaids.summon(raid,1000) end Na tag killuaRaids.raids você configura com nome da invasão, cidade, e monstro que quer, logo apos em fromTo você configura as positions em x,y,z! em globalevents.xml adicione a seguinte tag: <globalevent name="killuaRaids" time="10:00" event="script" value="killuaRaidSystem2.0.lua"/> Em time="10:00" e o horário que você quer que a invasão aconteça! em globalevents/scripts crie um arquivo chamado KilluaRaidSystem2.0.lua e adicione o seguinte script: function onTime() local random = math.random(12) addEvent(killuaRaids.start,random*3600000,killuaRaids.raids[math.random(#killuaRaids.raids)]) return true end Apos tudo configurado, divirta-se! Quaisquer bug, me deixe saber estou feliz em te ajudar! Atenciosamente, JNetworks.
  11. Jnetworks respondeu ao post em um tópico de Thalles Novais em Suporte Tibia OTServer
    Boa noite amigão! para que você possa fazer o seu servidor rodar 100% basta seguir o tópico que esse rapaz a cima sugeriu , ou então você pode olhar o topico do natan, que chama "instalando servidor em debian perfeito" mais obvio que teria que formatar sua vps, mais ante mão te digo que terás que ter a source do seu servidor, para poder compilar ela novamente em linux. o site você pode joga-lo em /var/www/ ou /var/www/html dependendo do seu sistema operacional! e como você disse que ta começando agora em linux eu te digo logo! veja se sua plataforma está em linux, porque se não terás muito problema, porque linux e bem frescurento! se tu tiver 1 script que na tag esteja doSaveServer.lua e o script esteja com nome dosaveserver.lua tudo minusculo não irá funcionar apenas com as caracters exatas. Caso ainda tenha duvida me deixe saber, Nós da equipe JNetworks, instalamos seu servidor totalmente grátis se a contratação do vps/cloud/dedicado for na nossa empresa e apartir de 3gb de ram!
  12. Se entendi bem, você pode criar um instalador pro teu cliente, assim facilitaria! ou fazer a opção do rapaz acima, comprimir em zip ou rar ficaria bem melhor! qualquer duvida me deixe saber para te ajudar!
  13. Jnetworks respondeu ao post em um tópico de darcio master em Suporte Tibia OTServer
    Tente assim amigão! function onThink() local tab = {-- Siga o exemplo: --[hora] = {id do item, quantidade}, [1] = {2160, 10}, [2] = {2160, 20}, } for k, v in pairs(getOnlinePlayers()) do for i = #tab, 0 do -- 1 = hora inicial para receber, caso mudar acima, mudar aqui também if tab[i] and (os.time() - getCreatureStorage(cid, 5412) / 60*60) > i then doPlayerAddItem(k, tab[i][1], tab[i][2]) if tab[i] == tab[#tab] and (os.time() - getCreatureStorage(cid, 5412) / 60*60) > i then doCreatureSetStorage(cid, 5412, os.time()) end return true end end end return true end Duvidas? me deixe saber para te ajudar se não me engano esse script verifica as pessoas online e da 1 premio a cada um correto?
  14. Olá amigo desculpe a demora de responder, você instalou o login.lua corretamente?
  15. Jnetworks respondeu ao post em um tópico de Esbuma em Suporte Tibia OTServer
    Agradeço pela preferencia pyetro, estarei sempre aqui! Então pessoal, nós da jnetworks focamos mais em OTServer, então se tiverem alguma duvida pode me chamar no chat! Jnetworks.com.br
  16. Opa, mano tranquilo, está dando algum erro no distro? se sim me deixe saber pra te ajudar:)
  17. @KotZletY creditos adicionados!
  18. Como você vai abrir 1 mapa baiak, os mapas baiak tendem a ter 30~60mb te aconselho a começar com 1 maquina de 4gb de ram, processador 3,4, onde você vai conseguir ai seus 180 players limpo sem lag! dependendo da distro e do servidor é claro! Tem mais alguma duvida? me deixe saber! estou aqui pra te ajudar.
  19. Olá amigo, uma qual peso do seu servidor? qual servidor é baiak? global? está com duvidas em windows ou linux? nós da JNetworks instalamos seu servidor Gratis, apos a contratação de algum plano acima de 3gb, e te explicamos e sanamos todas suas duvidas. Tem mais alguma duvida? estou aqui pra te ajudar, se tem me deixa saber!
  20. Jnetworks respondeu ao post em um tópico de Yota em Suporte Tibia OTServer
    Qual Source está tentando compila? quais comandos está usando? qual sistema operacional? estou aqui pra te ajudar
  21. Olá amigo, boa noite! OTServer usa 1 core sim! para 250 jogadores. te aconselho a contratar um Cloud Dedicado de 8 GB de ram, se ouver OTx é claro! se tiver mais duvidas me procure: Jnetworks.com.br
  22. Olá pessoal tudo bem? sou novo aqui no fórum, mais vou tentar ajudar um pouco com meu conhecimento Hoje estarei trazendo para vocês um script que todos tem vontade de ter(eu acho) HUAHAUHAUH quando você entra naquele baiak e digita !autoloot e ve aquele scriptzão de pega loot e fica com vontade de ter, hoje estarei trazendo ele aqui pra vocês: Primeiramente o sistema é contido em 3 arquivos(Talkactions,creaturescripts,login.lua) Vamos começar pelo talkactions! Em talkactions.xml adicione a seguinte tag: <talkaction words="!autoloot" event="script" value="Auto Loot.lua"/> Agora vá na pasta talkactions/scripts e crie 1 arquivo chamado Auto Loot.lua e nele adicione o seguinte codigo: function ExistItemByName(name) -- by vodka local items = io.open("data/items/items.xml", "r"):read("*all") local get = items:match('name="' .. name ..'"') if get == nil or get == "" then return false end return true end local function getPlayerList(cid) local tab = {} if getPlayerStorageValue(cid, 04420021) ~= -1 then table.insert(tab, getPlayerStorageValue(cid, 04420021)) end if getPlayerStorageValue(cid, 04420031) ~= -1 then table.insert(tab, getPlayerStorageValue(cid, 04420031)) end if getPlayerStorageValue(cid, 04420041) ~= -1 then table.insert(tab, getPlayerStorageValue(cid, 04420041)) end if getPlayerStorageValue(cid, 04420051) ~= -1 then table.insert(tab, getPlayerStorageValue(cid, 04420051)) end if #tab > 0 then return tab end return false end local function addToList(cid, name) local itemid = getItemIdByName(name) if getPlayerList(cid) and isInArray(getPlayerList(cid), itemid) then return false end if getPlayerStorageValue(cid, 04420021) == -1 then return doPlayerSetStorageValue(cid, 04420021, itemid) elseif getPlayerStorageValue(cid, 04420031) == -1 then return doPlayerSetStorageValue(cid, 04420031, itemid) elseif getPlayerStorageValue(cid, 04420041) == -1 then return doPlayerSetStorageValue(cid, 04420041, itemid) elseif getPlayerStorageValue(cid, 04420051) == -1 then return doPlayerSetStorageValue(cid, 04420051, itemid) end end local function removeFromList(cid, name) local itemid = getItemIdByName(name) if getPlayerStorageValue(cid, 04420021) == itemid then return doPlayerSetStorageValue(cid, 04420021, -1) elseif getPlayerStorageValue(cid, 04420031) == itemid then return doPlayerSetStorageValue(cid, 04420031, -1) elseif getPlayerStorageValue(cid, 04420041) == itemid then return doPlayerSetStorageValue(cid, 04420041, -1) elseif getPlayerStorageValue(cid, 04420051) == itemid then return doPlayerSetStorageValue(cid, 04420051, -1) end return false end function onSay(cid, words, param) if param == "" then local fi = getPlayerStorageValue(cid, 04420021) ~= -1 and getItemNameById(getPlayerStorageValue(cid, 04420021)) or "" local se = not vip.hasVip(cid) and "Não disponível para free account" or getPlayerStorageValue(cid, 04420031) ~= -1 and getItemNameById(getPlayerStorageValue(cid, 04420031)) or "" local th = not vip.hasVip(cid) and "Não disponível para free account" or getPlayerStorageValue(cid, 04420041) ~= -1 and getItemNameById(getPlayerStorageValue(cid, 04420041)) or "" local fo = not vip.hasVip(cid) and "Não disponível para free account" or getPlayerStorageValue(cid, 04420051) ~= -1 and getItemNameById(getPlayerStorageValue(cid, 04420051)) or "" local stt = getPlayerStorageValue(cid, 04421011) == 1 and "sim" or "não" local str = getPlayerStorageValue(cid, 04421001) == 1 and "sim" or "não" doPlayerPopupFYI(cid, "{Auto-Loot} ---Menu Auto Loot do jogador\n{Auto-Loot} ----------------\n{Auto-Loot} ---Coletar dinheiro: "..stt..". Para ligar/desligar: !autoloot gold \n{Auto-Loot} ---Coletar itens únicos: "..str..". Para ligar/desligar: !autoloot power\n{Auto-Loot} --Configuração dos slots:\n{Auto-Loot} ---Slot 1: "..fi.."\n{Auto-Loot} ---Slot 2: "..se.."\n{Auto-Loot} ---Slot 3: "..th.."\n{Auto-Loot} ---Slot 4: "..fo.."\n{Auto-Loot} ---Para adicionar um novo item aos slots: !autoloot add, <nome do item>\n{Auto-Loot} ---Para retirar um item dos slots: !autoloot remove, <nome do item>\n{Auto-Loot} ---Para limpar todos os slots utilize: !autoloot clear\n{Auto-Loot} ---Para informações de quanto você já fez utilizando a coleta de dinheiro, use: !autoloot goldinfo\n\nSe seu autoloot bugar use !autoloot desbug\n\n{Auto-Loot} ----------------") return true end local t = string.explode(param, ",") if t[1] == "power" then local check = getPlayerStorageValue(cid, 04421001) == -1 and "ligou" or "desligou" doPlayerSetStorageValue(cid, 04421001, getPlayerStorageValue(cid, 04421001) == -1 and 1 or -1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Você "..check.." o auto loot.") elseif t[1] == "gold" then local check = getPlayerStorageValue(cid, 04421011) == -1 and "ligou" or "desligou" doPlayerSetStorageValue(cid, 04421011, getPlayerStorageValue(cid, 04421011) == -1 and 1 or -1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Você "..check.." a coleta de dinheiro.") doPlayerSetStorageValue(cid, 04421021, 0) elseif t[1] == "goldinfo" then local str = getPlayerStorageValue(cid, 04421011) == -1 and "O sistema de coleta de dinheiro está desligado" or "O sistema já coletou "..getPlayerStorageZero(cid, 04421021).." gold coins" doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, str) elseif t[1] == "add" then if ExistItemByName(t[2]) then local item = getItemIdByName(t[2]) if isInArray({2160, 2148, 2152}, item) then return doPlayerSendCancel(cid, "Você não pode adicionar moedas no autoloot. Para coletar dinheiro use !autoloot gold") end if vip.hasVip(cid) then if getPlayerStorageValue(cid, 04420011) < 3 then if addToList(cid, t[2]) then doPlayerSetStorageValue(cid, 04420011, getPlayerStorageValue(cid, 04420011) + 1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, t[2].." adicionado à sua lista do auto loot! Para ver sua lista diga !autoloot list") else doPlayerSendCancel(cid, t[2].." já está em sua lista!") end else doPlayerSendCancel(cid, "Sua lista já tem 4 itens! Você deve remover algum antes de adicionar outro.") end else if getPlayerStorageValue(cid, 04420011) == -1 then if addToList(cid, t[2]) then doPlayerSetStorageValue(cid, 04420011, getPlayerStorageValue(cid, 04420011) + 1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, t[2].." adicionado à sua lista do auto loot! Para ver sua lista diga !autoloot") else doPlayerSendCancel(cid, t[2].." já está em sua lista!") end else doPlayerSendCancel(cid, "Você já tem um item adicionado no auto loot! Para adicionar outro, você deve remover o item atual.") end end else doPlayerSendCancel(cid, "Este item não existe!") end elseif t[1] == "remove" then if ExistItemByName(t[2]) then if removeFromList(cid, t[2]) then doPlayerSetStorageValue(cid, 04420011, getPlayerStorageValue(cid, 04420011) - 1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, t[2].." removido da sua lista do auto loot!") else doPlayerSendCancel(cid, "Este item não está na sua lista!") end else doPlayerSendCancel(cid, "Este item não existe!") end elseif t[1] == "clear" then if getPlayerStorageValue(cid, 04420011) > -1 then doPlayerSetStorageValue(cid, 04420011, -1) doPlayerSetStorageValue(cid, 04420021, -1) doPlayerSetStorageValue(cid, 04420031, -1) doPlayerSetStorageValue(cid, 04420041, -1) doPlayerSetStorageValue(cid, 04420051, -1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Lista limpa!") else doPlayerSendCancel(cid, "Sua lista ja esta limpa!") end elseif t[1] == "desbug" or t[1] == "desbugar" then doPlayerSetStorageValue(cid, 04420011, -1) doPlayerSetStorageValue(cid, 04420021, -1) doPlayerSetStorageValue(cid, 04420031, -1) doPlayerSetStorageValue(cid, 04420041, -1) doPlayerSetStorageValue(cid, 04420051, -1) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Desbugado!") elseif t[1] == "list" then local fi = getPlayerStorageValue(cid, 04420021) ~= -1 and ""..getItemNameById(getPlayerStorageValue(cid, 04420021)).."\n" or "" local se = getPlayerStorageValue(cid, 04420031) ~= -1 and ""..getItemNameById(getPlayerStorageValue(cid, 04420031)).."\n" or "" local th = getPlayerStorageValue(cid, 04420041) ~= -1 and ""..getItemNameById(getPlayerStorageValue(cid, 04420041)).."\n" or "" local fo = getPlayerStorageValue(cid, 04420051) ~= -1 and ""..getItemNameById(getPlayerStorageValue(cid, 04420051)).."\n" or "" doPlayerPopupFYI(cid, "O sistema auto loot está coletando:\n "..fi..""..se..""..th..""..fo) end return true end Lembrando esse script libera dois slots de autoloot pra free account e quatro slots para vip account, o sistema configurado nele é o vipSystemByMock caso use um script diferente basta alterar função vip.hasVip(cid) Vamos continuar? Próximo passo vamos adicionar o creaturescripts! Na pasta creaturescripts, abra o creaturescripts.xml e adicione a seguinte tag: <event type="kill" name="autoloot" event="script" value="Auto Loot.lua"/> Agora dentro da pasta creaturescripts vá ate a pasta scripts e crie um arquivo chamado Auto Loot.lua e adicione o seguinte codigo: local aloot_boost = {[2406] = 36, [2537] = 4800, [2377] = 480, [2663] = 600, [2472] = 195000, [2398] = 36, [2475] = 7200, [2519] = 6500, [2497] = 10700, [2523] = 180000, [2494] = 325000, [2400] = 144000, [2491] = 6000, [2421] = 325000, [2646] = 260000, [2477] = 7200, [2413] = 84, [2656] = 18000, [2498] = 52000, [2647] = 600, [2534] = 32500, [7402] = 19500, [2466] = 26000, [2465] = 240, [2408] = 120000, [2518] = 1800, [2500] = 3000, [2376] = 30, [2470] = 91000, [2388] = 24, [2645] = 26000, [2434] = 2400, [2463] = 480, [2536] = 11700, [2387] = 240, [2396] = 4800, [2381] = 240, [2528] = 4800, [2409] = 1800, [2414] = 12000, [2427] = 9000, [2407] = 7200, [2458] = 42, [2383] = 960, [2392] = 3600, [2488] = 18000, [2525] = 120, [2423] = 240, [7382] = 13000, [2462] = 1300, [2520] = 39000, [2390] = 180000, [2417] = 72, [2436] = 1200, [5741] = 52000, [2378] = 120, [2487] = 24000, [2476] = 6500, [8891] = 36000, [2459] = 36, [2195] = 52000, [2391] = 7200, [2464] = 120, [8889] = 72000, [2432] = 13000, [2431] = 108000, [2492] = 52000, [2515] = 240, [2430] = 2400, [2393] = 13000, [7419] = 36000, [2522] = 130000, [2514] = 65000} local function getPlayerStorageZero(cid, storage) -- By Killua local sto = getPlayerStorageValue(cid, storage) if tonumber(sto) then return tonumber(sto) > tonumber(0) and tonumber(sto) or tonumber(0) end return tonumber(0) end local tabela = {} local function getPlayerList(cid) local tab = {} if getPlayerStorageValue(cid, 04420021) ~= -1 then table.insert(tab, getPlayerStorageValue(cid, 04420021)) end if getPlayerStorageValue(cid, 04420031) ~= -1 then table.insert(tab, getPlayerStorageValue(cid, 04420031)) end if getPlayerStorageValue(cid, 04420041) ~= -1 then table.insert(tab, getPlayerStorageValue(cid, 04420041)) end if getPlayerStorageValue(cid, 04420051) ~= -1 then table.insert(tab, getPlayerStorageValue(cid, 04420051)) end if #tab > 0 then return tab end return {} end local function boost(cid) return tonumber(getPlayerStorageValue(cid,722381)) >= os.time() end local function autoLoot(cid, pos) if not isPlayer(cid) then return end local check = false local str = "" local position = {} for i = 1, 255 do pos.stackpos = i if getThingFromPos(pos).uid and getThingFromPos(pos).uid > 0 and isContainer(getThingFromPos(pos).uid) then position = pos check = true break end end if check then local corpse = getContainerItemsInfo(getThingFromPos(position).uid) if corpse then for index, info in pairs(corpse) do if index < countTable(corpse) then if info.uid and info.itemid then if isContainer(info.uid) then local bag = getContainerItemsInfo(info.uid) for i = 1, countTable(bag) do if isInArray(getPlayerList(cid), bag[i].itemid) then if bag[i].quant > 1 then doRemoveItem(bag[i].uid, bag[i].quant) doPlayerAddItem(cid, bag[i].itemid, bag[i].quant) str = str.." "..bag[i].quant.." "..getItemNameById(bag[i].itemid).." +" else doRemoveItem(bag[i].uid) if boost(cid) then if aloot_boost[bag[i].itemid] then doPlayerSetBalance(cid,getPlayerBalance(cid) + aloot_boost[bag[i].itemid]) str = str.." 1 "..getItemNameById(bag[i].itemid).." ("..aloot_boost[bag[i].itemid].."gp no banco) +" else doPlayerAddItem(cid, bag[i].itemid, 1) str = str.." 1 "..getItemNameById(bag[i].itemid).." +" end else doPlayerAddItem(cid, bag[i].itemid, 1) str = str.." 1 "..getItemNameById(bag[i].itemid).." +" end end end end end end end if isInArray(getPlayerList(cid), info.itemid) then if info.quant > 1 then doRemoveItem(info.uid, info.quant) doPlayerAddItem(cid, info.itemid, info.quant) str = str.." "..info.quant.." "..getItemNameById(info.itemid).." +" else doRemoveItem(info.uid) if boost(cid) then if aloot_boost[info.itemid] then doPlayerSetBalance(cid,getPlayerBalance(cid) + aloot_boost[info.itemid]) str = str.." 1 "..getItemNameById(info.itemid).." ("..aloot_boost[info.itemid].."gps no banco) +" else doPlayerAddItem(cid, info.itemid, 1) str = str.." 1 "..getItemNameById(info.itemid).." +" end else doPlayerAddItem(cid, info.itemid, 1) str = str.." 1 "..getItemNameById(info.itemid).." +" end end end end end end setPlayerTableStorage(cid,822564,{[1] = str, [2] = 0}) end local function autoGold(cid, pos) if not isPlayer(cid) then return end local check = false local total = 0 local position = {} for i = 1, 255 do pos.stackpos = i if getThingFromPos(pos).uid and getThingFromPos(pos).uid > 0 and isContainer(getThingFromPos(pos).uid) then position = pos check = true break end end if check then local corpse = getContainerItemsInfo(getThingFromPos(position).uid) if corpse then for index, info in pairs(corpse) do if info.uid and info.itemid then if index < countTable(corpse) then if isContainer(info.uid) then local bag = getContainerItemsInfo(info.uid) for i = 1, countTable(bag) do if isInArray({2148, 2152, 2160}, bag[i].itemid) then local multiplie = 1 if bag[i].itemid == 2148 then multiplie = 1 elseif bag[i].itemid == 2152 then multiplie = 100 elseif bag[i].itemid == 2160 then multiplie = 10000 end doRemoveItem(bag[i].uid, bag[i].quant) doPlayerSetBalance(cid, getPlayerBalance(cid) + tonumber(bag[i].quant) * multiplie) total = total + bag[i].quant * multiplie doPlayerSetStorageValue(cid, 04421021, tonumber(getPlayerStorageZero(cid, 04421021)) + tonumber(info.quant) * tonumber(multiplie)) end end end end if isInArray({2148, 2152, 2160}, info.itemid) then local multiplie = 1 if info.itemid == 2148 then multiplie = 1 elseif info.itemid == 2152 then multiplie = 100 elseif info.itemid == 2160 then multiplie = 10000 end doRemoveItem(info.uid, info.quant) doPlayerSetBalance(cid, getPlayerBalance(cid) + info.quant * multiplie) doPlayerSetStorageValue(cid, 04421021, tonumber(getPlayerStorageZero(cid, 04421021)) + tonumber(info.quant) * tonumber(multiplie)) total = total + info.quant * multiplie end end end end end if total > 0 then total = total - (total * 0.2) total = math.ceil(total) doPlayerSetBalance(cid,getPlayerBalance(cid) + total) local tab = getPlayerTableStorage(cid,822564) tab[2] = total setPlayerTableStorage(cid,822564,tab) end end local function sendMsg(cid) if not isPlayer(cid) then return end local tab = getPlayerTableStorage(cid,822564) if countTable(tab) >= 1 then if tab[1] then if tab[2] and tab[2] > 0 then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "[Auto Loot System] Coletados: ".. tab[1] .." ".. tab[2] .." gold coins.") else if type(tab[1]) == "string" and string.len(tab[1]) > 1 then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "[Auto Loot System] Coletados: "..tab[1]) end end elseif not tab[1] then if tab[2] then doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "[Auto Loot System] Coletados: "..tab[2].." gold coins.") end end end doPlayerSetStorageValue(cid,822564,-1) end function onKill(cid, target, lastHit) if isPlayer(cid) and isMonster(target) then if getPlayerStorageValue(cid, 04421001) == 1 and #getPlayerList(cid) > 0 then local pos = getCreaturePosition(target) addEvent(autoLoot, 500, cid, pos) end if getPlayerStorageValue(cid, 04421011) == 1 then local pos = getCreaturePosition(target) addEvent(autoGold, 540, cid, pos) end if getPlayerStorageValue(cid, 04421001) == 1 or getPlayerStorageValue(cid, 04421011) == 1 then addEvent(sendMsg, 560, cid) end end return true end E por fim ainda dentro da pagina scripts procure o arquivo login.lua e registre a seguinte tag: registerCreatureEvent(cid, "autoloot") registerCreatureEvent(cid, "Auto Loot") Créditos: Killua - Vitor cardoso bertolucci Obrigado a todos e até a próxima! JNetworks.com.br Jnetworks agradece a preferência! Está querendo abrir 1 OTServer e não sabe onde hospedar? Acesse: JNetworks.com.br Instalamos seu OTServer apartir da contratação de 3GB de ram!

Informação Importante

Confirmação de Termo