Portal SAMP
[Open.MP] Experiência de conversão - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: Comunidade (https://portalsamp.com/forumdisplay.php?fid=15)
+--- Fórum: Off topic (https://portalsamp.com/forumdisplay.php?fid=19)
+--- Tópico: [Open.MP] Experiência de conversão (/showthread.php?tid=3434)

Páginas: 1 2


RE: [Open.MP] Experiência de conversão - DiegoLBC1 - 22/08/2023

(16/03/2023 17:13)Dr Editor Escreveu: Etapa 4: Em busca da solução

Queria converter sem perder tanto tempo, mas ao mesmo tempo sem comprometer todo o gamemode.

Então resolvi não aderir aos moldes do OpenMP e manter a estrutura mais próxima do SA:MP, ou seja, eliminar as tag!
No braço de fato eu demoraria um tempo, mas bem menos que realizar as modificações no gamemode visto que o projeto foi feito em módulos.


Etapa 5: Mãos a obra

Pensando mais a frente e me colocando num cenário em que venho a perder as includes modificadas manualmente ou até mesmo para futuros updates onde é adicionado novas funções, desenvolvi um programa para remover as tags personalizadas do OpenMP e foi um sucesso.


Grande, Dr. Editor.

Se não for abusar demais da boa vontade, poderia esclarecer o que seriam "tags personalizadas"? Como não sou scripter ainda tenho uma certa dificuldade em "associar o nome à pessoa". Esse programa que vc mencionou no item 5, será disponibilizado de alguma forma, seja gratuito ou mediante pagamento?

Grande abraço.


RE: [Open.MP] Experiência de conversão - Jamis2002 - 24/01/2024

Citar:Sobre:

Com a vinda do OpenMP e a título de minha própria curiosidade e experiência, acabei realizando a 'conversão' de um gamemode inteiro SA:MP para OpenMP e é sobre isso que irei fazer meu relato.
Eu possuo um gamemode que venho desenvolvendo há um bom tempo e que no momento está pegando poeira. Estava aguardando o encerramento da versão beta para fazer a conversão do gamemode para OpenMP.


As mudanças:

Sim, houve inúmeras mudanças.
Se você pensa em baixar o servidor do OpenMP e jogar em cima do seu servidor SA:MP para dar aquele upgrade, esqueça! Terá bastante trabalho e será realmente cansativo.
Se alguém disser o contrário então não estamos falando de um grande script.

Foram correções, parâmetros renomeados, funções adicionadas, funções que serão removidas (provavelmente no próximo release), novas versões de plugins... 
Foi adicionado também novas tags para tipificar enumeradores e parâmetro e isso, se mantido, inviabilizará a conversão de um script muito grande caso mantenha os 'moldes' do OpenMP.

Sinceramente, essas tags vieram como um coice pra quem não estava acostumado a trabalhar com elas visto que as únicas tags do SA:MP eram para tipos de dados.
(Não estou mistificando o uso delas, apenas afirmando que o SA:MP não trabalhava com elas da mesma forma que o OpenMP)


Começando a conversão:

Etapa 1: Instalação

O início da conversão é como vocês já imaginam. Baixei o servidor, joguei a livraria na pasta do compilador, ajustei o nome da include no script e realizei a primeira compilação.
Confesso que nunca tinha visto tantos erros e avisos na tela. Os erros se limitam aos 26 por compilação, porém os avisos... Bom, foram em torno de 900!!
Alí já bateu o desânimo, porém comecei estudar as includes e entender o motivo dos avisos para ter certeza se iria continuar ou parar.


Etapa 2: Estudando os problemas

Ao comprender melhor o motivo dessas dezenas de erros percebi que a maior parte deles era em função de callbacks com hook, pois era o erro clássico de que a função era diferente da nativa por conta das novas e incríveis tags adicionadas e outras por conta de parâmetros renomeados.
Os avisos eram apenas em função das tags mesmo.


Etapa 3: Estudando a viabilidade

Nas primeiras impressões não senti que ajustar as novas tags no servidor seria algo impossível, mas não achei que seria o melhor caminho.
Estamos falando de mais de 1000 ajustes MANUAIS que não seria possível através de uma ferramenta externa sem o risco de comprometer ainda mais o script.


Etapa 4: Em busca da solução

Queria converter sem perder tanto tempo, mas ao mesmo tempo sem comprometer todo o gamemode.

Então resolvi não aderir aos moldes do OpenMP e manter a estrutura mais próxima do SA:MP, ou seja, eliminar as tag!
No braço de fato eu demoraria um tempo, mas bem menos que realizar as modificações no gamemode visto que o projeto foi feito em módulos.


Etapa 5: Mãos a obra

Pensando mais a frente e me colocando num cenário em que venho a perder as includes modificadas manualmente ou até mesmo para futuros updates onde é adicionado novas funções, desenvolvi um programa para remover as tags personalizadas do OpenMP e foi um sucesso.


Etapa 5: Ajustes finais

Como nem tudo são flores, apesar do programa fazer todo o trabalho pesado ainda resta fazer algumas alterações no código.
Algumas funções que originalmente não possuíam um valor booleano, mas que logicamente deveria ter e isso foi implementado no OpenMP eu atualizei.


Conclusão:

Foram algumas horas perdidas ao longo do dia, mas no fim valeu a pena e o servidor iniciou sem qualquer problema.
Não é um processo rápido, mas se você tem um projeto sólido e que vale a pena esse tempo, então espero que meu relato sobre como foi minha experiência realizando esse procedimento possa te dar um norte.
Reforço que tudo o que descrevi foi a minha forma de como lidei com a atualização. Você pode optar por qualquer outra que achar viável.


Dica e reflexão:

Não tem muita esperiência com programação ou mesmo com Pawn? Não perca seu tempo!
Não sabe o que são tags, como implementar e quais são relevantes ou não? Não perca seu tempo!
Não compreende muito bem os erros e avisos do compilador? Não perca seu tempo!

Caso ainda assim queira se arriscar, faça um backup e realize o procedimento.
Não é burrice tentar algo novo e as perguntas acima não devem ser um fator desmotivador. Apenas se certifique de investir seu tempo em algo que valha a pena.


Sua opinião:

Já tentou ou realizou com sucesso a conversão de algum script para OpenMP? Conte como foi a experiência.
Bom Dia / Tarde / Noite!

Minha História Com o Open.mp Já E Longa, Longa Pelo Fato de Que Já Ouvi Falar Muito Sobre Esse Novo "SA-MP", Mas Nunca Tive Coragem De Testar. Após Muitas Pesquisas, Constatei Diversas Melhorias Tanto Em Questão de Código e Melhorias Internas, Como Por Exemplo: (Os Timers Tiveram Uma Correção e Estão 100% Mais Precisos), Devido A Essas e Outras Melhorias, Decidi Fazer O Porte.

Vim Aqui No Fórum Mais Pra Relatar Minha Experiencia Com A Conversão:

Instalação:

Na Etapa Da Instalação, Fiquei Muito Perdido, Mas Com Ajuda De Alguns Colegas e O Bruno Aqui Do Fórum, Consegui Instalar Tranquilamente.

Compilação:

Na Etapa De Compilação, Minha Reação Foi Muito Parecida Com a Do Primeiro Cara, Deu Mais de 1.000 Warnings. Ai Realmente Bateu Muito O Desânimo, Mas Eu Não Desisti.

Após Isso, Atualizei O Pack De Includes Do YSI e Consegui Resolver os 13 Erros.  A GM Compilou Normalmente.

Atualizações:

Ainda Restam 549 Warnings A Serem Resolvidos, Entrei No LocalHost E Já Percebi Uma Diferença Absurda De Performance.

Experiência:
Se Desejam Ter Um "SA-MP Melhorado" Com Algumas Correções Tanto Nativas Tanto De Performance, O Open.mp é Pra Você!
Mas Se Você é Um Scripter Sem Ou Com Pouca Experiência Como Foi Citado, Vai De Você Arriscar e Fazer Essa Conversão.

Abraços.