[Ajuda] Algum Erros, Simples...
#5

Isto deve resolver o seu problema .


Arrumei o cуdigo pra vocк em formato Filterscript, devido ao fato de eu nгo saber quais includes vocк utiliza .


Aqui estб:


pawn Код:
#include a_samp
#include dini
#include utils


new Org[MAX_PLAYERS];//Usado para identificar em que org o player se encontra.
new Cargo[MAX_PLAYERS]; //Usado para identificar o cargo do player.

new idx;
new tmp[128];
new cmd[128];
new recrutado;

enum orgs//Um Enumerador para "nomear" arrays dentro de arrays.
{
    Lider[20], //Array para Definir o nome do lнder das orgs.
    Membro1[20],//Abaixo, 10 slots para membros, contendo seu nome.
    Membro2[20],
    Membro3[20],
    Membro4[20],
    Membro5[20],
    Membro6[20],
    Membro7[20],
    Membro8[20],
    Membro9[20],
    Membro10[20],
    Vaga, //Para definir a vaga livre de recrutamento.
    Cofre, //Um Cofre para Sacar/Depositar coisas.
    Float:SpawnX,//Serб usado para definir as coordenadas X, Y, e Z, do spawn da org.
    Float:SpawnY,
    Float:SpawnZ,
    Float:Vida, //Quanto de vida a org nascerб com.
    Float:Colete, //Quanto de Colete a org nascerб com.
};

new OrgInfo[17][orgs]; //Agora, temos a nossa array de Organizaзхes. O 17 й a quantidade de orgs.




stock SalvarOrgs()
{
    new x;
    new filestr[15];
    while(x < sizeof(OrgInfo))//Para dar um Loop pelas orgs.
    {
        format(filestr, 30, "Info Org %d", x); //Para identificar a org, e abrir o arquivo dela.
        if(!fexist(filestr)) dini_Create(filestr);
        dini_Set(filestr,"Lider",OrgInfo[x][Lider]);
        dini_Set(filestr,"Membro1",OrgInfo[x][Membro1]);
        dini_Set(filestr,"Membro2",OrgInfo[x][Membro2]);
        dini_Set(filestr,"Membro3",OrgInfo[x][Membro3]);
        dini_Set(filestr,"Membro4",OrgInfo[x][Membro4]);
        dini_Set(filestr,"Membro5",OrgInfo[x][Membro5]);
        dini_Set(filestr,"Membro6",OrgInfo[x][Membro6]);
        dini_Set(filestr,"Membro7",OrgInfo[x][Membro7]);
        dini_Set(filestr,"Membro8",OrgInfo[x][Membro8]);
        dini_Set(filestr,"Membro9",OrgInfo[x][Membro9]);
        dini_Set(filestr,"Membro10",OrgInfo[x][Membro10]);
        dini_IntSet(filestr,"Vaga", OrgInfo[x][Vaga]);
        dini_IntSet(filestr,"Cofre", OrgInfo[x][Cofre]);
        dini_FloatSet(filestr,"SpawnX", OrgInfo[x][SpawnX]);
        dini_FloatSet(filestr,"SpawnY", OrgInfo[x][SpawnY]);
        dini_FloatSet(filestr,"SpawnZ", OrgInfo[x][SpawnZ]);
        dini_FloatSet(filestr,"Vida", OrgInfo[x][Vida]);
        dini_FloatSet(filestr,"Colete", OrgInfo[x][Colete]);
        x++;
    }
    return 1;
}

stock CarregarOrgs()
{
    new x;
    new filestr[15];
    while(x < sizeof(OrgInfo))//Para dar um Loop pelas orgs.
    {
        format(filestr, 30, "Info Org %d", x); //Para identificar a org, e abrir o arquivo dela.
        if(!fexist(filestr)) dini_Create(filestr);
        strmid(OrgInfo[x][Lider],dini_Get(filestr,"Lider"), 0, 20);
        strmid(OrgInfo[x][Membro1],dini_Get(filestr,"Membro1"), 0, 20);
        strmid(OrgInfo[x][Membro2],dini_Get(filestr,"Membro2"), 0, 20);
        strmid(OrgInfo[x][Membro3],dini_Get(filestr,"Membro3"), 0, 20);
        strmid(OrgInfo[x][Membro4],dini_Get(filestr,"Membro4"), 0, 20);
        strmid(OrgInfo[x][Membro5],dini_Get(filestr,"Membro5"), 0, 20);
        strmid(OrgInfo[x][Membro6],dini_Get(filestr,"Membro6"), 0, 20);
        strmid(OrgInfo[x][Membro7],dini_Get(filestr,"Membro7"), 0, 20);
        strmid(OrgInfo[x][Membro8],dini_Get(filestr,"Membro8"), 0, 20);
        strmid(OrgInfo[x][Membro9],dini_Get(filestr,"Membro9"), 0, 20);
        strmid(OrgInfo[x][Membro10],dini_Get(filestr,"Membro10"), 0, 20);
        OrgInfo[x][Vaga] = dini_Int(filestr,"Vaga");
        OrgInfo[x][Cofre] = dini_Int(filestr,"Cofre");
        OrgInfo[x][SpawnX] = dini_Float(filestr,"SpawnX");
        OrgInfo[x][SpawnY] = dini_Float(filestr,"SpawnY");
        OrgInfo[x][SpawnZ] = dini_Float(filestr,"SpawnZ");
        OrgInfo[x][Vida] = dini_Float(filestr,"Vida");
        OrgInfo[x][Colete] = dini_Float(filestr,"Colete");
        x++;
    }
    return 1;
}


public OnPlayerCommandText(playerid, cmdtext[])
{
    new org = Org[playerid];
    if(!strcmp(cmd, "/convidar", true))
    {
        new giveplayer[20];
        tmp = strtok(cmdtext, idx);
        if(!strlen(tmp)) return SendClientMessage(playerid, 0xFFFFFFFF, "USO: /convidar [playerid]");
        recrutado = ReturnUser(tmp);
        if(IsPlayerConnected(recrutado) && Org[playerid] > 0)
        {
            if(Cargo[playerid] < 6) return SendClientMessage(playerid, 0xFFFFFFFF, "ATENЗГO! Vocк nгo pode usar esse comando!");
            Org[playerid] = Org[recrutado];
            SendClientMessage(playerid, 0xFFFFFFFF, "Vocк convidou o player com sucesso!");
            SendClientMessage(playerid, 0xFFFFFFFF, "Vocк acaba de ser convidado para uma facзгo!");
            GetPlayerName(recrutado, giveplayer, 20);
            switch (OrgInfo[Org[playerid]][Vaga])
            {
            case 0,1: { format(OrgInfo[Org[playerid]][Membro1], MAX_PLAYER_NAME, giveplayer); }
            case 2: { format(OrgInfo[Org[playerid]][Membro2], MAX_PLAYER_NAME, giveplayer); }
            case 3: { format(OrgInfo[Org[playerid]][Membro3], MAX_PLAYER_NAME, giveplayer); }
            case 4: { format(OrgInfo[Org[playerid]][Membro4], MAX_PLAYER_NAME, giveplayer); }
            case 5: { format(OrgInfo[Org[playerid]][Membro5], MAX_PLAYER_NAME, giveplayer); }
            case 6: { format(OrgInfo[Org[playerid]][Membro6], MAX_PLAYER_NAME, giveplayer); }
            case 7: { format(OrgInfo[Org[playerid]][Membro7], MAX_PLAYER_NAME, giveplayer); }
            case 8: { format(OrgInfo[Org[playerid]][Membro8], MAX_PLAYER_NAME, giveplayer); }
            case 9: { format(OrgInfo[Org[playerid]][Membro9], MAX_PLAYER_NAME, giveplayer); }
            case 10: { format(OrgInfo[Org[playerid]][Membro10], MAX_PLAYER_NAME, giveplayer); }
            }
            SalvarOrgs();
            OrgInfo[Org[playerid]][Vaga]++;
        }
        else
        {
            SendClientMessage(playerid, 0xFFFFFFFF, "Vocк nгo estб em uma facзгo, ou o player nгo estб conectado!");
        }
        return 1;
    }
    if(!strcmp(cmd, "/demitir", true))
    {
        new giveplayer[20];
        tmp = strtok(cmdtext, idx);
        if(!strlen(tmp)) return SendClientMessage(playerid, 0xFFFFFFFF, "USO: /demitir[playerid]");
        recrutado = ReturnUser(tmp);
        if(IsPlayerConnected(recrutado) && Org[playerid] > 0)
        {
        if(Cargo[playerid] < 6) return SendClientMessage(playerid, 0xFFFFFFFF, "ATENЗГO! Vocк nгo pode usar esse comando!");
        Org[recrutado] = 0;
        Cargo[recrutado] = 0;
        SendClientMessage(playerid, 0xFFFFFFFF, "Vocк demitiu o player com sucesso!");
        SendClientMessage(playerid, 0xFFFFFFFF, "Vocк acaba de ser demitido de uma facзгo!");
        GetPlayerName(recrutado, giveplayer, 20);
        if(OrgInfo[org][Vaga] == 1)
        {
        format(OrgInfo[org][Membro1], MAX_PLAYER_NAME, "Nenhum");OrgInfo[org][Vaga]--;
        }
        if(OrgInfo[org][Vaga] == 2)
        {
        format(OrgInfo[org][Membro2], MAX_PLAYER_NAME, "Nenhum");OrgInfo[org][Vaga]--;
        }
        if(OrgInfo[org][Vaga] == 3)
        {
        format(OrgInfo[org][Membro3], MAX_PLAYER_NAME, "Nenhum");OrgInfo[org][Vaga]--;
        }
        if(OrgInfo[org][Vaga] == 4)
        {
        format(OrgInfo[org][Membro4], MAX_PLAYER_NAME, "Nenhum");OrgInfo[org][Vaga]--;
        }
        if(OrgInfo[org][Vaga] == 5)
        {
        format(OrgInfo[org][Membro5], MAX_PLAYER_NAME, "Nenhum");OrgInfo[org][Vaga]--;
        }
        if(OrgInfo[org][Vaga] == 6)
        {
        format(OrgInfo[org][Membro6], MAX_PLAYER_NAME, "Nenhum");OrgInfo[org][Vaga]--;
        }
        if(OrgInfo[org][Vaga] == 7)
        {
        format(OrgInfo[org][Membro7], MAX_PLAYER_NAME, "Nenhum");OrgInfo[org][Vaga]--;
        }
        if(OrgInfo[org][Vaga] == 8)
        {
        format(OrgInfo[org][Membro8], MAX_PLAYER_NAME, "Nenhum");OrgInfo[org][Vaga]--;
        }
        if(OrgInfo[org][Vaga] == 9)
        {
        format(OrgInfo[org][Membro9], MAX_PLAYER_NAME, "Nenhum");OrgInfo[org][Vaga]--;
        }
        if(OrgInfo[org][Vaga] == 10)
        {
        format(OrgInfo[org][Membro10], MAX_PLAYER_NAME, "Nenhum");OrgInfo[org][Vaga]--;
        }
        SalvarOrgs();
        }
        else
        {
            SendClientMessage(playerid, 0xFFFFFFFF, "Vocк nгo estб em uma facзгo, ou o player nгo estб conectado!");
        }
        return 1;
    }
    if(!strcmp(cmd, "/promover", true))
    {
        tmp = strtok(cmdtext, idx);
        if(!strlen(tmp)) return SendClientMessage(playerid, 0xFFFFFFFF, "USO: /promover [playerid] [cargo 1 - 6]");
        recrutado = ReturnUser(tmp);
        new tmp2[128];
        tmp2 = strtok(cmdtext, idx);
        if(!strlen(tmp2)) return SendClientMessage(playerid, 0xFFFFFFFF, "USO: /promover [playerid] [cargo 1 - 6]");
        new cargo = strval(tmp2);
        if(cargo < 1 || cargo > 6) return SendClientMessage(playerid, 0xFFFFFFFF, "USO: /promover [playerid] [cargo 1 - 6]");
        if(IsPlayerConnected(recrutado) && Org[playerid] > 0)
        {
            if(Cargo[playerid] < 6) return SendClientMessage(playerid, 0xFFFFFFFF, "ATENЗГO! Vocк nгo pode usar esse comando!");
            Cargo[recrutado] = cargo;
            SendClientMessage(playerid, 0xFFFFFFFF, "Vocк promoveu o player com sucesso!");
            SendClientMessage(playerid, 0xFFFFFFFF, "Vocк acaba de ser promovido na sua facзгo!");
            return 1;
        }
        else
        {
            SendClientMessage(playerid, 0xFFFFFFFF, "Vocк nгo estб em uma facзгo, ou o player nгo estб conectado!");
        }
        return 1;
    }
    return 0;
}



strtok(const string[], &index)
{
    new length = strlen(string);
    while ((index < length) && (string[index] <= ' '))
    {
        index++;
    }

    new offset = index;
    new result[20];
    while ((index < length) && (string[index] > ' ') && ((index - offset) < (sizeof(result) - 1)))
    {
        result[index - offset] = string[index];
        index++;
    }
    result[index - offset] = EOS;
    return result;
}

Espero ter ajudado .
Reply


Messages In This Thread
[Ajuda] Algum Erros, Simples... - by Tymer - 24.06.2011, 18:30
Re: [Ajuda] Algum Erros, Simples... - by Shadoww5 - 24.06.2011, 18:50
Re: [Ajuda] Algum Erros, Simples... - by mengueh - 24.06.2011, 18:57
Re: [Ajuda] Algum Erros, Simples... - by Tymer - 24.06.2011, 19:05
Re: [Ajuda] Algum Erros, Simples... - by rjjj - 24.06.2011, 19:14
Re: [Ajuda] Algum Erros, Simples... - by mengueh - 24.06.2011, 19:21
Re: [Ajuda] Algum Erros, Simples... - by Tymer - 24.06.2011, 20:05
Re: [Ajuda] Algum Erros, Simples... - by Ricop522 - 24.06.2011, 21:17
Re: [Ajuda] Algum Erros, Simples... - by Shadoww5 - 24.06.2011, 22:19

Forum Jump:


Users browsing this thread: 1 Guest(s)