[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:
- Se a quantidade de muniзхes seja maior que 999 ou menor que 1.
- Se o ID da arma for superior a 43. ID das Armas: https://sampwiki.blast.hk/wiki/Weapons
- Se o cargo for menor que 1 ou maior que 5.
OBS: Este codigo foi feito considerando que vocк use o GM do BSL.