Ir para conteúdo

Featured Replies

Postado
Em 15/06/2014 em 17:14, xWhiteWolf disse:

1) 

itemport.lua:


local config = {
storage = 49607, 
tempo = 10,
itemid = 6217
}


local positions = {}


function onCastSpell(cid, var)


if getPlayerStorageValue(cid, config.storage) <= 0 then
table.insert(positions, getThingPos(cid))
doPlayerSetStorageValue(cid, config.storage, #positions)
doCreateItem(config.itemid, getThingPos(cid))
doSendMagicEffect(getThingPos(cid), 3)
addEvent(function()
  if isCreature(cid) then
  doPlayerSendTextMessage(cid, 22, "Your item has expired.")
  doPlayerSetStorageValue(cid, config.storage, 0)
  table.remove(positions, getPlayerStorageValue(cid, config.storage))
  end
 end, 1000*config.tempo)
elseif getPlayerStorageValue (cid, config.storage) > 0 then
doTeleportThing(cid, positions[getPlayerStorageValue(cid, config.storage)]) 
doSendMagicEffect(getThingPos(cid), 10)
end
return true
end

 

 

 

Opa, Essa spell me ajudou BASTANTE, porem eu coloquei ela com um time de 120 segundos pra ser usada novamente, mas.. fazendo isso eu não posso usar ela pra voltar no local que ativei, pois eu já fico exhausted, sera que teria alguma forma do exhausted só ser ativado depois que o boneco voltar no local ativado?

  • Respostas 30
  • Visualizações 4.9k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • 1)  itemport.lua: local config = { storage = 49607,  tempo = 10, itemid = 6217 } local positions = {} function onCastSpell(cid, var) if getPlayerStorageValue(cid, config.storage) <= 0 th

  • eu fiz a segunda spell igualzinha do server dos caras, com o dano e tudo..  dá uma olhada na minha assinatura. A primeira spell o item não some porque o jeito que tem de fazer ele sumir é por Decay e

  • ah desculpa, entendi agora... esse script aí tava cheio de erros, eu refiz nos moldes que você queria, espero que você goste    

Postado
23 hours ago, Dersonpe said:

 

Opa, Essa spell me ajudou BASTANTE, porem eu coloquei ela com um time de 120 segundos pra ser usada novamente, mas.. fazendo isso eu não posso usar ela pra voltar no local que ativei, pois eu já fico exhausted, sera que teria alguma forma do exhausted só ser ativado depois que o boneco voltar no local ativado?

pelo q eu entendi vc aumentou o exhaustion da tag no xml, vc deveria ter aumentado o time na config do script.

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Postado
10 horas atrás, xWhiteWolf disse:

pelo q eu entendi vc aumentou o exhaustion da tag no xml, vc deveria ter aumentado o time na config do script.

Opa, não não, eu aumentei na config do script mesmo, na tag do xml eu deixei em 0. 

Eu queria que ela só pudesse ser usada novamente em 120 segundos entende? porem quando eu uso ela a primeira vez, quando vou usar o mesmo nome pra poder voltar no local dentro dos 10 segundos que expira o item, ele simplesmente diz que tenho que aguardar 120 segundos..

 

Assim, deixa eu tentar explicar melhor, eu queria deixar um tempo de 10 segundos pro item expirar, isso eu consegui colocar, porem queria um tempo de exhausted na magia de 120 segundos, porem quando coloco 120 segundos de exhausted, não consigo usar a magia pra voltar ao local depois que ativei, mesmo dentro dos 10 segundos, pois ele da exhausted.

Editado por Dersonpe (veja o histórico de edições)

Postado
12 hours ago, Dersonpe said:

Opa, não não, eu aumentei na config do script mesmo, na tag do xml eu deixei em 0. 

Eu queria que ela só pudesse ser usada novamente em 120 segundos entende? porem quando eu uso ela a primeira vez, quando vou usar o mesmo nome pra poder voltar no local dentro dos 10 segundos que expira o item, ele simplesmente diz que tenho que aguardar 120 segundos..

 

Assim, deixa eu tentar explicar melhor, eu queria deixar um tempo de 10 segundos pro item expirar, isso eu consegui colocar, porem queria um tempo de exhausted na magia de 120 segundos, porem quando coloco 120 segundos de exhausted, não consigo usar a magia pra voltar ao local depois que ativei, mesmo dentro dos 10 segundos, pois ele da exhausted.

ah desculpa, entendi agora...

esse script aí tava cheio de erros, eu refiz nos moldes que você queria, espero que você goste :3
 

Spoiler

local config = {
	storage = 49607, -- salva o tempo do item expirar
	tempo = 10, -- tempo pro item expirar
	itemid = 6217, -- id do item
	storagedelay = 49608, -- onde salva o tempo pra usar dnv a spell
	delayquant = 120 -- quantidade de tempo em segundos q fica sem poder usar uma vez q teleporta de volta.
}

local positions = {}

function onCastSpell(cid, var)
	if getPlayerStorageValue(cid, config.storagedelay) - os.time() <= 0 then
		if getPlayerStorageValue(cid, config.storage) <= 0 then
			-- procura a primeira posicao livre
			local index = 0
			repeat 
				index = index + 1				
			until (not positions[index])
			-- salva a pos na primeira posicao livre do hash
			positions[index] = getThingPos(cid)
			-- salva a posicao livre no storage do player para referencia
			doPlayerSetStorageValue(cid, config.storage, index)
			doCreateItem(config.itemid, getThingPos(cid))
			doSendMagicEffect(getThingPos(cid), 3)
			addEvent(function()
				if isCreature(cid) then
					doPlayerSendTextMessage(cid, 22, "Your item has expired.")
					doPlayerSetStorageValue(cid, config.storage, 0)
					positions[getPlayerStorageValue(cid, config.storage)] = nil
				end
			end, 1000*config.tempo)
		elseif getPlayerStorageValue (cid, config.storage) > 0 then
			doTeleportThing(cid, positions[getPlayerStorageValue(cid, config.storage)])
			doPlayerSetStorageValue(cid, config.storagedelay, config.delayquant + os.time())
			-- tratamento pra remover a pos salva			
			doPlayerSetStorageValue(cid, config.storage, 0)
			positions[getPlayerStorageValue(cid, config.storage)] = nil
			--
			doSendMagicEffect(getThingPos(cid), 10)
		end
	else
		doPlayerSendCancel(cid, "You have to wait ".. getPlayerStorageValue(cid, config.storagedelay) - os.time() .." seconds to use this spell again.")
	end
return true
end

 

 

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Postado
2 horas atrás, xWhiteWolf disse:

ah desculpa, entendi agora...

esse script aí tava cheio de erros, eu refiz nos moldes que você queria, espero que você goste :3
 

  Ocultar conteúdo


local config = {
	storage = 49607, -- salva o tempo do item expirar
	tempo = 10, -- tempo pro item expirar
	itemid = 6217, -- id do item
	storagedelay = 49608, -- onde salva o tempo pra usar dnv a spell
	delayquant = 120 -- quantidade de tempo em segundos q fica sem poder usar uma vez q teleporta de volta.
}

local positions = {}

function onCastSpell(cid, var)
	if getPlayerStorageValue(cid, config.storagedelay) - os.time() <= 0 then
		if getPlayerStorageValue(cid, config.storage) <= 0 then
			-- procura a primeira posicao livre
			local index = 0
			repeat 
				index = index + 1				
			until (not positions[index])
			-- salva a pos na primeira posicao livre do hash
			positions[index] = getThingPos(cid)
			-- salva a posicao livre no storage do player para referencia
			doPlayerSetStorageValue(cid, config.storage, index)
			doCreateItem(config.itemid, getThingPos(cid))
			doSendMagicEffect(getThingPos(cid), 3)
			addEvent(function()
				if isCreature(cid) then
					doPlayerSendTextMessage(cid, 22, "Your item has expired.")
					doPlayerSetStorageValue(cid, config.storage, 0)
					positions[getPlayerStorageValue(cid, config.storage)] = nil
				end
			end, 1000*config.tempo)
		elseif getPlayerStorageValue (cid, config.storage) > 0 then
			doTeleportThing(cid, positions[getPlayerStorageValue(cid, config.storage)])
			doPlayerSetStorageValue(cid, config.storagedelay, config.delayquant + os.time())
			-- tratamento pra remover a pos salva			
			doPlayerSetStorageValue(cid, config.storage, 0)
			positions[getPlayerStorageValue(cid, config.storage)] = nil
			--
			doSendMagicEffect(getThingPos(cid), 10)
		end
	else
		doPlayerSendCancel(cid, "You have to wait ".. getPlayerStorageValue(cid, config.storagedelay) - os.time() .." seconds to use this spell again.")
	end
return true
end

 

 

Manoooo, muito obrigado!!!!!
você é foda d+++ 
merece mil rep++

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.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo