Supreme228 2 Опубликовано 16 июля, 2018 Добрый день. На днях решил сделать шлагбаумы на спавне. Пересмотрел кучу разных уроков на форумах. Какой бы я код не пробовал, всё равно шлагбаум будет открываться мгновенно.MoveObject - функция, с помощью которой можно указать скорость движения объекта. Но, увы. Происходит что-то странное... Например, ворота у меня открываются медленно (по скорости), а шлагбаумы - мгновенно. С чем это может быть связано? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
EgasVegas 841 Опубликовано 16 июля, 2018 Возможно ты неправильно прописываешь данную функцию к определённому объекту. Вот официальный код с SA-MP Wiki //---- Описание каждого значения функции ID, X, Y, Z, SPEED, X(конечное), Y(конечное), Z(конечное) (objectid, Float:X, Float:Y, Float:Z, Float:Speed, Float:RotX = -1000.0, Float:RotY = -1000.0, Float:RotZ = -1000.0) сам код new obj; // Somewhere at the top of your script public OnGameModeInit() { obj = CreateObject(980, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0); return 1; } public OnPlayerCommandText(playerid, cmdtext[]) { if(strcmp(cmdtext, "/moveobject", true) == 0) { new string[50]; new movetime = MoveObject(obj, 0, 0, 10, 2.00); format(string, sizeof(string), "Object will finish moving in %d milliseconds", movetime); SendClientMessage(playerid, 0xFF000000, string); return 1; } return 0; } делай всё поэтапно, смотря на этот код, и всё получится. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Supreme228 2 Опубликовано 16 июля, 2018 (изменено) @EgasVegas, Вот что имею я: new gateopen[MAX_PLAYERS char]; new spawnslak; spawnslak = CreateObject(19467, 2299.1960, -1784.4889, 20.9614, -180.0000, 0.0000, 270.0000); //в закрытом положении CMD:spawnslak(playerid, params[]) { if(!IsPlayerConnected(playerid)) return true; if(gateopen{playerid} == 1) return true; if(!IsPlayerInRangeOfPoint(playerid, 10.0, 2300.1843, -1781.8124, 21.9600)) return SendClientMessage(playerid, -1, "* Вы слишком далеко!"); gateopen{playerid} = 1; MoveObject(spawnslak, 2299.1960, -1784.4889, 20.9614, 2.0, 0.0000, 0.0000, 270.0000); SetTimer("@_GateClose", 7000, 0); return 1; } @_GateClose(playerid); @_GateClose(playerid) { gateopen{playerid} = 0; MoveObject(spawnslak, 2299.1960, -1784.4889, 20.9614, 2.0, -180.0000, 0.0000, 270.0000); return 1; } По-моему, я всё делаю как раз-таки правильно) Изменено 16 июля, 2018 пользователем Supreme228 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
MOP TTEX 144 Опубликовано 16 июля, 2018 Попробуй скорость (2.0) заменить на (0.1). У меня мост и ворота с ними медленно передвигаются Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Supreme228 2 Опубликовано 16 июля, 2018 @MOP TTEX,Не помогло. Если не трудно, скинь свой код. Сравню, может что-то найду неправильное) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
MOP TTEX 144 Опубликовано 17 июля, 2018 @Supreme228, if(newkeys & KEY_CROUCH) { if(!IsPlayerInAnyVehicle(playerid)) return 1; if(IsPlayerInRangeOfPoint(playerid, 5.0, 2752.3, -1382.1, 24.4)) { if(kppgate[1] == true) { kppgate[1] = false; MoveDynamicObject(gatekpp[1], 2752.32422, -1382.16821, 24.40850, 1.00, 0.0, 0.0, 0.0); return 1; } kppgate[1] = true; MoveDynamicObject(gatekpp[1], 2752.32422, -1382.16821, 24.40850-10.0, 1.00, 0.0, 0.0, 0.0); return 1; } if(IsPlayerInRangeOfPoint(playerid, 5.0, 2741.93774, -1373.01965, 24.4085)) { if(kppgate[0] == true) { kppgate[0] = false; MoveDynamicObject(gatekpp[0], 2741.93774, -1373.01965, 24.4085, 1.00, 0.0, 0.0, 0.0); return 1; } kppgate[0] = true; MoveDynamicObject(gatekpp[0], 2741.93774, -1373.01965, 24.4085-10.0, 1.00, 0.0, 0.0, 0.0); return 1; } } Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты