[Pedido] Criaзгo e salvamento de dados
#1

Bom dia galera, desculpa ficar pedindo coisas aqui pra vocкs, mais й por que eu estou tendo muita dificuldade em fazer um sisteminha simples pro meu GM. Eu atй peguei um GM pra estudar, que tem esse sistema, mais o GM tem 40k de linhas e eu me confundo muito, tem muita coisa nгo consigo aprender como funciona.

Eu queria aprender a fazer 3 organizaзхes no meu servidor.
Salvar os dados da organizaзгo ( cada organizaзгo teria um ID igual os players )
Ou seja, eu teria que declarar no topo do GM
Код:
#define MAX_ORGS[3]
Por que isso seria necessбrio para salvar a organizaзгo numa pasta na scriptfiles chamada ORGS
ai dentro da pasta ficaria os arquivos de cada org, e dentro desses arquivos informaзхes como os membros, lider, safe drogas / armas, dinheiro da org etc. ( usando dof2 )

sinceramente essa ultima parte eu tenho mais duvida, como fazer esse salvamento de dados, atualmente uso dof2 no meu gm pra salvar a senha e o nome do player no registro login, mais nгo consigo usar essa base para salvar a ORG.


e a outra coisa que eu to tentando fazer e tambйm nгo ta dando certo й as gangzones, mais isso eu posso deixar pra fazer depois. alguйm ai tem alguma base de organizaзхes desse jeito ?
Reply
#2

Код:
#include <a_samp>
#include <dof2>

enum ORGINFO
{
      pOrg[3],     pLider[3] // numero de orgs
     pMembro,   OrgGrana, OrgDroga
}

new pOrgInfo[MAX_PLAYERS][ORGINFO], Orgs[256];


CriarOrg(playerid)
{
    format(Orgs, sizeof(Orgs), "ORGS/%s.ini", pInfo[playerid][pOrg]);

    DOF2_SetInt(ORGS, "Lider = ninguйm", 0);
    DOF2_SetInt(ORGS, "Membro = ninguйm", 1);
    DOF2_SetInt(ORGS, "Safe droga= nenhum", 98);
    DOF2_SetInt(ORGS, "Safe grana= nenhum", 98);
    DOF2_SetInt(ORGS, "Organizacao", 98);

    DOF2_SaveFile();
}
// -----------------------------------------------------------------------------
LerOrg(playerid)
{
    format(Orgs, sizeof(Orgs), "ORGS/%s.ini", pOrgInfo[playerid][pOrg]);

    pOrgInfo[playerid][pLider] = DOF2_GetInt(ORGS, "Lider");
    pOrgInfo[playerid][pOrg] = DOF2_GetInt(ORGS, "Organizacao");
    pOrgInfo[playerid][pSkin] = DOF2_GetInt(ORGS, "Membro");
    pOrgInfo[playerid][pGrana] = DOF2_GetInt(ORGS, "Safe grana");
    pOrgInfo[playerid][pNivel] = DOF2_GetInt(ORGS, "Safe droga");

*/
}
// -----------------------------------------------------------------------------
SalvarOrg(playerid)
{
    format(Orgs, sizeof(Orgs), "ORGS/%s.ini", pInfo[playerid][pOrg]);


    DOF2_SetInt(Orgs, "Lider", pOrgInfo[playerid][pLider]);
    DOF2_SetInt(Orgs, "Organizacao", pOrgInfo[playerid][pOrg]);
    DOF2_SetInt(Orgs, "Membro", pOrgInfo[playerid][pMembro]);
    DOF2_SetInt(Orgs, "Safe grana", pOrgInfo[playerid][OrgGrana]);
    DOF2_SetInt(Orgs, "Safe droga", pOrgInfo[playerid][OrgDroga]);


    DOF2_SaveFile();
}
// -----------------------------------------------------------------------------
GetNome(playerid)
{
    new pNome[MAX_PLAYER_NAME];
    GetPlayerName(playerid, pNome, 24);
    return pNome;
}
Seria mais ou menos assim pessoal ? Para criar/salvar organizaзхes com ID's ?


Ou teria que fazer desta forma, usando MAX_ORGS?

Код:
#include <a_samp>
#include <dof2>

#define MAX_ORGS 3

enum ORGINFO
{
      pOrg[3],     pLider[3] // numero de orgs
     pMembro,   OrgGrana, OrgDroga
}

new pOrgInfo[MAX_ORGS][ORGINFO], Orgs[256];


CriarOrg(MAX_ORGS)
{
    format(Orgs, sizeof(Orgs), "ORGS/%s.ini", pInfo[playerid][pOrg]);

    DOF2_SetInt(ORGS, "Lider = ninguйm", 0);
    DOF2_SetInt(ORGS, "Membro = ninguйm", 1);
    DOF2_SetInt(ORGS, "Safe droga= nenhum", 98);
    DOF2_SetInt(ORGS, "Safe grana= nenhum", 98);
    DOF2_SetInt(ORGS, "Organizacao", 98);

    DOF2_SaveFile();
}
// -----------------------------------------------------------------------------
LerOrg(MAX_ORGS)
{
    format(Orgs, sizeof(Orgs), "ORGS/%s.ini", pOrgInfo[playerid][pOrg]);

    pOrgInfo[playerid][pLider] = DOF2_GetInt(ORGS, "Lider");
    pOrgInfo[playerid][pOrg] = DOF2_GetInt(ORGS, "Organizacao");
    pOrgInfo[playerid][pSkin] = DOF2_GetInt(ORGS, "Membro");
    pOrgInfo[playerid][pGrana] = DOF2_GetInt(ORGS, "Safe grana");
    pOrgInfo[playerid][pNivel] = DOF2_GetInt(ORGS, "Safe droga");

*/
}
// -----------------------------------------------------------------------------
SalvarOrg(MAX_ORGS)
{
    format(Orgs, sizeof(Orgs), "ORGS/%s.ini", pInfo[playerid][pOrg]);


    DOF2_SetInt(Orgs, "Lider", pOrgInfo[playerid][pLider]);
    DOF2_SetInt(Orgs, "Organizacao", pOrgInfo[playerid][pOrg]);
    DOF2_SetInt(Orgs, "Membro", pOrgInfo[playerid][pMembro]);
    DOF2_SetInt(Orgs, "Safe grana", pOrgInfo[playerid][OrgGrana]);
    DOF2_SetInt(Orgs, "Safe droga", pOrgInfo[playerid][OrgDroga]);


    DOF2_SaveFile();
}
// -----------------------------------------------------------------------------
GetNome(playerid)
{
    new pNome[MAX_PLAYER_NAME];
    GetPlayerName(playerid, pNome, 24);
    return pNome;
}
Reply
#3

Use MAX_ORGS para salvar a Organizaзгo do player coloque na conta dele.

PHP код:
#define MAX_ORGS 3
enum oInfo
{
    
Lider[24],
    
Membro[10][24],
    
Saldo,  
};
new 
OrgInfo[MAX_ORGS][oInfo]; 
Veja esses videos do Leonardo lб estб o que vocк quer!

https://www.youtube.com/watch?v=sivkROoMTdo

Exite umas 4 partes essa de cima e parte 1
Reply
#4

certo vou ver aqui
Reply
#5

Acho que jб vi esses videos dele e nгo tem o /Promover se nгo tiver use essa base abaixo se tiver usa a de baixo tbm -'

PHP код:
enum oInfo
{
    
bool:Recruta,
    
bool:Assaltante,
    
bool:Traficante,
    
bool:Terrorista,
    
bool:Lider
};
new 
InfoOrg[MAX_PLAYERS][oInfo];
CMD:promoverorg(playeridparams[])
{
    if(!
IsPlayerAdmin(playerid))
        return 
SendClientMessage(playerid, -1"| ERRO | Vocк nгo tem permissгo!");
    if(
sscanf(params"ud"idCargo))
        return 
SendClientMessage(playerid, -1"| ERRO | Use: /PromoverOrg [ID] [Cargo]");
    if(!
IsPlayerConnected(id))
        return 
SendClientMessage(playerid, -1"| ERRO | ID Invбlido!");
    if(
Cargo || Cargo 5)
        return 
SendClientMessage(playerid, -1"| ERRO | Cargo Invбlido [1-5]!");
    if(
Cargo == 1)
    {
        
InfoOrg[id][Recruta] = true;
    }
    if(
Cargo == 2)
    {
        
InfoOrg[id][Assaltante] = true;
    }
    if(
Cargo == 3)
    {
        
InfoOrg[id][Traficante] = true;
    }
    if(
Cargo == 4)
    {
        
InfoOrg[id][Terrorista] = true;
    }
    if(
Cargo == 5)
    {
        
InfoOrg[id][Lider] = true;
    }
    return 
1;

Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)