Ir para conteúdo
  • Cadastre-se

(Resolvido)AJUDA SCRIPTS ACTION - TFS 0.4


Ir para solução Resolvido por Vodkart,

Posts Recomendados

boa tarde, é o seguinte eu queria q o script ficasse da mesma forma, por pontos a diferença q o cara puxa uma alavanca e já pega todos os itens q está listado ali da primeira coluna, o cara puxa a segunda e pega tudo da segunda coluna e etc..

 

local lever = {
[7200] = {12,2474},
[7131] = {12,12568},
[7132] = {12,2469},
[7133] = {12,11114},
[7134] = {12,2181},
[7135] = {12,7365},
[7136] = {12,8905},
[7137] = {12,12001},

[7138] = {200,7903},
[7139] = {200,7884},
[7140] = {200,7885},
[7141] = {200,7886},
[7142] = {200,8911},
[7143] = {200,7363},
[7144] = {200,7460},
[7145] = {200,7390},


[7146] = {300,7900},
[7147] = {300,7899},
[7148] = {300,7894},
[7149] = {300,7891},
[712] = {300,12597},
[7151] = {300,12391},
[7152] = {300,3974},
[7153] = {300,2446},

[7155] = {280,7902},
[7156] = {280,7897},
[7157] = {280,7896},
[7158] = {280,7892},
[7159] = {280,12288},
[7300] = {280,2547},
[7161] = {280,3975},
[7162] = {280,7404},

[7163] = {200,7901},
[7164] = {200,7898},
[7165] = {200,7895},
[7166] = {200,7893},
[7167] = {200,7735},
[7168] = {200,12286},
[7169] = {200,2532},
[7170] = {200,8930}

}
local storage,exausted = 98762, 2
local Stackable = {7365,7363,12286,2547,12391,12597} -- coloque o ID aqui dos que só vem 1
function onUse(cid,item,fromPosition,itemEx,toPosition)
if getotfunPoints(cid) < lever[item.actionid][1] then
return doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "Você precisa de "..lever[item.actionid][1].." Ot Fun points.")
elseif getPlayerStorageValue(cid, storage) >= os.time() then
return doPlayerSendCancel(cid, "espere " .. getPlayerStorageValue(cid, storage) - os.time() .. " alguns segundos e tente novamente.")
end
doPlayerAddItem(cid,lever[item.actionid][2], isItemStackable(lever[item.actionid][2]) and isInArray(Stackable, lever[item.actionid][2]) and 1 or 12)
doPlayerRemoveotfunPoints(cid,lever[item.actionid][1])
setPlayerStorageValue(cid, storage, os.time()+exausted)
doPlayerSendTextMessage(cid,22,"Você comprou um " .. getItemNameById(lever[item.actionid][2]))
doSendMagicEffect(getCreaturePosition(cid), math.random(28,30))
return true
end 

 

Link para o post
Compartilhar em outros sites

ta vendo q no começo 7200 até 7137, tem uma sequência de items, a cada 12 pontos, o cara pega um item, eu quero q com x quantidade de pontos, ele pego todos items de uma vez só, acionando uma alavanca só, entendeu ?? ele vai usa no caso 12 pontos, e vai pegar 8 items, cada um com um id diferente desculpa tenho dificuldade em expressar, mais obrigado por ajudar...

 

  Em 29/01/2019 em 19:33, Storm disse:

@BilauX Explica isso direito, não da pra entender nada

 

Mostrar mais  

 

Link para o post
Compartilhar em outros sites

muito obrigado, as funções do meu sistema de pontos, o cara vai puxa alavanca gasta 96 pontos e ganhar 8 items de acordo com a id q eu coloca, lembrando que essas ids do local stackable, é pra ganhar só um, q são ids de flechas e de itens q tu faz com adm e vem 100, se ele não tiver pontos volta uma mensagem falando q ele precisa de tal pontos, se ele tiver, falar q ele usou os x pontos e ganhou o set... vai ser 5 alavancas, 40 items no total, cada alavanca 8 items cada uma...

local Stackable = {7365,7363,12286,2547,12391,12597} -- coloque o ID aqui dos que só vem 1
if getotfunPoints(cid) e 
doPlayerRemoveotfunPoints

 

  Em 29/01/2019 em 19:46, Storm disse:

@BilauX Me fala então o que você quer que a script faça, vou refazer para você, pegar a script pela metade é difícil para mim

 

Mostrar mais  

 

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

@BilauX Presta bastante atenção na hora de configurar para não fazer errado

