[Ajuda] Dar Arma para Todos
#1

Olб, tudo bem?

Entгo estou querendo por no meu server um sistema de da Armas para todos do Servidor, todos os Players que tiver conta no servidor registrada la na pasta "Players" mas nгo sei como faзo isso tipo queria colocar

/dararmatodos [Nє da Arma] [Quantidade de Muniзгo]

Alguйm me ajuda a criar esse comando?
Reply
#2

Funзгo GivePlayerWeapon: https://sampwiki.blast.hk/wiki/Function:GivePlayerWeapon

Exemplo simples feito por mim com ZCMD e SSCANF:

pawn Код:
CMD:dararmatodos(playerid, params[])
{
    new arma, municao;
    if(sscanf(params, "dd", arma, municao)) return SendClientMessage(playerid, cor, "Uso correto: /dararmatodos <arma> <muniзгo>");

    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        if(IsPlayerConnected(playerid))
        {
            GivePlayerWeapon(playerid, arma, municao);
        }
    }
   
    return 1;
}
Reply
#3

Tipo lek, eu queria que desse arma para todos que tem conta no servidor, nгo para os on-lines ta ligado?
Reply
#4

Quote:
Originally Posted by Noturnobk
Посмотреть сообщение
Tipo lek, eu queria que desse arma para todos que tem conta no servidor, nгo para os on-lines ta ligado?
Pra fazer isso, varia de de acordo com o sistema de registro..

Mas sу uma noзгo de como seria.. (PS: exemplo mais bбsico possнvel)

pawn Код:
////// EXEMPLO COM DINI POR "FEL486" ////

#define registro "pasta/%d.ini" // Na scriptfiles

enum PINFO
{
    // ... dados, nome, etc...
    arma_1,
    bala_1,
    arma_2,
    bala_2,
    arma_3,
    bala_3,
    arma_4,
    bala_4,
    arma_5,
    bala_5,
};

new PlayerInfo[MAX_PLAYERS][PINFO];

CMD:dararmatodos(playerid, params[])
{
    new arma, municao;
    new diretorio[50]; // Diretorio dos jogadores existentes.
    if(sscanf(params, "dd", arma, municao)) return SendClientMessage(playerid, cor, "Uso correto: /dararmatodos <arma> <muniзгo>");

    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        format(diretorio, sizeof(diretorio), registro, i);
        if(fexist(diretorio))
        {
            dini_IntSet(diretorio, "Arma_1", arma);
            dini_IntSet(diretorio, "Bala_1", municao);
        }
    }
   
    return 1;
}
Reply
#5

Entгo vocк quer que eles jб loguem, e ganhem armas?
Reply
#6

No caso dele logar e ganhar o armamento, basta por na callback OnPlayerConnect:
PHP код:
GivePlayerWeapon(playerididmuniзгo); 
@OFF
Fel486, poderia responder o tуpico que dei edit lб? :/
Reply
#7

Quote:
Originally Posted by AlexandreRangelMamut
Посмотреть сообщение
Entгo vocк quer que eles jб loguem, e ganhem armas?
Pode ser tambйm Alexandre...
Reply
#8

Quote:
Originally Posted by Noturnobk
Посмотреть сообщение
Pode ser tambйm Alexandre...
Nгo entendi sua lуgica.

Vocк pediu uma coisa, dei dois exemplos e vocк quer algo nada haver que outro cara sugeriu...

Reply
#9

Queria tambйm colocar /darviptodos, ai queria dar vip para todos que tem conta no server tambйm, serб que alguйm poderia me ajudar nesse sistema de dar VIP tambйm?
Reply
#10

Quote:
Originally Posted by Noturnobk
Посмотреть сообщение
Queria tambйm colocar /darviptodos, ai queria dar vip para todos que tem conta no server tambйm, serб que alguйm poderia me ajudar nesse sistema de dar VIP tambйm?
Vou nem repetir. Pra que se vocк nгo sabe realmente o que vocк quer?

Nem vou repetir, jб escrevi lб em cima.

Quote:
Originally Posted by Fel486
Посмотреть сообщение
Pra fazer isso, varia de de acordo com o sistema de registro..

Mas sу uma noзгo de como seria.. (PS: exemplo mais bбsico possнvel)

pawn Код:
////// EXEMPLO COM DINI POR "FEL486" ////

#define registro "pasta/%d.ini" // Na scriptfiles

enum PINFO
{
    // ... dados, nome, etc...
    arma_1,
    bala_1,
    arma_2,
    bala_2,
    arma_3,
    bala_3,
    arma_4,
    bala_4,
    arma_5,
    bala_5,
};

new PlayerInfo[MAX_PLAYERS][PINFO];

CMD:dararmatodos(playerid, params[])
{
    new arma, municao;
    new diretorio[50]; // Diretorio dos jogadores existentes.
    if(sscanf(params, "dd", arma, municao)) return SendClientMessage(playerid, cor, "Uso correto: /dararmatodos <arma> <muniзгo>");

    for(new i = 0; i < MAX_PLAYERS; i++)
    {
        format(diretorio, sizeof(diretorio), registro, i);
        if(fexist(diretorio))
        {
            dini_IntSet(diretorio, "Arma_1", arma);
            dini_IntSet(diretorio, "Bala_1", municao);
        }
    }
   
    return 1;
}
Reply


Forum Jump:


Users browsing this thread: 8 Guest(s)