Portal SAMP
[Ajuda] Ajuda com infoorg - 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] Ajuda com infoorg (/showthread.php?tid=3580)



Ajuda com infoorg - GabrielCampos - 05/05/2023

Boa boa galera do portal! 

Me considero ainda leigo na parte de programação mas estou em busca de melhorar a cada dia, estou precisando de um orientamento na parte da infoorg, vou explicar o que desejo fazer e onde não estou conseguindo raciocinar por falta de conhecimento ainda.

Eu utilizo DOF2 para salvar
Tenho armazenado na pasta Contas e arquivo na conta do player o numero da org dele [Organizacao] e tambem o cargo [Cargo]
Entao la no arquivo mostra certinho o numero da org que ele está e o cargo dele.

Agora eu gostaria de fazer uma infoorg, e eu fiz o seguinte: Criei uma pasta chamada Orgs e nela criei a Org1.ini e contem lá dentro exemplo:
Lider=Ninguem
SubLider=Ninguem
Membro1=Ninguem

Mas agora eu travei no raciocinio, como eu poderia trocar automaticamente isso e colocar nesse arquivo o nome do player e assim que ele sair, como eu posso restabelecer ao normal. Tambem queria mostrar em uma DIALOG os membros da org com nome e etc...

Gostaria por gentileza alguem que tenha conhecimento para a criação desse sistema me ajudar, explicar como funciona e como posso fazer. Gostaria de entender como fazer tudo isso, pois sei que diversos sistemas vao precisar disso e eu quero aprender para não patinar em outro sistema.

Obrigado


RE: Ajuda com infoorg - k2bi_YT - 05/05/2023

Fiz esse pequeno resumo bem mastigado para você ter uma noção de como fazer, espero que ajuda

Código PHP:
//Primeiro define um enumerador
enum iOrg
{
    
Lider[MAX_PLAYER_NAME],
    
SubLider[MAX_PLAYER_NAME],
    
Membro1[MAX_PLAYER_NAME]//Essa parte de membros pode ser ainda mais otimizado pela quantidade de membros, mas aqui será apenas um exemplo.
}
new 
InfoOrg[MAX_ORGS][iOrg]; //Essa variavel sera armazenada todas as informacoes, desde carregar, utilizar e salvar

// Crie uma função para dar lider para algum jogador, dentro dela adicione o seguinte
{
    
format(InfoOrg[ID_DA_ORGANIZAÇÃO][Lider], 24PlayerName(playerid)); //Isso deve estar dentro da função assim que o jogador recebe o lider
    //é valido o mesmo exemplo acima para sub e membros...
}


//Parte de salvamento

//Na função de salvamente é bem basico, segue o exemplo abaixo...

SalvarOrg()
{
    new 
file[64];
    
format(filesizeof(file), /*CAMINHO DA PASTA NO SCRIPTFILE*/ID_DA_ORGANIZAÇÃO);
    
    
////// SALVAR INFORMAÇÕES /////
    ////// SALVAR INFORMAÇÕES /////
    ////// SALVAR INFORMAÇÕES /////

    
DOF2_SetString(file"Lider"InfoOrg[ID_DA_ORGANIZAÇÃO][Lider]); //Isso é valido também para Sub e Membros, basta trocar a variavel

    ////// SALVAR INFORMAÇÕES /////
    ////// SALVAR INFORMAÇÕES /////
    ////// SALVAR INFORMAÇÕES /////

    
DOF2_SaveFile();
    return 
true;
}

//Para Carregar a Info da Org

CarregarOrg()
{
    new 
file[64];
    
format(filesizeof(file), /*CAMINHO DA PASTA NO SCRIPTFILE*/ID_DA_ORGANIZAÇÃO);

    
format(InfoOrg[ID_DA_ORGANIZAÇÃO][Lider], 24DOF2_GetString(file"Lider"));//Isso é valido também para Sub e Membros, basta trocar a variavel

    
return true;
}

//Quando for retirar algum lider ou o mesmo pedir as contas, nas funções correspondente de tal ação basta utilizar

    
format(InfoOrg[ID_DA_ORGANIZAÇÃO][Lider], 24"Ninguem");//Isso é valido também para Sub e Membros, basta trocar a variavel