nikalsan351
Ученик
Выдает ошибку "*** Streamer Plugin: AttachDynamicObjectToVehicle: Object is currently moving and must be stopped first." в логи - делаю редактор для автомобиля, возникла проблема, отдельно от мода(на файл скрипте) все работает прекрасно, а моде не хочет. Ниже код
Код:
new tuning;
CMD:testobj(playerid)
{
testobject(playerid, 19601);
}
stock testobject(playerid, obj)
{
new Float:X, Float:Y, Float:Z;
new carid = GetPlayerVehicleID(playerid);
GetVehiclePos(carid, X, Y, Z);
tuning = CreateDynamicObject(obj, X, Y+2, Z-0.5, 0.0, 0.0, 0.0);
SetPVarInt(playerid, "IdentificatorObject", tuning);
SetPVarInt(playerid, "EditObjectToCar", 1);
SCMf(playerid, -1, "ObjID: %d | Vehicle1: %d | ObjID2: %d | ObjID3: %d", tuning, carid, obj, GetPVarInt(playerid, "IdentificatorObject"));
EditDynamicObject(playerid, tuning);
}
public OnPlayerEditDynamicObject(playerid, objectid, response, Float:x, Float:y, Float:z, Float:rx, Float:ry, Float:rz)
{
if(!IsValidDynamicObject(objectid)) return 1;
new Float: ofx, Float: ofy, Float: ofz, Float: ofaz, Float: finalx, Float: finaly;
new Float: car_x, Float: car_y, Float: car_z, Float: car_f;
GetVehiclePos(GetPlayerVehicleID(playerid), car_x, car_y, car_z);
GetVehicleZAngle(GetPlayerVehicleID(playerid), car_f);
ofx = x-car_x, ofy = y-car_y, ofz = z-car_z, ofaz = rz-car_f;
finalx = ofx*floatcos(car_f, degrees)+ofy*floatsin(car_f, degrees), finaly = -ofx*floatsin(car_f, degrees)+ofy*floatcos(car_f, degrees);
SCMf(playerid, -1, "PosX: %f, PosY: %f, PosZ: %f, RPosX: %f, RPosY: %f, RPosZ: %f, ObjID: %d, ObjIDTuning: %d",x,y,z,rx,ry,rz,GetPVarInt(playerid, "IdentificatorObject"), tuning);
switch(response)
{
case EDIT_RESPONSE_FINAL:
{
if(GetPVarInt(playerid, "EditObjectToCar"))
{ //
//SetDynamicObjectPos(GetPVarInt(playerid, "IdentificatorObject"), x, y, z);
//SetDynamicObjectRot(GetPVarInt(playerid, "IdentificatorObject"), rx, ry, rz);
AttachDynamicObjectToVehicle(GetPVarInt(playerid, "IdentificatorObject"), GetPlayerVehicleID(playerid), finalx, finaly, ofz, rx, ry, ofaz);
SCM(playerid, -1, "Вы успешно установили тюнинг на автомобиль.");
DeletePVar(playerid, "EditObjectToCar");
DeletePVar(playerid, "IdentificatorObject");
}
}
case EDIT_RESPONSE_CANCEL:
{
DestroyDynamicObject(GetPVarInt(playerid, "IdentificatorObject"));
DeletePVar(playerid, "EditObjectToCar");
DeletePVar(playerid, "IdentificatorObject");
CancelEdit(playerid); SCM(playerid, -1, "Вы отменили установку тюнинга!");
}
}
return 1;
}
Последнее редактирование модератором:
