21.07.2015, 23:54
Fiz uma base de sistema aqui, testei com batidas e deu tudo certinho.. Agora tem que testar com tiros para ver se tб okay..
Provavelmente sendername e string vocк jб tem declaradas, entгo vocк apaga essas que coloquei.. Tive que colocar para compilar aqui xD
A blindagem diminui de acordo com a intensidade da batida.. Se a batida for fraca, nгo vai diminuir muito ou nem vai diminuir..
PHP код:
new Float: VehLife[MAX_VEHICLES];
new Blindagem[MAX_VEHICLES];
#define BLINDAGEM 567
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext, "/blindar", true) == 0)
{
if(!IsPlayerInRangeOfPoint(playerid, 3.0, 2456.7915,-1461.0281,23.7199)) return 1;
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, -1, "Oras, cadк o veнculo?");
ShowPlayerDialog(playerid,BLINDAGEM,DIALOG_STYLE_LIST,"Sistema de Blindagem","Blindagem Comum\nBlindagem Sуcio","Aceitar","Cancelar");
return 1;
}
return 0;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == BLINDAGEM)
{
if(!response) return 1;
Controle(playerid, 1);
new vehid = GetPlayerVehicleID(playerid);
new sendername[MAX_PLAYER_NAME], string[128];
if(listitem == 0)
{
Blindagem[vehid] = 100;
RepairVehicle(vehid);
SendClientMessage(playerid, COR_RED, "Seu Veiculo Foi Blindado Por $30000");
GivePlayerMoney(playerid, -30000);
GetVehicleHealth(vehid, VehLife[vehid]);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "%s Blindou seu Veiculo", sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
return 1;
}
else if(listitem == 1)
{
Blindagem[vehid] = 200;
RepairVehicle(vehid);
SendClientMessage(playerid, COR_RED, "*[SУCIO]* Seu Veiculo Foi Blindado +200+ Por $15000");
GivePlayerMoney(playerid, -15000);
GetVehicleHealth(vehid, VehLife[vehid]);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "Sуcio %s Blindou seu Veiculo", sendername);
ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
return 1;
}
return 1;
}
return 1;
}
public OnVehicleDamageStatusUpdate(vehicleid, playerid)
{
new Float: vLife;
GetVehicleHealth(vehicleid, vLife);
if(vLife < VehLife[vehicleid])
{
if(Blindagem[vehicleid] > 0)
{
new dano = floatround(VehLife[vehicleid] - vLife);
new calc = dano*100/1000;
Blindagem[vehicleid] -= calc;
SetVehicleHealth(vehicleid, 1000);
RepairVehicle(vehicleid);
GetVehicleHealth(vehicleid, VehLife[vehicleid]);
return 1;
}
}
return 1;
}
A blindagem diminui de acordo com a intensidade da batida.. Se a batida for fraca, nгo vai diminuir muito ou nem vai diminuir..