Jump to content

Mod TFS 0.X [TFS] New Auto Loot Unlimited Edition 2.0


Recommended Posts

  • Replies 47
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

[ + ] Descrição: Autoloot refeito para VERSÃO TFS e adicionado algumas outras funções que estarei explicando ao decorrer do tópico.   [ + ] Se você quer o Autoloot para VERSÃO OTX clica nest

VERSÃO ATUALIZADA, INFORMAÇÕES ESTÃO DO TÓPICO!!   DATA: 16/02/2021

O autoloot para OTX se encontra nesse tópico:    

Posted Images

9 horas atrás, Orientalz disse:

se for no executavel, n aparece erro nenhum a versão é 0.4. 
mesmo erro

 

Me manda pm que eu faço as alterações que vc precisa, o que você quer? que seja por onDeath man? manda PM lá

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

Dota System 8.6 Com Buffs Automáticos + MAPA (100%) - PVP

Link para Downloadhttps://www.4shared.com/rar/SMta8CQ8fi/Dota_Venda.html?

 

[+]--------------------------------------[+]-------------------------------------------[+]

 

DISCORDvodkart#6090

 

Link to post
Share on other sites

I use a old version of yours autoloot system, works perfect, but i use a scroll to active the system on my ot server, i wish if had the possible the option of free players can use 1 slot and collect gold to your backpack, and if u want the 5 slots and automatic deposit money use the scroll?? for example my old version its duration of 1 day jeje, i update your system right now and i tested hehe

Edited by Sotomayor (see edit history)
Link to post
Share on other sites

  • 1 month later...
20 horas atrás, nizin disse:

Perfeito @Vodkart funcionou todas as funções exceto uma! a função !autoloot deposit. Consigo usar o comando normalmente mas o gold não vai para o banco e fica no corpse do mob. (não da nenhum erro)

 

Tem que ver no config lua se está ativado o bank system do seu servidor, em alguns servidores ele vem desativado.

bankSystem = true

 

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

Dota System 8.6 Com Buffs Automáticos + MAPA (100%) - PVP

Link para Downloadhttps://www.4shared.com/rar/SMta8CQ8fi/Dota_Venda.html?

 

[+]--------------------------------------[+]-------------------------------------------[+]

 

DISCORDvodkart#6090

 

Link to post
Share on other sites

8 minutos atrás, RaafaGobetti9494 disse:

Estou com um "Bug" com Autoloot, ja testei varios e sempre da esse erro..

1 - quando mata o bixo "ele nao morre" fica sem vida mas fica "vivo"

2 - e o erro que sempre aparece é "GetAutolootDays"

 

ja testei mais de 4 autoloot pra ver se passa o erro, mas nada... estou sem autoloot.. Gostaria de saber o que pode ser esse erro..

 

GetAutolootDays? Esse não usa essa função, você está usando o mesmo sistema?

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

Dota System 8.6 Com Buffs Automáticos + MAPA (100%) - PVP

Link para Downloadhttps://www.4shared.com/rar/SMta8CQ8fi/Dota_Venda.html?

 

[+]--------------------------------------[+]-------------------------------------------[+]

 

DISCORDvodkart#6090

 

Link to post
Share on other sites

57 minutos atrás, Vodkart disse:

 

Tem que ver no config lua se está ativado o bank system do seu servidor, em alguns servidores ele vem desativado.


bankSystem = true

 

Já estava ativado. 

Eu estava usando um outro sistema de Autoloot que se não me engano foi criado por você mesmo e lá funcionava normal todas as funções! O dinheiro ia para o banco normalmente.

Link to post
Share on other sites

1 hora atrás, RaafaGobetti9494 disse:

Então eu nao usava nenhum, e comecei a testar alguns Autoloot.. e começou a dar esse erro. e quando da esse erro, o bixo que mato ele n morre.. Posso por qualquer script ou MOD de autoloot que da esse erro.

 

deve estar instalado esse autoloot antigo ainda, teria que remover, quero ver o print do erro para ver onde ele esta!

32 minutos atrás, nizin disse:

Já estava ativado. 

Eu estava usando um outro sistema de Autoloot que se não me engano foi criado por você mesmo e lá funcionava normal todas as funções! O dinheiro ia para o banco normalmente.

 

engraçado, estou usando a mesma função do antigo!

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

Dota System 8.6 Com Buffs Automáticos + MAPA (100%) - PVP

Link para Downloadhttps://www.4shared.com/rar/SMta8CQ8fi/Dota_Venda.html?

 

[+]--------------------------------------[+]-------------------------------------------[+]

 

DISCORDvodkart#6090

 

Link to post
Share on other sites

7 minutos atrás, Vodkart disse:

 

deve estar instalado esse autoloot antigo ainda, teria que remover, quero ver o print do erro para ver onde ele esta!

 

engraçado, estou usando a mesma função do antigo!

Eu removi o antigo. Como eu disse la em cima não dá nenhum tipo de erro! Nem em talkactions.

Link to post
Share on other sites

  • Moderator

pior que o !autoloot deposit não está funcionando. vai pra bag, mas não pro bank.

 

Distro: Version 0.4 Rev3777

 

 

 

 

 

                                                                                                                                                     tumblr_nwmv2z4VEM1ujiquxo1_100.gif.2db64bb36f0f565e68ff2a90cb98f439.gif.59f4c4cf234d2f6906621cac0553a862.gif

https://github.com/italoxxx1

 

Link to post
Share on other sites

18 horas atrás, nizin disse:

@Vodkart segue as imagens.

1.png

2.png

 

14 horas atrás, ITALOx disse:

pior que o !autoloot deposit não está funcionando. vai pra bag, mas não pro bank.

 

Distro: Version 0.4 Rev3777

 

 

Estranho, no meu coleta normalmente, por favor testem dessa maneira:

 

Spoiler

<?xml version="1.0" encoding="ISO-8859-1"?>
<mod name="Perfect Auto Loot" version="1.0" author="Vodkart" contact="none.com" enabled="yes">
<config name="Loot_func"><![CDATA[

info = {
	distro = 1, -- 1 = TFS // 2 = talk modificada
	directory = "data/logs/autoloot",
	Warn_Bp_Slots = 5, -- quando tiver 5 ou menos slots na BP vai avisar o jogador
	Talkaction_delay = 5, -- em segundos // delay para remover e adicionar item
	BlockMonsters = {},
	BlockItemsList = {2123,2515},
	Money_ids = {2148, 2152, 2160}, -- id das moedas do ot
	Max_Slots = {free = 3, premium = 5},
	Storages = {988801, 988802, 988803, 988804, 988805, 988806, 988807}
}


Color_Loot = {
           [0] = {MESSAGE_EVENT_ORANGE, "Orange"},
           [1] = {MESSAGE_STATUS_CONSOLE_BLUE, "Blue"},
           [2] = {MESSAGE_INFO_DESCR, "Green"},
           [3] = {MESSAGE_STATUS_CONSOLE_RED, "Red"},
           [4] = {MESSAGE_STATUS_SMALL, "White"}
}
function getPlayerColorLootMessage(cid)
	return getPlayerStorageValue(cid, info.Storages[5]) <= 0 and 0 or getPlayerStorageValue(cid, info.Storages[5])
end
function isInTable(cid, item)
	for _,i in pairs(getItensFromAutoloot(cid)) do
		if tonumber(i) == tonumber(item) then
			return true
		end
	end
	return false
end
function doremoveItemFromAutoloot(cid, itemid)
    local file, fileContent = io.open(info.directory.."/"..getCreatureName(cid)..".txt", 'r'),{}
    for line in file:lines() do
	 if line ~= "" and tonumber(line) ~= tonumber(itemid) then
             fileContent[#fileContent + 1] = line
    	end
    end
    io.close(file)
    file = io.open(info.directory.."/"..getCreatureName(cid)..".txt", 'w')
    for index, value in ipairs(fileContent) do
    file:write(value..'\n')
    end
    io.close(file)
end
function doAddItemFromAutoloot(cid, itemid)
         if not existsAutoloot(cid) then
            doCreateLootUserName(cid, itemid) return true
         end 
         local file = io.open(info.directory.."/"..getCreatureName(cid)..".txt", "a+")							
         file:write('\n'..itemid)
         file:close()
end
function existsAutoloot(cid)
  local f = io.open(info.directory.."/"..getCreatureName(cid)..".txt", "rb")
  if f then f:close() end
  return f ~= nil
end
function doCreateLootUserName(cid, itemid)
    newFile = io.open(info.directory.."/"..getCreatureName(cid)..".txt", "w+" )
    newFile:write(itemid)
    newFile:close()
end
function getItensFromAutoloot(cid)
  if not existsAutoloot(cid) then return {} end
  lines = {}
  for line in io.lines(info.directory.."/"..getCreatureName(cid)..".txt") do
	  if line ~= "" then
          	lines[#lines + 1] = tonumber(line)
	  end
  end
  return lines
end
function doCleanAutoloot(cid)
return os.remove(info.directory.."/"..getCreatureName(cid)..".txt")
end
function ShowItemsTabble(cid)
	local auto_list = getItensFromAutoloot(cid)	
	local n,str = 0,"[+] Auto Loot Commands [+]\n\n!autoloot item name --> To add ou Remove item from list.\n!autoloot money --> To collect gold automatically.\n!autoloot clear --> To clear the list.\n!autoloot on/off --> To enable or disable the collecting of items in the system.\n!autoloot message --> To enable or disable message from Collect items.\n!autoloot color --> To change Color message in Auto Loot Collect.\n!autoloot warn --> To enable or disable message warning of "..info.Warn_Bp_Slots.." or less slots in the backpack.\n!autoloot deposit --> To enable or disable automatic money deposit at the bank.\n\n[+] Auto Loot Info [+]\n\nSystem: "..(getPlayerStorageValue(cid, info.Storages[1]) <= 0 and "Activated" or "Disabled")..".\nGold Collecting: "..(getPlayerStorageValue(cid, info.Storages[2]) > 0 and "Activated" or "Disabled")..".\nMessage: "..(getPlayerStorageValue(cid, info.Storages[6]) <= 0 and "Activated" or "Disabled")..".\nColor Message: "..Color_Loot[getPlayerColorLootMessage(cid)][2]..".\nWarn Backpack: "..(getPlayerStorageValue(cid, info.Storages[3]) <= 0 and "Activated" or "Disabled")..".\nAutomatic Gold Deposit: "..(getPlayerStorageValue(cid, info.Storages[4]) > 0 and "Activated" or "Disabled")..".\nTotal Bank Balance: ["..getPlayerBalance(cid).."]\nMaximum Slots: ["..#auto_list.."/"..(isPremium(cid) and info.Max_Slots.premium or info.Max_Slots.free).."]\n\n[+] Auto Loot Slots [+]\n\n"
	if #auto_list > 0 then
		for i = 1, #auto_list do
			n = n + 1
			str = str.."Slot "..n.." - "..getItemNameById(auto_list[i]).."\n"
		end
	end
	return doPlayerPopupFYI(cid, str)
end
function getContainerItems(container, array, haveCap)
    array = array or {}
    haveCap = haveCap or false
    if not isContainer(container.uid) or getContainerSize(container.uid) == 0 then
        array[#array +1] = container
    else
        local size = getContainerSize(container.uid)
        haveCap = (getContainerCap(container.uid) -size) > 0
        for slot = 0, (size -1) do
            local item = getContainerItem(container.uid, slot)
            if item.itemid > 1 then
                getContainerItems(item, array, haveCap)
            end
        end
    end
    return #array >= 1 and array, haveCap
end
function getContainerItemsById(container, itemid)
    local founds = {}
    local items = not container.uid and container or getContainerItems(container)
    for index, item in pairs(items) do
        if item.itemid == itemid then
            founds[#founds +1] = item
        end
    end
    return #founds >= 1 and founds
end
function AutomaticDeposit(cid, item, n)
	if isInArray(info.Money_ids, item) and getPlayerStorageValue(cid, info.Storages[4]) > 0 then
		local deposit = item == tonumber(2160) and (n*10000) or tonumber(item) == 2152 and (n*100) or (n)
		doPlayerDepositMoney(cid, deposit)
	end
	return true
end
function getAllContainerFree(container) -- by vodka
	local containers,soma = {},0
	for i = 0, getContainerSize(container)-1 do
		local item = getContainerItem(container, i)
		if isContainer(item.uid) then
			table.insert(containers, item.uid)
		end
	end
	for _, check in pairs(containers) do
		soma = soma + getContainerSlotsFree(check)	
	end
	return (soma + getContainerSlotsFree(container))
end
function getContainerSlotsFree(container) -- by vodka
         return getContainerCap(container)-getContainerSize(container)
end
function doPlayerAddItemStackable(cid, itemid, count)
    local container = getPlayerSlotItem(cid, CONST_SLOT_BACKPACK)
    if container.itemid > 1 then
        local items = getContainerItemsById(container, itemid)
        if not items then
            return doPlayerAddItem(cid, itemid, count)
        else
            local piles = #items
            for index, item in pairs(items) do
                if item.type < 100 then
                    local sum = item.type + count
                    local result = doTransformItem(item.uid, itemid, sum)
                    if sum <= 100 then
                        return result
                    else
                        return doPlayerAddItem(cid, itemid, sum - 100)
                    end
                else
                    piles = piles - 1
                    if piles == 0 then
                        return doPlayerAddItem(cid, itemid, count)
                    end
                end
            end
        end
    end
    return false
end
function corpseRetireItems(cid, pos)
	local check, slots = false, 0
	for i = 0, 255 do
		pos.stackpos = i
		tile = getTileThingByPos(pos)
		if tile.uid > 0 and isCorpse(tile.uid) then
			check = true break
		end
	end
	if check == true then
		local str, var = "", getContainerItems(tile)
		if var then
			local list = getItensFromAutoloot(cid)
			for _, item in pairs(var) do
				local id = item.itemid
				if #list > 0 and isInArray(list, id) or getPlayerStorageValue(cid, info.Storages[2]) > 0 and isInArray(info.Money_ids, id) then
					local info = getItemInfo(id)
					local amount = isItemStackable(id) and item.type or 1
					local total_cap = getItemWeight(item.uid)*amount
					if getPlayerSlotItem(cid, 3).itemid ~= 0 then
						slots = getAllContainerFree(getPlayerSlotItem(cid, 3).uid)
					end
					if slots > 0 and getPlayerFreeCap(cid) >= total_cap then
						if isItemStackable(id) then
							str = str.." "..amount.." "..(amount > 1 and info.plural or info.name)..","
							doPlayerAddItemStackable(cid, id, amount)
							AutomaticDeposit(cid, id, amount)
						else
							str = str.." ".. info.article.." " .. info.name ..","
							doPlayerAddItem(cid, id)
						end 
						doRemoveItem(item.uid)	
					end
				end
			end
			if str ~= "" and getPlayerStorageValue(cid, info.Storages[6]) <= 0 then 
				doPlayerSendTextMessage(cid, Color_Loot[getPlayerColorLootMessage(cid)][1],"[Auto Loot Collect]:"..string.sub(str, 1, -2)..".") 
			end
			if getPlayerStorageValue(cid, info.Storages[3]) <= 0 and slots > 0 and slots <= info.Warn_Bp_Slots then
				doPlayerSendTextMessage(cid,18,"[Auto Loot Warn] You only have "..slots.." slots free in your backpack!") 
			end
		end
	end
end
function ExistItemByName(name) -- by vodka
    local items = io.open("data/items/items.xml", "r"):read("*all")
    local get = items:lower():match('name="' .. name:lower() ..'"')
    if get == nil or get == "" then
        return false
    end
return true
end
]]></config>
<event type="login" name="LootLogin" event="script"><![CDATA[
domodlib('Loot_func')
function onLogin(cid)
	registerCreatureEvent(cid, "LootEventKIll")
	if isPremium(cid) and getPlayerStorageValue(cid, 853608) <= 0 then
		setPlayerStorageValue(cid, 853608, 1)
	elseif getPlayerStorageValue(cid, 853608) > 0 and not isPremium(cid) then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "[Auto Loot] You premium is Over, Start a new list!")
		setPlayerStorageValue(cid, 853608, -1)
		doCleanAutoloot(cid)
	end
	return true
end]]></event>
<event type="kill" name="LootEventKIll" event="script"><![CDATA[
domodlib('Loot_func')
function onKill(cid, target, lastHit) 
	if isPlayer(cid) and getPlayerStorageValue(cid, info.Storages[1]) <= 0 and isMonster(target) and not isInArray(info.BlockMonsters, getCreatureName(target):lower()) then
		addEvent(corpseRetireItems, 0, cid ,getThingPos(target))
	end
	return true
end]]></event>
<talkaction words="!autoloot;/autoloot" event="buffer"><![CDATA[
domodlib('Loot_func')
local param, slots = param:lower(), isPremium(cid) and info.Max_Slots.premium or info.Max_Slots.free
if not param or param == "" then
	ShowItemsTabble(cid) return true
elseif tonumber(param) then
	doPlayerSendCancel(cid, "enter commands: !autoloot item name [+] !autoloot clean [+] !autoloot money [+] !autoloot on/off") return true
elseif isInArray({"clean","limpar", "clear"}, param) then
	if existsAutoloot(cid) then doCleanAutoloot(cid) end
	doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE,"[Auto Loot] Your list has been cleaned.") return true
elseif isInArray({"start","stop","on","off"}, param) then
	setPlayerStorageValue(cid, info.Storages[1], getPlayerStorageValue(cid, info.Storages[1]) <= 0 and 1 or 0)
	doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE,"Auto Loot "..(getPlayerStorageValue(cid, info.Storages[1]) > 0 and "Stopped" or "Started")..".") return true
elseif isInArray({"warn","aviso"}, param) then
	setPlayerStorageValue(cid, info.Storages[3], getPlayerStorageValue(cid, info.Storages[3]) <= 0 and 1 or 0)
	doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE,"Auto Loot Backpack Warn "..(getPlayerStorageValue(cid, info.Storages[3]) > 0 and "disabled" or "Activated")..".") return true
elseif isInArray({"mensagem","message","mensagen","msg"}, param) then
	setPlayerStorageValue(cid, info.Storages[6], getPlayerStorageValue(cid, info.Storages[6]) <= 0 and 1 or 0)
	doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE,"Auto Loot Message "..(getPlayerStorageValue(cid, info.Storages[6]) > 0 and "disabled" or "Activated")..".") return true
elseif isInArray({"cor","color","type"}, param) then
	setPlayerStorageValue(cid, info.Storages[5], getPlayerColorLootMessage(cid) == #Color_Loot and 0 or getPlayerColorLootMessage(cid)+1)
	doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE,"Auto Loot Message Color Changed to "..Color_Loot[getPlayerColorLootMessage(cid)][2]..".") return true
elseif isInArray({"money","gold","gps","dinheiro"}, param) then
	setPlayerStorageValue(cid, info.Storages[2], getPlayerStorageValue(cid, info.Storages[2]) <= 0 and 1 or 0)
	doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE,"Auto Loot Gold Colleting "..(getPlayerStorageValue(cid, info.Storages[2]) > 0 and "Activated" or "disabled")..".") return true
