Глобальный массив:
PHP код:
new weather_name[][] =
{
"Ошибка",//Сообщение об ошибке, которое нам пригодится в дальнейшем
"",// Название погоды с ID 2
"",// Название погоды с ID 7
"",// Название погоды с ID 8
"",// Название погоды с ID 10
"",// Название погоды с ID 12
"",// Название погоды с ID 13
"",// Название погоды с ID 14
""// Название погоды с ID 15
};
Новая функция:
PHP код:
stock ConvertWeatherIdInCell(weatherid)
{
switch(weatherid)
{
case 2: return 1;
case 7: return 2;
case 8: return 3;
case 10: return 4;
case 12: return 5;
case 13: return 6;
case 14: return 7;
case 16: return 8;
}
return 0;// Вот тут и пригодилось сообщение об ошибке, которое мы сделали в массиве. Это нужно для того, чтоб если в функцию был указан неверный ID погоды, не случился выход за пределы массива
}
Ну и теперь пример сообщений в виде команды:
PHP код:
if(!strcmp(cmdtext, "/forecast"))
{
new string[21+sizeof(weather_name)+1];
format(string, sizeof(string), "В LS в данный момент %s", weather_name[ConvertWeatherIdInCell(weather[0])]);
SendClientMessage(playerid, -1, string);
format(string, sizeof(string), "В SF в данный момент %s", weather_name[ConvertWeatherIdInCell(weather[1])]);
SendClientMessage(playerid, -1, string);
format(string, sizeof(string), "В LV в данный момент %s", weather_name[ConvertWeatherIdInCell(weather[2])]);
SendClientMessage(playerid, -1, string);
return 1;
}
Можно ещё макрос сделать для удобства. Например:
PHP код:
#define GetWeatherName(%0) weather_name[ConvertWeatherIdInCell(weather[%0])]
И уже использовать так
PHP код:
if(!strcmp(cmdtext, "/forecast"))
{
new string[21+sizeof(weather_name)+1];
format(string, sizeof(string), "В LS в данный момент %s", GetWeatherName(0));
SendClientMessage(playerid, -1, string);
format(string, sizeof(string), "В SF в данный момент %s", GetWeatherName(1));
SendClientMessage(playerid, -1, string);
format(string, sizeof(string), "В LV в данный момент %s", GetWeatherName(2));
SendClientMessage(playerid, -1, string);
return 1;
}