[PEDIDO]3 Comandos
#1

alguem pode tipo faser um comando assim de dar arma tipo /daramar [id do jogado] [id da arma] [quantidade de balas]
e outro tipo /armall [id da arma] [quantidade] que da arma a todos
e outro tipo /desarmall que tira as armas de todos
Reply
#2

Vocк vai ter que usar GivePlayerWeapon, sscanf2 e loop. Jб dei um impulso, agora dк o pulo.
Reply
#3

nao fasso a minima ideia oq e loop mais vou tentar

@Edit
tentei faser um aki deu complier certinho
Код:
new Celula[128];
CMD:retirararmastodos(playerid, params[])
{
format(Celula, sizeof(Celula), "O Administrador %s Retirou as Armas de Todos os Players.", PlayerName(playerid));
SendClientMessageToAll(0x2641FEAA, Celula);
for(new i = 0; i < GetMaxPlayers(); i++)
{
ResetPlayerWeapons(i);
}
return true;
}
Reply
#4

Usando Loops(Avanзado)

Ou use Foreach

Pra Foreach basta:

pawn Код:
foreach(Player, i)
{
    GivePlayerWeapon(i, ID da Arma, Muniзгo);
    return 1;
}
Ai vc jб tem o /armaall.
Reply
#5

Pega isso e modifique:

pawn Код:
if(strcmp(cmd, "/dararma", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, COLOR_GRAD2, "[AV] /weaponequip [Player ID / Player Name] [Weapon ID] [quantia]");
                return 1;
            }
            new playa;
            new gun;
            new ammo;
            playa = ReturnUser(tmp);
            tmp = strtok(cmdtext, idx);
            gun = strval(tmp);
            new nomegay[MAX_PLAYER_NAME];
            GetPlayerName(playa, nomegay, sizeof(nomegay));

            if(!strlen(tmp))
            {
                SendClientMessage(playerid, COLOR_GRAD1, "[AV] /weaponequip [IdPLayer/ParteDoNome] [weaponid] [quantia]");
                SendClientMessage(playerid, COLOR_GRAD4, "1(Brass) 2(Nite) 3(Club) 4(knife) 5(bat) 6(Shovel) 7(Cue) 8(Katana) 9(Chainsaw) 10-13(Dildo)");
                SendClientMessage(playerid, COLOR_GRAD4, "14(Flowers) 15(Cane) 16(Grenades) 17(Teargas) 18(Molotovs) 22(Pistol) 23(SPistol) 24(Eagle)");
                SendClientMessage(playerid, COLOR_GRAD4, "25(Shotgun) 26(sawn-off) 27(Combat) 28(TEC9) 29(MP5) 30(AK47) 31(M4) 32(MAC10) 33(Country)");
                SendClientMessage(playerid, COLOR_GRAD3, "34(Sniper) 35(RPG) 37(Flamethrower) 38(Minigun) 41(spray) 42(exting) 43(Camera) 46(Parachute)");
                return 1;
            }
            if(gun < 1||gun > 46||gun==19||gun==20||gun==21||gun==44||gun==45)
            { SendClientMessage(playerid, COLOR_GRAD1, "[AV] Invalid WeaponID!"); return 1; }
            tmp = strtok(cmdtext, idx);
            ammo = strval(tmp);
            if(ammo > 49999)
            { SendClientMessage(playerid, COLOR_GRAD1, "[AV] Dont go below 1 or above 49999 bullets!"); return 1; }
            if (PlayerInfo[playerid][pAdmin] >= 1338 || IsPlayerAdmin(playerid))
            {
                if(IsPlayerConnected(playa))
                {
                    if(playa != INVALID_PLAYER_ID)
                    {
                        format(string, 128, "[AV] %s deu uma arma para %s(%d) [ArmaID %d].", sendername,nomegay,giveplayerid,gun);
                        BroadCast(COLOR_RED,string);
                        SafeGivePlayerWeapon(playa, gun, ammo);
                        new y, m, d;
                        new h,mi,s;
                        getdate(y,m,d);
                        gettime(h,mi,s);
                        format(string,sizeof(string), "(%d/%d/%d)[%d:%d:%d] %s deu para %s arma ID %d com %d balas.",d,m,y,h,mi,s,sendername,nomegay,gun,ammo);
                        GiveLog(string);
                        AdminLog(string);
                    }
                }
            }
            else
            {
                SendClientMessage(playerid, COLOR_GRAD1, "[AV] vocк nгo estб autorizado a usar esse comando!");
            }
        }
        return 1;
    }
Reply
#6

Quote:
Originally Posted by Aquilis
Посмотреть сообщение
Pega isso e modifique:

pawn Код:
if(strcmp(cmd, "/dararma", true) == 0)
    {
        if(IsPlayerConnected(playerid))
        {
            tmp = strtok(cmdtext, idx);
            if(!strlen(tmp))
            {
                SendClientMessage(playerid, COLOR_GRAD2, "[AV] /weaponequip [Player ID / Player Name] [Weapon ID] [quantia]");
                return 1;
            }
            new playa;
            new gun;
            new ammo;
            playa = ReturnUser(tmp);
            tmp = strtok(cmdtext, idx);
            gun = strval(tmp);
            new nomegay[MAX_PLAYER_NAME];
            GetPlayerName(playa, nomegay, sizeof(nomegay));

            if(!strlen(tmp))
            {
                SendClientMessage(playerid, COLOR_GRAD1, "[AV] /weaponequip [IdPLayer/ParteDoNome] [weaponid] [quantia]");
                SendClientMessage(playerid, COLOR_GRAD4, "1(Brass) 2(Nite) 3(Club) 4(knife) 5(bat) 6(Shovel) 7(Cue) 8(Katana) 9(Chainsaw) 10-13(Dildo)");
                SendClientMessage(playerid, COLOR_GRAD4, "14(Flowers) 15(Cane) 16(Grenades) 17(Teargas) 18(Molotovs) 22(Pistol) 23(SPistol) 24(Eagle)");
                SendClientMessage(playerid, COLOR_GRAD4, "25(Shotgun) 26(sawn-off) 27(Combat) 28(TEC9) 29(MP5) 30(AK47) 31(M4) 32(MAC10) 33(Country)");
                SendClientMessage(playerid, COLOR_GRAD3, "34(Sniper) 35(RPG) 37(Flamethrower) 38(Minigun) 41(spray) 42(exting) 43(Camera) 46(Parachute)");
                return 1;
            }
            if(gun < 1||gun > 46||gun==19||gun==20||gun==21||gun==44||gun==45)
            { SendClientMessage(playerid, COLOR_GRAD1, "[AV] Invalid WeaponID!"); return 1; }
            tmp = strtok(cmdtext, idx);
            ammo = strval(tmp);
            if(ammo > 49999)
            { SendClientMessage(playerid, COLOR_GRAD1, "[AV] Dont go below 1 or above 49999 bullets!"); return 1; }
            if (PlayerInfo[playerid][pAdmin] >= 1338 || IsPlayerAdmin(playerid))
            {
                if(IsPlayerConnected(playa))
                {
                    if(playa != INVALID_PLAYER_ID)
                    {
                        format(string, 128, "[AV] %s deu uma arma para %s(%d) [ArmaID %d].", sendername,nomegay,giveplayerid,gun);
                        BroadCast(COLOR_RED,string);
                        SafeGivePlayerWeapon(playa, gun, ammo);
                        new y, m, d;
                        new h,mi,s;
                        getdate(y,m,d);
                        gettime(h,mi,s);
                        format(string,sizeof(string), "(%d/%d/%d)[%d:%d:%d] %s deu para %s arma ID %d com %d balas.",d,m,y,h,mi,s,sendername,nomegay,gun,ammo);
                        GiveLog(string);
                        AdminLog(string);
                    }
                }
            }
            else
            {
                SendClientMessage(playerid, COLOR_GRAD1, "[AV] vocк nгo estб autorizado a usar esse comando!");
            }
        }
        return 1;
    }
Por isso que a board tб assim, os cara nгo ensina mais, nгo incentiva a aprender, eles jб dгo pronto e fala: "Edita".
Dб prуxima pq nгo fala: "Usa GF pq jб tem esse comando".

@Edit

Quote:
Originally Posted by MoisesXD
Посмотреть сообщение
nao fasso a minima ideia oq e loop mais vou tentar

@Edit
tentei faser um aki deu complier certinho
Код:
new Celula[128];
CMD:retirararmastodos(playerid, params[])
{
format(Celula, sizeof(Celula), "O Administrador %s Retirou as Armas de Todos os Players.", PlayerName(playerid));
SendClientMessageToAll(0x2641FEAA, Celula);
for(new i = 0; i < GetMaxPlayers(); i++)
{
ResetPlayerWeapons(i);
}
return true;
}
Tб certinho, parabйns cara!
Reply
#7

mais po como eu coloco pra so admin faser isso ? nem lembro mais como e (:

tbm o comando de armas queria que fosse todos os ids de armas
Reply
#8

Quote:
Originally Posted by MoisesXD
Посмотреть сообщение
mais po como eu coloco pra so admin faser isso ? nem lembro mais como e (:

tbm o comando de armas queria que fosse todos os ids de armas
Usa sscanf, e pra admin usa RCON ou sua variбvel de administrador, qual seria ela?
Reply
#9

esse foreach oq eu fasso com ele eu colo no meu GM ? Ele e una simplificaзao do loop ne ?
Reply
#10

Quote:
Originally Posted by MoisesXD
Посмотреть сообщение
esse foreach oq eu fasso com ele eu colo no meu GM ? Ele e una simplificaзao do loop ne ?
Ele й uma include, quando postei coloquei o link, ai quando vocк for usar para players basta usar:

pawn Код:
foreach(Player, i)
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)