elseif isInArray({"deposito","bank","gbank","deposit","autodeposit"}, param) then
	setPlayerStorageValue(cid, info.Storages[4], getPlayerStorageValue(cid, info.Storages[4]) <= 0 and 1 or 0)
	doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE,"[Auto Loot] Automatic Gold Bank "..(getPlayerStorageValue(cid, info.Storages[4]) > 0 and "Activated" or "disabled")..".") return true
end
if info.distro ~= 1 then
	item = ExistItemByName(tostring(param))
	if not item then
		doPlayerSendCancel(cid, "This item does not exist.") return true
	end
	item = getItemIdByName(tostring(param))
else
	item = getItemIdByName(param, false)
	if not item then
		doPlayerSendCancel(cid, "This item does not exist.") return true
	end
end
local var = isInTable(cid, item)
if isInArray(info.Money_ids, item) then 
	doPlayerSendTextMessage(cid, MESSAGE_FIRST, "Enter !autoloot money to add money in your list!") return true	
elseif isInArray(info.BlockItemsList, item) then
	doPlayerSendCancel(cid, "You can not add this item in the list!") return true
elseif not var and #getItensFromAutoloot(cid) >= slots then
	doPlayerSendCancel(cid, "max "..slots.." from auto loot") return true
elseif getPlayerStorageValue(cid, info.Storages[7]) - os.time() > 0 then
		doPlayerSendCancel(cid, "wait a second to use this command again") return true
end
if not var then
	doAddItemFromAutoloot(cid, item)
else
	doremoveItemFromAutoloot(cid, item)
end
setPlayerStorageValue(cid, info.Storages[7], os.time()+info.Talkaction_delay)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,not var and "you added the item "..param.." in the list" or "you removed the item "..param.." from the list, please wait 5 seconds to save the directory.")
return true]]></talkaction>
</mod>

 

 

18 horas atrás, RaafaGobetti9494 disse:

esse e o erro

Erro Loot.jpeg

 

Existe um MOD antigo do meu autoloot no seu servidor ainda!! Remova ele!!

 

Eu tinha feito uma outra versão, mas já tirei site pq ele tinha alguns bugs.

----------------------

 

@RaafaGobetti9494

 

ou também você pode executar no seu banco de dados:

 

ALTER TABLE `accounts` ADD loot_time INT(15) NOT NULL DEFAULT 0;

 

creio que irá parar com esse erro, porém é melhor deletar esse autoloot antigo, já que ele tinha alguns bugs que foram fixados nessa nova versão.

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

Dota System 8.6 Com Buffs Automáticos + MAPA (100%) - PVP

Link para Downloadhttps://www.4shared.com/rar/SMta8CQ8fi/Dota_Venda.html?

 

[+]--------------------------------------[+]-------------------------------------------[+]

 

