DeIMoS
Мастер
Функция проверяет указанный ID модели объекта на валидность. В функции учтены все объекты, существующие как в GTA SA, так и добавленные в SA-MP.
Возвращаемое значение:
Код:
Пример использования:
Параметры:modelid - ID модели объекта.
Возвращаемое значение:
1 - Модель существует
0 - Модель не существует
Код:
PHP:
[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT]stock IsValidObjectModel(modelid)[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT]{[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] if(modelid >= 321 && modelid <= 328 || modelid >= 330 && modelid <= 331)[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] return 1;[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] else if(modelid >= 333 && modelid <= 339 || modelid >= 341 && modelid <= 373)[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] return 1;[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT][/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] else if(modelid >= 615 && modelid <= 661 || modelid == 664)[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] return 1;[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] else if(modelid >= 669 && modelid <= 698 || modelid >= 700 && modelid <= 792)[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] return 1;[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] else if(modelid >= 800 && modelid <= 906 || modelid >= 910 && modelid <= 964)[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] return 1;[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] else if(modelid >= 966 && modelid <= 998 || modelid >= 1000 && modelid <= 1193)[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] return 1;[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] else if(modelid >= 1207 && modelid <= 1325 || modelid >= 1327 && modelid <= 1572)[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] return 1;[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] else if(modelid >= 1574 && modelid <= 1698 || modelid >= 1700 && modelid <= 2882)[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] return 1;[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] else if(modelid >= 2885 && modelid <= 3135 || modelid >= 3167 && modelid <= 3175)[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] return 1;[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] else if(modelid == 3178 || modelid == 3187 || modelid == 3193 || modelid == 3214)[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] return 1;[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] else if(modelid == 3221 || modelid >= 3241 && modelid <= 3244)[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] return 1;[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] else if(modelid == 3246 || modelid >= 3249 && modelid <= 3250)[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] return 1;[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] else if(modelid >= 3252 && modelid <= 3253 || modelid >= 3255 && modelid <= 3265)[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] return 1;[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] else if(modelid >= 3267 && modelid <= 3347 || modelid >= 3350 && modelid <= 3415)[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] return 1;[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] else if(modelid >= 3417 && modelid <= 3428 || modelid >= 3430 && modelid <= 3609)[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] return 1;[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] else if(modelid >= 3612 && modelid <= 3783 || modelid >= 3785 && modelid <= 3869)[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] return 1;[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] else if(modelid >= 3872 && modelid <= 3882 || modelid >= 3884 && modelid <= 3888)[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] return 1;[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] else if(modelid >= 3890 && modelid <= 3973 || modelid >= 3975 && modelid <= 4541)[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] return 1;[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] else if(modelid >= 4550 && modelid <= 4762 || modelid >= 4806 && modelid <= 5084)[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] return 1;[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] else if(modelid >= 5086 && modelid <= 5089 || modelid >= 5105 && modelid <= 5375)[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] return 1;[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] else if(modelid >= 5390 && modelid <= 5682 || modelid >= 5703 && modelid <= 6010)[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] return 1;[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] else if(modelid >= 6035 && modelid <= 6253 || modelid >= 6255 && modelid <= 6257)[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] return 1;[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] else if(modelid >= 6280 && modelid <= 6347 || modelid >= 6349 && modelid <= 6525)[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] return 1;[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] else if(modelid >= 6863 && modelid <= 7392 || modelid >= 7415 && modelid <= 7973)[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] return 1;[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] else if(modelid >= 7978 && modelid <= 9193 || modelid >= 9205 && modelid <= 9267)[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] return 1;[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] else if(modelid >= 9269 && modelid <= 9478 || modelid >= 9482 && modelid <= 10310)[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] return 1;[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] else if(modelid >= 10315 && modelid <= 10744 || modelid >= 10750 && modelid <= 11417)[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] return 1;[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] else if(modelid >= 11420 && modelid <= 11753 || modelid >= 12800 && modelid <= 13563)[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] return 1;[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] else if(modelid >= 13590 && modelid <= 13667 || modelid >= 13672 && modelid <= 13890)[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] return 1;[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] else if(modelid >= 14383 && modelid <= 14528 || modelid >= 14530 && modelid <= 14554)[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] return 1;[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] else if(modelid == 14556 || modelid >= 14558 && modelid <= 14643)[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] return 1;[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] else if(modelid >= 14650 && modelid <= 14657 || modelid >= 14660 && modelid <= 14695)[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] return 1;[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] else if(modelid >= 14699 && modelid <= 14728 || modelid >= 14735 && modelid <= 14765)[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] return 1;[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] else if(modelid >= 14770 && modelid <= 14856 || modelid >= 14858 && modelid <= 14883)[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] return 1;[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] else if(modelid >= 14885 && modelid <= 14898 || modelid >= 14900 && modelid <= 14903)[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] return 1;[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] else if(modelid >= 15025 && modelid <= 15064 || modelid >= 16000 && modelid <= 16790)[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] return 1;[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] else if(modelid >= 17000 && modelid <= 17474 || modelid >= 17500 && modelid <= 17974)[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] return 1;[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] else if(modelid == 17976 || modelid == 17978 || modelid >= 18000 && modelid <= 18036)[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] return 1;[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] else if(modelid >= 18038 && modelid <= 18102 || modelid >= 18104 && modelid <= 18105)[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] return 1;[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] else if(modelid == 18109 || modelid == 18112 || modelid >= 18200 && modelid <= 18859)[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] return 1;[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] else if(modelid >= 18860 && modelid <= 19274 || modelid >= 19275 && modelid <= 19595)[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] return 1;[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] else if(modelid >= 19596 && modelid <= 19999)[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] return 1;[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] else[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT] return 0;[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT]}[/INDENT][/INDENT][/INDENT]
[INDENT][INDENT][INDENT]
Пример использования:
PHP:
public OnPlayerCommandText(playerid, cmdtext[])
{
if (strcmp("/createobject", cmdtext, true, 13) == 0)
{
if(!strlen(cmdtext[14]))
return SendClientMessage(playerid, 0xFF0000FF, "Примечание: {FFFFFF}/createobject [ID модели объекта]");
new modelid = strval(cmdtext[14]);
if(!IsValidObjectModel(modelid))
return SendClientMessage(playerid, 0xFF0000FF, "Ошибка: {FFFFFF}Вы указали несуществующий ID модели.");
new
Float:pos_x,
Float:pos_y,
Float:pos_z,
Float:angle;
GetPlayerPos(playerid, pos_x, pos_y, pos_z);
GetPlayerFacingAngle(playerid, angle);
CreateObject(modelid, pos_x, pos_y, pos_z, 0.0, 0.0, angle);
SendClientMessage(playerid, -1, "Объект успешно создан!");
return 1;
}
return 0;
}
Последнее редактирование модератором:
