Ir para conteúdo
  • Cadastre-se

Posts Recomendados

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!!

Link para o post
Compartilhar em outros sites
  • Moderador

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:

 

Discord: Belmont#7352

Não esqueça do REP+ :)     

Link para o post
Compartilhar em outros sites

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

Link para o post
Compartilhar em outros sites

É 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

Spoiler

function Player:exhaustCheck(storage)
	if self:getStorageValue(storage) - os.time(t) > 0 then
		return true
	end
	return false
end

function Player:exhaustGet(storage)
	local exhaust = (self:getStorageValue(storage) - os.time(t))
	return exhaust
end

function Player:exhaustSet(storage, time)
	self:setStorageValue(storage, os.time(t) + time)
end

function Player:exhaustTime(storage)
	return convertTime(self:getStorageValue(storage) - os.time())
end

 

 

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

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

É 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


function Player:exhaustCheck(storage)
	if self:getStorageValue(storage) - os.time(t) > 0 then
		return true
	end
	return false
end

function Player:exhaustGet(storage)
	local exhaust = (self:getStorageValue(storage) - os.time(t))
	return exhaust
end

function Player:exhaustSet(storage, time)
	self:setStorageValue(storage, os.time(t) + time)
end

function Player:exhaustTime(storage)
	return convertTime(self:getStorageValue(storage) - os.time())
end

 

 

creditos a night wolf, apenas passei pra 1.3

fiz tudo certinho, coloquei os scripts certinhos nos lugares, porém quando entro no tp para ir pros trainers não acontece nada, parece que não está configurado, eu fico em cima do tp.

 

Apareceu esses erros:

image.thumb.png.b9812d2ccb282c80a89593c2be466630.png

