MAXDELAET 18 Опубликовано 28 сентября, 2017 Здравствуйте, уже второй день не могу решить проблему. Написал команду для прикрепления объекта к машине, но возникла проблема, в игре ничего не происходит. Помогите пожалуйста, заранее спасибо. new attachobj; CMD:attach(playerid, params[]) { new Float:x, Float:y, Float:z; IsAdmin(ADM_CHIEF); if(sscanf(params,"fff",x,y,z)) return SendClientMessage(playerid, 0xFFFFFFAA, ""CMD_PREF"/attach [id car] [id object] [x] [y] [z]"); attachobj = CreateObject(params[1], 0.0, 0.0, 0.0, 0.0, 0.0, 0.0); AttachObjectToVehicle(attachobj, params[0], x, y, z, 0.0, 0.0, 0.0); return 1; } CMD:unattach(playerid, params[]) { IsAdmin(ADM_CHIEF); DestroyObject(attachobj); return true; } Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Alonso 82 Опубликовано 28 сентября, 2017 if(sscanf(params,"fff",x,y,z)) return SendClientMessage(playerid, 0xFFFFFFAA, ""CMD_PREF"/attach [id car] [id object] [x] [y] [z]"); замени на if(sscanf(params,"iifff",params[0], params[1], x,y,z)) return SendClientMessage(playerid, 0xFFFFFFAA, ""CMD_PREF"/attach [id car] [id object] [x] [y] [z]"); 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
MAXDELAET 18 Опубликовано 28 сентября, 2017 if(sscanf(params,"iifff",params[0], params[1], x,y,z)) return SendClientMessage(playerid, 0xFFFFFFAA, ""CMD_PREF"/attach [id car] [id object] [x] [y] [z]");чудо не произошло Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
#Rips 210 Опубликовано 28 сентября, 2017 Вопрос, почему ты используешь глобальную переменную если ее нужно сделать MAX_VEHILES? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
MAXDELAET 18 Опубликовано 28 сентября, 2017 , учту, но не решает ошибку. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
фучжинейк 16 Опубликовано 28 сентября, 2017 (изменено) Перед return 1; добавить: printf("%d - attachobj, %d - vehicleid, %f, %f, %f - xyz", attachobj, vehicleid, x, y, z); После вызовите команду с введенными параметрами и скиньте логи. Изменено 28 сентября, 2017 пользователем фучжинейк Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
MAXDELAET 18 Опубликовано 28 сентября, 2017 printf("%d - attachobj, %d - vehicleid, %f, %f, %f - xyz", attachobj, vehicleid, x, y, z); 65535 - attachobj, 266 - vehicleid, -0.008399, -0.024499, 0.849300 - xyz Вводил - /attach 266 19419 -0.0084 -0.0245 0.8493 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
MAXDELAET 18 Опубликовано 28 сентября, 2017 Я выяснил одно, то что ID объекта не в зависимости какой я ставлю, он автоматом как-то в 65535 переделывается. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
SCRIPTMAN 358 Опубликовано 28 сентября, 2017 CMD:attach(playerid, params[]) { new Float:x, Float:y, Float:z; IsAdmin(ADM_CHIEF); if(sscanf(params,"iifff",params[0], params[1], x,y,z)) return SendClientMessage(playerid, 0xFFFFFFAA, ""CMD_PREF"/attach [id car] [id object] [x] [y] [z]"); new attachobj; attachobj = CreateObject(params[1], 0.0, 0.0, 0.0, 0.0, 0.0, 0.0); AttachObjectToVehicle(attachobj, params[0], x, y, z, 0.0, 0.0, 0.0); return 1; } 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
MAXDELAET 18 Опубликовано 28 сентября, 2017 @SCRIPTMAN,ok, спасибо большое. А как тогда сделать удаление мигалок если переменная не глобальная? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
SCRIPTMAN 358 Опубликовано 28 сентября, 2017 CMD:unattach(playerid, params[]) { IsAdmin(ADM_CHIEF); DestroyObject(attachobj); return true; } CMD:attach(playerid, params[]) { new Float:x, Float:y, Float:z; IsAdmin(ADM_CHIEF); if(sscanf(params,"iifff",params[0], params[1], x,y,z)) return SendClientMessage(playerid, 0xFFFFFFAA, ""CMD_PREF"/attach [id car] [id object] [x] [y] [z]"); attachobj = CreateObject(params[1], 0.0, 0.0, 0.0, 0.0, 0.0, 0.0); AttachObjectToVehicle(attachobj, params[0], x, y, z, 0.0, 0.0, 0.0); return 1; } а к переменным попробуй все же: new attachobj; Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
MAXDELAET 18 Опубликовано 28 сентября, 2017 @SCRIPTMAN,получается старая фигня, ид предмета непонятно какое Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
SCRIPTMAN 358 Опубликовано 28 сентября, 2017 @MAXDELAET,тогда так: CMD:attach(playerid, params[]) { new Float:x, Float:y, Float:z; IsAdmin(ADM_CHIEF); if(sscanf(params,"iifff",params[0], params[1], x,y,z)) return SendClientMessage(playerid, 0xFFFFFFAA, ""CMD_PREF"/attach [id car] [id object] [x] [y] [z]"); new attachobj; attachobj = CreateObject(params[1], 0.0, 0.0, 0.0, 0.0, 0.0, 0.0); AttachObjectToVehicle(attachobj, params[0], x, y, z, 0.0, 0.0, 0.0); SetPVarInt(playerid, "idobject", attachobj); return 1; } CMD:unattach(playerid, params[]) { new object = GetPVarInt(playerid, "idobject"); IsAdmin(ADM_CHIEF); DestroyObject(object); return true; } Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты