Ir para conteúdo

Featured Replies

Postado

@Tomarasdaf 

 

kk tenta trocar esse 10000 que coloquei e coloca so uns 500 pra ver, não conheço mto a função sacas?

 

local add = 10000 -- 10 segundos

tenta colocar por exemplo

 

local add = 500

-- ou tenta colocar

local add = 50

-- e vai testando

 

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

  • Respostas 31
  • Visualizações 5.9k
  • Created
  • Última resposta

Top Posters In This Topic

Most Popular Posts

  • Utilizei o script que eu ja tinha feito, apenas editei.   Bom não entendi aquele 0.5, mas vamos la...   em movements/scripts/ crie um arquivo.lua e cole isso dentro: local conf

  • Eu fiz esse script rápido em C++ para regenerar Stamina X de stamina no PZ a cada X segundos.   https://gist.github.com/vankk/ebd1377d52b3b92028ecad632e949d0c   Só você adicionar n

  • sera que fazendo pelo onThink nao é melhor? exemplo no creaturescript:   staminareco.lua local storage = 323274 local store,exausted = 156892,30 function onLogin(cid) registerCreatureEv

Posted Images

Postado
8 horas atrás, Vodkart disse:

sera que fazendo pelo onThink nao é melhor? exemplo no creaturescript:

 

staminareco.lua


local storage = 323274
local store,exausted = 156892,30
function onLogin(cid)
	registerCreatureEvent(cid, "StaminaThink")
	setPlayerStorageValue(cid, store,0)
	setPlayerStorageValue(cid, storage, 0)
	return true
end
function onThink(cid, interval)
	if not isPlayer(cid) or not isCreature(cid) then
		return true
	end
	if getTilePzInfo(getCreaturePosition(cid)) and getPlayerStorageValue(cid, storage) <= 0 then
		setPlayerStorageValue(cid, storage, 1)
		if getPlayerStorageValue(cid, store) - os.time() <= 0 then
			doPlayerSendTextMessage(cid, 20, "{Stamina Recovery} Sua stamina começou a se recuperar, o fator de recuperação é de 30 segundos de stamina a cada 5 segundos dentro da zona de proteção em relação as condições normais.")
			setPlayerStorageValue(cid, store, os.time()+exausted)
		end 
	elseif not getTilePzInfo(getCreaturePosition(cid)) and getPlayerStorageValue(cid, storage) > 0 then
		setPlayerStorageValue(cid, storage, 0)
	end
	return true
end

 

TAG


	<event type="login" name="StaminareLogin" event="script" value="staminareco.lua"/>
	<event type="think" name="StaminaThink" event="script" value="staminareco.lua"/>

 

e no globalevents:

 

staminareco.lua


function onThink(pid, interval, lastExecution, thinkInterval)
	local refuel = 42 * 60 * 1000 -- full
	local add = 30000 -- 30 segundos
	for _, pid in ipairs(getPlayersOnline()) do
		if getTilePzInfo(getCreaturePosition(pid)) and getPlayerStamina(pid) < refuel then
			doPlayerSetStamina(pid, getPlayerStamina(pid) + add)
		end
	end
	return true 
end

 

TAG

 


<globalevent name="StaminaRegen" interval="5" script="staminareco.lua"/>

 

obs: se o seu servidor for em milesegundos trocar o "5" por "5000"

 

@Vodkart Daria muito trabalho para fazer esse script funcionar em um tile com uma storage especifica ou uma área determinada? porque só de entrar em um local com protectzone já aparece a mensagem que esta healando a stamina

Compre seus Scripts Agora totalmente seguro e de forma rápida, aceitamos também encomendas.

discord.gg/phJZeHa2k4

 

Projeto ATS (Naruto)

Informações Abaixo

Facebook

Youtube
Discord

 

Tutoriais / Conteúdos

Clique Aqui

Postado
  • Autor

@Vodkart olha como que ta subindo

os scripts estao assim

Citar

function onThink(pid, interval, lastExecution, thinkInterval)
    local refuel = 42 * 60 * 1000 -- full
    local add = 30 -- 10 segundos
    for _, pid in ipairs(getPlayersOnline()) do
        if getTilePzInfo(getCreaturePosition(pid)) and getPlayerStamina(pid) < refuel then
            doPlayerSetStamina(pid, getPlayerStamina(pid) + add)
        end
    end
    return true 