local lever = { -- [Alavanca ID] = { [quantida de pontos] = { {itemID, count}, {itemID, count} }, Todas elas podem ser criadas quantas vezes quiser
        
   [7130] = { [100] = { {2150, 5}, {2160, 30}, {3310, 10} },  [200] = { 2150, 5}, {2160, 30} }, 

   [7120] = { [100] = { {2150, 5}, {2160, 30}, {3310, 10} },  [200] = { 2150, 5}, {2160, 30} },
        
}
    
local storage = 34316 -- Storage
local exhaust = 5 -- Segundos de exhaust    
    
function onUse(cid, item, fromPosition, itemEx, toPosition)
    if exhaustion.check(cid, storage) then
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Aguarde " .. exhaustion.get(cid, storage) .. " segundos para usar essa alavanca novamente!!")
        return false
    end
    exhaustion.set(cid, storage, exhaust)
    local check = lever[item.itemid]
    if check then
        for index, table in pairs(check) do
            if getotfunPoints(cid) >= tonumber(index) then
                doPlayerRemoveotfunPoints(cid, tonumber(index))
                for _, var in pairs(table) do
                    doPlayerAddItem(cid, var[1], var[2])
                    doPlayerSendTextMessage(cid, 22, "Você comprou ".. var[2] .." ".. getItemInfo(var[1]).name ..".")
                end 
            end  
        end
    end 
    return true
end

 

Link para o post
Compartilhar em outros sites

assim tu usa, nada acontece nenhum erro na distro, só q aparece you cannot use this object, ai aparece o delay no console, ai tu espera o delay de tempo, e aparece a you cannot use this object e fica nesse loop infinito, delay e a mensagem you cannot..

 

  Em 29/01/2019 em 20:52, Storm disse:

@BilauX Presta bastante atenção na hora de configurar para não fazer errado

local lever = { -- [Alavanca ID] = { [quantida de pontos] = { {itemID, count}, {itemID, count} }, Todas elas podem ser criadas quantas vezes quiser
        
   [7130] = { [100] = { {2150, 5}, {2160, 30}, {3310, 10} },  [200] = { 2150, 5}, {2160, 30} }, 

   [7120] = { [100] = { {2150, 5}, {2160, 30}, {3310, 10} },  [200] = { 2150, 5}, {2160, 30} },
        
}
    
local storage = 34316 -- Storage
local exhaust = 5 -- Segundos de exhaust    
    
function onUse(cid, item, fromPosition, itemEx, toPosition)
    if exhaustion.check(cid, storage) then
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Aguarde " .. exhaustion.get(cid, storage) .. " segundos para usar essa alavanca novamente!!")
        return false
    end
    exhaustion.set(cid, storage, exhaust)
    local check = lever[item.itemid]
    if check then
        for index, table in pairs(check) do
            if getotfunPoints(cid) >= tonumber(index) then
                doPlayerRemoveotfunPoints(cid, tonumber(index))
                for _, var in pairs(table) do
                    doPlayerAddItem(cid, var[1], var[2])
                    doPlayerSendTextMessage(cid, 22, "Você comprou ".. var[2] .." ".. getItemInfo(var[1]).name ..".")
                end 
            end  
        end
    end 
    return true
end

 

 

Mostrar mais  

 

Link para o post
Compartilhar em outros sites
  • 2 weeks later...

@BilauX Testa ai.

 

  Mostrar conteúdo oculto

 

Link para o post
Compartilhar em outros sites

funciono, mais eu quero q usa um action id e vem 8 itens, por x pontos,e depois usa mais outro actionid e vem 8 items e por aí vai...

 

 

  Em 10/02/2019 em 12:52, JoviM disse:

@BilauX Testa ai.

 

  Mostrar conteúdo oculto

 

 

Expand   Mostrar mais  

 

Link para o post
Compartilhar em outros sites

@BilauX Configura na tabela.

 

[actionID da alavanca] = {itemBuy = Id do item que o player vai comprar, amountBuy = Quantidade que o player vai comprar por vez, pointsCost = Quantos pontos vai custar}

Link para o post
Compartilhar em outros sites
  • Solução

galera ele só quer poder adicionar mais itens conforme os points, digamos que com 12 points vem aquela porrada de itens... exemplo assim:

 

local lever = {
	[7200] = {amount = 12, items = {{2474,1},{12568,1},{2469,1},{11114,1},{2181,1},{7365,1},{8905,1},{12001,1}}},
	[7138] = {amount = 200, items = {{7903,1},{7884,1},{7885,1},{7886,1},{8911,1},{7363,1},{7460,1},{7390,1}}},
	[7146] = {amount = 300, items = {{7900,1},{7899,1},{7894,1},{7891,1},{12597,1},{12391,1},{3974,1},{2446,1}}} 
}


function getItemsLevers(cid, items)
	local backpack = doPlayerAddItem(cid, 1999, 1) -- backpackID
	for _, i_i in ipairs(items) do
		local item, amount = i_i[1],i_i[2]
		if isItemStackable(item) or amount == 1 then
			doAddContainerItem(backpack, item, amount)
		else
			for i = 1, amount do
				doAddContainerItem(backpack, item, 1)
			end
		end
	end
end
function getItemsFromList(items)
	local str = ''
	if table.maxn(items) > 0 then
		for i = 1, table.maxn(items) do
			str = str .. items[i][2] .. ' ' .. getItemNameById(items[i][1])
			if i ~= table.maxn(items) then str = str .. ', ' 
			end 
		end 
	end
	return str
end
local storage,exausted = 98762, 2
function onUse(cid,item,fromPosition,itemEx,toPosition)
	if not lever[item.actionid] then return true end
	local var = lever[item.actionid]
	if getotfunPoints(cid) < var.amount then
		return doPlayerSendTextMessage(cid,MESSAGE_INFO_DESCR, "Você precisa de "..var.amount.." Ot Fun points.")
	elseif getPlayerStorageValue(cid, storage) >= os.time() then
		return doPlayerSendCancel(cid, "espere " .. getPlayerStorageValue(cid, storage) - os.time() .. " alguns segundos e tente novamente.")
	end
	getItemsLevers(cid, var.items)
	doPlayerSendTextMessage(cid,22,"Você Acaba De Adquirir: " .. getItemsFromList(var.items))
	doPlayerRemoveotfunPoints(cid,var.amount)
	setPlayerStorageValue(cid, storage, os.time()+exausted)
	doSendMagicEffect(getCreaturePosition(cid), math.random(28,30))
	doTransformItem(item.uid, item.itemid == 1740 and 1740 or 1740) -- troque aqui o id da alavanca
	return true
end

 

 

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

 

agora você pode adicionar quantos items quiser, só colocar {itemid, amount}

 

exemplo:

 

items = {{2173,1},{2160,10}}

 

ai para adicionar mais itens ficaria:

 

items = {{2173,1},{2160,10},{2494,1}}

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

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.

  • Estatísticas dos Fóruns

    96833
    Tópicos
    519574
    Posts
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo