Ir para conteúdo

Featured Replies

Postado

.Qual servidor ou website você utiliza como base? OTX

 

Qual o motivo deste tópico? Estou com uma ideia para uma spell de criar um item temporario que dê algum atribudo ao jogador por determinado tempo. Tentei colocar um decayto no item.xml e fazer por conjure mas não da para colocar exhaust por que vai exhaustar a cura do proprio jogador como:

<conjure name="create item" words="createitem" lvl="300" mana="20" soul="1" conjureId="7382" conjureCount="10" aggressive="0" exhaustion="1000" needlearn="0" event="function" value="conjureItem">
</conjure>

Então pensei em fazer por criação através de script, mas com o script que estou utilizando o item está sendo criado, mas o decayto não está funcionando. Eu precisaria que no proprio script removesse o item e colocasse um exhaust para conseguir a spell no proprio script, alguém poderia me ajudar por favor?

   No script abaixo eu precisaria que ele tivesse a função de remover o item do player após 10 segundos e uma exhaust para usar a spell novamente de 1 minuto. Alguém me ajuda por favor?

Você tem o código disponível? Se tiver publique-o aqui: 

 local cfg = {
    item = {7590, 3},
    infinite = true,     --Poderá pegar o item infinitas vezes? [true/sim] [false/não]
}
local storage = 91838
function onCastSpell(cid, var)
    if cfg.infinite then
        doPlayerAddItem(cid, cfg.item[1], cfg.item[2])
    else
        if getPlayerStorageValue(cid, storage) < 1 then
            doPlayerAddItem(cid, item[1], item[2])
            setPlayerStorageValue(cid, storage, 1)
        else
            return doPlayerSendCancel(cid, "Você já pegou seu item.")
        end
    end
    return true
end

 

 

  • Respostas 5
  • Visualizações 696
  • Created
  • Última resposta

Top Posters In This Topic

Posted Images

Postado
local cfg = {
    item = {7590, 3},
    infinite = true,     --Poderá pegar o item infinitas vezes? [true/sim] [false/não]
  	tempo = 10 -- tempo em segundos para o item sumir.
}
local storage = 91838
function onCastSpell(cid, var)
    if cfg.infinite then
        newitem = doPlayerAddItem(cid, cfg.item[1], cfg.item[2])
    	addEvent(doRemoveItem, cfg.tempo*1000, newitem.uid)
    else
        if getPlayerStorageValue(cid, storage) < 1 then
            newitem = doPlayerAddItem(cid, item[1], item[2])
      		addEvent(doRemoveItem, cfg.tempo*1000, newitem.uid)
            setPlayerStorageValue(cid, storage, 1)
        else
            return doPlayerSendCancel(cid, "Você já pegou seu item.")
        end
    end
    return true
end

 

Postado
  • Autor
  Em 04/06/2021 em 00:05, luangop disse:

local cfg = {
    item = {7590, 3},
    infinite = true,     --Poderá pegar o item infinitas vezes? [true/sim] [false/não]
  	tempo = 10 -- tempo em segundos para o item sumir.
}
local storage = 91838
function onCastSpell(cid, var)
    if cfg.infinite then
        newitem = doPlayerAddItem(cid, cfg.item[1], cfg.item[2])
    	addEvent(doRemoveItem, cfg.tempo*1000, newitem.uid)
    else
        if getPlayerStorageValue(cid, storage) < 1 then
            newitem = doPlayerAddItem(cid, item[1], item[2])
      		addEvent(doRemoveItem, cfg.tempo*1000, newitem.uid)
            setPlayerStorageValue(cid, storage, 1)
        else
            return doPlayerSendCancel(cid, "Você já pegou seu item.")
        end
    end
    return true
end

 

@luangop Olá, desculpa a demora para responder, não estava em casa. Acabei de testar aqui e apresentou um erro na distro.
seria possivel colocar uma exhaust para poder usar esse script de 50 segundos para ser usada?
image.thumb.png.47d35ded5b570f5a9779a6eacf262629.png
 

Postado
  Em 04/06/2021 em 14:07, hiquezerah disse:

@luangop Olá, desculpa a demora para responder, não estava em casa. Acabei de testar aqui e apresentou um erro na distro.
seria possivel colocar uma exhaust para poder usar esse script de 50 segundos para ser usada?
image.thumb.png.47d35ded5b570f5a9779a6eacf262629.png
 

bugou um pouco minha mente pelo fato de estar sendo criado 3 items... (quantidade 3) e vc não deu detalhes de pra que este item serve...

local cfg = {
	item = {7590, 3},
	infinite = true, --Poderá pegar o item infinitas vezes? [true/sim] [false/não]
	tempo = 10, -- tempo em segundos para o item sumir.
	storage = 91991, -- storage para o exhaust.
	exstTime = 50 --  tempo em segundos do exhausted.
}
local storage = 91838
function onCastSpell(cid, var)
	if getPlayerStorageValue(cid, cfg.storage) > os.time() then
		return doPlayerSendCancel(cid, "Aguarde ", getPlayerStorageValue(cid, cfg.storage) - os.time() ," segundos para usar novamente.") and false
    end
	if cfg.infinite then
		newitem = doPlayerAddItem(cid, cfg.item[1], cfg.item[2])
		addEvent(doRemoveItem, cfg.tempo*1000, newitem)
		setPlayerStorageValue(cid, cfg.storage, os.time()+(cfg.exstTime*1000))
	else
		if getPlayerStorageValue(cid, storage) < 1 then
			newitem = doPlayerAddItem(cid, item[1], item[2])
			addEvent(doRemoveItem, cfg.tempo*1000, newitem.uid)
			setPlayerStorageValue(cid, storage, 1)
			setPlayerStorageValue(cid, cfg.storage, os.time()+(cfg.exstTime*1000))
		else
			return doPlayerSendCancel(cid, "Você já pegou seu item.")
		end
	end
	return true
end

 

Postado
  • Autor
  Em 04/06/2021 em 14:19, luangop disse:

bugou um pouco minha mente pelo fato de estar sendo criado 3 items... (quantidade 3) e vc não deu detalhes de pra que este item serve...


local cfg = {
	item = {7590, 3},
	infinite = true, --Poderá pegar o item infinitas vezes? [true/sim] [false/não]
	tempo = 10, -- tempo em segundos para o item sumir.
	storage = 91991, -- storage para o exhaust.
	exstTime = 50 --  tempo em segundos do exhausted.
}
local storage = 91838
function onCastSpell(cid, var)
	if getPlayerStorageValue(cid, cfg.storage) > os.time() then
		return doPlayerSendCancel(cid, "Aguarde ", getPlayerStorageValue(cid, cfg.storage) - os.time() ," segundos para usar novamente.") and false
    end
	if cfg.infinite then
		newitem = doPlayerAddItem(cid, cfg.item[1], cfg.item[2])
		addEvent(doRemoveItem, cfg.tempo*1000, newitem)
		setPlayerStorageValue(cid, cfg.storage, os.time()+(cfg.exstTime*1000))
	else
		if getPlayerStorageValue(cid, storage) < 1 then
			newitem = doPlayerAddItem(cid, item[1], item[2])
			addEvent(doRemoveItem, cfg.tempo*1000, newitem.uid)
			setPlayerStorageValue(cid, storage, 1)
			setPlayerStorageValue(cid, cfg.storage, os.time()+(cfg.exstTime*1000))
		else
			return doPlayerSendCancel(cid, "Você já pegou seu item.")
		end
	end
	return true
end

 

@luangop Desculpe-me não expliquei muito bem sobre a minha ideia, é o seguinte eu tive uma ideia de criar um item que da protection all de 20% durante 10 segundos ao personagem que usar, após 10 segundos o item deve sumir para que as pessoas não fiquem estacando esses itens em bps para usar depois. E essa spell teria um cooldown de 50 segundos, sabe? é basicamente o script vai criar apenas 1 item, não são três não.
eu testei o seu novo script aqui e continuou dando alguns erros vou te mandar aquiimage.thumb.png.3c16ccdbf51f24c38c27567b4f0e6adb.png
esse print acima é após a spell ser usada e eu tentar usar ela novamente /\ 

 

image.png.fe52cbd47ff3a9a947f132a3459b7b2c.png
esse outro aqui eu acredito que seja depois dos 10 segundos que o item deveria sumir, mas não sumiu
 

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Conteúdo Similar

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo