Ir para conteúdo
  • Cadastre-se

Posts Recomendados

fala galera blz boa noite.  bom eu possuo esse script de autoloot (apenas coleta gold) e queria deixar ele apenas para premmy account alguem pode me ajudar?

 

rep + ai pra quem conseguir obrigado.

 

Spoiler

function onSay(cid, words, param)     if getPlayerStorageValue(cid, AUTO_LOOT_STORAGE) == -1 then         registerCreatureEvent(cid, "AutoLootMoney")         setPlayerStorageValue(cid, AUTO_LOOT_STORAGE, 1)         doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Auto Loot Money activated! There's a tax of "..AUTO_LOOT_TAX.."% of the collected money.")     else         unregisterCreatureEvent(cid, "AutoLootMoney")         setPlayerStorageValue(cid, AUTO_LOOT_STORAGE, -1)         doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Auto Loot Money deactivated!")     end return true end

Spoiler

AUTO_LOOT_TAX = 25 -- Tax for using the service (in %) (min 0, max 100)
AUTO_LOOT_BANK = true -- Will the money go to the bank? If false, the money will go to the player
AUTO_LOOT_STORAGE = 38199 -- Storage of the status of the Auto Loot
 
function findItemsInContainer(ids, container)
    local items_found = {}
    local v_uids = {}
    for i = 0, getContainerSize(container)-1 do
        container_item = getContainerItem(container, i)
        if isContainer(container_item.uid) then
            local container_recursive = findItemsInContainer(ids, container_item.uid)
            for a, b in ipairs(container_recursive) do
                if not isInArray(v_uids, b.uid) then
                    table.insert(v_uids, container_item.uid)
                    table.insert(items_found, b)
                end
            end
        end
        if isInArray(ids, container_item.itemid) and not isInArray(v_uids, container_item.uid) then
            table.insert(v_uids, container_item.uid)
            table.insert(items_found, container_item)
        end
    end
    return items_found
end
 
function executeAutoLoot(cid, pos, target_name)
    AUTO_LOOT_TAX = AUTO_LOOT_TAX > 100 and 100 or AUTO_LOOT_TAX < 0 and 0 or AUTO_LOOT_TAX
    local corpse = getTileItemByType(pos, ITEM_TYPE_CONTAINER).uid
    local total_count = 0
    for a, b in ipairs(findItemsInContainer({ITEM_GOLD_COIN, ITEM_PLATINUM_COIN, ITEM_CRYSTAL_COIN}, corpse)) do
        if b.itemid == ITEM_CRYSTAL_COIN then
            total_count = total_count+b.type*10000
        elseif b.itemid == ITEM_PLATINUM_COIN then
            total_count = total_count+b.type*100
        elseif b.itemid == ITEM_GOLD_COIN then
            total_count = total_count+b.type
        end
        doRemoveItem(b.uid, b.type)
    end
    if AUTO_LOOT_BANK then
        doPlayerSetBalance(cid, getPlayerBalance(cid)+math.ceil(total_count*(1-AUTO_LOOT_TAX/100)))
    else
        doPlayerAddMoney(cid, math.ceil(total_count*(1-AUTO_LOOT_TAX/100)))
    end
    if total_count > 0 then
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Money collected from "..target_name..": "..total_count.." gold coins."..(AUTO_LOOT_TAX > 0 and " Tax ("..AUTO_LOOT_TAX.."%) discounted: "..math.floor(total_count*(AUTO_LOOT_TAX/100)).." gold coins." or " No tax."))
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Total collected: "..math.ceil(total_count*(1-AUTO_LOOT_TAX/100)).." gold coins.")
    else
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "No money collected from "..target_name..".")
    end
    return true
end

 

Editado por xdwilliam (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Bote ele em <code> e spoiler, não deixe em download.
De qualquer modo, se tu souber e quiser fazer pra agilizar, é só por no começo do script:

if isPremium(cid) then

e antes do último return true, acrescentar um:
 

end

 

De onde eu venho se dizia, que o chorar não é do homem, e o homem o que sente guarda bem no coração...
 

Link para o post
Compartilhar em outros sites

a certo desculpe.

mais em qual dos dois arquivos eu coloco essa linha que voce mandou?

 

pronto ja coloquei em spoiler.

Editado por xdwilliam (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
19 minutos atrás, xdwilliam disse:

a certo desculpe.

mais em qual dos dois arquivos eu coloco essa linha que voce mandou?

 

pronto ja coloquei em spoiler.

if isPremium(cid) then
AUTO_LOOT_TAX = 25 -- Tax for using the service (in %) (min 0, max 100)
AUTO_LOOT_BANK = true -- Will the money go to the bank? If false, the money will go to the player
AUTO_LOOT_STORAGE = 38199 -- Storage of the status of the Auto Loot
 
function findItemsInContainer(ids, container)
    local items_found = {}
    local v_uids = {}
    for i = 0, getContainerSize(container)-1 do
        container_item = getContainerItem(container, i)
        if isContainer(container_item.uid) then
            local container_recursive = findItemsInContainer(ids, container_item.uid)
            for a, b in ipairs(container_recursive) do
                if not isInArray(v_uids, b.uid) then
                    table.insert(v_uids, container_item.uid)
                    table.insert(items_found, b)
                end
            end
        end
        if isInArray(ids, container_item.itemid) and not isInArray(v_uids, container_item.uid) then
            table.insert(v_uids, container_item.uid)
            table.insert(items_found, container_item)
        end
    end
    return items_found
end
 
function executeAutoLoot(cid, pos, target_name)
    AUTO_LOOT_TAX = AUTO_LOOT_TAX > 100 and 100 or AUTO_LOOT_TAX < 0 and 0 or AUTO_LOOT_TAX
    local corpse = getTileItemByType(pos, ITEM_TYPE_CONTAINER).uid
    local total_count = 0
    for a, b in ipairs(findItemsInContainer({ITEM_GOLD_COIN, ITEM_PLATINUM_COIN, ITEM_CRYSTAL_COIN}, corpse)) do
        if b.itemid == ITEM_CRYSTAL_COIN then
            total_count = total_count+b.type*10000
        elseif b.itemid == ITEM_PLATINUM_COIN then
            total_count = total_count+b.type*100
        elseif b.itemid == ITEM_GOLD_COIN then
            total_count = total_count+b.type
        end
        doRemoveItem(b.uid, b.type)
    end
    if AUTO_LOOT_BANK then
        doPlayerSetBalance(cid, getPlayerBalance(cid)+math.ceil(total_count*(1-AUTO_LOOT_TAX/100)))
    else
        doPlayerAddMoney(cid, math.ceil(total_count*(1-AUTO_LOOT_TAX/100)))
    end
    if total_count > 0 then
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Money collected from "..target_name..": "..total_count.." gold coins."..(AUTO_LOOT_TAX > 0 and " Tax ("..AUTO_LOOT_TAX.."%) discounted: "..math.floor(total_count*(AUTO_LOOT_TAX/100)).." gold coins." or " No tax."))
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Total collected: "..math.ceil(total_count*(1-AUTO_LOOT_TAX/100)).." gold coins.")
    else
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "No money collected from "..target_name..".")
    end
end
    return true
end

Tente ai e me avisa se funcionou.

                                          King is Back !                                  Está vendo esse coraçãozinho? Dar um Voto Positivo?                                                                                                                                                                                                       clica ali se eu te ajudei muito. Obrigado !

 

[Tutorial] Colocando sua senha no novo XAMPP

[Tutorial] Como compilar tfs 1.2 no Visual Studio 2015

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

  • Contato:

                    Discord: Lirosz#6563

                      Ts3: 104.154.235.159

 

 

Link para o post
Compartilhar em outros sites

se eu colocar isso da esse erro aqui

 

[Error - TalkAction Interface]
data/talkactions/scripts/autoloot_talk.lua:onSay
Description:
data/talkactions/scripts/autoloot_talk.lua:1: attempt to concatenate global 'AUTO_LOOT_TAX' (a nil value)
stack traceback:
    data/talkactions/scripts/autoloot_talk.lua:1: in function <data/talkactions/scripts/autoloot_talk.lua:1>

 

Link para o post
Compartilhar em outros sites
AUTO_LOOT_TAX = 25 -- Tax for using the service (in %) (min 0, max 100)
AUTO_LOOT_BANK = true -- Will the money go to the bank? If false, the money will go to the player
AUTO_LOOT_STORAGE = 38199 -- Storage of the status of the Auto Loot

if isPremium(cid) then 
function findItemsInContainer(ids, container)
    local items_found = {}
    local v_uids = {}
    for i = 0, getContainerSize(container)-1 do
        container_item = getContainerItem(container, i)
        if isContainer(container_item.uid) then
            local container_recursive = findItemsInContainer(ids, container_item.uid)
            for a, b in ipairs(container_recursive) do
                if not isInArray(v_uids, b.uid) then
                    table.insert(v_uids, container_item.uid)
                    table.insert(items_found, b)
                end
            end
        end
        if isInArray(ids, container_item.itemid) and not isInArray(v_uids, container_item.uid) then
            table.insert(v_uids, container_item.uid)
            table.insert(items_found, container_item)
        end
    end
    return items_found
end
 
function executeAutoLoot(cid, pos, target_name)
    AUTO_LOOT_TAX = AUTO_LOOT_TAX > 100 and 100 or AUTO_LOOT_TAX < 0 and 0 or AUTO_LOOT_TAX
    local corpse = getTileItemByType(pos, ITEM_TYPE_CONTAINER).uid
    local total_count = 0
    for a, b in ipairs(findItemsInContainer({ITEM_GOLD_COIN, ITEM_PLATINUM_COIN, ITEM_CRYSTAL_COIN}, corpse)) do
        if b.itemid == ITEM_CRYSTAL_COIN then
            total_count = total_count+b.type*10000
        elseif b.itemid == ITEM_PLATINUM_COIN then
            total_count = total_count+b.type*100
        elseif b.itemid == ITEM_GOLD_COIN then
            total_count = total_count+b.type
        end
        doRemoveItem(b.uid, b.type)
    end
    if AUTO_LOOT_BANK then
        doPlayerSetBalance(cid, getPlayerBalance(cid)+math.ceil(total_count*(1-AUTO_LOOT_TAX/100)))
    else
        doPlayerAddMoney(cid, math.ceil(total_count*(1-AUTO_LOOT_TAX/100)))
    end
    if total_count > 0 then
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Money collected from "..target_name..": "..total_count.." gold coins."..(AUTO_LOOT_TAX > 0 and " Tax ("..AUTO_LOOT_TAX.."%) discounted: "..math.floor(total_count*(AUTO_LOOT_TAX/100)).." gold coins." or " No tax."))
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Total collected: "..math.ceil(total_count*(1-AUTO_LOOT_TAX/100)).." gold coins.")
    else
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "No money collected from "..target_name..".")
    end
end
    return true
end

Tenta ai agora.

                                          King is Back !                                  Está vendo esse coraçãozinho? Dar um Voto Positivo?                                                                                                                                                                                                       clica ali se eu te ajudei muito. Obrigado !

 

[Tutorial] Colocando sua senha no novo XAMPP

[Tutorial] Como compilar tfs 1.2 no Visual Studio 2015

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

  • Contato:

                    Discord: Lirosz#6563

                      Ts3: 104.154.235.159

 

 

Link para o post
Compartilhar em outros sites

ok vou postar mas la no outro topico que fiz ne sobre o item ao matar player?

 

2 horas atrás, Vodkart disse:

posta o onKIll ou onDeath desse seu sistema

desculpe Vodkart porém nao achei esses arquivos que voce falou.      Este script de autoloot funciona apenas com esses dois scripts que te mandei.  o resto e somente tag no talkactions.

Editado por xdwilliam (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

nem falo nada... Mas tem o onKill sim.

 

na pasta creaturescript, se chama autoloot.lua

 

deixe ele assim:

 

function onKill(cid, target, lastHit)
	if not isPremium(cid) then 
		return true 
	end
	local target_pos,target_name = getCreaturePosition(target),getCreatureName(target)
	addEvent(executeAutoLoot, 0, cid, target_pos, target_name)
	return true
end

 

vodkart_logo.png

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

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites
14 horas atrás, Vodkart disse:

nem falo nada... Mas tem o onKill sim.

 

na pasta creaturescript, se chama autoloot.lua

 

deixe ele assim:

 


function onKill(cid, target, lastHit)
	if not isPremium(cid) then 
		return true 
	end
	local target_pos,target_name = getCreaturePosition(target),getCreatureName(target)
	addEvent(executeAutoLoot, 0, cid, target_pos, target_name)
	return true
end

 

Então mano testei aqui do jeito que voce falou e não deu certo também não influenciou em nada o meu script  com esse comando que voce falou para  eu colocar em autoloot.lua.

creio que precise fazer a função nesses dois que mandei mesmo.

Link para o post
Compartilhar em outros sites

isso não é um comando, é o script do onKill que nem no seu sistema, porque ele é composto por: LIB, CREATURESCRIPT e TALKACTION

vodkart_logo.png

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

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites

Testa ai..

function onSay(cid, words, param)
	if not isPremium(cid) then
	doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Only Premium users can do that.")
	return true
	end
     if getPlayerStorageValue(cid, AUTO_LOOT_STORAGE) == -1 then
	 registerCreatureEvent(cid, "AutoLootMoney")
	 setPlayerStorageValue(cid, AUTO_LOOT_STORAGE, 1)
	 doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Auto Loot Money activated! There's a tax of "..AUTO_LOOT_TAX.."% of the collected money.")
     else
	 unregisterCreatureEvent(cid, "AutoLootMoney")
	 setPlayerStorageValue(cid, AUTO_LOOT_STORAGE, -1)
	 doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Auto Loot Money deactivated!")
     end
	 return true
	 end

 

Te ajudei? Clique em  Gostei ! 

²²²d¬¬b²²²

 

 

"She's got a smile that it seems to me...."  ♪♪

Link para o post
Compartilhar em outros sites
18 horas atrás, luangop disse:

Testa ai..


function onSay(cid, words, param)
	if not isPremium(cid) then
	doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Only Premium users can do that.")
	return true
	end
     if getPlayerStorageValue(cid, AUTO_LOOT_STORAGE) == -1 then
	 registerCreatureEvent(cid, "AutoLootMoney")
	 setPlayerStorageValue(cid, AUTO_LOOT_STORAGE, 1)
	 doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Auto Loot Money activated! There's a tax of "..AUTO_LOOT_TAX.."% of the collected money.")
     else
	 unregisterCreatureEvent(cid, "AutoLootMoney")
	 setPlayerStorageValue(cid, AUTO_LOOT_STORAGE, -1)
	 doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Auto Loot Money deactivated!")
     end
	 return true
	 end

 

Vish Funcionou perfeitamente agora. obrigado mano de verdade ajudou muito já Haha

Podem fechar o tópico.

Problema resolvido Rep + pro colega ai.

Editado por xdwilliam (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

só tem um problema, quem já é premium por exemplo e perder a premium, vai continuar usando o sistema!

 

digamos que eu comprei premium mês passado ou era um user free antes de você mexer na talkactions, ainda vai continuar usando o comando...

 

faz uma função no onLogin pata setar a storage pra -1 ou usa o creaturescript que te mandei do onKIll

vodkart_logo.png

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

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites
4 horas atrás, Vodkart disse:

só tem um problema, quem já é premium por exemplo e perder a premium, vai continuar usando o sistema!

 

digamos que eu comprei premium mês passado ou era um user free antes de você mexer na talkactions, ainda vai continuar usando o comando...

 

faz uma função no onLogin pata setar a storage pra -1 ou usa o creaturescript que te mandei do onKIll

Verdade!

@xdwilliam em data/creaturescripts/scripts/login.lua

Depois de function onLogin(cid)

Coloque isso:

Citar

if getPlayerStorageValue(cid, AUTO_LOOT_STORAGE) >= 0 and (not isPremium(cid)) then
setPlayerStorageValue(cid, AUTO_LOOT_STORAGE, -1)
unregisterCreatureEvent(cid, "AutoLootMoney")
return true
end

 

Te ajudei? Clique em  Gostei ! 

²²²d¬¬b²²²

 

 

"She's got a smile that it seems to me...."  ♪♪

Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

  • Conteúdo Similar

    • Por Jaurez
      .
    • Por Cat
      Em alguns casos, o tibia 8.60 comum não abre de jeito nenhum no map editor, mesmo desmarcando check file signatures e configurando o path corretamente.
       
      Este é o client 8.60 adaptado para o Remere's Map Editor. Resolvi postar já que ele foi removido do site oficial do RME. (ficou apenas a versão para linux lá)
      Se estiver tendo problemas para abrir a versão 8.60, tente utilizar este.
                                                                                                                     
      Baixar o Tibia Client 8.60 que funciona no Remere’s Map Editor
      Essa versão do Tibia 8.60 client resolve o erro unsupported client version ou Could not locate tibia.dat and/or tibia.spr, please navigate to your tibia 8.60 installation folder.
       
      Downloads
      https://tibiaking.com/applications/core/interface/file/attachment.php?id=47333

      Scan: https://www.virustotal.com/gui/file/333e172ac49ba2028db9eb5889994509e7d2de28ebccfa428c04e86defbe15cc
       
    • Por danilo belato
      Fala Galera To Com um problema aki 
       
      quero exporta umas sprites de um server para colocar em outro 
       
      eu clico na sprites ai aparece tds a forma delas do lado de la >>
       
      ai eu clico nela e ponho a opiçao de export mais quando salvo a sprite ela n abri 
       
      aparece isso quando tento vê-la 
       
      visualização não disponível ( no formatos png e bitmap)
       
      Agora no formato idc fala que o paint n pode ler 
       
      me ajudem ae...
    • Por Vitor Bicaleto
      Galera to com o script do addon doll aqui, quando eu digito apenas "!addon" ele aparece assim: Digite novamente, algo está errado!"
      quando digito por exemplo: "!addon citizen" ele não funciona e não da nenhum erro
       
      mesma coisa acontece com o mount doll.. 
    • Por Ayron5
      Substitui uma stone no serve, deu tudo certo fora  esse  erro ajudem  Valendo  Rep+  Grato  

      Erro: data/actions/scripts/boost.lua:557: table index is nil
       [Warning - Event::loadScript] Cannot load script (data/actions/scripts/boost.lua)

      Script:
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo