08.04.2018, 01:56
Sу eliminei esse monte de loop desnecessбrio.
PHP Code:
new IDVehiclePlayer[MAX_PLAYERS];
CMD:meuveiculo(playerid) {
new NomeV[60], str[500], Count;
if(Player[playerid][Logado] != 1) return SendClientMessage(playerid, -1, "[BCR] |Erro| Vocк precisa estar logado para usar um comando.");
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid, -1, "[BCR] |Erro| Vocк precisar estar em um veнculo para usar esse comando.");
for(new i = 0; i < MAX_VEICULOS; i++) {
if(VeiculoDados[i][TempID] == GetPlayerVehicleID(playerid) && strcmp(VeiculoDados[i][Dono], PlayerName(playerid), false) == 0) {
Count++;
IDVehiclePlayer[playerid] = i;
format(str, sizeof(str), "%s\nSalvar aqui\nAlterar pintura\nAbrir capф\nAbrir porta-malas", VeiculoDados[i][Trancado] == 1 ? ("Destrancar") : ("Trancar"));
format(NomeV, sizeof(NomeV), "Meu {01A011}%s", NomeVeiculo[VeiculoDados[i][Modelo]-400][0]);
ShowPlayerDialog(playerid, DIALOG_MEUVEICULO, DIALOG_STYLE_LIST, NomeV, str, "Selecionar", "Cancelar");
break;
}
}
if(Count == 0) return SendClientMessage(playerid, -1, "[BCR] |Erro| Este veнculo nгo pertence a vocк.");
return 1;
}
hook OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {
if(dialogid == DIALOG_MEUVEICULO) {
if(response) {
new mot, lu, alar, por, cap, porma, ob;
switch(listitem) {
case 0: {
VeiculoDados[IDVehiclePlayer[playerid]][Trancado] != VeiculoDados[IDVehiclePlayer[playerid]][Trancado];
}
case 1: {
new Float:X, Float:Y, Float:Z, Float:A;{
GetVehiclePos(GetPlayerVehicleID(playerid), X, Y, Z);
GetVehicleZAngle(GetPlayerVehicleID(playerid), A);
VeiculoDados[IDVehiclePlayer[playerid]][VeiculoX] = X;
VeiculoDados[IDVehiclePlayer[playerid]][VeiculoY] = Y;
VeiculoDados[IDVehiclePlayer[playerid]][VeiculoZ] = Z;
VeiculoDados[IDVehiclePlayer[playerid]][VeiculoA] = A;
SendClientMessage(playerid, -1, "[BCR] |Meu veнculo| Vocк salvou o seu veнculo nesse local.");
}
case 2: {
ShowPlayerDialog(playerid, DIALOG_COR1, DIALOG_STYLE_INPUT, "Alterar pintura", "Digite o ID da cor 1:", "Confirmar", "Cancelar");
}
case 3: {
GetVehicleParamsEx(GetPlayerVehicleID(playerid), mot, lu, alar, por, cap, porma, ob);
SetVehicleParamsEx(GetPlayerVehicleID(playerid), mot, lu, alar, por, VeiculoDados[IDVehiclePlayer[playerid]][Capo] == 0 ? (VEHICLE_PARAMS_ON) : (VEHICLE_PARAMS_OFF), porma, ob);
VeiculoDados[IDVehiclePlayer[playerid]][Capo] != VeiculoDados[IDVehiclePlayer[playerid]][Capo];
}
case 4: {
GetVehicleParamsEx(GetPlayerVehicleID(playerid), mot, lu, alar, por, cap, porma, ob);
SetVehicleParamsEx(GetPlayerVehicleID(playerid), mot, lu, alar, por, cap, VeiculoDados[IDVehiclePlayer[playerid]][PortaMalas] == 0 ? (VEHICLE_PARAMS_ON) : (VEHICLE_PARAMS_OFF), ob);
VeiculoDados[IDVehiclePlayer[playerid]][PortaMalas] != VeiculoDados[IDVehiclePlayer[playerid]][PortaMalas];
}
}
}
}
if(dialogid == DIALOG_COR1) {
if(response) {
if(strlen(inputtext) < 1) {
SendClientMessage(playerid, -1, "[BCR] |Erro| Digite um ID de 1 a 255.");
ShowPlayerDialog(playerid, DIALOG_COR1, DIALOG_STYLE_INPUT, "Alterar pintura", "Digite o ID da cor 1:", "Confirmar", "Cancelar");
}
if(strval(inputtext) < 0 || strval(inputtext) > 255) {
SendClientMessage(playerid, -1, "[BCR] |Erro| Digite um ID de 1 a 255.");
} else {
SetPVarInt(playerid, "TempCor1Pvar", strval(inputtext));
ShowPlayerDialog(playerid, DIALOG_COR2, DIALOG_STYLE_INPUT, "Alterar pintura", "Digite o ID da cor 2:", "Confirmar", "Cancelar");
}
}
}
if(dialogid == DIALOG_COR2) {
if(response) {
if(strlen(inputtext) < 1) {
SendClientMessage(playerid, -1, "[BCR] |Erro| Digite um ID de 1 a 255.");
ShowPlayerDialog(playerid, DIALOG_COR2, DIALOG_STYLE_INPUT, "Alterar pintura", "Digite o ID da cor 2:", "Confirmar", "Cancelar");
}
if(strval(inputtext) < 0 || strval(inputtext) > 255) {
SendClientMessage(playerid, -1, "[BCR] |Erro| Digite um ID de 1 a 255.");
} else {
VeiculoDados[IDVehiclePlayer[playerid]][Cor1] = GetPVarInt(playerid, "TempCor1Pvar");
VeiculoDados[IDVehiclePlayer[playerid]][Cor2] = strval(inputtext);
ChangeVehicleColor(GetPlayerVehicleID(playerid), GetPVarInt(playerid, "TempCor1Pvar"), strval(inputtext));
SendClientMessage(playerid, -1, "[BCR] |Meu veнculo| Vocк alterou a pintura do seu veнculo.");
DeletePVar(playerid, "TempCor1Pvar");
}
}
}
return 1;
}