DISCORDvodkart#6090

 

Link to post
Share on other sites

  • Vodkart changed the title to [TFS] New Auto Loot Unlimited Edition 2.0

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Similar Content

    • By Vodkart
      [ + ] Descrição: Autoloot refeito para VERSÃO OTX e adicionado algumas outras funções que estarei explicando ao decorrer do tópico.
       
      [ + ] Se você quer o Autoloot ara Versão TFS clica neste Link: AUTOLOOT TFS
       

       
       
      [ + ] Imagem do comando:
       

       
      [ + ] Features:
       
      [ - ] Você pode ativar ou desativar o autoloot a hora que achar necessário.
      [ - ] Também existe um comando para ativar ou desativar mensagens do loot que o autoloot coleta!
      [ - ] Você pode escolher a cor do texto em que irá aparecer a coleta do loot!
      [ - ] O autoloot informará para você se estiver com pouco slots na sua backpack, e o jogador poderá escolher se quer habilitar ou não está função no autloot.
      [ - ] Versão ilimitada de itens(não ficam armazenadas em storages.
      [ - ] O jogador poderá optar por depositar direto no banco os golds que forem dropados.
       
      [ + ] Instalação:
       
      Primeiramente CRIE uma PASTA VAZIA chamanda "autoloot" em DATA/LOGS, ficando assim:
       

       
      Depois instale o MODS normalmente na pasta MODS do seu servidor.
       

       
      new_perfect_autoloot_otx.xml
       
      Link: https://pastebin.com/raw/CW6jgerg
       
       
       [ + ] Configuração:
       
      Dentro do mods tem essa tabela
      info = { directory = "data/logs/autoloot", -- não mexer Warn_Bp_Slots = 5, -- quando tiver 5 ou menos slots na BP vai avisar o jogador Talkaction_delay = 5, -- em segundos // delay para remover e adicionar item BlockMonsters = {}, -- Lista de monstros que o autoloot nao vai funcionar BlockItemsList = {2123,2515}, -- Lista de itens que o autoloot nao coleta Money_ids = {2148, 2152, 2160}, -- id das moedas do ot Max_Slots = {free = 3, premium = 5}, -- quantidade de itens que podem ser adicionados no autoloot por free e premium Storages = {988801, 988802, 988803, 988804, 988805, 988806, 988807} -- não mexer }  
      Basta ler acima para esclarecer as dúvidas!!
       
      Estarei anexando o autoloot 2.0 versão atualizada para quem tiver preguiça de copiar e colar!!
       
       
       
      new_perfect_autoloot_otx.xml
    • By xWhiteWolf
      Aeeeeeee carai, hoje vim trazer pra vocês meu mais novo sistema *-*. É uma fodenda spell que você seleciona alguém pra ser seu voodoo e a partir disso durante um tempo X ela vai receber todos os hit's que você deveria receber... INCRÍVEL, NÃO?
      Agora se nesse meio tempo ela deslogar ou entrar em pz você vai tomar o dano normal, mas se ainda tiver nesse tempo X e ela sair ela vai receber o dano instantaneamente (É BOM DEMAIS PRA SER VERDADE).

      Agora você deve estar imaginando, e se eu usar a magia pra transferir o dano pra um amigo e ele fizer a mesma coisa em mim, pra onde vai o dano?
      PRA LUGAR NENHUM!!!! Até porque eu já me previni contra esse bug fazendo com que não seja possível fazer alguém de voodoo se ele já tiver alguém de voodoo.
      Testado em versão 8.54 TFS Crying Damnson mas deve funcionar em todas as versões que tenham a função onStatsChange no creaturescripts.
      Bom, o script tá 100% funcional e livre de bugs (se vc achar algum eu te dou 3 REP).

      Agora vamos à mágica:
       
      Crie um arquivo em mods com extensão .xml e adiciona isso daqui nele
      <?xml version="1.0" encoding="UTF-8"?> <mod name="Voodoo System" version="1.0" author="Night Wolf" contact="none" enabled="yes"> ------------------------------------------------------------------------------------ <config name="feitisso"><![CDATA[ configuration = { storage = 24567,  tempo = 20, cooldown = 45, effect1 = 13, effect2 = 65 } storagecool = 24568 ]]></config> ---------------------------------------------------------------------------------- <event type="login" name="registerVoodoo" event="script"><![CDATA[ function onLogin(cid) domodlib('feitisso') if getPlayerStorageValue(cid, configuration.storage) > 0 then doPlayerSendTextMessage(cid, 22, "Your victim is not receiving your hits anymore.") doPlayerSetStorageValue(cid, configuration.storage, 0) end registerCreatureEvent(cid,"voodoo") return true end ]]></event> ------------------------------------------------------------------------------------ <instant name="Feitiço" words="voodoo" lvl="50" mana="10" prem="1" range="3" needtarget="1" blockwalls="1" exhaustion="1000" needlearn="0" event="script"> <vocation id="5"/> <vocation id="6"/> <vocation id="7"/> <vocation id="8"/> <![CDATA[ function onCastSpell(cid, var) domodlib('feitisso') if not (isPlayer(variantToNumber(var))) then doPlayerSendCancel(cid, "You can only use this spell in players.") return false end if getPlayerStorageValue(variantToNumber(var), configuration.storage) > 0 then doPlayerSendCancel(cid, "You can't make a voodoo of someone who already has a voodoo.") return false end if (os.time() - getPlayerStorageValue(cid, storagecool)) >= configuration.cooldown then if getPlayerStorageValue(cid, configuration.storage) <= 0 then timeleft = (os.time() + configuration.cooldown) doPlayerSetStorageValue(cid, storagecool, timeleft) local target = getPlayerGUID(variantToNumber(var)) doPlayerSetStorageValue(cid, configuration.storage, target) doSendMagicEffect(getPlayerPosition(cid), configuration.effect1) doSendMagicEffect(getThingPos(variantToNumber(var)), configuration.effect1) addEvent(function()   if isCreature(cid) then doSendMagicEffect(getPlayerPosition(cid), configuration.effect2) doPlayerSendTextMessage(cid, 22, "Your victim is not receiving your hits anymore.") doPlayerSetStorageValue(cid, configuration.storage, 0) end  end, 100+1000*configuration.tempo) elseif getPlayerStorageValue (cid, configuration.storage) > 0 then doPlayerSendCancel(cid, "You've already set a target.") end else doPlayerSendCancel(cid, "Your skill is in cooldown, you must wait "..(configuration.cooldown - (os.time() - getPlayerStorageValue(cid, storagecool))).." seconds.") end return true end ]]></instant> ------------------------------------------------------------------------------------ <event type="statschange" name="voodoo" event="script"><![CDATA[ function onStatsChange(cid, attacker, type, combat, value) domodlib('feitisso') if isPlayer(cid) and (not (attacker == cid)) and (type == STATSCHANGE_HEALTHLOSS or type == STATSCHANGE_MANALOSS) and getPlayerStorageValue(cid, configuration.storage) >= 1 then local name = getPlayerNameByGUID(getPlayerStorageValue(cid, configuration.storage)) local victim = getCreatureByName(name) if isCreature(victim) and not (getTilePzInfo(getPlayerPosition(victim)))  then dano = math.ceil(value) doSendMagicEffect(getPlayerPosition(cid), configuration.effect2) if attacker == victim then doTargetCombatHealth(cid, victim, combat, -dano, -dano, configuration.effect2) else doTargetCombatHealth(attacker, victim, combat, -dano, -dano, configuration.effect2) end return false end end return true end ]]></event> ------------------------------------------------------------------------------------ </mod> aqui você edita os storages da magia e do cooldown, além do tempo que ela dura, o tempo de cooldown (um uso e outro) e os efeitos que vão sair.
      -------------------------------------------------------------------------------------------------------------
       
      aqui você edita o nome da spell, as palavras pra ela sair, level, custo de mana, se é preciso ser premium pra usar, o range dela, e as vocações que podem usá-la.

      OBS: se vc quiser que essa spell seja ganha em uma quest (por se tratar de algo bastante apelativo), é só colocar needlearn = "1" e fazer uma quest pra ganhar a spell (tem no meu Darkness Pact Quest uma quest de ganhar Spell, é só ir lá no meu perfil e procurar o tópico).

      Essa spell não serve somente pra ATS, use a criatividade pra criar uma história e fazer ela se encaixar... foque nos elementos de RPG e tcharam, está feito!.

      Façam bom uso e espero que não saiam postando em outros lugares sem os devidos créditos. Abraços do lobinho pra vcs

      PS: a foto ficou meio bosta mas vou postar mesmo assim 

       
      Eu (sorc) ataquei a zuera e tomei o dano de volta e ainda saiu esse efeitinho bonito. 

      Espero que tenham gostado e usem essa spell como base pra fazer outras coisas maravilhosas pra esse fórum   
      E não esqueça de clicar em "gostei" caso tenha curtido a idéia.

      Ahhh, e antes que eu me esqueça dos agradecimentos:
      @ViitinG por me ajudar a testar
      @CreatServer por me dar a idéia
      @MaXwEllDeN por me orientar a trocar a table pelo storage possibilitando que o script fosse possível.
    • By MaXwEllDeN
      #Introdução
      Bem, este é um sistema no qual você pode protejer o seu locker(depot) com senha, assim evitando hackers http://forums.otserv.com.br/images/smilies/biggrin.gif.
      #Instalação
      http://1.imgland.net/3CaRNl.png
      Primeiro faça o download do sistema e cole na sua pasta data.
      Após ter instalado os arquivos nas suas respectivas pastas adicione as tags:
      @Actions
        <action itemid="2589; 2590; 2591; 2592" event="script" value="DPPass.lua"/> <!-- DP Pass --> @Creaturescripts
        <event type="login" name="LockerPass" event="script" value="DPPass.lua"/> <!-- DPPass --> @Movements
        <movevent type="StepOut" actionid="96475" event="script" value="DPPass.lua"/> <!-- DPPass --> @Talkactions
        <talkaction words="!locker" script="DPPass.lua"/> <!-- DP Pass --> Talvez eu poste uma V. 2, podendo recuperar a senha via Recovery Key!
      Abraço.
    • By Adriano SwaTT
      Boa noite galera,
      após um pedido aqui no fórum sobre um sistema de Cassino, decidi então criar este e disponibilizar para vocês.
       
      Introdução:
      Bom, este script simula a máquina de Cassino conhecida como Cassino Slots, pra quem não conhece é a máquina que se encontra no spoiler abaixo:
       
       
      Como funciona?
      O jogador precisa escolher 1 (um) dos 10 (dez) itens disponíveis (da para configurar a quantidade de itens) como seu Item da Sorte, e após feito isso, terá que girar a alavanca e torcer para que a máquina sorteie 3 itens repetidos igual ao que o jogador em questão escolheu.
      Para tornar um pouco mais fácil de vencer, criei para que a máquina dê pequenos brindes à quem acertar 1 ou 2 itens dos sorteados (configurável).
       
      Como jogar?
      Para jogar é simples, como desenvolvi todo script em apenas um arquivo, para facilitar na criação, na instalação e até mesmo na jogabilidade, o jogo se baseia na posição em que o jogador está para identificar qual ação executar.
      Selecionar Item da Sorte: com seu personagem virado para baixo (sul), clique na alavanca e automaticamente o item da sorte aparecerá na mesa configurada no script, caso queira outro item, basta ir usando a alavanca até encontrar o item desejado.
      Como Jogar: Após ter selecionado seu item da sorte, que deve estar à mostra em cima da mesa própria, basta virar seu personagem para cima (norte) e clicar novamente na alavanca.
      E se virar esquerda ou direita?: Nada acontecerá, apenas uma mensagem ensinando como jogar será enviada para que o jogador se oriente.
       
      Dicas de instalação!
      Sugiro que quando for criar o mapa para o evento, não faça como do vídeo, pois os itens criados nas mesas não estão com atributos para que não possam ser movidos, sendo assim é provável que jogadores de má fé venham a roubar itens... Faça como a imagem abaixo:
       
      Instalando:
      Basta criar um arquivo na pasta “data/actions/scripts” chamado “cassino_slots.lua” e adicionar o código abaixo dentro:
      Agora em “actions.xml” adicione a tag abaixo:
      Agora basta configurar de acordo com as informações disponíveis no início do script.
       
       
      Vejam o vídeo demonstrativo do Sistema em funcionamento.
       
       
       
       
      Criado por: Adriano Swatt'
    • By AgaSsI
      creaturescripts.xml
        <event type="login" name="aloot_reg" event="script" value="aloot.lua"/> <event type="kill" name="aloot_kill" event="script" value="aloot.lua"/> creaturescripts/scritps aloot.lua
        function onLogin(cid) registerCreatureEvent(cid, "aloot_kill") return true end local stor = 7575 function autoloot(cid, target, pos) local function doStack(cid, itemid, new) local count = getPlayerItemCount(cid, itemid) if (count > 100) then count = count - math.floor(count / 100) * 100 end local newCount = count + new if (count ~= 0) then local find = getPlayerItemById(cid, true, itemid, count).uid if (find > 0) then doRemoveItem(find) else newCount = new end end local item = doCreateItemEx(itemid, newCount) doPlayerAddItemEx(cid, item, true) end local function scanContainer(cid, uid, list) for k = (getContainerSize(uid) - 1), 0, -1 do local tmp = getContainerItem(uid, k) if (isInArray(list, tmp.itemid)) then if isItemStackable(tmp.itemid) and (getPlayerItemCount(cid, tmp.itemid) > 0) then doStack(cid, tmp.itemid, tmp.type) else local item = doCreateItemEx(tmp.itemid, tmp.type) doPlayerAddItemEx(cid, item, true) end doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, 'Looted ' .. tmp.type .. ' ' .. getItemNameById(tmp.itemid) .. '.') doRemoveItem(tmp.uid) elseif isContainer(tmp.uid) then scanContainer(cid, tmp.uid, list) end end end local items = {} for i = getTileInfo(pos).items, 1, -1 do pos.stackpos = i table.insert(items, getThingFromPos(pos)) end if (#items == 0) then return end local corpse = -1 for _, item in ipairs(items) do local name = getItemName(item.uid):lower() if name:find(target:lower()) then corpse = item.uid break end end if (corpse ~= -1) and isContainer(corpse) then scanContainer(cid, corpse, tostring(getPlayerStorageValue(cid, stor)):gsub('_', ''):explode(',')) end end function onKill(cid, target, lastHit) if not isPlayer(target) then local infos = getPlayerStorageValue(cid, stor) if (infos == -1) then return true end local list = tostring(infos):explode(',') if (#list == 0) then return true end addEvent(autoloot, 150, cid, getCreatureName(target), getCreaturePosition(target)) end return true end talkactios.xml
        <talkaction words="/aloot" hide="yes" event="script" value="aloot.lua"/> Talkaction/scrips
        local stor, limit = 7575, 5 --storage, limit to add. local allow_container = false --empty! not looted with items, atleast for now. function onSay(cid, words, param) local expl = param:explode(':') local action, rst = expl[1], expl[2] if (action:lower() == 'check') then local infos, list = getPlayerStorageValue(cid, stor), {} if (infos ~= -1) then list = tostring(infos):explode(',') end local txt = 'Autoloot List:\n' if (#list > 0) then for k, id in ipairs(list) do id = id:gsub('_', '') if tonumber(id) then txt = txt .. getItemNameById(tonumber(id)) .. ((k < #list) and '\n' or '') end end else txt = 'Empty' end doPlayerPopupFYI(cid, txt) elseif (action:lower() == 'add') then local infos, list = getPlayerStorageValue(cid, stor), {} if (infos ~= -1) then list = tostring(infos):gsub('_', ''):explode(',') end if (#list >= limit) then return doPlayerSendCancel(cid, 'You already have ' .. limit .. ' autolooting items.') end local item = tonumber(rst) if not item then item = getItemIdByName(rst, false) if not item then return doPlayerSendCancel(cid, 'not valid item.') end end if not allow_container and isItemContainer(item) then return doPlayerSendCancel(cid, 'this item can not be autolooted.') end local attrs = getItemInfo(item) if not attrs then return doPlayerSendCancel(cid, 'not valid item.') elseif not attrs.movable or not attrs.pickupable then return doPlayerSendCancel(cid, 'this item can not be autolooted.') end if isInArray(list, item) then return doPlayerSendCancel(cid, 'already added.') end table.insert(list, tostring(item)) local new = '' for v, id in ipairs(list) do new = new .. '_' .. id:gsub('_' ,'') .. ((v < #list) and ',' or '') end doPlayerSetStorageValue(cid, stor, tostring(new)) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, 'Item >>' .. getItemNameById(item) .. '<< has been added to the autoloot list.') elseif (action:lower() == 'remove') then local infos, list = getPlayerStorageValue(cid, stor), {} if (infos ~= -1) then list = tostring(infos):gsub('_', ''):explode(',') end if (#list == 0) then return doPlayerSendCancel(cid, 'You dont have any item added.') end if (#list >= limit) then return doPlayerSendCancel(cid, 'You already have ' .. limit .. ' autolooting items.') end local item = tonumber(rst) if not item then item = getItemIdByName(rst, false) if not item then return doPlayerSendCancel(cid, 'not valid item.') end end if not isInArray(list, item) then return doPlayerSendCancel(cid, 'This item is not in the list.') end local new = '' for v, id in ipairs(list) do if (tonumber(id) ~= item) then new = new .. '_' .. id:gsub('_' ,'') .. ((v < #list) and ',' or '') end end doPlayerSetStorageValue(cid, stor, tostring(new)) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, 'Item >>' .. getItemNameById(item) .. '<< removed from the autoloot list.') end return true end Usando
      /aloot check
      Cheka a Lista dos Loots
      /aloot add:itemid ou nome do item
      Exemplo
      /aloot add:worm
      /aloot add:2170
      16:42 Item >>worm<< has been added to the autoloot list.
      Para remover
      /aloot remove:worm
      /aloot remove:2170
      Exemplo Testado:
      16:41 Looted 2 gold coin.
      16:41 Looted 1 cheese.
      CREDITOS: eduardobean
      é isso pessoal gosto da + Rep
  • Recently Browsing   0 members

    No registered users viewing this page.



×
×
  • Create New...

Important Information

Confirmação de Termo