Bem,é algo simples,porém,muito pedido em mata-matas,para não ter que ficar indo em Ammu Nations e tudo mais.
Primeiramente,logo abaixo de suas includes (#includes),coloque estas duas booleanas.
new bool:SpawnArmour[MAX_PLAYERS];
new bool:SpawnLife[MAX_PLAYERS];
Quem entende um pouco de inglês,entenderá as boolenas,mais pra quem não entendeu...vamos lá:
SpawnArmour = Está ficará responsável pelo colete da pessoa,se ela comprar o colete,essa booleana irá disparar a verdadeiro,até lá,ela é falsa.
Para a SpawnLife é a mesma coisa,porém,ela irá cuidar da vida do jogador.
Pressione CTRL + F e procure por public OnPlayerCommandText e aceda para debaixo da chave "{" e adicione o seguinte:
if(strcmp(cmdtext, "/vida", true) == 0)
{
new Float:HP;
GetPlayerHealth(playerid, HP);
if(HP < 35.0) return SendClientMessage(playerid, 0xFF0000FF, "[ERRO]:Você não pode comprar vida com vida baixa.");
if(HP == 100.0) return SendClientMessage(playerid, 0xFF0000FF, "[ERRO]:Sua vida já esta cheia.");
if(SpawnLife[playerid] == true) return SendClientMessage(playerid, 0xFF0000FF, "[ERRO]:Você já comprou vida.");
SetPlayerHealth(playerid, 100.0);
GivePlayerMoney(playerid, -1400);
new pName[MAX_PLAYER_NAME], info[128];
GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
format(info, sizeof(info), "{00FF00}[INFO]{808080}:O jogador {FF0000}%s{808080} comprou vida.Custam R$1400.{0000FF}(/vida)");
SendClientMessageToAll(0x808080FF, info);
SpawnLife[playerid] = true;
return 1;
}
if(strcmp(cmdtext, "/colete", true) == 0)
{
new Float:Armour;
GetPlayerArmour(playerid, Armour);
if(Armour > 0.0) return SendClientMessage(playerid, 0xFF0000FF, "[ERRO]:Você ja tem colete.");
if(SpawnArmour[playerid] == true) return SendClientMessage(playerid, 0xFF0000FF, "[ERRO]:Você já comprou colete.");
SetPlayerArmour(playerid, 100.0);
GivePlayerMoney(playerid, -2000);
new pName[MAX_PLAYER_NAME], info[128];
GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
format(info, sizeof(info), "{00FF00}[INFO]{808080}:O jogador {FF0000}%s{808080} comprou colete.Custam R$2000.{0000FF}(/colete)");
SendClientMessageToAll(0x808080FF, info);
SpawnArmour[playerid] = true;
return 1;
}
Vocês já entenderam,eu espero.
O primeiro comando serve para a vida,e o segundo para o colete.
Vantagens:
NENHUM dos dois irá deixar a pessoa comprar tendo,ou seja,elá não poderá ter colete já tendo colete,muito menos vida com vida baixa.
Ele NÃO deixará a pessoa comprar mais de uma vez por nascença colete/vida.
Primeiramente,logo abaixo de suas includes (#includes),coloque estas duas booleanas.
new bool:SpawnArmour[MAX_PLAYERS];
new bool:SpawnLife[MAX_PLAYERS];
Quem entende um pouco de inglês,entenderá as boolenas,mais pra quem não entendeu...vamos lá:
SpawnArmour = Está ficará responsável pelo colete da pessoa,se ela comprar o colete,essa booleana irá disparar a verdadeiro,até lá,ela é falsa.
Para a SpawnLife é a mesma coisa,porém,ela irá cuidar da vida do jogador.
Pressione CTRL + F e procure por public OnPlayerCommandText e aceda para debaixo da chave "{" e adicione o seguinte:
/Vida e /Colete :
if(strcmp(cmdtext, "/vida", true) == 0)
{
new Float:HP;
GetPlayerHealth(playerid, HP);
if(HP < 35.0) return SendClientMessage(playerid, 0xFF0000FF, "[ERRO]:Você não pode comprar vida com vida baixa.");
if(HP == 100.0) return SendClientMessage(playerid, 0xFF0000FF, "[ERRO]:Sua vida já esta cheia.");
if(SpawnLife[playerid] == true) return SendClientMessage(playerid, 0xFF0000FF, "[ERRO]:Você já comprou vida.");
SetPlayerHealth(playerid, 100.0);
GivePlayerMoney(playerid, -1400);
new pName[MAX_PLAYER_NAME], info[128];
GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
format(info, sizeof(info), "{00FF00}[INFO]{808080}:O jogador {FF0000}%s{808080} comprou vida.Custam R$1400.{0000FF}(/vida)");
SendClientMessageToAll(0x808080FF, info);
SpawnLife[playerid] = true;
return 1;
}
if(strcmp(cmdtext, "/colete", true) == 0)
{
new Float:Armour;
GetPlayerArmour(playerid, Armour);
if(Armour > 0.0) return SendClientMessage(playerid, 0xFF0000FF, "[ERRO]:Você ja tem colete.");
if(SpawnArmour[playerid] == true) return SendClientMessage(playerid, 0xFF0000FF, "[ERRO]:Você já comprou colete.");
SetPlayerArmour(playerid, 100.0);
GivePlayerMoney(playerid, -2000);
new pName[MAX_PLAYER_NAME], info[128];
GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
format(info, sizeof(info), "{00FF00}[INFO]{808080}:O jogador {FF0000}%s{808080} comprou colete.Custam R$2000.{0000FF}(/colete)");
SendClientMessageToAll(0x808080FF, info);
SpawnArmour[playerid] = true;
return 1;
}
Vocês já entenderam,eu espero.
O primeiro comando serve para a vida,e o segundo para o colete.
Vantagens:
NENHUM dos dois irá deixar a pessoa comprar tendo,ou seja,elá não poderá ter colete já tendo colete,muito menos vida com vida baixa.
Ele NÃO deixará a pessoa comprar mais de uma vez por nascença colete/vida.