Ir para conteúdo
  • Cadastre-se

Posts Recomendados

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?

Link para o post
Compartilhar em outros sites
  • Respostas 30
  • Created
  • Última resposta

Top Posters In This Topic

Top Posters In This Topic

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 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.")   doPl

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 pra isso precisaria criar um item diferente no item editor com a mesma sprite de um item existente (a menos que vc nao ligue de perder um item do seu server). A forma que o Eduardo fez é muito boa mas ela é falha (quando alguém faz um item na mesma hr que o item anterior foi removido o item atual é

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

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)

Link para o post
Compartilhar em outros sites
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)
Link para o post
Compartilhar em outros sites
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)

Link para o post
Compartilhar em outros sites
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++

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

    96844
    Tópicos
    519597
    Posts



×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo