SA-MP Forums Archive
[AJUDA] Leia - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [AJUDA] Leia (/showthread.php?tid=254513)



[AJUDA] Leia - diretor7 - 11.05.2011

Pessoal hб como o lнder da mбfia escolher o tanto de muniзгo e pra qual cargo as muniзхes vai?
Exemplo:
/quantidademuniзгo [quantia] [arma] [cargo]

Ai quando eles for /equiparmafia
Se o player for do cargo que o lнder escolheu ao usar o comando, ele vai receber X de balas da arma que o lнder escolheu, alguйm me ajuda?


Re: [AJUDA] Leia - Shadoww5 - 11.05.2011

O unico problema disto й o salvamento ... Й um pouco complicado ... Mas o resto й facil.

#EDIT

Nгo posso fazer nada agora pois vou а escola. #partiu !


Re: [AJUDA] Leia - JOKERBOY - 11.05.2011

PHP код:
        if(strcmp(cmd, "/quantidadedemunicao", true) == 0)
    {
        new 
valordaprof, ammo, armaid, cargo, giveplayerid;
        
tmp = strtok(cmdtext, idx);
        if(!
strlen(tmp)) return SendClientMessage(playerid, Color_White, "(AJUDA) Uso correto: /quantidadedemunicao [ID] [AMMO] [WEAPONID] [CARGO] ");
        
giveplayerid = strval(tmp);
        
tmp = strtok(cmdtext, idx);
        if(!
strlen(tmp)) return SendClientMessage(playerid, Color_White,  "(AJUDA) Uso correto: /quantidadedemunicao [ID] [AMMO] [WEAPONID] [CARGO] ");
        
ammo = strval(tmp);
           
tmp = strtok(cmdtext, idx);
        if(!
strlen(tmp)) return SendClientMessage(playerid, Color_White,  "(AJUDA) Uso correto: /quantidadedemunicao [ID] [AMMO] [WEAPONID] [CARGO] ");
        
armaid = strval(tmp);
        
tmp = strtok(cmdtext, idx);
        if(!
strlen(tmp)) return SendClientMessage(playerid, Color_White,  "(AJUDA) Uso correto: /quantidadedemunicao [ID] [AMMO] [WEAPONID] [CARGO] ");
        
cargo = strval(tmp);
        
Rank[giveplayerid] = valordaprof;
        
GivePlayerWeapon(giveplayerid, ammo, armaid);
        return 
1;
    } 



Re: [AJUDA] Leia - [S]trong - 11.05.2011

nгo tem nada de complicado director, й sу fazer um arquivo ini,djson,dll,txt ou que seja de sua preferencia onde o server va fazer a leitura (como se fosse uma configuraзгo) e adicionar a "cargo" por cargo tal arma... basicamente й sу fazer um comando e usar algum sistema de salvamento dini... dof2... y_ini e etc...


Re: [AJUDA] Leia - Shadoww5 - 11.05.2011

Acabei de chegar da escola e fiz o codigo:

PHP код:
public OnPlayerCommandText(playerid, cmdtext[])
{
    new 
cmd[256];
    new 
idx;
    
cmd = strtok(cmdtext, idx);
    if(
strcmp(cmdtext,"/quantidademuniзгo",true) == 0)
    {
        new 
municao = strtok(cmdtext,idx);
        if(!
strlen(municao)) return SendClientMessage(playerid, 0xFFFFFFFF, "USO: /quantidademuniзгo [quantia] [arma] [cargo]");
        new 
arma = strtok(cmdtext,idx);
        if(!
strlen(arma)) return SendClientMessage(playerid, 0xFFFFFFFF, "USO: /quantidademuniзгo [quantia] [arma] [cargo]");
        new 
cargo = strtok(cmdtext,idx);
        if(!
strlen(cargo)) return SendClientMessage(playerid, 0xFFFFFFFF, "USO: /quantidademuniзгo [quantia] [arma] [cargo]");
        if(
municao < 1 || municao > 999) return SendClientMessage(playerid, 0xFFFFFFFF, "A quantidade de muniзгo deve estar entre 1 e 999.");
        if(
arma > 43) return SendClientMessage(playerid, 0xFFFFFFFF, "Arma INVALIDA !");
        if(
cargo < 1 || cargo > 5)  return SendClientMessage(playerid, 0xFFFFFFFF, "O cargo deve estar entre 1 e 5.");
        for( new 
i = 0; i < MAX_PLAYERS; i++)
        {
            if(
PlayerInfo[i][pRank] == cargo)
            {
                
GivePlayerWeapon(i, arma, municao);
                new 
str[128];
                
format(str, sizeof(str), "O lider da sua organizaзгo te deu a arma de ID %d com %d muniзхes", arma, municao);
                
SendClientMessage(playerid, 0xFFE51EFF, str);
                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;
} 
O comando nгo serб completado caso ocorra isto:
OBS: Este codigo foi feito considerando que vocк use o GM do BSL.