Página 1 de 1

[LUA] Samp.lua o futuro substituto do SAMPFuncs

Enviado: 16 Jul 2019, 20:42
por PauloKim
Tópico Oficial
Autor: FYP (Um dos criadores do próprio MoonLoader, ImGui pra moonloader e MoonAdditions)

Inicialmente essa biblioteca seria apenas uma API para processar pacotes de rede, porem foi decidido que seria melhor fazer uma biblioteca completa pra trabalhar com SAMP, no qual no futuramente eliminara a necessidade do SAMPFuncs, Ate agora apenas um modulo foi implementado o qual já simplifica trabalhar com pacotes de rede:

SAMP.Events

Esse modulo adiciona eventos para processar pacotes RakNet, Tem uma API conveniente, é totalmente customizável e melhora características de alguns hooks regulares como: reading, rewriting e ignoring.

Exemplo De uso:
um simples exemplo do processamento de uma mensagem capturada do chat:

Código: Selecionar tudo

local sampev = require 'lib.samp.events'

function sampev.onSendChat(msg)
  print('Voce disse: ' .. msg)
end
Sim, Bem simples, voce só precisar inicializar a biblioteca e escrever a função com os argumentos apropriados, isso é tudo. sobrescrever os dados do pacote é simples tambem, basta retornar todos os valores da função na mesma ordem, colocando as em uma tabela:

Código: Selecionar tudo

function sampev.onSendChat(msg)
  return {'Voce disse: ' .. msg}
end
Esse código altera o pacote de cada mensagem enviada pelo player, colocando um "Voce disse:" no inicio.

Se for retornado FALSE o pacote é ignorado pelo cliente, Esse código previne qualquer alteração de Skin:

Código: Selecionar tudo

function sampev.onSetPlayerSkin(playerId,skinId)
  print('O Servidor tentou alterar sua skin para: '..skinId)
  return false
end
A Estrutura de todos os pacotes estão no arquivo events.lua.

Sobrescrever pacotes de saída de sincronização é um pouco diferente dos demais, Eles não necessitam de argumentos retornados, mas sim que os dados sejam escritos em forma de tabela (Isso foi feito para melhorar performance)

um exemplo reescrevendo a posição enviada por um pacote de sincronização do player:

Código: Selecionar tudo

function sampev.onSendPlayerSync(data)
  print('Posição original:', data.position.x, data.position.y, data.position.z)
  data.position.x = 1337
  data.position.y = 1488
  data.position.z = 228
end

Esse modelo se aplica apenas aos seguintes eventos:
SpoilerAbrir
onSendPlayerSync, onSendVehicleSync, onSendPassengerSync, onSendAimSync, onSendUnoccupiedSync, onSendTrailerSync, onSendBulletSync, onSendSpectatorSync

a estrutura de todos os pacotes de sincronização estão no arquivo synchronization.lua

Sobre a biblioteca em geral ela esta no inicio de seu desenvolvimento, Você pode baixar e acompanhar tudo na pagina do GitHub.

Instalação:
Baixe o arquivo samp.zip de sua ultima atualização no github e mova toda a pasta (NÃO Seu conteúdo) do arquivo samp.zip  para a pasta
'moonloader/lib/'.

Qualquer ajuda é bem vinda Principalmente da adição de estruturas, faça um pull request na pagina do GitHub ou escreva algo no post oficial.

 

Re: [LUA] Samp.lua o futuro substituto do SAMPFuncs

Enviado: 17 Jul 2019, 18:54
por Um_Geek
Da ultima vez que vi não substituía o SAMPFuncs, ainda dependia do cleo instalado até, mas adiciona muitas funções ao moonloader.

Re: [LUA] Samp.lua o futuro substituto do SAMPFuncs

Enviado: 17 Jul 2019, 19:30
por PauloKim
Um_Geek escreveu:
17 Jul 2019, 18:54
Da ultima vez que vi não substituía o SAMPFuncs, ainda dependia do cleo instalado até, mas adiciona muitas funções ao moonloader.
Não depende do cleo instalado, é instalado igual o moonadditions, Realmente não substitui o sampfuncs (ainda) porem sim, adiciona varias funções

Re: [LUA] Samp.lua o futuro substituto do SAMPFuncs

Enviado: 23 Jun 2020, 15:29
por greazyglitchman
Onde posso dar ideias para um game que não tem tópico no forúm? Quero dar a ideia de vocês fazerem uma tradução para o GTA IV (ou 4, como preferir escrever ou dizer) no estilo da tradução que vocês fizeram para o SA, bem feita, poucos erros, girias e expressões de linguagem coloquial bem características de acordo com o jeito de ser do personagem. Onde posso dar esta ideia ou falar diretamente com algum responsavel?

Re: [LUA] Samp.lua o futuro substituto do SAMPFuncs

Enviado: 22 Jan 2022, 14:44
por Hatiro
Tem como eu enviar informações do cleo/mod para o samp?

Re: [LUA] Samp.lua o futuro substituto do SAMPFuncs

Enviado: 21 Fev 2022, 01:34
por PauloKim
Hatiro escreveu:
22 Jan 2022, 14:44
Tem como eu enviar informações do cleo/mod para o samp?
Como assim? se comunicar com o servidor só pelos mesmos modos que o jogador consegue, pelo chat ou qualquer ação dentro do jogo