end

Citar

local storage = 323274
local store,exausted = 156892,30
function onLogin(cid)
    registerCreatureEvent(cid, "StaminaThink")
    setPlayerStorageValue(cid, store,0)
    setPlayerStorageValue(cid, storage, 0)
    return true
end
function onThink(cid, interval)
    if not isPlayer(cid) or not isCreature(cid) then
        return true
    end
    if getTilePzInfo(getCreaturePosition(cid)) and getPlayerStorageValue(cid, storage) <= 0 then
        setPlayerStorageValue(cid, storage, 1)
        if getPlayerStorageValue(cid, store) - os.time() <= 0 then
            doPlayerSendTextMessage(cid, 20, "{Stamina Recovery} Sua stamina comecou a se recuperar, o fator de recuperacao eh de 10.5s em relacao as condicoes normais.")
            setPlayerStorageValue(cid, store, os.time()+exausted)
        end 
    elseif not getTilePzInfo(getCreaturePosition(cid)) and getPlayerStorageValue(cid, storage) > 0 then
        setPlayerStorageValue(cid, storage, 0)
    end
    return true
end

Citar

<globalevent name="StaminaRegen" interval="5" script="Staminareco.lua"/>

 

Postado
1 hora atrás, Tomarasdaf disse:

@Vodkart olha como que ta subindo

os scripts estao assim

 

 

Troque:

<globalevent name="StaminaRegen" interval="5" script="Staminareco.lua"/>

Por:

<globalevent name="StaminaRegen" interval="5000" script="Staminareco.lua"/>

 

════ҳ̸Ҳ̸ҳஜ۩۞۩ஜҳ̸Ҳ̸ҳ═══╗

Te Ajudei? Rep + e ficamos Quits

166420979_logoyanliimaornight.png.33f822b8970081a5b3646e85dbfd5934.png

Precisando de ajuda?

discord.png.1ecd188791d0141f74d99db371a2e0a4.png.890d5a38d7bcde75543c72b624a65de1.pngDiscord: Yan Liima #3702

Programador Júnior de LUA, PHP e JavaScript

Juntos somos lendas, separados somos Mitos!

╚══════════════════════════ҳ̸Ҳ̸ҳஜ۩۞۩ஜҳ̸Ҳ̸ҳ═════════════════════════════╝

Postado
Em 15/01/2019 em 17:42, Yan Liima disse:

Utilizei o script que eu ja tinha feito, apenas editei.

 

Bom não entendi aquele 0.5, mas vamos la...

 

em movements/scripts/ crie um arquivo.lua e cole isso dentro:


local config = {
addStamina = 1, -- quantos de stamina irá adicionar
delay = 1, -- tempo para adicionar a stamina em minutos
msg = 0.5, -- Só pra exibição de valor mesmo...
}

stamina = {}
local function staminadd(cid)
    if not isPlayer(cid) then
		stamina[cid] = nil
	return true
    end
	doPlayerSetStamina(cid, getPlayerStamina(cid) + config.addStamina)
	stamina[cid] = addEvent(staminadd, config.delay*60*1000, cid)
end

function onStepIn(cid)
    if isPlayer(cid) then
	if getTileInfo(getThingPos(cid)).protection then
	if getPlayerStorageValue(cid, sta) < os.time() then
	doPlayerSendTextMessage(cid, 20, "{Stamina Recovery} Sua stamina começou a se recuperar, o fator de recuperação é de "..config.msg.." em relação as condições normais.")
    setPlayerStorageValue(cid, sta, os.time() + 300)    
    end
	stamina[cid] = addEvent(staminadd, config.delay*60*1000, cid)
  end	
end
return true
end

function onStepOut(cid)
    if isPlayer(cid) then
        stopEvent(stamina[cid])
        stamina[cid] = nil
    end
return true
end

No seu movements.xml coloque isso:


<movevent type="StepIn" itemid="7351" event="script" value="arquivo.lua"/>
<movevent type="StepOut" itemid="7351" event="script" value="arquivo.lua"/>

Troque: 7351 pelo ID do seu tile(piso). Caso em outras zonas protegida o piso seja diferente só por assim, Ex: 7351-7352...

O delay da mensagem está setado para 5 minutos.

 

Aki funcionou perfeitamente. O unico problema é q tem que por os ids do chao, mas e dboa. O bom q é muito facil de instalar

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