Ir para conteúdo

Featured Replies

Postado

Boa noite, gostaria de fazer um pedido, se alguém puder me ajudar.. Então o pedido é o seguinte, um script que faça com que o teleport me leve a uma cabine vazia do treiner, no caso seriam diversas cabines.. Um exemplo é essa foto:

 

imageproxy.png?width=370&height=300

 

Script: Quando o player pisa no teleporte o script iria checar as cabines e manda ele pra uma vazia. Caso o player logue lá dentro o script faria a mesma checagem e mandasse ele pra uma cabine vazia. E uma pra prevenir, caso todas as cabines tivesse cheia, o player seria bloqueado de entrar e mandaria uma mensagem (configuravel)

 

Iai? Alguém pode me ajudar? Caso n entenda da um toque q tento explicar melhor. Abraços!!

  • Respostas 5
  • Visualizações 951
  • Created
  • Última resposta

Top Posters In This Topic

Posted Images

Postado

Este tópico foi movido para a seção de Suporte Otserv.

Meu Curso sobre Programação para OTServer

Programando OTServer

 

Peça o seu script! Entre agora mesmo no grupo

Developing

 

Conteúdos:

Mostrar conteúdo oculto

 

Discord: Belmont#7352

Não esqueça do REP+ :)     

Postado

Já existe e bem explicado para instalar

@ edit, não reparei que queria 1.3 vou pegar o meu que passei pra 1.x e ja posto é mesma coisa. 

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

Postado

É o mesmo script, so tirei uma função q ja existe na tfs 1.3, e mudei a checagem de tempo pra funções da lib q uso vou passa ela tbm.

<movevent event="StepIn" actionid="14876" script="treiner_in.lua"/>
<movevent event="StepIn" actionid="14877" script="treiner_out.lua"/>

 

treiner_in.lua

local posSend = Position(565, 2699, 6) -- posicao da primeira pos (linha 1 coluna 1)
local storage = 18481 -- storage que salva a ultima vez que o player entrou (pra evitar spams)
local config = {
	distX= 19, -- distancia em X entre cada sala (de uma mesma linha)
	distY= 13, -- distancia em Y entre cada sala (de uma mesma coluna)
	rX= 21, -- numero de colunas
	rY= 10 -- numero de linhas
}

local function heartScript(player, pos, i, j) -- isso é o coração do nosso script, nao mexa nisso
	j = j or 0
	p = i or 0
	if p >= config.rX then
		p = 0
		j = j < config.rY -1 and j + 1 or false
	end
	if j then
		posi = Position(pos.x + ( p * config.distX), pos.y + (j * config.distY), pos.z)
		if Tile(posi):isWalkable() then
			player:teleportTo(posi)
			posi:sendMagicEffect(11)
		else
			heartScript(player, pos, p + 1, j)
		end
	else
		player:sendTextMessage(MESSAGE_STATUS_DEFAULT, "Treiners esgotados.")
	end
end

function onStepIn(player, item, position, fromPosition)
	if not player:exhaustCheck(storage) then
		heartScript(player, posSend)
	else
		player:teleportTo(fromPosition)
		player:sendTextMessage(MESSAGE_STATUS_DEFAULT, "Aguarde "..player:exhaustTime(storage).." para entrar novamente nos treiners.")
	end
return true
end

 

treiner_out.lua

local npos = Position(160, 54, 7) -- posição que ele vai ao sair da sala
local storage = 18481 -- storage que salva a ultima vez que o player entrou (pra evitar spams)

function onStepIn(player, item, pos, lastPos, fromPos, toPos, actor)
	player:teleportTo(npos)
	npos:sendMagicEffect(11)
	player:exhaustSet(storage, 5)
return true
end 

 

exhausted.lua -- coloca em lib/core, e adiciona   dofile('data/lib/core/exhausted.lua')  no core.lua

Mostrar conteúdo oculto

 

creditos a night wolf, apenas passei pra 1.3

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

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.7k

Informação Importante

Confirmação de Termo