Editado por yuriowns
adicionei o erro (veja o histórico de edições)
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.


  • Conteúdo Similar

    • Por Glacial
      Boa noite galera!
       
      Meu nome é Gustavo/Glacial, gostaria de compartilhar meu mapa projeto Old City (8.60)
       
      Espero que curtam e podem baixar pra colocar no ot de vocês!
       
      Atualização Old City (8.60) versão 1.0:
      - Depot + Templo + Lojas (NPCs a gosto) + Teleports (para customizar) tudo em uma mesma casa central.
      - Houses em volta da cidade.
      - 4 saídas N, S, L e Oeste.
      - Cidade estilizada com bancos, postes de luz, e bancos.

      Atualização Old City (8.60) versão 2.0:
      - 4 Novos Mapas de Hunt/Quest ao Norte (Montanhas) Sul (Jungle) Leste (Vulcão) e Oeste (Gelo) da Old City. 
       
      >>> Download Mapas: https://www.mediafire.com/folder/hz0q694t9nk86/Mapas_Glacial <<<
       
      Scan VirusTotal:

      Old City (8.60) versão 1.0 Virus Total: https://www.virustotal.com/gui/file/5c2988531c71e1ae7f363b1102c865cb9debe2fd7e5f1b09b7cd09d40c2bf517?nocache=1
      Old City (8.60) versão 2.0 Virus Total: https://www.virustotal.com/gui/file/a2caef91a130d0df62ae4e88fa0719c331a6bb1fbad66a72c08fc3cd362bf430?nocache=1
       
      - Mapas Anteriores:
      Glacial City (10.98) versão 1.0 Virus Total: https://www.virustotal.com/gui/file/b4e94903752e24aba63b291f9929f15f6bd7f4feb44d5a1f42ec3d755ee7977e?nocache=1
      Glacial City (10.98) versão 2.0 Virus Total: https://www.virustotal.com/gui/file/d88ae087e966bed6e2f2348f31246c1858831c1fb13d4e8613ba98f6ede37503?nocache=1
       





       
       
       
    • Por Underewar
      Olá gostaria de contribuir com a comunidade com estes serviços.
      Aproveite é por tempo limitado.
      Conheça um pouco mais sobre quem eu sou.
      Serviços de Desenvolvimento Web
      Excelência em Resolução de Problemas
      Identificação e correção de BUGS em bancos de dados e scripts PHP para um funcionamento perfeito. Criação de Valor
      Implementação de novas funcionalidades em websites, tanto no Front-end quanto no Back-end, para melhorar a experiência dos usuários. Design Atraente
      Habilidade em design responsivo usando Bootstrap para criar interfaces atraentes e compatíveis com diversos dispositivos. Da Ideia à Realidade
      Capacidade de criar websites avançados desde o conceito inicial até a implementação completa, integrando funcionalidades complexas. Personalização Precisa
      Desenvolvimento de websites a partir do zero usando stacks avançadas ou PHP convencional, garantindo personalização total. Desenvolvimento de Open Tibia Server (OTC)
      Melhoria Contínua
      Identificação e solução de BUGS em módulos para aprimorar a estabilidade e jogabilidade no Open Tibia Server. Inovação Impulsionada
      Integração de novas funcionalidades ao OTC, enriquecendo a experiência dos jogadores com recursos inovadores. Módulos Eficientes
      Criação de novos módulos com foco na qualidade do código e na melhoria da interatividade dos jogadores. Desenvolvimento de Otserver (Open Tibia Server)
      Performance Elevada
      Identificação e correção precisa de problemas em scripts para manter a performance e a integridade do otserver. Crescimento Constante
      Introdução de novos scripts e funcionalidades, impulsionando o crescimento contínuo e a inovação do otserver. Atualização Estratégica
      Atualização cuidadosa dos pacotes de compilação de projetos para garantir eficiência e compatibilidade. Otimização e Segurança
      Proteção Robusta
      Implementação de soluções AntiCheat/AntiBot para garantir um ambiente de jogo seguro e livre de trapaças. Escalabilidade e Desempenho
      Configuração especializada em nuvens líderes do mercado, incluindo Google Cloud, Azure Cloud, Amazon Cloud e DigitalOcean Cloud. Defesa Efetiva
      Instalação e configuração do ANTI-DDOS Cloudflare para proteger o servidor contra ataques cibernéticos. Outros Serviços
      Inovação na Blockchain
      Implementação de sistema NFT, incorporando aspectos visuais e lógicos da tecnologia blockchain para criar experiências únicas. Facilitação Financeira
      Integração de pagamento automático em websites, abrangendo uma variedade de plataformas para maior comodidade dos usuários. Infraestrutura Otimizada
      Configuração e instalação nas nuvens, como Google Cloud, Azure Cloud, Amazon Cloud e DigitalOcean Cloud, para alcançar a melhor performance.
        Processo de Contratação Simplificado:
       
      Aqui está a nossa forma descomplicada de lidar com pagamentos:
      Entrada (50%): Depois de escolher o serviço, pedimos metade do valor para começar.
      Saldo (50%): Quando terminarmos e você estiver satisfeito, pedimos o restante antes da entrega final.
       
      Estamos ansiosos para trabalhar juntos. Se tiver dúvidas ou estiver interessado em nossos serviços, sinta-se à vontade para entrar em contato. Mal podemos esperar para construir algo incrível juntos!
       
      Converse Comigo:
      Estou à disposição para conversar e discutir projetos.
      Fique à vontade para me contatar aqui ou através das seguintes redes:
       
      LinkedIn: Rafhael Oliveira
       
      Meus Projetos: Dê uma olhada nos meus projetos no GitHub: GitHub Repositories
       
      Otland: Confira meu perfil no Otland e veja minhas conquistas: Perfil no Otland
       
      Com uma experiência sólida de 10 anos na área de desenvolvimento de OTS,
       

       
    • Por SHARINGAN.exe
      Procurei na net um tutorial desse tipo e não achei, então ta ae, da forma mais básica possível.
       
       
       
    • Por Underewar
      Este é o projeto TFS Downgrade (Nekiro), uma versão modificada do TFS Downgrade (Nekiro) baseado no TFS 1.5. Você pode ver o histórico do repositório releases.
      Este projeto foi criado com o intuito de ser uma base o mais limpa possível, para funcionar como um mecanismo de MMORPG não necessariamente ligado ao Tibia Global, embora também funcione. O Tibia King - Downgrade foi adaptado para funcionar com o código TFS, sendo o primeiro repositório a utilizar esse mecanismo.
       
      Para se conectar ao servidor e ter uma experiência estável, você pode usar o otclient do mehah ou o cliente do Tibia. E se quiser fazer alguma edição, confira nossas ferramentas personalizadas.
       
      Se você quiser editar o mapa, use o próprio Remere's Map Editor.
       
      Esteja ciente do nosso código de conduta, disponível neste link.
      Problemas
      Usamos o rastreador de problemas no GitHub. Tenha em mente que todos que estão observando o repositório recebem notificações por e-mail quando há atividade, então seja cuidadoso e evite escrever comentários que não sejam destinados a um problema (por exemplo, "+1"). Se você gostaria que um problema fosse resolvido mais rapidamente, você deve corrigi-lo você mesmo e enviar uma solicitação de pull request ou oferecer uma recompensa para o problema.
      Recursos
      Pvp System (Open, Retro, Enforced) Old Classic Slot System Old Classic Vocation System Old Classic Attack Speed Protocol 8.60 Referências
      Compilação VCPKG Outas Versões:
      7.72
      8.0
       

      Download
    • Por Imperius
      Tinha visto isso no servidor do MegaTibia / Kaldrox e achei bem interessante.
       
      Todos os tópicos que encontrei sobre o assunto de alterar a cor das mensagens dos GMs, CMs e ADM no channel Help para vermelho, falavam que tinham que fazer uma configuração na própria source do servidor.
       
      Fiz uma gambiarra que funciona, sem a necessidade de mexer na source do servidor e de utilizar comandos para isso. Testei somente em TFS 0.4 e funciona tranquilamente.
       
      segue abaixo como configurar em seu otserver:
       
      data > talkactions > scripts > crie um arquivo chamado gmsayred.lua e cole o código abaixo:
       
      function onSay(cid, words, param, channel) if channel == CHANNEL_HELP then for _, pid in ipairs(getPlayersOnline()) do doPlayerSendChannelMessage(pid, '', "".. getCreatureName(cid) .. ": ".. words, TALKTYPE_CHANNEL_R1, CHANNEL_HELP) end return true end end  
      em talkactions.xml cole a tag abaixo:

       
      <!-- Gamemasters --> <talkaction default="yes" filter="quotation" logged="no" access="3" event="script" value="gmsayred.lua"/>    
      e pronto! Agora é só enviar alguma mensagem no Help que a mensagem ficará em vermelho.
       

       
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo