Ir para conteúdo
  • Cadastre-se

(Resolvido)Script com erro no time.


Ir para solução Resolvido por Vodkart,

Posts Recomendados

Após clicar no item da um tempo de 2 minutos para pode clicar novamente mas não está funcionando, reparei que não tem função em minutos no script.

 

alguém pode me ajudar?

 

Script.

function onUse(cid, item, frompos, item2, topos)
	local rand = math.random(1, 100)
	if item.itemid == 11253 and item.actionid == 45492 then
		if getPlayerStorageValue(cid, 45490) <= 0 then
			return doPlayerSendCancel(cid, "Speak with Sandomo to use this item.")
		else
			if rand > 25 then
				doTransformItem(item.uid, 12688)
				doDecayItem(item.uid)
				doCreateMonster("guzzlemaw", getCreaturePosition(cid), false, true);
				doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "You ransack the pile but fail to find any useful parts.");
				doSendMagicEffect(topos, CONST_ME_MAGIC_RED)
			else
				doTransformItem(item.uid, 12688)
				doDecayItem(item.uid)
				local stor = getPlayerStorageValue(cid, 45491) + 1
				setPlayerStorageValue(cid, 45491, stor)
				doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Amidst the pile of various bones you find a large, hollow part, similar to a pipe.");
				doSendMagicEffect(topos, CONST_ME_MAGIC_GREEN)
			end
		end
		
	elseif item.itemid == 12688 and item.actionid == 45492 then
		return doCreatureSay(cid, "Wait 2 minutes to use a pile.", TALKTYPE_ORANGE_1, false, 0, getCreaturePosition(cid))
	end
	return true
end

 

 

Link para o post
Compartilhar em outros sites

Tente assim, 
 

function onUse(cid, item, frompos, item2, topos)
	local StorageExaust = 722404 -- Mude Aqui caso queira trocar a storage.
	local Time = 120 -- Valores em segundos que ele terá que esperar.

	if getPlayerStorageValue(cid, StorageExaust) > os.time() then
			doPlayerSendCancel(cid, "Você não pode usar este item agora.")
			return true
		end
		
	local rand = math.random(1, 100)
	if item.itemid == 11253 and item.actionid == 45492 then
		if getPlayerStorageValue(cid, 45490) <= 0 then
			return doPlayerSendCancel(cid, "Speak with Sandomo to use this item.")
		else
			if rand > 25 then
				doTransformItem(item.uid, 12688)
				doDecayItem(item.uid)
				doCreateMonster("guzzlemaw", getCreaturePosition(cid), false, true);
				doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "You ransack the pile but fail to find any useful parts.");
				doSendMagicEffect(topos, CONST_ME_MAGIC_RED)
				setPlayerStorageValue(cid, StorageExaust, os.time() + Time)
			else
				doTransformItem(item.uid, 12688)
				doDecayItem(item.uid)
				local stor = getPlayerStorageValue(cid, 45491) + 1
				setPlayerStorageValue(cid, 45491, stor)
				doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Amidst the pile of various bones you find a large, hollow part, similar to a pipe.");
				doSendMagicEffect(topos, CONST_ME_MAGIC_GREEN)
				setPlayerStorageValue(cid, StorageExaust, os.time() + Time)
			end
		end
		
	elseif item.itemid == 12688 and item.actionid == 45492 then
		return doCreatureSay(cid, "Wait 2 minutes to use a pile.", TALKTYPE_ORANGE_1, false, 0, getCreaturePosition(cid))
	end
	return true
end

 

logo-serverpreta.png.cea1f02ea305eb561e142d3cae94d89a.png

Jnetworks - Trazendo o melhor para você!
Suporte 24/7

http://Jnetworks.com.br

 

 

Link para o post
Compartilhar em outros sites
23 minutos atrás, Jnetworks disse:

Tente assim, 
 


function onUse(cid, item, frompos, item2, topos)
	local StorageExaust = 722404 -- Mude Aqui caso queira trocar a storage.
	local Time = 120 -- Valores em segundos que ele terá que esperar.

	if getPlayerStorageValue(cid, StorageExaust) > os.time() then
			doPlayerSendCancel(cid, "Você não pode usar este item agora.")
			return true
		end
		
	local rand = math.random(1, 100)
	if item.itemid == 11253 and item.actionid == 45492 then
		if getPlayerStorageValue(cid, 45490) <= 0 then
			return doPlayerSendCancel(cid, "Speak with Sandomo to use this item.")
		else
			if rand > 25 then
				doTransformItem(item.uid, 12688)
				doDecayItem(item.uid)
				doCreateMonster("guzzlemaw", getCreaturePosition(cid), false, true);
				doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "You ransack the pile but fail to find any useful parts.");
				doSendMagicEffect(topos, CONST_ME_MAGIC_RED)
				setPlayerStorageValue(cid, StorageExaust, os.time() + Time)
			else
				doTransformItem(item.uid, 12688)
				doDecayItem(item.uid)
				local stor = getPlayerStorageValue(cid, 45491) + 1
				setPlayerStorageValue(cid, 45491, stor)
				doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Amidst the pile of various bones you find a large, hollow part, similar to a pipe.");
				doSendMagicEffect(topos, CONST_ME_MAGIC_GREEN)
				setPlayerStorageValue(cid, StorageExaust, os.time() + Time)
			end
		end
		
	elseif item.itemid == 12688 and item.actionid == 45492 then
		return doCreatureSay(cid, "Wait 2 minutes to use a pile.", TALKTYPE_ORANGE_1, false, 0, getCreaturePosition(cid))
	end
	return true
end

  

 

Não deu certo, tipo eu clico no pile ele meda chance de summon monstro ou ponto, e são vários no map, mas essa função sua só segura o tempo mas depois aparece a mesma mensagem  "Wait 2 minutes to use a pile."

era pra eu pode clicar de novo e usar a função e esperar novamente os 2 minutos.

Link para o post
Compartilhar em outros sites

Deixa ver se entendi certo, se for me avisa. 

 

Se o player tiver a storage e usar o pilar ele vai ter 25% de cria um monstro ou de ganhar +1 e tal storage e o pilar vira outro, depois de 2 min o pilar volta ao normal e ele pode usa de novo? 

 

Agr não consigo ajeita pra tu, mas hr q tiver em casa se for assim mesmo q funciona arrumo pra você. 

Discord: Naze#3578

 

Ter Linux Dentro de Windows com Acesso 'localhost' para testes e +

AutoLoot Otimizado Direto na Source (tfs 0.4/otx)

 

// Pirataria é crime, original é roubo, compartilhar é legal.

 

tumblr_muk78tEwDQ1qah4nko1_500.gif

Link para o post
Compartilhar em outros sites
41 minutos atrás, Naze disse:

Deixa ver se entendi certo, se for me avisa. 

 

Se o player tiver a storage e usar o pilar ele vai ter 25% de cria um monstro ou de ganhar +1 e tal storage e o pilar vira outro, depois de 2 min o pilar volta ao normal e ele pode usa de novo? 

 

Agr não consigo ajeita pra tu, mas hr q tiver em casa se for assim mesmo q funciona arrumo pra você. 

 

Isso amigo, é a quest de roshamuul preciso ter 50 pontos, mas ai te as % de sair o monstro.. e nisso da o tempo de 2 minutos pra usa novamente mas não está funcionando, obs tem vários no map quando eu clico em 1 vou para outro e assim vai.. mas no final todos fica dizendo a msg de 2 minutos e não volta ao normal.

Link para o post
Compartilhar em outros sites

@maleskinho 

 

testa assim:

 

 

function onUse(cid, item, frompos, item2, topos)
	local StorageExaust = 722404 -- Mude Aqui caso queira trocar a storage.
	local Time = 120 -- Valores em segundos que ele terá que esperar.
	local rand = math.random(1, 100)	
	
	if item.itemid == 12688 and item.actionid == 45492 then
		if getPlayerStorageValue(cid, StorageExaust) > os.time() then
			doPlayerSendCancel(cid, "Você não pode usar este item agora.") return true
		end
	end
	if item.itemid == 11253 and item.actionid == 45492 then
		if getPlayerStorageValue(cid, 45490) <= 0 then
			doPlayerSendCancel(cid, "Speak with Sandomo to use this item.") return true
		end	
		if rand > 25 then
			doCreateMonster("guzzlemaw", getCreaturePosition(cid), false, true)
			doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "You ransack the pile but fail to find any useful parts.");
			doSendMagicEffect(topos, CONST_ME_MAGIC_RED)
		else
			setPlayerStorageValue(cid, 45491, getPlayerStorageValue(cid, 45491)+1)
			doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Amidst the pile of various bones you find a large, hollow part, similar to a pipe.");
			doSendMagicEffect(topos, CONST_ME_MAGIC_GREEN)
		end
		doTransformItem(item.uid, 12688)
		doDecayItem(item.uid)
		setPlayerStorageValue(cid, StorageExaust, os.time() + Time)
	end
	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
12 minutos atrás, Vodkart disse:

@maleskinho 

 

testa assim:

 

 


function onUse(cid, item, frompos, item2, topos)
	local StorageExaust = 722404 -- Mude Aqui caso queira trocar a storage.
	local Time = 120 -- Valores em segundos que ele terá que esperar.
	local rand = math.random(1, 100)	
	
	if item.itemid == 12688 and item.actionid == 45492 then
		if getPlayerStorageValue(cid, StorageExaust) > os.time() then
			doPlayerSendCancel(cid, "Você não pode usar este item agora.") return true
		end
	end
	if item.itemid == 11253 and item.actionid == 45492 then
		if getPlayerStorageValue(cid, 45490) <= 0 then
			doPlayerSendCancel(cid, "Speak with Sandomo to use this item.") return true
		end	
		if rand > 25 then
			doCreateMonster("guzzlemaw", getCreaturePosition(cid), false, true)
			doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "You ransack the pile but fail to find any useful parts.");
			doSendMagicEffect(topos, CONST_ME_MAGIC_RED)
		else
			setPlayerStorageValue(cid, 45491, getPlayerStorageValue(cid, 45491)+1)
			doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Amidst the pile of various bones you find a large, hollow part, similar to a pipe.");
			doSendMagicEffect(topos, CONST_ME_MAGIC_GREEN)
		end
		doTransformItem(item.uid, 12688)
		doDecayItem(item.uid)
		setPlayerStorageValue(cid, StorageExaust, os.time() + Time)
	end
	return true
end

 

 

só diz a msg "you cannot  use this object" sem erros na distro.

Link para o post
Compartilhar em outros sites

@maleskinho Deve ser porque quando vira o item 12688 ele perde o actionID.

 

 

o certo é fazer no proprio script, depois de 2 minutos, voltar a ser o item de antes;

@maleskinho 

 

faz assim:

 

function onUse(cid, item, frompos, item2, topos)
	local minutes = 2
	local rand = math.random(1, 100)
	local pos = {x = 138, y = 52, z=7} -- position do item
	
	if getPlayerStorageValue(cid, 45490) <= 0 then
		doPlayerSendCancel(cid, "Speak with Sandomo to use this item.") return true
	end	
	
	if rand > 25 then
		doCreateMonster("guzzlemaw", getCreaturePosition(cid))
		doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "You ransack the pile but fail to find any useful parts.")
		doSendMagicEffect(topos, CONST_ME_MAGIC_RED)
	else
		setPlayerStorageValue(cid, 45491, getPlayerStorageValue(cid, 45491)+1)
		doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Amidst the pile of various bones you find a large, hollow part, similar to a pipe.");
		doSendMagicEffect(topos, CONST_ME_MAGIC_GREEN)
	end
	doTransformItem(item.uid, 12688)
	addEvent(function() doTransformItem(getTileItemById(pos, 12688).uid, 11253) end, minutes*60000) 
	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
29 minutos atrás, Vodkart disse:

@maleskinho Deve ser porque quando vira o item 12688 ele perde o actionID.

 

 

o certo é fazer no proprio script, depois de 2 minutos, voltar a ser o item de antes;

 

Deixei o script normal, coloquei a id 11253 pra ficar depois que clicar, mas ai eu consigo clicar toda hora sem parar. ;s

Link para o post
Compartilhar em outros sites

@maleskinho erro meu!! perdão!!

 

function onUse(cid, item, frompos, item2, topos)
	local minutes = 2
	local rand = math.random(1, 100)
	local pos = {x = 138, y = 52, z=7} -- position do item
	if item.itemid ~= 11253 then
		return true
	end 	
	if getPlayerStorageValue(cid, 45490) <= 0 then
		doPlayerSendCancel(cid, "Speak with Sandomo to use this item.") return true
	end	
	if rand > 25 then
		doCreateMonster("guzzlemaw", getCreaturePosition(cid))
		doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "You ransack the pile but fail to find any useful parts.")
		doSendMagicEffect(topos, CONST_ME_MAGIC_RED)
	else
		setPlayerStorageValue(cid, 45491, getPlayerStorageValue(cid, 45491)+1)
		doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Amidst the pile of various bones you find a large, hollow part, similar to a pipe.");
		doSendMagicEffect(topos, CONST_ME_MAGIC_GREEN)
	end
	doTransformItem(item.uid, 12688)
	addEvent(function() doTransformItem(getTileItemById(pos, 12688).uid, 11253) end, minutes*60000) 
	return true
end

 

testa desde o começo agora!!

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
11 minutos atrás, Vodkart disse:

@maleskinho erro meu!! perdão!!

 


function onUse(cid, item, frompos, item2, topos)
	local minutes = 2
	local rand = math.random(1, 100)
	local pos = {x = 138, y = 52, z=7} -- position do item
	if item.itemid ~= 11253 then
		return true
	end 	
	if getPlayerStorageValue(cid, 45490) <= 0 then
		doPlayerSendCancel(cid, "Speak with Sandomo to use this item.") return true
	end	
	if rand > 25 then
		doCreateMonster("guzzlemaw", getCreaturePosition(cid))
		doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "You ransack the pile but fail to find any useful parts.")
		doSendMagicEffect(topos, CONST_ME_MAGIC_RED)
	else
		setPlayerStorageValue(cid, 45491, getPlayerStorageValue(cid, 45491)+1)
		doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Amidst the pile of various bones you find a large, hollow part, similar to a pipe.");
		doSendMagicEffect(topos, CONST_ME_MAGIC_GREEN)
	end
	doTransformItem(item.uid, 12688)
	addEvent(function() doTransformItem(getTileItemById(pos, 12688).uid, 11253) end, minutes*60000) 
	return true
end

 

testa desde o começo agora!!

 

Voltou ao de antes com a msg "ou cannot  use this objec"

Link para o post
Compartilhar em outros sites

@maleskinho 

 

usa o action assim

 

<action actionid="45492" script="nome do seu script.lua"/>

 

ai la no item do MAPA

 

deixa o item 11253 com o AID 45492

 

e qndo clica nele vai funcionar, eu testei aqui

vc editou a position do item ali em cima né?

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 minutos atrás, Vodkart disse:

@maleskinho 

 

usa o action assim

 


<action actionid="45492" script="nome do seu script.lua"/>

 

ai la no item do MAPA

 

deixa o item 11253 com o AID 45492

 

e qndo clica nele vai funcionar, eu testei aqui

vc editou a position do item ali em cima né?

 

Entendi, mas o position não vai da assim por que tem vários pra clicar no map ;s

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

@maleskinho de boa, usa a mesma TAG que te passei e no código assim:

 

 

function onUse(cid, item, fromPosition, itemEx, toPosition)
	local minutes = 2
	local rand = math.random(1, 100)
	if item.itemid ~= 11253 then
		return true
	end 	
	if getPlayerStorageValue(cid, 45490) <= 0 then
		doPlayerSendCancel(cid, "Speak with Sandomo to use this item.") return true
	end	
	if rand > 25 then
		doCreateMonster("guzzlemaw", getCreaturePosition(cid))
		doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "You ransack the pile but fail to find any useful parts.")
		doSendMagicEffect(toPosition, CONST_ME_MAGIC_RED)
	else
		setPlayerStorageValue(cid, 45491, getPlayerStorageValue(cid, 45491)+1)
		doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Amidst the pile of various bones you find a large, hollow part, similar to a pipe.");
		doSendMagicEffect(toPosition, CONST_ME_MAGIC_GREEN)
	end
	doTransformItem(item.uid, 12688)
    addEvent(function() doTransformItem(getThingfromPos(toPosition).uid, 11253)  end, minutes*60000)
	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
8 minutos atrás, Vodkart disse:

@maleskinho de boa, usa a mesma TAG que te passei e no código assim:

 

 


function onUse(cid, item, fromPosition, itemEx, toPosition)
	local minutes = 2
	local rand = math.random(1, 100)
	if item.itemid ~= 11253 then
		return true
	end 	
	if getPlayerStorageValue(cid, 45490) <= 0 then
		doPlayerSendCancel(cid, "Speak with Sandomo to use this item.") return true
	end	
	if rand > 25 then
		doCreateMonster("guzzlemaw", getCreaturePosition(cid))
		doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "You ransack the pile but fail to find any useful parts.")
		doSendMagicEffect(toPosition, CONST_ME_MAGIC_RED)
	else
		setPlayerStorageValue(cid, 45491, getPlayerStorageValue(cid, 45491)+1)
		doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Amidst the pile of various bones you find a large, hollow part, similar to a pipe.");
		doSendMagicEffect(toPosition, CONST_ME_MAGIC_GREEN)
	end
	doTransformItem(item.uid, 12688)
    addEvent(function() doTransformItem(getThingfromPos(toPosition).uid, 11253)  end, minutes*60000)
	return true
end

 

 

Funcionou, consegue adicionar o texto pra 2 min? ai finalizou haha

Link para o post
Compartilhar em outros sites

@maleskinho como assim? o texto aparecer para o jogador que clicou depois de 2 minutos? não entendi man

usa assim

 

 

if item.itemid ~= 11253 then
	doCreatureSay(cid, "Wait 2 minutes to use a pile.", TALKTYPE_ORANGE_1, false, 0, getCreaturePosition(cid))
	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

Que bom que resolveu, só consegui vim posta agora mas editei o seu mesmo quiser testa também.

 

function onUse(cid, item, frompos, item2, topos)
	local StorageExaust = 722404 -- Mude Aqui caso queira trocar a storage.
	local Time = 120 -- Valores em segundos que ele terá que esperar.
	local pos = getThingPos(item.uid)

	if getPlayerStorageValue(cid, StorageExaust) > os.time() then
			doPlayerSendCancel(cid, "Você não pode usar este item agora.")
			return true
		end
		
	local rand = math.random(1, 100)
	if item.itemid == 11253 and item.actionid == 45492 then
		if getPlayerStorageValue(cid, 45490) <= 0 then
			return doPlayerSendCancel(cid, "Speak with Sandomo to use this item.")
		else
			if rand > 25 then
				doTransformItem(item.uid, 12688)
				doDecayItem(item.uid)
				addEvent(function() item2 = getThingfromPos(pos) doTransformItem(item2.uid,11253) end, 2*60*1000)
				doCreateMonster("guzzlemaw", getCreaturePosition(cid), false, true);
				doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "You ransack the pile but fail to find any useful parts.");
				doSendMagicEffect(topos, CONST_ME_MAGIC_RED)
				setPlayerStorageValue(cid, StorageExaust, os.time() + Time)
			else
				doTransformItem(item.uid, 12688)
				doDecayItem(item.uid)
				addEvent(function() item2 = getThingfromPos(pos) doTransformItem(item2.uid,11253) end, 2*60*1000)
				local stor = getPlayerStorageValue(cid, 45491) + 1
				setPlayerStorageValue(cid, 45491, stor)
				doPlayerSendTextMessage(cid, MESSAGE_EVENT_ADVANCE, "Amidst the pile of various bones you find a large, hollow part, similar to a pipe.");
				doSendMagicEffect(topos, CONST_ME_MAGIC_GREEN)
				setPlayerStorageValue(cid, StorageExaust, os.time() + Time)
			end
		end
		
	elseif item.itemid == 12688 and item.actionid == 45492 then
		return doCreatureSay(cid, "Wait 2 minutes to use a pile.", TALKTYPE_ORANGE_1, false, 0, getCreaturePosition(cid))
	end
	return true
end

 

Discord: Naze#3578

 

Ter Linux Dentro de Windows com Acesso 'localhost' para testes e +

AutoLoot Otimizado Direto na Source (tfs 0.4/otx)

 

// Pirataria é crime, original é roubo, compartilhar é legal.

 

tumblr_muk78tEwDQ1qah4nko1_500.gif

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.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo