James
Умник
Привет, сегодня решил поделиться простой командой, которая поможет в разработке.
Суть её заключается в том, чтобы установить объект, на необходимую "кость", и получить готовый для paste в мод код.
Сама комманда будет на DC_CMD:
КМД готова, теперь напишем функцию.
Идём в паблик OnPlayerEditAttachedObject
Соответственно, код выводится в чат, брать его из chatlog.txt.
Если немного заморочиться, можно сделать вывод в файл.
P.S. Старался не использовать define'ы и т.п. для "универсальности" кода, чтобы с ним мог разобраться любой новичок. (За исключением DC_CMD, Но вроде как, в наше время - смена коммандного процессора стала основой).
P.S.S. Чтобы облегчить ваше бытие, расположил под спойлером все "кости" для аттачей:
Суть её заключается в том, чтобы установить объект, на необходимую "кость", и получить готовый для paste в мод код.
Сама комманда будет на DC_CMD:
PHP:
CMD:createattach(playerid,params[])
{
if(sscanf(params,"dd",params[0],params[1])) return SendClientMessage(playerid,-1,"/createattach [модель] [кость (1-18)]");
if(params[1] < 1 || params[1] > 18) return SendClientMessage(playerid,-1,"Неверное значение параметра \"кость\" (1-18)"); // проверка на валидность кости
SetPlayerAttachedObject(playerid,3,params[0],params[1]); // Сам предмет мы создаем в 3-м слоте аттача, можно использовать от 0 до 9
EditAttachedObject(playerid,3);
SetPVarInt(playerid,"attachred",1);
return true;
}
Идём в паблик OnPlayerEditAttachedObject
PHP:
if(GetPVarInt(playerid,"attachred"))
{
if(response)
{
static const string[] = "SetPlayerAttachedObject(playerid,%d,%d,%d,%f,%f,%f,%f,%f,%f,%f,%f,%f);";
new text[sizeof(string)+30]; // 30 символов должно хватить на все координаты
format(text,sizeof(text),string,index, modelid, boneid, Float:fOffsetX, Float:fOffsetY, Float:fOffsetZ, Float:fRotX, Float:fRotY, Float:fRotZ, Float:fScaleX, Float:fScaleY, Float:fScaleZ);
SendClientMessage(playerid,-1,text);
DeletePVar(playerid,"attachred");
return true;
}
}
Если немного заморочиться, можно сделать вывод в файл.
P.S. Старался не использовать define'ы и т.п. для "универсальности" кода, чтобы с ним мог разобраться любой новичок. (За исключением DC_CMD, Но вроде как, в наше время - смена коммандного процессора стала основой).
P.S.S. Чтобы облегчить ваше бытие, расположил под спойлером все "кости" для аттачей:
Чтобы видеть скрытое содержание Зарегистрируйтесь на форуме!
