Portal SAMP
[Ajuda] Duvidas sobre a organização. - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Duvidas sobre a organização. (/showthread.php?tid=2046)



Duvidas sobre a organização. - Klaba - 18/01/2022

Olá! Eu baixei uma GM do youtube recentemente, e todos os comandos de staffs estão dentro do GM. Para deixar mais organizado eu queria criar uma pasta dentro dos ficheiros da pasta da gamemode chamada "Admins" e colocar todos os comandos e recursos dos adms lá, há como?



RE: Duvidas sobre a organização. - xbruno1000x - 18/01/2022

Claro, basta usar DOF2 para fazer o salvamento. Pode usar até um pAdmin e salvar junto da pasta padrão de salvamento de jogadores.


RE: Duvidas sobre a organização. - Klaba - 19/01/2022

(18/01/2022 22:20)xbruno1000x Escreveu: Claro, basta usar DOF2 para fazer o salvamento. Pode usar até um pAdmin e salvar junto da pasta padrão de salvamento de jogadores.

Bom, eu uso o sistema de salvamento MySQL, há como pegar todos os comandos e funções, colocar em uma pasta e na gamemode puxar esse arquivo? Não tenho muito experiencia com pawno...  Confused

Eu também quero fazer o mesmo com os npc's, colocar eles numa pasta, em um só arquivo, e queria saber como puxa eles na gamemode, exemplo: Igual puxa um código css no html...


RE: Duvidas sobre a organização. - xbruno1000x - 19/01/2022

(19/01/2022 00:05)Klaba Escreveu:
(18/01/2022 22:20)xbruno1000x Escreveu: Claro, basta usar DOF2 para fazer o salvamento. Pode usar até um pAdmin e salvar junto da pasta padrão de salvamento de jogadores.

Bom, eu uso o sistema de salvamento MySQL, há como pegar todos os comandos e funções, colocar em uma pasta e na gamemode puxar esse arquivo? Não tenho muito experiencia com pawno...  Confused

Eu também quero fazer o mesmo com os npc's, colocar eles numa pasta, em um só arquivo, e queria saber como puxa eles na gamemode, exemplo: Igual puxa um código css no html...

Em MySQL, tudo irá para um banco de dados. Mesmo assim, você pode usar DOF2 para outros salvamentos.

Usando o NPC como Exemplo:
Faça um looping criando o arquivo como nome similar ao de baixo
Actor_%d.ini

Salve as coordenadas
DOF2_SetFloat(file, "FloatSpawnX", Actor[i][X]);
DOF2_SetFloat(file, "FloatSpawnY", Actor[i][Y]);
DOF2_SetFloat(file, "FloatSpawnZ", Actor[i][Z]);

*file é o format do arquivo que será salvo
Depois é só dar um GetFloat para pegar os valores salvos.


RE: Duvidas sobre a organização. - Luiz - 19/01/2022

Se seu interesse for organizar a gamemode de forma a colocar comandos e funções administrativas em outro arquivo, diferente do main.pwn, faça uma programação modular. A maneira mais comum é criar uma nova pasta na principal do servidor chamada "modules" e criar subpastas dentro dela, como "admin", "veiculos", "casas". Cada pasta conterá um sistema diferente. (Lembre-se, somente códigos, com a intenção de organizar seus scripts. Não serve como forma de salvamento)

Para fazer a integração entre os dois arquivos, no main.pwn você deve incluir o caminho do arquivo, pois sem ele, nenhum código dentro de comandos.pwn será lido.
Código PHP:
#include "./modules/admin/comandos.pwn" 

É recomendado também utilizar y_hooks caso queira utilizar módulos em sua gamemode. Dê uma lida:
https://www.burgershot.gg/showthread.php?tid=625

Já falando sobre os actors, como você já usa MySQL, recomendo que salve as posições e skin do actor em uma tabela no seu banco de dados. Para ler os arquivos e criar o actor no servidor, é simples:
Código PHP:
public OnGameModeInit()
{
    
CriarActors();
    return 
1;
}

public 
CriarActors()
{
    new 
Float:XFloat:YFloat:ZFloat:Askinactorscreated 0;
    new 
Cache:result mysql_query(connection"SELECT * FROM actors"true), rows cache_num_rows();
    if(
rows 0)
    {
        for(new 
irowsi++)
        {
            
cache_get_value_float(i"posX"X);
            
cache_get_value_float(i"posY"Y);
            
cache_get_value_float(i"posZ"Z);
            
cache_get_value_float(i"posA"A);
            
cache_get_value_int(i"skin"skin);
            
CreateActor(skinXYZA);
            
actorscreated++;
        }
    }
    
printf("Um total de %d actors foram lidos e %d foram criados no servidor."rowsactorscreated);
    return 
1;




RE: Duvidas sobre a organização. - Klaba - 19/01/2022

Eu agradeço muito pela ajuda! Já entendi, muito obrigado, fecho o tópico.