Ir para conteúdo
  • Cadastre-se

(Resolvido)Treiners Anti AFK


Ir para solução Resolvido por Bruno Minervino,

Posts Recomendados

Galera, alguém pode me ajudar?

 

Gostaria de um sistema, que ao entrar no trainer, o jogador tem 'x' minutos para se mover, caso contrario ele será teleportado para 'n' posição.

Não basta apenas girar, ou dar use em item e tals, ele tem que se mexer literalmente, sair do piso e entrar novamente.

 

Versão: TFS 1.2

 

Gostaria também do treiner (criatura) na qual eu pudesse configurar sua aparência, não seria uma criatura, mas deixaria ele na forma de um item por exemplo.

 

Agradeço a quem se dispor a ajudar.

Link para o post
Compartilhar em outros sites
ao entrar no trainer, o jogador tem 'x' minutos para se mover, caso contrario ele será teleportado para 'n' posição.

istraining.lua (data\movements\scripts)

local time, key = 3, 98765 -- minutes, storage
local pos = {x = 5, y = 6, z = 7} -- position

function onStepIn(cid)
    local function isTraining(uid)
        return getPlayerStorageValue(uid, key) > 0 and doTeleportThing(uid, pos) or true
    end
    
    check = addEvent(isTraining, 1000 * 60 * time, cid)
    return setPlayerStorageValue(cid, key, 1)
end

function onStepOut(cid)
    return stopEvent(check) and setPlayerStorageValue(cid, key, -1)
end

movements.xml (data\movements)

<movevent type="StepIn" actionid="XXXXX" event="script" value="istraining.lua"/>
<movevent type="StepOut" actionid="XXXXX" event="script" value="istraining.lua"/>

PS: O actionid deve ser posto no tile dos trainers, onde os players ficam sob.

 

 

do treiner (criatura) na qual eu pudesse configurar sua aparência, não seria uma criatura, mas deixaria ele na forma de um item

No arquivo XML do monster, observe que haverá uma linha como esta:

<look type="61" head="20" body="30" legs="40" feet="50" corpse="6002"/>

Substitua-a por essa:

<look typeex="ITEMID"/>

The corrupt fear us.

The honest support us.

The heroic join us.

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

@fantomdruid,

Como você usa TFS 1.2, tenta assim:

local config = {
	time = 1, -- minutes
	str = 98765, -- storage
	pos = {x = 5, y = 6, z = 7} -- position
}

function onStepIn(creature, item, position, fromPosition)
	if not creature:isPlayer() then return false end
	local function isTraining(uid)
		local self = Player(uid)
		return self:getStorageValue(config.str) > 0 and self:teleportTo(config.pos) or true
	end
    
	check = addEvent(isTraining, config.time * 60 * 1000, creature.uid)
	return creature:setStorageValue(config.str, 1)
end

function onStepOut(creature, item, position, fromPosition)
	if not creature:isPlayer() then return false end
	return stopEvent(check) and creature:setStorageValue(config.str, -1)
end
Eu tava precisando de algo assim no meu projeto, então decidi ajudar, porém os créditos são do Wise.

Atenciosamente,

Bruno Minervino

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.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo